/* 口コミ・掲示板（T-255）。色・角丸は towers.css のトークンを使う。 */
.post-form{display:grid;gap:10px;margin-top:24px;padding:22px;border:1px solid var(--rule-2);border-radius:0;background:var(--ground-2)}
.post-form label{color:var(--text-2);font-size:.84rem;letter-spacing:.06em}
.post-form label .note{margin-left:.6em}
.post-form input[type="text"],.post-form textarea{width:100%;padding:10px 14px;border:1px solid var(--rule-2);border-radius:0;background:var(--ground);font:inherit;font-size:1rem;line-height:1.7}
.post-form input[type="text"]{min-height:48px}
.post-form select{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--rule-2);border-radius:0;background:var(--ground);font:inherit;font-size:1rem}
.post-form input[type="file"]{width:100%;padding:10px;border:1px solid var(--rule-2);background:var(--ground);font:inherit}
.post-form__remove-image{display:flex;align-items:center;gap:8px}
.post-form__single-image-preview{display:grid;max-width:360px;margin:10px 0 0;border:1px solid var(--rule);background:var(--ground)}
.post-form__single-image-preview[hidden]{display:none}
.post-form__single-image-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#171717}
.post-form__single-image-preview figcaption{padding:8px 10px;color:var(--text-2);font-size:.78rem;overflow-wrap:anywhere}
.post-form__remove-image input{flex:none;width:18px;min-height:0;height:18px;margin:0}
.post-form__media-picker{display:grid;gap:10px;padding:18px;border:2px dashed var(--rule-2);background:var(--ground);transition:border-color .15s ease,background .15s ease}
.post-form__media-picker.is-dragover{border-color:var(--navy);background:#f2f5fa}
.post-form__media-picker-title{display:grid;gap:3px;margin:0;color:var(--text-2);line-height:1.6}
.post-form__media-picker-title strong{color:var(--text)}
.post-form__media-picker-title span{font-size:.82rem}
.post-form__media-status{margin:0}
.post-form__media-details{display:grid;gap:10px}
.post-form__media-fallback{display:grid;gap:8px}
.post-form__media-fallback[hidden]{display:none}
.post-form__media-detail{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--rule-2);background:var(--ground)}
.post-form__media-detail legend{max-width:100%;padding:0 5px;color:var(--text-2);font-size:.82rem;overflow-wrap:anywhere}
.post-form .post-form__media-remove{justify-self:end;min-height:40px;padding:7px 12px;border-color:var(--rule-2);background:transparent;color:var(--text-2);font-size:.8rem;letter-spacing:.03em}
.post-form .post-form__media-remove:hover,.post-form .post-form__media-remove:focus-visible{border-color:#b3261e;background:#fdf3f2;color:#8d1d16}
.post-form__media-detail-body{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);gap:14px;align-items:start}
.post-form__media-preview{position:relative;min-width:0;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--rule);background:#111}
.post-form__media-preview:empty::before{position:absolute;inset:0;display:grid;place-items:center;content:"プレビューを表示できません";padding:12px;color:#fff;font-size:.78rem;text-align:center}
.post-form__media-preview img,.post-form__media-preview video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.post-form__media-fields{display:grid;gap:10px}
.post-form__media-detail label{display:grid;gap:5px}
.post-form button{justify-self:start;min-height:48px;padding:12px 28px;border:1px solid var(--navy);border-radius:0;background:var(--navy);color:#fff;font:inherit;letter-spacing:.06em;cursor:pointer}
.post-form button:hover{background:var(--text)}
.post-starters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 10px}
.post-starters__label{color:var(--text-3);font-size:.82rem}
.post-form .post-starter{width:auto;min-height:34px;padding:5px 11px;border:1px solid var(--rule-2);border-radius:999px;background:var(--ground);color:var(--text-2);font-size:.84rem;letter-spacing:0}
.post-form .post-starter:hover,.post-form .post-starter:focus-visible{border-color:var(--navy);background:var(--ground-2);color:var(--text)}
.post-form__notify{display:block;margin:14px 0;font-weight:600;letter-spacing:0!important}
.post-form__room-help{margin:-4px 0 6px}
.posts{margin:24px 0 0;padding:0;list-style:none;counter-reset:post}
.post{padding:20px 0;border-top:1px solid var(--rule)}
.post__meta{margin:0;color:var(--text-3);font-size:.76rem}
.post__target-room{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0 0;padding:9px 12px;border-left:3px solid #b88b2b;background:#fff8df;font-size:.88rem;line-height:1.5}
.post__target-room>span{color:var(--text-3);font-size:.72rem;letter-spacing:.08em}
.post__target-room strong,.post__target-room a{font-weight:650}.post__target-room small{color:var(--text-3)}
.post__body{margin:8px 0 0;line-height:1.9;overflow-wrap:anywhere}
.post__media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.post__media-item{min-width:0;margin:0}
.post__image-link{display:block;width:100%;max-width:100%}
.post__image-caption{margin:8px 0 0;color:var(--text-2);font-size:.9rem;line-height:1.65;overflow-wrap:anywhere}
.post__image-kind{display:inline-block;margin-right:.7em;padding:1px 8px;border:1px solid var(--rule-2);font-size:.78rem;letter-spacing:.06em}
.post__image,.post__video{display:block;width:100%;max-width:100%;aspect-ratio:4/3;height:auto;max-height:720px;border:1px solid var(--rule);background:#111;object-fit:contain}
.post__quote{margin:12px 0 0;padding:12px 16px;border-left:3px solid var(--rule-2);background:var(--ground-2);color:var(--text-2);font-size:.88rem}
.post__quote p{margin:5px 0 0;line-height:1.65}
.post__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px;font-size:.82rem}
.post__actions form{margin:0}
.post__actions button,.text-button{min-height:44px;padding:4px 12px;border:1px solid var(--rule-2);border-radius:0;background:var(--ground);color:var(--text-2);font:inherit;cursor:pointer}
.post__actions button.is-active{border-color:var(--navy);background:var(--navy);color:#fff}
.post__actions .post__delete,.text-button{color:var(--text-3)}
.post__reaction-count{color:var(--text-3)}
.post-form__quote{padding:14px 16px;border-left:3px solid var(--rule-2);background:var(--ground)}
.post-form__quote p{margin:0;line-height:1.65}.post-form__quote p+p{margin-top:5px}
.post__report{margin-top:10px;text-align:right}
.post__report summary{display:inline-block;padding:6px 0 6px 12px;color:var(--text-3);font-size:.72rem;letter-spacing:.04em;cursor:pointer;list-style:none;opacity:.75}
.post__report summary::-webkit-details-marker{display:none}
.post__report summary:hover,.post__report[open] summary{opacity:1;text-decoration:underline}
.post__report form{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-top:6px}
.post__report select{min-height:44px;padding:4px 8px;border:1px solid var(--rule-2);border-radius:0;background:var(--ground);font:inherit;font-size:.8rem}
.post__report button{min-height:44px;padding:4px 16px;border:1px solid var(--rule-2);border-radius:0;background:var(--ground);color:var(--text-3);font:inherit;font-size:.78rem;cursor:pointer}
.post__report button:hover{color:var(--text);background:var(--ground-2)}
.own-posts{margin-top:44px;padding:20px 22px;border:1px dashed var(--rule-2);border-radius:0}
.own-posts ul{margin:14px 0 0;padding:0;list-style:none}
.own-posts li+li{margin-top:16px;padding-top:16px;border-top:1px solid var(--rule)}
.own-posts p{margin:6px 0 0}
.post-pager{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--rule)}
.post-pager a{display:inline-flex;align-items:center;min-height:44px}
.board-nav{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px}
.board-activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:20px 0 0;padding:0;list-style:none}
.board-activity-grid a{display:block;height:100%;padding:16px;border:1px solid var(--rule);background:var(--ground-2)}
.board-activity-grid strong,.board-activity-grid span{display:block}.board-activity-grid span{margin-top:6px;color:var(--text-3);font-size:.82rem}
.first-review{padding:18px;border-left:4px solid #b88b2b;background:#fff8df;line-height:1.75}
.context-question{margin:18px 0;padding:14px 16px;border-left:3px solid var(--navy);background:var(--ground-2);line-height:1.7}
@media (max-width:640px){
  .post-form{padding:16px}
  .post-form button{width:100%}
  .post-form .post-starter{width:auto}
  .post-form__media-detail-body{grid-template-columns:1fr}
  .post__media-grid{grid-template-columns:1fr}
}
.notice.notice--error{border-left-color:#b3261e;background:#fdf3f2;scroll-margin-top:120px}

/* T-720: 今週のお題。運営の問いと、その週の観測データのカード。 */
.weekly-topic{margin:0 0 32px;padding:20px 22px;border:1px solid var(--rule,#d8dbe3);border-left:3px solid var(--gold,#c5a04d);background:var(--surface,#fff)}
.weekly-topic__eyebrow{margin:0 0 6px;font-size:.74rem;font-weight:600;letter-spacing:.06em;opacity:.75}
.weekly-topic h2{margin:0 0 10px;font-size:1.2rem;line-height:1.6}
.weekly-topic__card{margin:14px 0;padding:14px 16px;border:1px solid var(--rule,#d8dbe3)}
.weekly-topic__card h3{margin:0 0 8px;font-size:.9rem}
.weekly-topic__card ol{margin:0 0 8px;padding:0;list-style:none}
.weekly-topic__card li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:8px 0;border-top:1px solid var(--rule,#d8dbe3)}
.weekly-topic__card li a{font-weight:600}
.weekly-topic__card li strong{margin-left:auto}
.weekly-topic__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0 6px}
.weekly-topic .tool-link{background:#0b0e18}
.weekly-topic--compact h2{font-size:1.05rem}

/* T-724: レビューの入力欄の「うちからの眺め」（任意）。 */
.post-form__view-tags{margin:14px 0;padding:12px 14px;border:1px solid var(--rule,#d8dbe3)}
.post-form__view-tags legend{padding:0 6px;font-weight:600;font-size:.9rem}
.post-form__view-tags label{display:inline-flex;align-items:center;gap:6px;margin:4px 14px 4px 0;font-size:.88rem}
.post-form__topic{margin:0 0 12px;padding:10px 14px;border-left:3px solid var(--gold,#c5a04d);background:var(--ground,#fff);font-weight:600}
.post-form__topic span{display:block;font-size:.74rem;font-weight:600;letter-spacing:.06em;opacity:.75}
/* お題に答えた投稿の上に出す、お題の文（T-720）。 */
.post__topic{margin:0 0 8px;padding:8px 12px;border-left:3px solid var(--gold,#c5a04d);background:var(--ground-2,#f6f8fa);font-size:.88rem;font-weight:600}
.post__topic span{display:block;font-size:.72rem;font-weight:600;letter-spacing:.04em;opacity:.75}
