/* Community space: warm editorial surfaces, not a console. */
body.forum-page { background: var(--bg-dark); color: var(--text-main); }
.forum-page header { position:sticky; top:0; z-index:50; background:rgba(251,248,239,.9); border-bottom:1px solid var(--border); backdrop-filter:blur(18px); }
.forum-page > header { padding-top:env(safe-area-inset-top); }
.forum-page .nav-inner { max-width:1180px; margin:0 auto; padding:0 28px; }
.forum-page .nav-inner { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.forum-page nav { display:flex; align-items:center; gap:24px; }
.forum-page .nav-link { color:var(--text-muted); text-decoration:none; font-size:.9rem; font-weight:500; }
.forum-page .nav-link:hover { color:var(--text-main); }
.forum-page .btn { text-decoration:none; }
.forum-page .btn-sm { min-height:38px; padding:8px 18px; border-radius:999px; }
.forum-flash { max-width:1120px; margin:18px auto -22px; padding:12px 18px; border:1px solid var(--alert-success-border); border-radius:14px; background:var(--alert-success-bg); color:var(--alert-success-fg); }
.forum-shell { max-width: 1180px; margin: 0 auto; padding: 48px 28px 96px; }
.forum-header { display:flex; justify-content:space-between; gap:28px; align-items:end; padding:72px 0 34px; border-bottom:1px solid var(--border); }
.forum-kicker { color:var(--primary-ink); font:500 .7rem/1 var(--font-mono); letter-spacing:.16em; text-transform:uppercase; }
.forum-header h1 { margin:12px 0 12px; max-width:680px; font:400 clamp(3rem,7vw,6.6rem)/.9 var(--font-display); letter-spacing:-.04em; }
.forum-header h1 em { color:var(--primary); }
.forum-intro { max-width:470px; color:var(--text-muted); font-size:1.02rem; }
.forum-actions { display:flex; gap:10px; flex-wrap:wrap; }
.forum-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 19px; border:1px solid var(--border-hover); border-radius:999px; background:transparent; color:var(--text-main); text-decoration:none; font:500 .88rem var(--font-body); cursor:pointer; transition:transform .25s var(--ease-smooth),background .2s,color .2s,border-color .2s; }
.forum-btn:hover { transform:translateY(-2px); border-color:var(--primary); }
.forum-btn-primary { background:var(--primary); border-color:var(--primary); color:#fffaf1; }
.forum-btn-primary:hover { background:var(--primary-hover); border-color:var(--primary-hover); }
.forum-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:42px; padding-top:34px; }
.forum-sidebar { position:sticky; top:86px; align-self:start; }
.forum-sidebar-title { margin:0 0 14px; font:500 .68rem var(--font-mono); letter-spacing:.13em; text-transform:uppercase; color:var(--text-muted); }
.forum-filter { display:block; padding:10px 12px; border-radius:9px; color:var(--text-muted); text-decoration:none; font-size:.9rem; transition:background .2s,color .2s,transform .2s; }
.forum-filter:hover,.forum-filter.active { background:#f0e7d7; color:var(--text-main); transform:translateX(3px); }
.forum-filter.active { font-weight:600; box-shadow:inset 3px 0 var(--primary); }
button.forum-filter { border:0; background:transparent; font:inherit; font-size:.9rem; cursor:pointer; }
.forum-note { margin-top:38px; padding:16px; border-top:2px solid var(--primary); color:var(--text-muted); font-size:.82rem; line-height:1.55; }
.forum-note strong { display:block; margin-bottom:5px; color:var(--text-main); font:500 .75rem var(--font-mono); text-transform:uppercase; letter-spacing:.08em; }
.topic-list { display:grid; gap:10px; }
.topic-row { display:grid; grid-template-columns:1fr auto; gap:18px; padding:22px 24px; border:1px solid var(--border); border-radius:16px; background:rgba(255,253,247,.7); color:inherit; text-decoration:none; transition:transform .3s var(--ease-smooth),border-color .2s,box-shadow .3s; }
.topic-row:hover { transform:translateY(-3px); border-color:rgba(255,85,12,.45); box-shadow:0 18px 35px -25px rgba(19,15,2,.32); }
.topic-row h2 { margin:5px 0 7px; font:400 1.45rem/1.12 var(--font-display); }
.topic-row p { margin:0; color:var(--text-muted); font-size:.89rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.topic-meta { color:var(--text-muted); font-size:.76rem; }
.topic-side { text-align:right; min-width:82px; color:var(--text-muted); font:500 .7rem var(--font-mono); }
.topic-side strong { display:block; margin-bottom:8px; color:var(--text-main); font-size:1rem; }
.topic-badges { display:flex; gap:7px; flex-wrap:wrap; }
.topic-badge { display:inline-flex; padding:4px 8px; border-radius:99px; background:#f0e7d7; color:var(--text-muted); font:500 .65rem var(--font-mono); }
.topic-badge.hot { background:#ffe0d1; color:#a33b13; }
.topic-empty { padding:64px 24px; border:1px dashed var(--border-hover); border-radius:16px; text-align:center; }
.topic-empty h2 { font:400 2rem var(--font-display); margin:0 0 8px; }
.topic-empty p { color:var(--text-muted); margin:0 0 20px; }
.forum-form { max-width:760px; margin:48px auto 0; padding:34px; border:1px solid var(--border); border-radius:20px; background:#fffdf7; }
.forum-form h1 { margin:0 0 8px; font:400 3rem/.95 var(--font-display); }
.forum-form > p { color:var(--text-muted); margin:0 0 30px; }
.forum-field { margin:0 0 20px; }
.forum-field label { display:block; margin-bottom:8px; font:500 .7rem var(--font-mono); letter-spacing:.11em; text-transform:uppercase; }
.forum-field input,.forum-field select,.forum-field textarea { width:100%; border:1px solid var(--border-hover); border-radius:10px; padding:13px 14px; background:#fbf8ef; color:var(--text-main); font:inherit; }
.forum-field textarea { min-height:190px; resize:vertical; line-height:1.6; }
.forum-field input:focus,.forum-field select:focus,.forum-field textarea:focus { outline:2px solid var(--primary); outline-offset:2px; }
.thread-head { padding:60px 0 30px; border-bottom:1px solid var(--border); }
.thread-head h1 { max-width:850px; margin:13px 0; font:400 clamp(2.5rem,5vw,5rem)/.95 var(--font-display); }
.thread-body { max-width:780px; padding:30px 0; font-size:1.03rem; line-height:1.75; white-space:pre-wrap; }
.thread-byline { color:var(--text-muted); font-size:.82rem; }
.reply-stack { max-width:780px; display:grid; gap:12px; }
.reply-card { padding:20px 22px; border:1px solid var(--border); border-radius:14px; background:rgba(255,253,247,.75); }
.reply-card header { display:flex; justify-content:space-between; border:0; padding:0 0 12px; background:none; position:static; }
.reply-author { font-weight:600; }
.reply-date { color:var(--text-muted); font: .72rem var(--font-mono); }
.reply-card p { margin:0; color:#3d382e; white-space:pre-wrap; }
.reply-form { max-width:780px; margin-top:30px; padding-top:28px; border-top:1px solid var(--border); }
.thread-tools { display:flex; gap:8px; margin-top:18px; }
.thread-tools form { display:inline; }
@media (max-height:520px) {
  .forum-sidebar { position:static; }
}
@media (max-width:760px) {
  .forum-flash { margin:14px 18px -8px; }
  .forum-page .nav-inner { padding:0 18px; }
  .forum-page nav { gap:12px; }
  .forum-page nav .nav-link:not(:first-child) { display:none; }
  .forum-shell { padding:20px 18px 70px; }
  .forum-header { display:block; padding:54px 0 25px; }
  .forum-header h1 { font-size:3.8rem; }
  .forum-actions { margin-top:22px; }
  .forum-layout { display:block; padding-top:22px; }
  .forum-sidebar { position:static; display:flex; gap:5px; overflow:auto; margin-bottom:22px; }
  .forum-sidebar-title,.forum-note { display:none; }
  .forum-filter { white-space:nowrap; }
  .topic-row { padding:17px; grid-template-columns:1fr; }
  .topic-side { text-align:left; display:flex; gap:12px; }
  .forum-form { padding:24px 18px; margin-top:28px; }
}