/* Noetion — generated from tokens.json */
:root, [data-theme="day"] {
  --night: #0a0f1c;
  --night-raised: #111827;
  --lake: #1f2a3d;
  --starlight: #f1f5f9;
  --starlight-muted: #94a3b8;
  --mist: #f6f8fb;
  --paper: #ffffff;
  --ink-muted: #526071;
  --rule: #e4e9f0;
  --horizon: #2dd4bf;
  --horizon-deep: #0f766e;
  --glacier: #7dd3fc;
  --success: #1f7a58;
  --danger: #b4372f;
  --surface: var(--mist);
  --surface-raised: var(--paper);
  --text: var(--night);
  --text-muted: var(--ink-muted);
  --border: var(--rule);
  --border-strong: #94a3b8;
  --accent-text: var(--horizon-deep);
  --action: var(--horizon);
  --action-hover: #5eead4;
  --on-action: var(--night);
  --focus-ring: var(--horizon-deep);
  --shadow-mock: 0 40px 80px -32px rgba(13, 19, 34, 0.45), 0 0 0 1px rgba(13, 19, 34, 0.06);
  --shadow-glow: 0 0 20px 2px rgba(45, 212, 191, 0.35);
}
[data-theme="night"] {
  --surface: var(--night);
  --surface-raised: var(--night-raised);
  --text: var(--starlight);
  --text-muted: var(--starlight-muted);
  --border: var(--lake);
  --border-strong: #475569;
  --accent-text: var(--horizon);
  --action: var(--horizon);
  --on-action: var(--night);
  --focus-ring: var(--horizon);
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  --container: 1200px;
  --measure: 38rem;
  --gutter-mobile: 20px;
  --gutter-tablet: 32px;
  --gutter-desktop: 48px;
  --font-display: Geist, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-text: Geist, system-ui, -apple-system, "Segoe UI", sans-serif;
}
.display-xl { font-family: var(--font-display); font-size: 88px; line-height: 1.02; font-weight: 500; letter-spacing: -0.035em; }
.display-l { font-family: var(--font-display); font-size: 60px; line-height: 1.08; font-weight: 400; letter-spacing: -0.015em; }
.display-m { font-family: var(--font-display); font-size: 40px; line-height: 1.15; font-weight: 400; letter-spacing: -0.01em; }
.term { font-family: var(--font-display); font-size: 24px; line-height: 1.25; font-weight: 500; }
.body-l { font-family: var(--font-text); font-size: 19px; line-height: 1.6; font-weight: 400; }
.body { font-family: var(--font-text); font-size: 16px; line-height: 1.6; font-weight: 400; }
.small { font-family: var(--font-text); font-size: 14px; line-height: 1.5; font-weight: 400; }
.label { font-family: var(--font-text); font-size: 15px; line-height: 1.3; font-weight: 600; letter-spacing: 0.005em; }
