: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-soft: #1c2229;
  --vt-surface-raised: #202832;
  --vt-surface-2: #1e242b;
  --vt-surface-3: #242c34;
  --vt-panel: #1e242b;
  --vt-card: #242c34;
  --vt-border: #2d3540;
  --vt-border-strong: #3f4a56;
  --vt-border-soft: rgba(168, 179, 191, 0.16);
  --vt-text: #edf2f7;
  --vt-text-strong: #ffffff;
  --vt-muted: #a8b3bf;
  --vt-muted-2: #7f8b99;
  --vt-accent: #5ec2a6;
  --vt-accent-soft: rgba(94, 194, 166, 0.14);
  --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-success: var(--vt-safe);
  --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-soft: var(--vt-border-soft);
  --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-soft: var(--vt-accent-soft);
  --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;
  --vt-shadow-sm: 0 8px 20px rgba(0, 0, 0, 0.16);
  --vt-shadow-md: 0 16px 40px rgba(0, 0, 0, 0.22);
  --vt-shadow-lg: 0 24px 70px rgba(0, 0, 0, 0.32);
  --shadow-soft: var(--vt-shadow-md);
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --vt-radius-sm: var(--radius-sm);
  --vt-radius-md: var(--radius-md);
  --vt-radius-lg: var(--radius-lg);
  --vt-radius-xl: var(--radius-xl);
  --vt-space-1: var(--space-1);
  --vt-space-2: var(--space-2);
  --vt-space-3: var(--space-3);
  --vt-space-4: var(--space-4);
  --vt-space-5: var(--space-5);
  --vt-space-6: var(--space-6);
  --vt-font-sm: 11px;
  --vt-font-md: 13px;
  --vt-font-lg: 16px;
  --vt-font-xl: 20px;
  --vt-line-tight: 1.2;
  --vt-line-body: 1.45;
  --vt-control-min-h: 34px;
  --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);
  --vt-widget-min-sm: 112px;
  --vt-widget-min-md: 180px;
  --vt-widget-min-lg: 260px;
  --vt-widget-min-xl: 360px;
  --vt-widget-primary-min: 420px;
  --vt-widget-sidebar-min: 280px;
  --vt-widget-max-sm: 280px;
  --vt-widget-max-md: 420px;
  --vt-widget-max-lg: 720px;
  --vt-widget-max-xl: 980px;
  --vt-route-max-width: 1680px;
  --vt-readable-line: 72ch;
  --vt-density-compact-pad: 10px;
  --vt-density-regular-pad: 14px;
  --vt-density-expanded-pad: 18px;
  --vt-workstation-cyan: #66d9ef;
  --vt-workstation-blue: #7aa7ff;
  --vt-workstation-violet: #a98bff;
  --vt-workstation-magenta: #f28acb;
  --vt-workstation-amber: #f3bd63;
  --vt-workstation-rail: rgba(102, 217, 239, 0.28);
  --vt-workstation-glass: rgba(255, 255, 255, 0.055);
  --vt-workstation-grid: rgba(168, 179, 191, 0.08);
  --vt-workstation-glow: 0 24px 80px rgba(102, 217, 239, 0.13);
}

[data-theme="day"] {
  color-scheme: light;
  --vt-bg: #f6f8fb;
  --vt-app-bg: #f6f8fb;
  --vt-surface: #ffffff;
  --vt-surface-soft: #f6f8fb;
  --vt-surface-raised: #ffffff;
  --vt-surface-2: #ffffff;
  --vt-surface-3: #edf2f7;
  --vt-panel: #ffffff;
  --vt-card: #edf2f7;
  --vt-border: #d7e0ea;
  --vt-border-strong: #a8b6c6;
  --vt-border-soft: rgba(82, 98, 115, 0.18);
  --vt-text: #17202a;
  --vt-text-strong: #0f1720;
  --vt-muted: #526273;
  --vt-muted-2: #667789;
  --vt-accent: #258c74;
  --vt-accent-soft: rgba(37, 140, 116, 0.13);
  --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-success: var(--vt-safe);
  --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-soft: var(--vt-border-soft);
  --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-soft: var(--vt-accent-soft);
  --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);
  --vt-shadow-sm: 0 8px 20px rgba(31, 45, 61, 0.09);
  --vt-shadow-md: 0 16px 36px rgba(31, 45, 61, 0.13);
  --vt-shadow-lg: 0 24px 70px rgba(31, 45, 61, 0.18);
  --shadow-soft: var(--vt-shadow-md);
}

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

[data-theme="sepia"] {
  color-scheme: light;
  --vt-bg: #f4ead8;
  --vt-app-bg: #f4ead8;
  --vt-surface: #fff8ec;
  --vt-surface-soft: #fbf0df;
  --vt-surface-raised: #fffdf6;
  --vt-surface-2: #fbf0df;
  --vt-surface-3: #ead8bd;
  --vt-panel: #fff8ec;
  --vt-card: #f6ead7;
  --vt-border: #d8c1a3;
  --vt-border-strong: #af8f68;
  --vt-border-soft: rgba(109, 90, 68, 0.18);
  --vt-text: #33271b;
  --vt-text-strong: #20160d;
  --vt-muted: #6d5a44;
  --vt-muted-2: #856f55;
  --vt-accent: #6f8d62;
  --vt-accent-soft: rgba(111, 141, 98, 0.14);
  --vt-accent-strong: #58734d;
  --vt-on-accent: #fffdf6;
  --vt-warning: #9b6a1d;
  --vt-warning-bg: #fff1cf;
  --vt-warning-text: #69440e;
  --vt-danger: #a84b44;
  --vt-danger-bg: #ffe6df;
  --vt-danger-text: #7c302b;
  --vt-safe: #4f7a45;
  --vt-success: var(--vt-safe);
  --vt-safe-bg: #e7f1df;
  --vt-safe-text: #3f6837;
  --vt-info: #4f6f98;
  --vt-info-bg: #e5ecf6;
  --vt-info-text: #3e5f88;
  --vt-button-bg: #fff8ec;
  --vt-button-text: var(--vt-text);
  --vt-button-border: var(--vt-border-strong);
  --vt-input-bg: #f9eedc;
  --vt-input-text: var(--vt-text);
  --vt-input-border: var(--vt-border-strong);
  --vt-disabled-bg: #ead8bd;
  --vt-disabled-text: #90775b;
  --bg-app: var(--vt-app-bg);
  --bg-appbar: var(--vt-surface);
  --bg-nav: var(--vt-surface);
  --bg-status: #efe0c8;
  --bg-graph: #fff8ec;
  --bg-guest-ad: #fff1cf;
  --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-soft: var(--vt-border-soft);
  --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-soft: var(--vt-accent-soft);
  --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);
  --vt-shadow-sm: 0 8px 20px rgba(70, 48, 24, 0.09);
  --vt-shadow-md: 0 16px 36px rgba(70, 48, 24, 0.13);
  --vt-shadow-lg: 0 24px 70px rgba(70, 48, 24, 0.18);
  --shadow-soft: var(--vt-shadow-md);
}
