:root{--paper-base:#f1f0e4;--paper-shadow:#e5e4d8;--paper-bright:#fafaf5;--ink-base:#080f11;--ink-soft:#151b20;--ink-violet:#230c46;--brand:#8000ff;--brand-light:#a64dff;--brand-dark:#5c00b8;--brand-glow:#8000ff66;--font-sans:Inter, -apple-system, system-ui, Helvetica, Arial, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius-sm:.25rem;--radius-lg:.5rem;--radius-xl:.75rem;--bg:var(--ink-base);--surface:var(--ink-soft);--surface-bright:var(--ink-violet);--heading:var(--paper-base);--body:var(--paper-base);--muted:#f1f0e4c7;--faint:#f1f0e49e;--border:#f1f0e41f;--border-strong:#f1f0e442;--section-tint:#180e2d;--status-todo:#f1f0e480;--status-progress:var(--brand-light);--status-blocked:#ff6b5c;--status-done:#3ddc97;--gap-assumption:#f1f0e48c;--gap-open-question:#ffc14d;--gap-needs-input:#4db8ff}[data-ground=light]{--bg:var(--paper-base);--surface:var(--paper-shadow);--surface-bright:var(--paper-bright);--heading:var(--ink-base);--body:var(--ink-base);--muted:#080f11b8;--faint:#080f119e;--border:#080f111a;--border-strong:#080f1138;--section-tint:#eee7f7;--status-todo:#080f1173;--status-progress:var(--brand-dark);--status-blocked:#c2392b;--status-done:#12805a;--gap-assumption:#080f1180;--gap-open-question:#8a5a00;--gap-needs-input:#0b5f9e}
*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--body);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}:focus-visible{outline:2px solid var(--brand-light);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--faint);padding:1px 5px;font-size:11px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
