:root{--ink:#211a12;--ink-soft:#5c5142;--ink-faint:#8c8272;--paper:#fdfbf7;--paper-raised:#ffffff;--line:#e8e1d3;--line-soft:#f1ecdf;--accent:#c2661b;--accent-ink:#ffffff;--accent-soft:#fbe8d4;--accent-soft-ink:#8a4713;--success:#2f7d4f;--success-soft:#e2f2e7;--danger:#b3432f;--shadow-sm:0 1px 2px rgba(33,26,18,0.06);--shadow-md:0 8px 24px rgba(33,26,18,0.08);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:999px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--tab-bar-h:62px;--top-bar-h:60px}*{box-sizing:border-box}body,html{padding:0;margin:0;max-width:100vw;overflow-x:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit}img{max-width:100%}h1,h2,h3,h4,p{margin:0}.page{min-width:0;max-width:720px;margin:0 auto;padding:20px 16px calc(var(--tab-bar-h) + 32px)}@media (min-width:768px){.page{padding:32px 24px 48px}}.stack{display:flex;flex-direction:column;gap:14px;min-width:0}.row,.spread{display:flex;align-items:center;gap:10px;min-width:0}.spread{justify-content:space-between}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-soft-ink)}.h1{font-size:26px;font-weight:700}.h1,.h2{letter-spacing:-.01em;min-width:0}.h2{font-size:19px;font-weight:650}.muted{color:var(--ink-soft);font-size:14px}.faint{color:var(--ink-faint);font-size:13px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--radius-full);padding:11px 20px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:#a8570f;box-shadow:var(--shadow-md)}.btn-secondary{background:var(--paper-raised);color:var(--ink);border-color:var(--line)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent-soft-ink)}.btn-ghost{background:transparent;color:var(--ink-soft)}.btn-ghost:hover{background:var(--line-soft);color:var(--ink)}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:13px;font-weight:600;color:var(--ink-soft)}.field input,.field textarea{font-family:inherit;font-size:15px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--paper-raised);color:var(--ink);width:100%;min-width:0;transition:border-color .12s ease,box-shadow .12s ease}.field input:hover,.field textarea:hover{border-color:#d8cfba}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field textarea{resize:vertical;min-height:84px}.card{border:1px solid var(--line);border-radius:var(--radius-md);padding:18px;min-width:0}.card,.card-flat{background:var(--paper-raised)}.card-flat{border:1px solid var(--line-soft);border-radius:var(--radius-md)}.auth-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px 24px;box-shadow:var(--shadow-md);min-width:0}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:650;white-space:nowrap;flex-shrink:0}.chip-level{background:var(--accent-soft);color:var(--accent-soft-ink)}.chip-plan{background:var(--success-soft);color:var(--success)}.chip-category{background:var(--line-soft);color:var(--ink-soft)}.chip-pinned{background:var(--accent);color:var(--accent-ink)}.chip-lock{background:#f4e6e0;color:var(--danger)}.avatar{width:38px;height:38px;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent-soft-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.avatar-sm{width:30px;height:30px;font-size:12px}.avatar-lg{width:56px;height:56px;font-size:18px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:var(--top-bar-h);justify-content:space-between;gap:12px;padding:0 16px;background:rgba(253,251,247,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand,.topbar{display:flex;align-items:center;min-width:0}.brand{gap:10px;overflow:hidden}.brand-mark{width:32px;height:32px;border-radius:9px;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0}.brand-text{min-width:0;overflow:hidden}.brand-name{font-size:15px;font-weight:700}.brand-name,.brand-tagline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-tagline{font-size:11.5px;color:var(--ink-faint);display:none}@media (min-width:480px){.brand-tagline{display:block}}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:var(--radius-full);border:1px solid var(--line);background:var(--paper-raised);flex-shrink:0;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.user-chip:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:rgba(253,251,247,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0)}.tab-link{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 4px 8px;color:var(--ink-faint);font-size:11px;font-weight:600;min-width:0;transition:color .12s ease}.tab-link svg{width:22px;height:22px}.tab-link:hover{color:var(--ink-soft)}.tab-link.active{color:var(--accent)}@media (min-width:768px){.tabbar{position:-webkit-sticky;position:sticky;top:var(--top-bar-h);bottom:auto;border-top:none;border-bottom:1px solid var(--line);justify-content:center;gap:4px}.tab-link{flex:none;flex-direction:row;padding:12px 18px;border-bottom:2px solid transparent}.tab-link.active{border-bottom-color:var(--accent)}}.content-slot{min-width:0}.category-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;min-width:0}.category-pill{flex-shrink:0;padding:7px 14px;border-radius:var(--radius-full);border:1px solid var(--line);background:var(--paper-raised);font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:all .12s ease}.category-pill:hover{border-color:var(--accent)}.category-pill.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.post-card{display:block;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;min-width:0;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.post-card:hover{border-color:#d8cfba;box-shadow:var(--shadow-md)}.post-card:active{transform:scale(.995)}.post-title{font-size:16px;font-weight:650;line-height:1.35;min-width:0}.post-body-preview{font-size:14px;color:var(--ink-soft);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.post-footer{display:flex;align-items:center;gap:16px}.stat-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:none;padding:4px 2px;font-size:13px;font-weight:600;color:var(--ink-faint);cursor:pointer;border-radius:var(--radius-sm);transition:color .12s ease,transform .1s ease}.stat-btn:hover{color:var(--accent-soft-ink)}.stat-btn:active{transform:scale(.92)}.stat-btn.reacted{color:var(--accent)}.stat-btn svg{width:17px;height:17px}.composer{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px;min-width:0}.comment{display:flex;gap:10px;min-width:0}.comment-bubble{background:var(--line-soft);border-radius:var(--radius-md);padding:10px 14px;min-width:0;flex:1 1}.divider{height:1px;background:var(--line);border:none;margin:4px 0}.progress-track{height:6px;background:var(--line-soft);overflow:hidden}.progress-fill,.progress-track{border-radius:var(--radius-full)}.progress-fill{height:100%;background:var(--accent)}.empty-state{text-align:center;padding:48px 16px;color:var(--ink-faint)}.mechanic-note{gap:8px;font-size:12.5px;color:var(--accent-soft-ink);background:var(--accent-soft);border-radius:var(--radius-sm);padding:8px 12px;min-width:0}.auth-shell,.mechanic-note{display:flex;align-items:center}.auth-shell{min-height:100vh;justify-content:center;padding:24px 16px;background:radial-gradient(circle at 15% 0,var(--accent-soft) 0,transparent 45%),var(--paper)}.auth-wrap{width:100%;max-width:400px;min-width:0}