/* GENERATED by tools/build_tokens.py from design-tokens v0.1.0 — do not hand-edit.
   Brand: abacus. Regenerate with `python tools/build_tokens.py`. */

:root {
  --accent: #ff7f00;
  --accent-deep: #e5650a;
  --accent-soft: #ffe7cc;
  --bg: #f4f0e8;
  --bg-elev: #ffffff;
  --bg-sunken: #eae4d6;
  --border: #e2e6eb;
  --border-input: #6f7683;
  --border-strong: #c9cfd8;
  --brand-link-ink: #b5560c;
  --brand-orange-wash: #fff6ec;
  --card-max: 420px;
  --chart-1: #e8590c;
  --chart-2: #1971c2;
  --chart-3: #2f9e44;
  --chart-4: #d6336c;
  --chart-5: #7048e8;
  --chart-6: #0c8599;
  --content-max: 1080px;
  --danger-bg: #fdecec;
  --danger-border: #f5b5b5;
  --danger-fg: #8a1f1f;
  --divider: #e2dcd0;
  --fg: #14181f;
  --fg-muted: #4a5260;
  --fg-subtle: #6a7280;
  --font-display: "Archivo", "Rubik", system-ui, sans-serif;
  --font-mono: "Cousine", ui-monospace, "SFMono-Regular", Consolas, monospace;
  --font-sans: "Rubik", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-script: "Segoe Script", "Bradley Hand", "Brush Script MT", cursive;
  --font-serif: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --gear-blue: #0e6fbe;
  --gear-blue-deep: #0a4e86;
  --gear-red: #e5342b;
  --gear-red-deep: #a82018;
  --gear-yellow: #ffc000;
  --gear-yellow-deep: #9a7100;
  --info: #2a6fa8;
  --leading: 1.5;
  --on-accent: #0b0e14;
  --radius-lg: 12px;
  --radius-md: 8px;
  --radius-sm: 4px;
  --shadow-card: 0 1px 2px rgba(16, 24, 40, 0.07), 0 8px 24px rgba(16, 24, 40, 0.14);
  --shadow-focus: 0 0 0 3px rgba(255, 127, 0, 0.30);
  --shadow-lift: 0 2px 4px rgba(16, 24, 40, 0.08), 0 16px 32px rgba(16, 24, 40, 0.16);
  --shadow-soft: 0 1px 2px rgba(16, 24, 40, 0.06), 0 6px 16px rgba(16, 24, 40, 0.10);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --success-bg: #eafaf0;
  --success-border: #aee3c2;
  --success-fg: #1f6b3a;
  --t-blue: var(--accent);
  --t-cyan: #4fd6e0;
  --t-green: #5ad07a;
  --t-magenta: #c79bff;
  --t-red: #ff6b6b;
  --t-yellow: #ffcf5a;
  --term-bg: #0b0e15;
  --term-border: #232b3a;
  --term-dim: #67718a;
  --term-fg: #cdd6e4;
  --term-head: #161c28;
  --term-panel: #10151f;
  --term-sel: #1b2740;
  --text-base: 1rem;
  --text-lg: 1.25rem;
  --text-sm: 0.85rem;
  --text-xl: 1.5rem;
  --warning: #b07a16;
  --warning-bg: #fdf3e6;
  --warning-border: #eccfa3;
  --warning-fg: #8a5a1f;
  --weight-bold: 800;
  --weight-medium: 600;
  --weight-normal: 400;
}

body[data-mode="dark"] {
  --accent: #ff7f00;
  --accent-deep: #ffa040;
  --accent-soft: #3a2516;
  --bg: #14181f;
  --bg-elev: #1f242e;
  --bg-sunken: #0b0e14;
  --border: #2e3440;
  --border-input: #8a919e;
  --border-strong: #4a5260;
  --brand-orange-wash: #241710;
  --chart-1: #ff922b;
  --chart-2: #4dabf7;
  --chart-3: #51cf66;
  --chart-4: #f06595;
  --chart-5: #b197fc;
  --chart-6: #3bc9db;
  --danger-bg: #3a1f1f;
  --danger-border: #5a2a2a;
  --danger-fg: #f5b5b5;
  --divider: #262c36;
  --fg: #f5f1e8;
  --fg-muted: #b8bcc4;
  --fg-subtle: #8a8f99;
  --info: #4a98e0;
  --shadow-card: 0 8px 24px rgba(0, 0, 0, 0.55);
  --shadow-focus: 0 0 0 3px rgba(255, 127, 0, 0.34);
  --shadow-lift: 0 4px 10px rgba(0, 0, 0, 0.5), 0 18px 36px rgba(0, 0, 0, 0.6);
  --shadow-soft: 0 2px 6px rgba(0, 0, 0, 0.45), 0 10px 24px rgba(0, 0, 0, 0.5);
  --success-bg: #14301f;
  --success-border: #2a5a3a;
  --success-fg: #aee3c2;
  --warning: #e0b43e;
  --warning-bg: #33260f;
  --warning-border: #5e4a24;
  --warning-fg: #e8bd80;
}

