/* Osage — generated by tools/build-tokens.py from tokens/tokens.json. Do not edit. */
/* Accent: Osage lime. Dark is the default; light is the defined variant. */
:root {
  --bg: #0B0B0B;
  --bg-2: #101416;
  --surface: #1A1A1A;
  --surface-2: #1F1F1F;
  --line: #2A2A2A;
  --line-strong: #3A3A3A;
  --ink: #E8E4DC;
  --ink-2: #B5B0A6;
  --muted: #898A8D;
  --stone: #6A6B6E;
  --accent: #CCFF00;
  --accent-hot: #E6FF2B;
  --accent-text: #CCFF00;
  --accent-dim: rgba(204,255,0,0.14);
  --accent-glow: rgba(204,255,0,0.28);
  --on-accent: #0B0B0B;
  --positive: #CCFF00;
  --positive-soft: rgba(204,255,0,0.12);
  --warning: #E6C35C;
  --warning-soft: rgba(230,195,92,0.14);
  --danger: #C45C4A;
  --danger-soft: rgba(196,92,74,0.18);
  --focus-ring: 0 0 0 3px rgba(204,255,0,0.18);
  --shadow: 0 1px 0 rgba(0,0,0,0.35);
  --grid-dot: #1E1E1E;
  --font-display: "Archivo", "Archivo Fallback", Arial, sans-serif;
  --font-body: "Archivo", "Archivo Fallback", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --font-display-settings: "wdth" 125, "wght" 900;
  --font-body-features: "tnum" 1, "ss01" 1;
  --type-hero: clamp(40px, 6vw, 74px);
  --type-h1: 30px;
  --type-h2: 22px;
  --type-h3: 16px;
  --type-body: 13.5px;
  --type-body-lg: 15px;
  --type-small: 12.5px;
  --type-micro: 11.5px;
  --type-leading-tight: 1.05;
  --type-leading-body: 1.45;
  --type-leading-prose: 1.6;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-pill: 999px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --control-height: 28px;
  --control-height-lg: 40px;
  --control-chip-height: 24px;
  --motion-fast: 60ms;
  --motion-base: 140ms;
  --motion-slow: 240ms;
  --motion-ease: cubic-bezier(0.2, 0, 0, 1);
  --layout-max: 1440px;
  --layout-gutter: 32px;
  --layout-overlay-max: 1100px;
  color-scheme: dark;
}

:root[data-theme="light"] {
  --bg: #F4F1EA;
  --bg-2: #ECE8DF;
  --surface: #FFFFFF;
  --surface-2: #F9F7F2;
  --line: #DDD8CD;
  --line-strong: #C4BFB3;
  --ink: #0B0B0B;
  --ink-2: #3A3A38;
  --muted: #6A6B6E;
  --stone: #9A9A96;
  --accent: #CCFF00;
  --accent-hot: #E6FF2B;
  --accent-text: #0B0B0B;
  --accent-dim: rgba(204,255,0,0.35);
  --accent-glow: rgba(204,255,0,0.55);
  --on-accent: #0B0B0B;
  --positive: #4D6600;
  --positive-soft: rgba(204,255,0,0.30);
  --warning: #7A5A00;
  --warning-soft: rgba(230,195,92,0.30);
  --danger: #A33A28;
  --danger-soft: rgba(196,92,74,0.16);
  --focus-ring: 0 0 0 3px rgba(11,11,11,0.18);
  --shadow: 0 1px 0 rgba(0,0,0,0.06);
  --grid-dot: #DAD6CC;
  color-scheme: light;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --bg: #F4F1EA;
    --bg-2: #ECE8DF;
    --surface: #FFFFFF;
    --surface-2: #F9F7F2;
    --line: #DDD8CD;
    --line-strong: #C4BFB3;
    --ink: #0B0B0B;
    --ink-2: #3A3A38;
    --muted: #6A6B6E;
    --stone: #9A9A96;
    --accent: #CCFF00;
    --accent-hot: #E6FF2B;
    --accent-text: #0B0B0B;
    --accent-dim: rgba(204,255,0,0.35);
    --accent-glow: rgba(204,255,0,0.55);
    --on-accent: #0B0B0B;
    --positive: #4D6600;
    --positive-soft: rgba(204,255,0,0.30);
    --warning: #7A5A00;
    --warning-soft: rgba(230,195,92,0.30);
    --danger: #A33A28;
    --danger-soft: rgba(196,92,74,0.16);
    --focus-ring: 0 0 0 3px rgba(11,11,11,0.18);
    --shadow: 0 1px 0 rgba(0,0,0,0.06);
    --grid-dot: #DAD6CC;
    color-scheme: light;
  }
}

html, body { background: var(--bg); color: var(--ink); font-family: var(--font-body); font-feature-settings: var(--font-body-features); -webkit-font-smoothing: antialiased; }
h1, h2, h3, .display { font-family: var(--font-display); font-variation-settings: var(--font-display-settings); line-height: var(--type-leading-tight); letter-spacing: -0.02em; }
.mono, code, kbd, .num { font-family: var(--font-mono); font-feature-settings: "tnum" 1; }
