:root,[data-theme=dark]{--color-bg:#0f0e0c;--color-surface:#161512;--color-surface-2:#1c1b17;--color-surface-offset:#222019;--color-surface-dynamic:#332f27;--color-divider:#2a2822;--color-border:#3a3830;--color-text:#e8e4dc;--color-text-muted:#8a8880;--color-text-faint:#504e48;--color-text-inverse:#0f0e0c;--color-primary:#c8973c;--color-primary-hover:#e0aa50;--color-primary-highlight:#2a2316;--color-success:#5a9a45;--color-blue:#4a8fc5;--color-purple:#9060cc;--rank-color:#5ad0ff;--rank-color-bright:#a8e6ff;--shadow-md:0 4px 16px rgba(0,0,0,.5);--shadow-lg:0 12px 40px rgba(0,0,0,.6);--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--t:.18s cubic-bezier(.16,1,.3,1);--font-display:"Fraunces",Georgia,serif;--font-body:"Inter","Helvetica Neue",system-ui,sans-serif;--font-feat-display:"ss01" on, "ss02" on;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.06em;--tracking-eyebrow:.22em;--text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.25rem);--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--ink:var(--color-bg);--ink-2:var(--color-surface);--ink-3:var(--color-surface-offset);--surface:var(--color-surface);--surface-2:var(--color-surface-2);--surface-3:var(--color-surface-offset);--line:var(--color-border);--line-strong:var(--color-border);--cream:var(--color-text);--cream-dim:var(--color-text-muted);--muted:var(--color-text-faint);--oxblood:var(--color-primary);--oxblood-bright:var(--color-primary-hover);--gold:var(--color-primary);--gold-soft:var(--color-primary-hover);--green:var(--color-success);--r:var(--radius-lg);--r-sm:var(--radius-md);--r-lg:var(--radius-xl);--header-h:62px;--shadow:var(--shadow-md);--shadow-sm:0 1px 2px rgba(0,0,0,.4)}[data-theme=light]{--color-bg:#f5f3ee;--color-surface:#f9f8f4;--color-surface-2:#ffffff;--color-surface-offset:#eeebe4;--color-surface-dynamic:#dedad0;--color-divider:#d8d4cc;--color-border:#ccc8be;--color-text:#1a1810;--color-text-muted:#6a6860;--color-text-faint:#aaa89e;--color-text-inverse:#f9f8f4;--color-primary:#9a6820;--color-primary-hover:#7a5018;--color-primary-highlight:#f0e8d4;--rank-color:#b85040;--rank-color-bright:#9c3e30;--shadow-md:0 4px 16px rgba(60,50,30,.1);--shadow-lg:0 12px 40px rgba(60,50,30,.14)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);line-height:1.6;overflow-x:hidden;-webkit-text-size-adjust:100%}img,svg{max-width:100%;height:auto}h1,h2,h3,h4{line-height:1.08;text-wrap:balance;letter-spacing:var(--tracking-tight);font-feature-settings:var(--font-feat-display);font-optical-sizing:auto}h1{font-variation-settings:"opsz" 144}h2{font-variation-settings:"opsz" 72}a{color:var(--color-primary);text-decoration:none;transition:color var(--t)}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;background:none;border:none;color:inherit;font:inherit}input{font:inherit;color:inherit}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:#c8973c47;color:var(--color-text)}.muted{color:var(--color-text-muted)}.demo-banner{background:repeating-linear-gradient(45deg,#3a1d1f,#3a1d1f 12px,#2c1618 12px 24px);color:#f3d9b0;text-align:center;font-size:13px;padding:8px;letter-spacing:.04em}.app-shell{display:grid;grid-template-columns:260px 1fr;grid-template-rows:auto 1fr;min-height:100dvh}.topbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:0 var(--s6);height:62px;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.logo{display:flex;align-items:center;gap:var(--s3);color:var(--color-text)}.logo:hover{color:var(--color-text)}.logo-mark{width:32px;height:32px;flex-shrink:0}.logo-text{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em}.logo-text span{color:var(--color-primary)}.topbar-search{display:flex;align-items:center;gap:var(--s2);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--s2) var(--s4);flex:1;max-width:380px}.topbar-search input{background:none;border:none;outline:none;font-size:var(--text-sm);flex:1}.topbar-search input::placeholder{color:var(--color-text-faint)}.topbar-right{display:flex;align-items:center;gap:var(--s3)}.mode-toggle{display:flex;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:3px}.mode-pill{padding:6px 14px;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted)}.mode-pill:hover{color:var(--color-text)}.mode-pill.active{background:var(--color-primary);color:var(--color-text-inverse)}.icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);color:var(--color-text-muted)}.icon-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--s6) 0;position:sticky;top:62px;height:calc(100dvh - 62px);overflow-y:auto;display:flex;flex-direction:column}.sidebar-section{padding:0 var(--s4) var(--s6)}.sidebar-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-faint);padding:0 var(--s2) var(--s2)}.nav-item{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-muted)}.nav-item:hover{background:var(--color-surface-offset);color:var(--color-text)}.nav-item.active{background:var(--color-primary-highlight);color:var(--color-primary);font-weight:500}.nav-item i{width:18px;height:18px;flex-shrink:0}.nav-soon{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.05em;background:var(--color-surface-dynamic);color:var(--color-text-muted);padding:1px 6px;border-radius:var(--radius-full)}.nav-badge{margin-left:auto;font-size:11px;background:var(--color-primary);color:var(--color-text-inverse);padding:1px 7px;border-radius:var(--radius-full);font-weight:600}.sidebar-divider{height:1px;background:var(--color-divider);margin:0 var(--s4) var(--s4)}.sidebar-footer{margin-top:auto;padding:var(--s4);border-top:1px solid var(--color-divider)}.sync-status{display:flex;align-items:center;gap:var(--s2);font-size:var(--text-xs);color:var(--color-text-muted)}.sync-dot{width:7px;height:7px;border-radius:50%;background:var(--color-success);box-shadow:0 0 6px var(--color-success)}.main-content{background:var(--color-bg);min-height:calc(100dvh - 62px)}@media(max-width:1024px){.app-shell{grid-template-columns:220px 1fr}}@media(max-width:768px){.app-shell{grid-template-columns:1fr}.sidebar,.topbar-search{display:none}:root{--s6:1rem;--s8:1.25rem;--s10:1.5rem}.topbar{padding:0 var(--s4);height:56px}.logo-text{font-size:15px}.mode-pill{padding:5px 10px;font-size:12px}}@media(max-width:480px){:root{--s8:1rem;--s10:1.25rem}.topbar-right{gap:6px}.auth-chip{padding:5px 9px;font-size:11px}}.auth-chip{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--color-border);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.auth-chip:hover{color:var(--color-text);border-color:var(--color-primary)}.auth-chip.in{color:var(--color-primary);border-color:color-mix(in oklch,var(--color-primary) 40%,var(--color-border))}.adot{width:7px;height:7px;border-radius:50%;background:var(--color-success);box-shadow:0 0 6px var(--color-success)}.navlogout{background:none;border:none;color:var(--color-text-muted);font-size:12px;text-decoration:underline;cursor:pointer;padding:0}.navlogout:hover{color:var(--color-primary)}
