/* The Lair Design System — generated from tokens.json */
:root, [data-theme="dark"] {
  --warm-1000: #111010;
  --warm-975: #141312;
  --warm-950: #1a1917;
  --warm-925: #1f1e1c;
  --warm-900: #232220;
  --warm-850: #2a2926;
  --warm-100: #f7f6f4;
  --warm-75: #fbfaf9;
  --warm-50: #fefdfc;
  --warm-150: #f0efec;
  --warm-200: #e7e5e1;
  --warm-250: #dcdad5;
  --accent-ember: #e8763c;
  --accent-vault: #d9a441;
  --accent-stream: #e0603c;
  --accent-gate: #4c9ae8;
  --accent-forge: #4fb477;
  --accent-watch: #b57fd9;
  --green-500: #4fb477;
  --amber-500: #d9a441;
  --red-500: #e05563;
  --blue-500: #4c9ae8;
  --accent-ember-light: #c15017;
  --accent-vault-light: #966c1e;
  --accent-stream-light: #c94520;
  --accent-gate-light: #1a74cd;
  --accent-forge-light: #378054;
  --accent-watch-light: #9a50cb;
  --green-600: #378054;
  --amber-600: #966c1e;
  --red-600: #d92e3f;
  --blue-600: #1a74cd;
  --surface-sunken: var(--warm-975);
  --surface-canvas: var(--warm-950);
  --surface-card: var(--warm-950);
  --surface-raised: var(--warm-925);
  --surface-overlay: var(--warm-900);
  --surface-hover: rgba(255,255,255,.045);
  --surface-active: rgba(255,255,255,.08);
  --surface-scrim: rgba(10,10,10,.62);
  --border-subtle: rgba(255,255,255,.06);
  --border-default: rgba(255,255,255,.10);
  --border-strong: rgba(255,255,255,.16);
  --text-primary: rgba(255,255,255,.90);
  --text-secondary: rgba(255,255,255,.55);
  --text-disabled: rgba(255,255,255,.35);
  --text-on-accent: #171614;
  --text-on-error: #fefdfc;
  --accent: var(--accent-ember);
  --status-ok: var(--green-500);
  --status-warn: var(--amber-500);
  --status-error: var(--red-500);
  --status-info: var(--blue-500);
  --status-idle: rgba(255,255,255,.35);
  --shadow-none: none;
  --shadow-popover: 0 .25rem .75rem rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.24);
  --shadow-modal: 0 1rem 3rem rgba(0,0,0,.42),0 .125rem .375rem rgba(0,0,0,.28);
  --shadow-sheet: 0 -.5rem 2rem rgba(0,0,0,.36);
}
[data-theme="light"] {
  --accent-ember: var(--accent-ember-light);
  --accent-vault: var(--accent-vault-light);
  --accent-stream: var(--accent-stream-light);
  --accent-gate: var(--accent-gate-light);
  --accent-forge: var(--accent-forge-light);
  --accent-watch: var(--accent-watch-light);
  --surface-sunken: var(--warm-150);
  --surface-canvas: var(--warm-75);
  --surface-card: var(--warm-50);
  --surface-raised: var(--warm-50);
  --surface-overlay: var(--warm-50);
  --surface-hover: rgba(0,0,0,.035);
  --surface-active: rgba(0,0,0,.06);
  --surface-scrim: rgba(20,19,18,.35);
  --border-subtle: rgba(0,0,0,.06);
  --border-default: rgba(0,0,0,.10);
  --border-strong: rgba(0,0,0,.16);
  --text-primary: rgba(23,22,20,.92);
  --text-secondary: rgba(23,22,20,.58);
  --text-disabled: rgba(23,22,20,.36);
  --text-on-accent: #fefdfc;
  --accent: var(--accent-ember);
  --status-ok: var(--green-600);
  --status-warn: var(--amber-600);
  --status-error: var(--red-600);
  --status-info: var(--blue-600);
  --status-idle: rgba(23,22,20,.36);
}
:root {
  --space-0: 0;
  --space-05: 0.125rem;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --pad-card: 1rem;
  --pad-section: 1.5rem;
  --gap-inline: 0.5rem;
  --gap-stack: 0.75rem;
  --gap-section: 1.5rem;
  --radius-xs: 0.25rem;
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-full: 999px;
  --text-2xs: 0.6875rem;
  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-md: 0.875rem;
  --text-lg: 1rem;
  --text-xl: 1.125rem;
  --text-2xl: 1.375rem;
  --text-3xl: 1.75rem;
  --text-4xl: 2.125rem;
  --text-5xl: 2.75rem;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --leading-tight: 1.2;
  --leading-snug: 1.35;
  --leading-normal: 1.5;
  --leading-relaxed: 1.6;
  --tracking-tight: -0.011em;
  --tracking-normal: 0;
  --tracking-wide: 0.06em;
  --tracking-display: -0.025em;
  --control-h-sm: 1.625rem;
  --control-h-md: 2rem;
  --control-h-lg: 2.375rem;
  --hit-min: 2.75rem;
  --sidebar-w: 14.75rem;
  --topbar-h: 3rem;
  --tabbar-h: 3.5rem;
  --container-max: 73.75rem;
  --border-hairline: 1px;
  --blur-scrim: blur(2px);
  --font-sans: "Noto Sans","Helvetica Neue",system-ui,sans-serif;
  --font-mono: "JetBrains Mono",ui-monospace,"Menlo",monospace;
}
.type-display { font-family: var(--font-sans); font-size: 2.75rem; line-height: 1.1; font-weight: 700; }
.type-title { font-family: var(--font-sans); font-size: 1.125rem; line-height: 1.35; font-weight: 700; }
.type-section { font-family: var(--font-sans); font-size: 0.875rem; line-height: 1.35; font-weight: 600; }
.type-body { font-family: var(--font-sans); font-size: 0.875rem; line-height: 1.5; font-weight: 400; }
.type-body-strong { font-family: var(--font-sans); font-size: 0.875rem; line-height: 1.5; font-weight: 500; }
.type-label { font-family: var(--font-sans); font-size: 0.8125rem; line-height: 1.35; font-weight: 500; }
.type-caption { font-family: var(--font-sans); font-size: 0.75rem; line-height: 1.35; font-weight: 400; }
.type-overline { font-family: var(--font-sans); font-size: 0.6875rem; line-height: 1; font-weight: 600; }
.type-mono { font-family: var(--font-mono); font-size: 0.8125rem; line-height: 1.5; font-weight: 400; }
.type-value { font-family: var(--font-mono); font-size: 1.375rem; line-height: 1; font-weight: 500; }
