:root{--ink:#14201c;--ink-soft:#3d4f47;--muted:#6b7c74;--paper:#f3f7f4;--panel:#ffffffd1;--line:#14201c1a;--accent:#0f7a5f;--accent-deep:#0a5744;--danger:#b42318;--shadow:0 18px 50px #14201c14;--radius:18px;--font-display:"Fraunces", Georgia, serif;--font-body:"Outfit", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at top left, #0f7a5f29, transparent 34%), radial-gradient(circle at 80% 10%, #2258781f, transparent 28%), linear-gradient(180deg, #e8f1ec 0%, var(--paper) 45%, #eef3f0 100%);background-attachment:fixed;margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.app-frame{min-height:100vh}.shell{width:min(1080px,100% - 2rem);margin-inline:auto}.site-header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#f3f7f4c7;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.55rem;font-weight:700}.header-nav{align-items:center;gap:1rem;display:flex}.header-nav a:not(.btn){color:var(--ink-soft);font-weight:500}.header-nav a.active:not(.btn){color:var(--accent-deep)}.header-user{align-items:center;gap:.75rem;display:flex}.user-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.92rem;overflow:hidden}.page{padding:2rem 0 4rem;animation:.55s both rise}.hero{margin-bottom:2rem;animation:.7s both rise}.eyebrow{color:var(--accent-deep);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .5rem;font-size:.78rem;font-weight:600}.brand-hero{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(3rem,8vw,5.5rem);line-height:.95}.lede{max-width:36rem;color:var(--ink-soft);margin:1rem 0 1.5rem;font-size:1.08rem;line-height:1.55}.stats{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffff8c;border-radius:999px;align-items:stretch;gap:1.25rem;padding:1rem 1.25rem;animation:.8s both float-in;display:inline-flex}.stat{gap:.15rem;min-width:5.5rem;display:grid}.stat-value{font-family:var(--font-display);font-size:1.7rem;font-weight:700;line-height:1}.stat-label{color:var(--muted);font-size:.82rem}.stat-divider{background:var(--line);width:1px}.layout-split{grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);align-items:start;gap:1.25rem;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);padding:1.25rem}.section-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.section-head h2,.panel>h2,.topic-detail h1,.auth-card h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0}.topic-list{margin:0;padding:0;list-style:none}.topic-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;transition:transform .2s,color .2s;display:flex}.topic-list li:first-child .topic-row{border-top:0;padding-top:.25rem}.topic-row:hover{color:var(--accent-deep);transform:translate(4px)}.topic-row h2{margin:0 0 .35rem;font-size:1.12rem;font-weight:600}.topic-meta,.muted{color:var(--muted);font-size:.92rem}.topic-body{white-space:pre-wrap;margin:1rem 0 0;line-height:1.6}.chevron{color:var(--accent);font-size:1.25rem}.form{gap:.9rem;display:grid}.form label{color:var(--ink-soft);gap:.4rem;font-weight:500;display:grid}.form input,.form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:.8rem .9rem;transition:border-color .2s,box-shadow .2s}.form input:focus,.form textarea:focus{border-color:#0f7a5f73;box-shadow:0 0 0 4px #0f7a5f1f}.btn{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.7rem 1.15rem;font-weight:600;transition:transform .15s,background .2s,opacity .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-deep)}.btn-ghost{color:var(--ink-soft);border:1px solid var(--line);background:0 0}.callout{gap:.85rem;display:grid}.callout p,.callout h2{margin:0}.back-link{color:var(--ink-soft);margin-bottom:1rem;font-weight:500;display:inline-block}.reply-list{gap:.85rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.reply-item{border-top:1px solid var(--line);padding:.9rem 0}.reply-item p{white-space:pre-wrap;margin:.35rem 0 0;line-height:1.55}.auth-page{max-width:520px}.auth-card{animation:.55s both rise}.tabs{background:#14201c0d;border-radius:999px;grid-template-columns:1fr 1fr;gap:.4rem;padding:.3rem;display:grid}.tab{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.65rem .8rem;font-weight:600}.tab.active{color:var(--accent-deep);background:#fff;box-shadow:0 4px 14px #14201c14}.error{color:var(--danger);margin:0;font-weight:500}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes float-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=840px){.layout-split{grid-template-columns:1fr}.user-email{display:none}.stats{border-radius:18px;justify-content:space-around;width:100%}}
