/* AI Calibrate — generated from tokens.json */
:root, [data-theme="light"] {
  --brand: #00796e;
  --brand-hover: #005e55;
  --brand-tint: #d9ece8;
  --on-brand: #ffffff;
  --ink-brand: #00665d;
  --surface: #ecf1ef;
  --surface-raised: #ffffff;
  --surface-sunken: #e0e8e5;
  --surface-code: #f3f6f5;
  --surface-code-inline: #e3ebe8;
  --surface-inverse: #102320;
  --on-inverse: #e3eeea;
  --scrim: rgba(9,22,20,0.56);
  --ink: #102320;
  --ink-muted: #4b5d59;
  --ink-disabled: #7a8a86;
  --line: #c3cfcb;
  --line-strong: #6b7e79;
  --rule: #102320;
  --focus: #00796e;
  --correct: #1c5bb8;
  --correct-tint: #e4edfa;
  --incorrect: #b3261e;
  --incorrect-tint: #fbe8e6;
  --flagged: #835600;
  --flagged-tint: #fff2cf;
  --paused: #3b4c66;
  --paused-tint: #e5eaf2;
  --locked: #57656a;
  --locked-tint: #e7ebec;
  --ready-0: #e0e8e5;
  --ready-1: #9dcfc6;
  --ready-2: #3e9e90;
  --ready-3: #00574f;
  --on-ready-0: #102320;
  --on-ready-1: #102320;
  --on-ready-2: #102320;
  --on-ready-3: #ffffff;
  --ready-none: #6b7e79;
  --chart-bar: var(--brand);
  --chart-track: #d3ddd9;
  --chart-grid: #d3ddd9;
  --chart-pass: #102320;
  --elev-0: none;
  --elev-bar: 0 -1px 0 #c3cfcb;
  --elev-sheet: 0 -8px 24px rgba(16,35,32,0.16);
}
[data-theme="dark"] {
  --brand: #3ccfbb;
  --brand-hover: #74e0d1;
  --brand-tint: #0f3a35;
  --on-brand: #061210;
  --ink-brand: #5fdccb;
  --surface: #091614;
  --surface-raised: #10211e;
  --surface-sunken: #0b1a18;
  --surface-code: #06100f;
  --surface-code-inline: #1b322e;
  --surface-inverse: #e3eeea;
  --on-inverse: #102320;
  --scrim: rgba(0,0,0,0.64);
  --ink: #e3eeea;
  --ink-muted: #93a8a3;
  --ink-disabled: #5e726d;
  --line: #22403a;
  --line-strong: #6c8781;
  --rule: #e3eeea;
  --focus: #3ccfbb;
  --correct: #8db9ff;
  --correct-tint: #10243f;
  --incorrect: #ff9c8f;
  --incorrect-tint: #3a1613;
  --flagged: #f2c14e;
  --flagged-tint: #33280b;
  --paused: #b9c7db;
  --paused-tint: #18212e;
  --locked: #93a0a4;
  --locked-tint: #141e21;
  --ready-0: #16302b;
  --ready-1: #1f6b60;
  --ready-2: #2fae9c;
  --ready-3: #7be6d6;
  --on-ready-0: #e3eeea;
  --on-ready-1: #e3eeea;
  --on-ready-2: #061210;
  --on-ready-3: #061210;
  --ready-none: #6c8781;
  --chart-bar: var(--brand);
  --chart-track: #1b322e;
  --chart-grid: #1b322e;
  --chart-pass: #e3eeea;
  --elev-0: none;
  --elev-bar: 0 -1px 0 #22403a;
  --elev-sheet: 0 -8px 24px rgba(0,0,0,0.5);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --radius-0: 0px;
  --radius-1: 2px;
  --radius-round: 50%;
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-slow: 320ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --ease-needle: cubic-bezier(0.3, 1.2, 0.5, 1);
  --bp-tablet: 720px;
  --bp-desktop: 1080px;
  --measure: 70ch;
  --content-max: 1200px;
  --exam-nav-width: 360px;
  --touch-min: 44px;
  --topbar-h: 56px;
  --tabbar-h: 64px;
  --font-sans: "Atkinson Hyperlegible Next", "Segoe UI", system-ui, sans-serif;
  --font-mono: "Martian Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
@font-face { font-family: "Martian Mono"; src: url("fonts/MartianMono-Variable-latin.woff2") format("woff2"); font-weight: 100 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible Next"; src: url("fonts/AtkinsonHyperlegibleNext-400-normal-latin.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible Next"; src: url("fonts/AtkinsonHyperlegibleNext-700-normal-latin.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible Next"; src: url("fonts/AtkinsonHyperlegibleNext-400-italic-latin.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
.display { font-family: var(--font-mono); font-size: 32px; line-height: 36px; font-weight: 600; letter-spacing: -0.02em; }
.heading { font-family: var(--font-mono); font-size: 20px; line-height: 28px; font-weight: 600; letter-spacing: -0.01em; }
.subheading { font-family: var(--font-mono); font-size: 15px; line-height: 22px; font-weight: 600; }
.label { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: 0.06em; }
.score { font-family: var(--font-mono); font-size: 48px; line-height: 52px; font-weight: 500; letter-spacing: -0.02em; }
.timer { font-family: var(--font-mono); font-size: 20px; line-height: 24px; font-weight: 500; }
.stat { font-family: var(--font-mono); font-size: 28px; line-height: 32px; font-weight: 500; }
.counter { font-family: var(--font-mono); font-size: 13px; line-height: 20px; font-weight: 500; }
.stem { font-family: var(--font-sans); font-size: 18px; line-height: 28px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.body-strong { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 700; }
.small { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.code { font-family: var(--font-mono); font-size: 13px; line-height: 21px; font-weight: 400; }
.code-inline { font-family: var(--font-mono); font-size: 0.875em; line-height: 1; font-weight: 500; }
