/* Chill design tokens — generated from tokens.json. Themes: frost, night (default: frost).
   Switch theme with <html data-theme="night">. */
:root, [data-theme="frost"] {
  --page: #edf4f6;
  --page-crystal: #d2e3e9;
  --panel: #ffffff;
  --panel-sunk: #e4edf0;
  --line: #d4e1e6;
  --line-strong: #6f8a96;
  --ink: #0e2a35;
  --ink-soft: #47636e;
  --ice: #0b6f8e;
  --on-ice: #ffffff;
  --ice-tint: #d8eff5;
  --heat: #f2672f;
  --on-heat: #2a1005;
  --fresh: #147a55;
  --danger: #b4382a;
  --display: #0f2630;
  --led: #7fe6f2;
  --focus: #0b6f8e;
  --shadow-rest: 0 1px 2px rgba(14,42,53,0.06), 0 2px 8px rgba(14,42,53,0.05);
  --shadow-raise: 0 2px 4px rgba(14,42,53,0.06), 0 14px 28px -8px rgba(14,42,53,0.20);
  --shadow-float: 0 4px 12px rgba(14,42,53,0.08), 0 28px 56px -14px rgba(14,42,53,0.32);
  --shadow-key: 0 4px 0 #c4d4db, 0 6px 14px rgba(14,42,53,0.12);
  --shadow-key-press: 0 1px 0 #c4d4db, 0 1px 3px rgba(14,42,53,0.12);
  --shadow-well: inset 0 2px 4px rgba(14,42,53,0.10);
  color-scheme: light;
}
[data-theme="night"] {
  --page: #09161c;
  --page-crystal: #14282f;
  --panel: #0f2129;
  --panel-sunk: #0a1a20;
  --line: #1d3640;
  --line-strong: #4f7382;
  --ink: #e3f1f4;
  --ink-soft: #97b3bd;
  --ice: #4ec2db;
  --on-ice: #03202a;
  --ice-tint: #12394a;
  --heat: #ff8a57;
  --on-heat: #2a1005;
  --fresh: #5fd3a0;
  --danger: #ff8f80;
  --display: #040c10;
  --led: #7fe6f2;
  --focus: #7fe6f2;
  --shadow-rest: 0 1px 2px rgba(0,0,0,0.4), 0 2px 8px rgba(0,0,0,0.25);
  --shadow-raise: 0 2px 4px rgba(0,0,0,0.4), 0 16px 30px -8px rgba(0,0,0,0.55);
  --shadow-float: 0 4px 12px rgba(0,0,0,0.45), 0 30px 60px -14px rgba(0,0,0,0.7);
  --shadow-key: 0 4px 0 #04090c, 0 6px 14px rgba(0,0,0,0.45);
  --shadow-key-press: 0 1px 0 #04090c, 0 1px 3px rgba(0,0,0,0.45);
  --shadow-well: inset 0 2px 5px rgba(0,0,0,0.5);
  color-scheme: dark;
}
: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;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 24px;
  --radius-full: 9999px;
  --dur-press: 90ms;
  --dur-release: 260ms;
  --dur-hover: 180ms;
  --dur-louvre: 460ms;
  --dur-frost: 700ms;
  --dur-drift: 9s;
  --ease-key: cubic-bezier(0.3, 0, 0.5, 1);
  --ease-spring: cubic-bezier(0.2, 1.45, 0.4, 1);
  --ease-glide: cubic-bezier(0.22, 0.8, 0.24, 1);
  --ease-louvre: cubic-bezier(0.6, 0, 0.2, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --ease-air: linear;
  --font-display: "Comfortaa", "Varela Round", ui-rounded, system-ui, sans-serif;
  --font-body: "Onest", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --type-display-family: var(--font-display);
  --type-display-size: 56px;
  --type-display-line: 60px;
  --type-display-weight: 700;
  --type-display-tracking: -0.02em;
  --type-title-family: var(--font-display);
  --type-title-size: 34px;
  --type-title-line: 40px;
  --type-title-weight: 700;
  --type-title-tracking: -0.01em;
  --type-heading-family: var(--font-body);
  --type-heading-size: 20px;
  --type-heading-line: 28px;
  --type-heading-weight: 600;
  --type-heading-tracking: -0.005em;
  --type-body-family: var(--font-body);
  --type-body-size: 16px;
  --type-body-line: 24px;
  --type-body-weight: 400;
  --type-small-family: var(--font-body);
  --type-small-size: 14px;
  --type-small-line: 20px;
  --type-small-weight: 400;
  --type-label-family: var(--font-body);
  --type-label-size: 12px;
  --type-label-line: 16px;
  --type-label-weight: 600;
  --type-label-tracking: 0.08em;
  --type-figure-family: var(--font-body);
  --type-figure-size: 28px;
  --type-figure-line: 32px;
  --type-figure-weight: 600;
  --type-figure-tracking: -0.01em;
}
/* Type styles as utility classes (optional) */
.type-display { font-family: var(--type-display-family); font-size: var(--type-display-size); line-height: var(--type-display-line); font-weight: var(--type-display-weight); letter-spacing: var(--type-display-tracking); }
.type-title { font-family: var(--type-title-family); font-size: var(--type-title-size); line-height: var(--type-title-line); font-weight: var(--type-title-weight); letter-spacing: var(--type-title-tracking); }
.type-heading { font-family: var(--type-heading-family); font-size: var(--type-heading-size); line-height: var(--type-heading-line); font-weight: var(--type-heading-weight); letter-spacing: var(--type-heading-tracking); }
.type-body { font-family: var(--type-body-family); font-size: var(--type-body-size); line-height: var(--type-body-line); font-weight: var(--type-body-weight); }
.type-small { font-family: var(--type-small-family); font-size: var(--type-small-size); line-height: var(--type-small-line); font-weight: var(--type-small-weight); }
.type-label { font-family: var(--type-label-family); font-size: var(--type-label-size); line-height: var(--type-label-line); font-weight: var(--type-label-weight); letter-spacing: var(--type-label-tracking); }
.type-figure { font-family: var(--type-figure-family); font-size: var(--type-figure-size); line-height: var(--type-figure-line); font-weight: var(--type-figure-weight); letter-spacing: var(--type-figure-tracking); }
