:root{--bg:#211d1b;--surface-1:#2b2624;--surface-2:#38312e;--border:#463e3a;--text:#eceae9;--text-muted:#aaa09a;--accent:#b8862e;--info:#b8862e;--success:#8a9a3c;--warning:#e0a63c;--danger:#e2585f;--on-fill:#211d1b;--on-scrim:#eceae9;--cat-1:#c57293;--cat-2:#398fc0;--cat-3:#c85a32;--cat-4:#228736;--cat-5:#8d58bb;--cat-6:#686d2c;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--font-sans:-apple-system, "Segoe UI", Roboto, system-ui, sans-serif;--font-mono:ui-monospace, "Cascadia Code", monospace;--text-display:32px;--text-title:24px;--text-subtitle:20px;--text-body:16px;--text-label:14px;--text-caption:12px;--tracking-display:-.2px;--tracking-title:-.1px;--tracking-label:.05em;--tracking-caption:.1em;--measure:40rem;--shadow-1:0 2px 4px #211d1b1f;--shadow-2:0 4px 8px #211d1b29;--focus-ring:#b8862e}@media (prefers-color-scheme:light){:root{--bg:#f6f4f3;--surface-1:#fcfbfb;--surface-2:#fcfbfb;--border:#e0dad7;--text:#211d1b;--text-muted:#70625b}}@media (prefers-color-scheme:dark){:root{--shadow-1:none;--shadow-2:none}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-body)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-body);margin:0}main{max-width:60rem;padding:var(--space-4) var(--space-3) var(--space-6);margin:0 auto}h1{margin:0 0 var(--space-3);font-size:var(--text-display);letter-spacing:var(--tracking-display)}h2{margin:0 0 var(--space-3);font-size:var(--text-title);letter-spacing:var(--tracking-title)}p{max-width:var(--measure);margin:0 0 var(--space-3);color:var(--text-muted);line-height:1.5}nav{gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:1px solid var(--border);padding-bottom:var(--space-3);display:flex}nav button[aria-current=true],nav button[aria-current=true]:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-fill)}button{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text);font:inherit;font-size:var(--text-label);cursor:pointer}button:hover:not(:disabled){background:var(--surface-2)}button:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6}input,select,textarea{padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text);font:inherit;font-size:var(--text-body)}input:disabled,select:disabled{color:var(--text-muted);opacity:.6}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.setting{gap:var(--space-3);margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--text-label);color:var(--text-muted);grid-template-columns:16rem 1fr;align-items:center;display:grid}section>button{margin-top:var(--space-3)}pre{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-label);overflow-x:auto}textarea{width:100%;font-family:var(--font-mono)}img{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1);max-width:100%;max-height:26rem;display:block}ul{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}li label{gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);font-size:var(--text-label);cursor:pointer;align-items:center;display:flex}li label:has(input:checked){border-color:var(--accent);color:var(--accent)}input[type=checkbox]{width:var(--space-3);height:var(--space-3);accent-color:var(--accent)}.adder{gap:var(--space-2);font-size:var(--text-label);color:var(--text-muted);align-items:center;display:flex}[data-testid$=error],[data-testid=groups-locked]{color:var(--danger)}[data-testid=note]{color:var(--success)}.footnote{max-width:var(--measure);font-size:var(--text-label);color:var(--text-muted);line-height:1.5}.tiles{gap:var(--space-2);margin:var(--space-3) 0;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.tile{gap:var(--space-1);padding:var(--space-3);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex}.tile-value{font-size:var(--text-title);font-variant-numeric:tabular-nums;color:var(--text);line-height:1}.tile-label{font-size:var(--text-label);color:var(--text-muted)}.chart{width:100%;height:22rem;margin:var(--space-2) 0 var(--space-4);overflow:hidden}.chart-empty{padding:var(--space-4);font-size:var(--text-label);color:var(--text-muted);text-align:center;background:var(--surface-1);border:1px dashed var(--border);border-radius:var(--radius-md)}[data-testid=health-table]{border-collapse:collapse;width:100%}[data-testid=health-table] th{font-size:var(--text-label);color:var(--text-muted);text-align:left}[data-testid=health-table] td{font-variant-numeric:tabular-nums}[data-testid=health-table] td,[data-testid=health-table] th{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--border)}.shelf{gap:var(--space-2) var(--space-3);grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));display:grid}.shelf li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shelf li[data-owned=true]{color:var(--accent);font-weight:600}
