/* 유키오 — generated from tokens.json */
:root, [data-theme="night"] {
  --ground: #2b3647;
  --surface: #344052;
  --fog: #3d4a5e;
  --ink: #eef2f7;
  --ink-muted: #9aa4b2;
  --ink-faint: #6b7482;
  --light: #ffffff;
  --line: rgba(226,233,242,0.22);
  --line-strong: rgba(226,233,242,0.6);
  --ring: #cfe6f5;
  --focus: #eef2f7;
  --alert: #ffb547;
  --alert-fill: #ffb547;
  --on-alert: #1a1206;
  --alert-ground: #1c150b;
  --lamp-red: #ff6b5e;
  --yukio-shell: #f4f6f9;
  --yukio-visor: #0a0d2b;
  --yukio-eye: #f5e79a;
  --yukio-eye-hi: #fff7cc;
  --yukio-blush: #f6cfe4;
  --yukio-blush-line: #d98db4;
  --yukio-sweat: #bfe6ff;
  --glow-light: 0 0 32px rgba(238,242,247,0.28);
  --glow-alert: 0 0 40px rgba(255,181,71,0.35);
}
[data-theme="day"] {
  --ground: #e9f0f7;
  --surface: #ffffff;
  --fog: #d6e3f0;
  --ink: #0e1a33;
  --ink-muted: #4a5870;
  --ink-faint: #7d8aa0;
  --light: #ffffff;
  --line: rgba(14,26,51,0.16);
  --line-strong: rgba(14,26,51,0.5);
  --ring: #2b5fa8;
  --focus: #0e1a33;
  --alert: #8a4a00;
  --alert-fill: #ffb547;
  --on-alert: #2a1700;
  --alert-ground: #fbf0dc;
  --lamp-red: #c0281b;
  --yukio-shell: #f4f6f9;
  --yukio-visor: #0a0d2b;
  --yukio-eye: #f5e79a;
  --yukio-eye-hi: #fff7cc;
  --yukio-blush: #f6cfe4;
  --yukio-blush-line: #d98db4;
  --yukio-sweat: #bfe6ff;
  --glow-light: 0 0 0 rgba(0,0,0,0);
  --glow-alert: 0 0 0 rgba(0,0,0,0);
}
: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-0: 0px;
  --radius-1: 2px;
  --radius-pill: 999px;
  --dur-attach: 320ms;
  --dur-draw: 480ms;
  --dur-tick: 600ms;
  --dur-boil: 500ms;
  --dur-listen: 1600ms;
  --dur-breathe: 4200ms;
  --dur-think: 6000ms;
  --dur-trace: 7000ms;
  --dur-drift: 90000ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-weight: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-step: steps(4, end);
  --font-sans: "IBM Plex Sans KR", "Apple SD Gothic Neo", sans-serif;
  --font-mono: "IBM Plex Mono", "IBM Plex Sans KR", ui-monospace, monospace;
}
.speech-lg { font-family: var(--font-sans); font-size: 34px; line-height: 46px; font-weight: 500; letter-spacing: -0.01em; }
.speech { font-family: var(--font-sans); font-size: 28px; line-height: 40px; font-weight: 400; }
.heard { font-family: var(--font-sans); font-size: 24px; line-height: 34px; font-weight: 400; }
.button { font-family: var(--font-sans); font-size: 26px; line-height: 32px; font-weight: 600; }
.readout-xl { font-family: var(--font-mono); font-size: 72px; line-height: 72px; font-weight: 500; letter-spacing: -0.02em; }
.readout { font-family: var(--font-mono); font-size: 44px; line-height: 48px; font-weight: 500; letter-spacing: -0.01em; }
.label { font-family: var(--font-mono); font-size: 22px; line-height: 28px; font-weight: 500; letter-spacing: 0.06em; }
.unit { font-family: var(--font-mono); font-size: 22px; line-height: 28px; font-weight: 400; }
.tick { font-family: var(--font-mono); font-size: 18px; line-height: 20px; font-weight: 400; letter-spacing: 0.04em; }
