/* ELS Production Design System 3.0.0 - generated from tokens.json */
:root, [data-theme="light"] {
  --creme-cool: #f1efea;
  --creme: #f5f2eb;
  --creme-deep: #e7e5df;
  --ink: #0e0e0d;
  --ink-soft: #5e5c57;
  --hairline: #dad7d0;
  --sand: #9c8e72;
  --honning: #d9a441;
  --honning-tint: #f7ecd2;
  --honning-deep: #8a5a12;
  --rust: #a03c2e;
  --amber: #9c6f1f;
  --olive: #5a6b3b;
  --sky: #3a6fd8;
  --lilac: #c2a1c7;
  --olive-tint: #e2e6d6;
  --amber-tint: #f1e6cc;
  --rust-tint: #f3ddd7;
  --sky-tint: #dde6f8;
  --bg-page: var(--creme-cool);
  --bg-raised: var(--creme);
  --bg-quiet: var(--creme-deep);
  --bg-ink: var(--ink);
  --text: var(--ink);
  --text-soft: var(--ink-soft);
  --text-on-ink: var(--creme-cool);
  --accent: var(--honning);
  --accent-soft: var(--honning-tint);
  --accent-text: var(--honning-deep);
  --on-accent: #0e0e0d;
  --line: var(--hairline);
  --focus: var(--honning-deep);
  --status-good: var(--olive);
  --status-wait: var(--amber);
  --status-alert: var(--rust);
  --status-info: var(--sky);
  --chart-1: var(--ink);
  --chart-2: var(--honning);
  --chart-3: var(--sand);
  --chart-4: var(--sky);
  --chart-5: var(--olive);
  --chart-6: var(--lilac);
  --glass: #0a0a0ac7;
  --glass-text: #f5f4f0;
  --shadow-none: none;
  --shadow-sm: 0 1px 2px rgba(10,10,10,0.05);
  --shadow-md: 0 16px 40px -20px rgba(10,10,10,0.22);
  --shadow-lg: 0 40px 80px -30px rgba(10,10,10,0.35);
  --shadow-nav: 0 20px 40px -16px rgba(10,10,10,0.45);
  --shadow-focus: 0 0 0 3px #f7ecd2;
}
[data-theme="dark"] {
  --creme-cool: #0e0e0d;
  --creme: #171716;
  --creme-deep: #212120;
  --ink: #f1efea;
  --ink-soft: #9d9b95;
  --hairline: #2a2a28;
  --sand: #a8997c;
  --honning: #e6b556;
  --honning-tint: #3a2c10;
  --honning-deep: #e6b556;
  --rust: #d0624c;
  --amber: #d6a447;
  --olive: #9db36b;
  --sky: #7ca6f2;
  --lilac: #d8b9dc;
  --olive-tint: #27301c;
  --amber-tint: #3a2e14;
  --rust-tint: #3a231f;
  --sky-tint: #15273f;
  --bg-page: var(--creme-cool);
  --bg-raised: var(--creme);
  --bg-quiet: var(--creme-deep);
  --bg-ink: var(--ink);
  --text: var(--ink);
  --text-soft: var(--ink-soft);
  --text-on-ink: var(--creme-cool);
  --accent: var(--honning);
  --accent-soft: var(--honning-tint);
  --accent-text: var(--honning-deep);
  --on-accent: #0e0e0d;
  --line: var(--hairline);
  --focus: var(--honning);
  --status-good: var(--olive);
  --status-wait: var(--amber);
  --status-alert: var(--rust);
  --status-info: var(--sky);
  --chart-1: var(--ink);
  --chart-2: var(--honning);
  --chart-3: var(--sand);
  --chart-4: var(--sky);
  --chart-5: var(--olive);
  --chart-6: var(--lilac);
  --glass: #f1efea1f;
  --glass-text: #f1efea;
  --shadow-none: none;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
  --shadow-md: 0 16px 40px -20px rgba(0,0,0,0.7);
  --shadow-lg: 0 40px 80px -30px rgba(0,0,0,0.8);
  --shadow-nav: 0 20px 40px -16px rgba(0,0,0,0.8);
  --shadow-focus: 0 0 0 3px #3a2c10;
}
: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;
  --space-9: 120px;
  --radius-xs: 8px;
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 999px;
  --radius-round: 50%;
  --fs-display-xl: clamp(44px, 7.2vw, 84px);
  --fs-display-l: clamp(34px, 5vw, 56px);
  --fs-display-m: clamp(26px, 3.4vw, 34px);
  --fs-number-xl: clamp(36px, 5vw, 56px);
  --max-text: 640px;
  --max-content: 1200px;
  --max-app: 1440px;
  --gutter: clamp(16px, 4vw, 48px);
  --section-y: clamp(72px, 10vw, 120px);
  --grid-gap: 24px;
  --bp-sm: 640px;
  --bp-md: 960px;
  --bp-lg: 1280px;
  --nav-h: 64px;
  --dock-h: 64px;
  --sidebar-w: 248px;
  --ring-w: 10px;
  --tap: 48px;
  --dur-quick: 200ms;
  --dur-base: 500ms;
  --dur-slow: 900ms;
  --dur-ring: 1200ms;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-move: cubic-bezier(0.645, 0.045, 0.355, 1);
  --stagger: 70ms;
  --hover-scale: 1.04;
  --font-display: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
  --font-serif: "Fraunces", Georgia, serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
}
.display-xl { font-family: var(--font-display); font-size: 84px; line-height: 0.92; font-weight: 700; letter-spacing: -0.045em; }
.display-l { font-family: var(--font-display); font-size: 56px; line-height: 0.96; font-weight: 700; letter-spacing: -0.04em; }
.display-m { font-family: var(--font-display); font-size: 34px; line-height: 1.0; font-weight: 600; letter-spacing: -0.03em; }
.h2 { font-family: var(--font-body); font-size: 24px; line-height: 1.1; font-weight: 600; letter-spacing: -0.02em; }
.h3 { font-family: var(--font-body); font-size: 17px; line-height: 1.25; font-weight: 600; letter-spacing: -0.015em; }
.h4 { font-family: var(--font-body); font-size: 14px; line-height: 1.3; font-weight: 600; letter-spacing: -0.01em; }
.lede { font-family: var(--font-serif); font-size: 20px; line-height: 1.45; font-weight: 350; letter-spacing: 0; }
.quote { font-family: var(--font-serif); font-size: 30px; line-height: 1.25; font-weight: 300; letter-spacing: -0.005em; font-style: italic; }
.body { font-family: var(--font-body); font-size: 15px; line-height: 1.5; font-weight: 400; letter-spacing: -0.005em; }
.body-s { font-family: var(--font-body); font-size: 13px; line-height: 1.45; font-weight: 400; letter-spacing: 0; }
.caption { font-family: var(--font-body); font-size: 12px; line-height: 1.4; font-weight: 400; letter-spacing: 0; }
.label { font-family: var(--font-body); font-size: 11px; line-height: 1.3; font-weight: 500; letter-spacing: 0.06em; }
.label-s { font-family: var(--font-body); font-size: 10px; line-height: 1.2; font-weight: 500; letter-spacing: 0.06em; }
.data { font-family: var(--font-mono); font-size: 13px; line-height: 1.5; font-weight: 400; letter-spacing: 0; }
.number-xl { font-family: var(--font-mono); font-size: 56px; line-height: 1.0; font-weight: 400; letter-spacing: -0.03em; }
.number-m { font-family: var(--font-mono); font-size: 28px; line-height: 1.1; font-weight: 400; letter-spacing: -0.02em; }
