/* Kosal — generated from tokens.json */
:root, [data-theme="dark"] {
  --paper: #07100c;
  --surface: #0c1a13;
  --surface-2: #112419;
  --line: #1b2e23;
  --line-strong: #2c4838;
  --ink: #e4efe8;
  --ink-muted: #93a99b;
  --ink-faint: #73897b;
  --jade: #62b388;
  --jade-deep: #256a48;
  --jade-soft: #123224;
  --on-jade: #04120b;
  --amber: #f2b544;
  --on-amber: #1a1203;
  --grad-amber: linear-gradient(180deg, #f9cb6b 0%, #f2b544 52%, #e4982f 100%);
  --danger: #ff8a7a;
  --focus: var(--jade);
  --ridge-0: #07100c;
  --ridge-1: #0c1c14;
  --ridge-2: #123224;
  --ridge-3: #1a4b33;
  --ridge-4: #256a48;
  --ridge-5: #3a8c63;
  --ridge-6: #62b388;
  --shadow-lift: 0 24px 48px -24px #000000cc;
}
[data-theme="light"] {
  --paper: #f3f8f5;
  --surface: #ffffff;
  --surface-2: #e8f1ec;
  --line: #dce8e1;
  --line-strong: #a9c2b3;
  --ink: #12201a;
  --ink-muted: #55675c;
  --ink-faint: #627369;
  --jade: #2b7a50;
  --jade-deep: #145131;
  --jade-soft: #d4ecdf;
  --on-jade: #ffffff;
  --amber: #c47f17;
  --on-amber: #1a1203;
  --grad-amber: linear-gradient(180deg, #dc9a33 0%, #c47f17 52%, #a9661a 100%);
  --danger: #b8352a;
  --focus: var(--jade);
  --ridge-0: #f3f8f5;
  --ridge-1: #d4ecdf;
  --ridge-2: #a5d7bb;
  --ridge-3: #69b38a;
  --ridge-4: #2e7c52;
  --ridge-5: #145131;
  --ridge-6: #0a2d1a;
  --shadow-lift: 0 24px 48px -24px #12201a33;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --radius-xs: 3px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --dur-fast: 300ms;
  --dur-base: 600ms;
  --dur-reveal: 1000ms;
  --dur-develop: 1800ms;
  --ease-settle: cubic-bezier(.2,.7,.1,1);
  --font-sans: "Geist", "Instrument Sans", "Helvetica Neue", Arial, system-ui, sans-serif;
  --font-serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --font-mono: "Geist Mono", "JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;
}
.display { font-family: var(--font-sans); font-size: 72px; line-height: 72px; font-weight: 600; letter-spacing: -0.035em; }
.h1 { font-family: var(--font-sans); font-size: 56px; line-height: 60px; font-weight: 600; letter-spacing: -0.03em; }
.h2 { font-family: var(--font-sans); font-size: 40px; line-height: 44px; font-weight: 600; letter-spacing: -0.025em; }
.h3 { font-family: var(--font-sans); font-size: 20px; line-height: 28px; font-weight: 600; letter-spacing: -0.01em; }
.accent { font-family: var(--font-serif); font-size: 72px; line-height: 72px; 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: 15px; line-height: 24px; font-weight: 400; }
.small { font-family: var(--font-sans); font-size: 13px; line-height: 20px; font-weight: 400; }
.label { font-family: var(--font-mono); font-size: 11px; line-height: 16px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; }
.data { font-family: var(--font-mono); font-size: 13px; line-height: 20px; font-weight: 500; }
.metric { font-family: var(--font-mono); font-size: 40px; line-height: 44px; font-weight: 500; letter-spacing: -0.02em; }
