:root {
  color-scheme: dark;
  --font-ui: Inter, "Segoe UI", "Noto Sans KR", Arial, sans-serif;
  --vt-bg: #101316;
  --vt-app-bg: #101316;
  --vt-surface: #171b20;
  --vt-surface-2: #1e242b;
  --vt-surface-3: #242c34;
  --vt-panel: #1e242b;
  --vt-card: #242c34;
  --vt-border: #2d3540;
  --vt-border-strong: #3f4a56;
  --vt-text: #edf2f7;
  --vt-text-strong: #ffffff;
  --vt-muted: #a8b3bf;
  --vt-muted-2: #7f8b99;
  --vt-accent: #5ec2a6;
  --vt-accent-strong: #73ddbd;
  --vt-on-accent: #09221b;
  --vt-warning: #f3bd63;
  --vt-warning-bg: rgba(243, 189, 99, 0.09);
  --vt-warning-text: #ffe1ad;
  --vt-danger: #ef7f83;
  --vt-danger-bg: rgba(239, 127, 131, 0.1);
  --vt-danger-text: #ffd9db;
  --vt-safe: #6fd28f;
  --vt-safe-bg: rgba(111, 210, 143, 0.08);
  --vt-safe-text: #c7f2d5;
  --vt-info: #77a7ff;
  --vt-info-bg: rgba(119, 167, 255, 0.12);
  --vt-info-text: #cfe0ff;
  --vt-button-bg: var(--vt-panel);
  --vt-button-text: var(--vt-text);
  --vt-button-border: var(--vt-border-strong);
  --vt-input-bg: #11161b;
  --vt-input-text: var(--vt-text);
  --vt-input-border: var(--vt-border-strong);
  --vt-disabled-bg: rgba(127, 139, 153, 0.16);
  --vt-disabled-text: var(--vt-muted-2);
  --vt-status-font-size: 11px;
  --bg-app: var(--vt-app-bg);
  --bg-appbar: #12161a;
  --bg-nav: #14191e;
  --bg-status: #0d1013;
  --bg-graph: #0f1419;
  --bg-guest-ad: rgba(243, 189, 99, 0.12);
  --bg-elevated: var(--vt-surface);
  --bg-panel: var(--vt-panel);
  --bg-panel-soft: var(--vt-card);
  --bg-input: var(--vt-input-bg);
  --line-quiet: var(--vt-border);
  --line-strong: var(--vt-border-strong);
  --text-main: var(--vt-text);
  --text-danger-contrast: var(--vt-danger-text);
  --text-warning-contrast: var(--vt-warning-text);
  --text-muted: var(--vt-muted);
  --text-faint: var(--vt-muted-2);
  --accent: var(--vt-accent);
  --accent-strong: var(--vt-accent-strong);
  --accent-ink: var(--vt-on-accent);
  --warning: var(--vt-warning);
  --danger: var(--vt-danger);
  --info: var(--vt-info);
  --ok: var(--vt-safe);
  --graph-volume: #77a7ff;
  --graph-pitch: #f3bd63;
  --graph-target: #5ec2a6;
  --shadow-soft: 0 16px 40px rgba(0, 0, 0, 0.22);
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --appbar-h: 64px;
  --toolbar-h: 48px;
  --statusbar-h: 30px;
  --nav-w: 212px;
  --coach-w: 312px;
  --mobile-tabs-h: 62px;
  --focus-ring: 0 0 0 3px rgba(94, 194, 166, 0.32);
  --transition-fast: 150ms ease;
  --vt-controlbar-h: 44px;
  --vt-mobile-dock-h: 64px;
  --vt-sessionbar-h: 34px;
  --vt-safe-bottom: env(safe-area-inset-bottom, 0px);
  --vt-density: 1;
  --vt-panel-pad: var(--space-4);
  --vt-card-gap: var(--space-4);
}

[data-theme="day"] {
  color-scheme: light;
  --vt-bg: #f6f8fb;
  --vt-app-bg: #f6f8fb;
  --vt-surface: #ffffff;
  --vt-surface-2: #ffffff;
  --vt-surface-3: #edf2f7;
  --vt-panel: #ffffff;
  --vt-card: #edf2f7;
  --vt-border: #d7e0ea;
  --vt-border-strong: #a8b6c6;
  --vt-text: #17202a;
  --vt-text-strong: #0f1720;
  --vt-muted: #526273;
  --vt-muted-2: #667789;
  --vt-accent: #258c74;
  --vt-accent-strong: #13715d;
  --vt-on-accent: #ffffff;
  --vt-warning: #8a580f;
  --vt-warning-bg: #fff3d2;
  --vt-warning-text: #5f4109;
  --vt-danger: #b43745;
  --vt-danger-bg: #ffe8ea;
  --vt-danger-text: #82212d;
  --vt-safe: #257a48;
  --vt-safe-bg: #e5f7eb;
  --vt-safe-text: #1f6c3e;
  --vt-info: #285fc0;
  --vt-info-bg: #e8f0ff;
  --vt-info-text: #244f9c;
  --vt-button-bg: #ffffff;
  --vt-button-text: #17202a;
  --vt-button-border: #a8b6c6;
  --vt-input-bg: #f3f6fa;
  --vt-input-text: #17202a;
  --vt-input-border: #9aa9ba;
  --vt-disabled-bg: #e7edf4;
  --vt-disabled-text: #6c7a88;
  --bg-app: var(--vt-app-bg);
  --bg-appbar: var(--vt-surface);
  --bg-nav: var(--vt-surface);
  --bg-status: var(--vt-surface);
  --bg-graph: var(--vt-surface);
  --bg-guest-ad: #fff6de;
  --bg-elevated: var(--vt-surface);
  --bg-panel: var(--vt-panel);
  --bg-panel-soft: var(--vt-card);
  --bg-input: var(--vt-input-bg);
  --line-quiet: var(--vt-border);
  --line-strong: var(--vt-border-strong);
  --text-main: var(--vt-text);
  --text-danger-contrast: var(--vt-danger-text);
  --text-warning-contrast: var(--vt-warning-text);
  --text-muted: var(--vt-muted);
  --text-faint: var(--vt-muted-2);
  --accent: var(--vt-accent);
  --accent-strong: var(--vt-accent-strong);
  --accent-ink: var(--vt-on-accent);
  --warning: var(--vt-warning);
  --danger: var(--vt-danger);
  --info: var(--vt-info);
  --ok: var(--vt-safe);
  --shadow-soft: 0 16px 36px rgba(31, 45, 61, 0.13);
}

[data-theme="night"] {
  color-scheme: dark;
}
