:root{--ink:#141414;--ink-soft:#3d3d3d;--ink-muted:#6f6f6a;--paper:#faf9f5;--paper-raised:#fff;--paper-sunken:#f1efe8;--line:#141414;--line-soft:#dedbd2;--green-900:#073d2d;--green-700:#0f7a5a;--green-500:#199a72;--green-200:#bfe6d6;--green-100:#e3f3ec;--amber-900:#7a4b0a;--amber-500:#e8a13a;--amber-100:#fbeed8;--coral-900:#7c2a12;--coral-500:#e2603f;--coral-100:#fae3db;--violet-900:#3a2f66;--violet-500:#6b5ca5;--violet-100:#e9e5f4;--blue-900:#1a3d69;--blue-500:#2f6db8;--blue-100:#dfeaf7;--pink-900:#6d2450;--pink-500:#c04a86;--pink-100:#f7e4ef;--accent:var(--green-700);--accent-strong:var(--green-900);--accent-soft:var(--green-100);--text-body:var(--ink);--text-secondary:var(--ink-soft);--text-muted:var(--ink-muted);--text-inverse:#faf9f5;--text-on-accent:#faf9f5;--surface-page:var(--paper);--surface-card:var(--paper-raised);--surface-sunken:var(--paper-sunken);--surface-inverse:var(--ink);--border-strong:var(--line);--border-soft:var(--line-soft);--state-success:var(--green-700);--state-warning:var(--amber-500);--state-danger:#c23a1f;--state-info:var(--blue-500);--viz-1:var(--green-700);--viz-2:var(--coral-500);--viz-3:var(--violet-500);--viz-4:var(--blue-500);--viz-5:var(--amber-500);--viz-6:var(--pink-500);--shadow-card:3px 3px 0 var(--ink);--shadow-card-sm:2px 2px 0 var(--ink);--shadow-pop:5px 5px 0 var(--ink);--shadow-none:none}
:root{--font-display:"Newsreader",Georgia,serif;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:26px;--text-2xl:34px;--text-3xl:46px;--text-4xl:64px;--leading-tight:1.08;--leading-snug:1.25;--leading-normal:1.55;--tracking-caps:.08em;--type-display:600 var(--text-4xl)/var(--leading-tight) var(--font-display);--type-h1:600 var(--text-3xl)/var(--leading-tight) var(--font-display);--type-h2:600 var(--text-2xl)/var(--leading-snug) var(--font-display);--type-h3:600 var(--text-xl)/var(--leading-snug) var(--font-display);--type-body:400 var(--text-base)/var(--leading-normal) var(--font-body);--type-body-strong:600 var(--text-base)/var(--leading-normal) var(--font-body);--type-small:400 var(--text-sm)/var(--leading-normal) var(--font-body);--type-label:600 var(--text-xs)/1.2 var(--font-body);--type-data:500 var(--text-sm)/1.3 var(--font-mono)}
:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--radius-0:0;--radius-sm:4px;--radius-md:8px;--radius-pill:999px;--bw:1.5px;--bw-heavy:2px;--border-card:var(--bw) solid var(--border-strong);--container-max:1160px;--container-pad:24px;--ease-out:cubic-bezier(.2,.8,.2,1);--dur-fast:.12s;--dur-base:.2s;--focus-ring:0 0 0 3px var(--green-200)}
*{box-sizing:border-box}body{background:var(--surface-page);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong);text-decoration:underline}button{font-family:var(--font-body)}::selection{background:var(--green-200)}
