/* PROCTOLOGI tokens: generated from the design system's tokens.json. Light is the default; dark follows the system, or force with data-theme. */
:root,
[data-theme="light"] {
  --surface: #f6f4ee;
  --surface-raised: #ffffff;
  --surface-sunken: #ebe8df;
  --ink: #14213d;
  --ink-muted: #4a5470;
  --rule: #c9c5b8;
  --border: #6b7289;
  --brand: #0b6e69;
  --on-brand: #ffffff;
  --brand-strong: #08524e;
  --brand-tint: #d6ece9;
  --accent: #f2a900;
  --on-accent: #14213d;
  --danger: #b3261e;
  --on-danger: #ffffff;
  --cleared: #1d5fa8;
  --on-cleared: #ffffff;
  --navy: #14213d;
  --on-navy: #f6f4ee;
  --focus: #0a4fa0;
  --shadow-stamp: 4px 4px 0 0 #14213d;
  --shadow-stamp-sm: 2px 2px 0 0 #14213d;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
      --surface: #0f1a2e;
      --surface-raised: #17243d;
      --surface-sunken: #0a1322;
      --ink: #f2efe6;
      --ink-muted: #aab3c8;
      --rule: #2f3d5a;
      --border: #8793ae;
      --brand: #4fd1c5;
      --on-brand: #06201e;
      --brand-strong: #8be3da;
      --brand-tint: #1c5c58;
      --accent: #f2b83a;
      --on-accent: #14213d;
      --danger: #ff8a7e;
      --on-danger: #2a0a07;
      --cleared: #7fb5f0;
      --on-cleared: #07203f;
      --navy: #2b4573;
      --on-navy: #f6f4ee;
      --focus: #ffd166;
      --shadow-stamp: 4px 4px 0 0 #4fd1c5;
      --shadow-stamp-sm: 2px 2px 0 0 #4fd1c5;
    color-scheme: dark;
  }
}
[data-theme="dark"] {
  --surface: #0f1a2e;
  --surface-raised: #17243d;
  --surface-sunken: #0a1322;
  --ink: #f2efe6;
  --ink-muted: #aab3c8;
  --rule: #2f3d5a;
  --border: #8793ae;
  --brand: #4fd1c5;
  --on-brand: #06201e;
  --brand-strong: #8be3da;
  --brand-tint: #1c5c58;
  --accent: #f2b83a;
  --on-accent: #14213d;
  --danger: #ff8a7e;
  --on-danger: #2a0a07;
  --cleared: #7fb5f0;
  --on-cleared: #07203f;
  --navy: #2b4573;
  --on-navy: #f6f4ee;
  --focus: #ffd166;
  --shadow-stamp: 4px 4px 0 0 #4fd1c5;
  --shadow-stamp-sm: 2px 2px 0 0 #4fd1c5;
  color-scheme: dark;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 72px;
  --radius-none: 0;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-pill: 999px;
  --font-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
.display-xl { font-family: var(--font-display); font-size: 72px; line-height: 68px; font-weight: 400; letter-spacing: -0.01em; }
.display-lg { font-family: var(--font-display); font-size: 48px; line-height: 50px; font-weight: 400; }
.display-md { font-family: var(--font-display); font-size: 32px; line-height: 36px; font-weight: 400; }
.display-italic { font-family: var(--font-display); font-size: 32px; line-height: 36px; font-weight: 400; font-style: italic; }
.body-lg { 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-sm { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.button { font-family: var(--font-sans); font-size: 15px; line-height: 20px; font-weight: 600; }
.stage-code { font-family: var(--font-mono); font-size: 13px; line-height: 16px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; }
.mono { font-family: var(--font-mono); font-size: 14px; line-height: 22px; font-weight: 400; }
