/* Semantic design tokens: change these values, not individual components. */
:root {
  --font-family: 'Pretendard Variable', 'Pretendard', 'Malgun Gothic', sans-serif;
  --font-page: 28px;
  --font-section: 20px;
  --font-body: 16px;
  --font-control: 15px;
  --font-secondary: 14px;
  --font-label: 12px;
  --font-dialog: 20px;
  --font-brand: 24px;
  --font-metric: 32px;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-brand: 730;
  --weight-page: 600;
  --weight-section: 500;
  --weight-course: 500;
  --line-heading: 1.4;
  --line-body: 1.55;
  --color-bg: #f6f6f4;
  --color-surface: #ffffff;
  --color-subtle: #eff1ef;
  --color-hover: #e8ecef;
  --color-text: #252728;
  --color-secondary: #50565d;
  --color-muted: #626a73;
  --color-border: #dde1de;
  --color-border-strong: #a9b4bd;
  --color-accent: #426b91;
  --color-accent-hover: #315472;
  --color-accent-soft: #eaf0f5;
  --color-on-accent: #ffffff;
  --color-success: #2468aa;
  --color-success-soft: #edf3f9;
  --color-excel: #1b6947;
  --color-excel-soft: #eaf4ee;
  --color-danger: #b42318;
  --color-danger-soft: #fbeeed;
  --color-warning: #825900;
  --color-warning-soft: #faf2df;
  --color-disabled: #e0e3e5;
  --color-disabled-text: #677079;
  --color-overlay: #25272866;
  --color-tooltip: #252728;
  --color-tooltip-text: #ffffff;
  --color-focus: #426b9140;
  --shadow-card: 0 2px 8px #202b3405;
  --shadow-popover: 0 12px 36px #202b3420;
  --content-width: 1200px;
  --space-page: 40px;
  --space-card: 25px;
  --space-upload: 15px;
  --space-gap: 12px;
  --control-height: 44px;
  --radius-panel: 18px;
  --radius-card: 14px;
  --radius-control: 10px;
  --color-login-surface: #ffffffed;
  --shadow-login: 0 12px 48px #202b3412;
  --color-login-accent: var(--color-accent);
  --color-login-accent-hover: var(--color-accent-hover);
  --color-login-on-accent: var(--color-on-accent);
  --color-login-wave: var(--color-accent);
  --color-login-crest: #a3c1da;
  --color-login-glow: var(--color-accent-soft);
  color-scheme: light;
}
@media (max-width: 600px) {
  :root {
    --font-page: 24px;
    --font-section: 18px;
    --font-control: 14px;
    --font-metric: 28px;
    --weight-page: 700;
    --weight-section: 600;
    --weight-course: 600;
    --space-page: 16px;
    --space-card: 20px;
    --space-upload: 16px;
    --line-heading: 1.35;
  }
}
:root[data-theme='dark'] {
  --color-bg: #191b1e;
  --color-surface: #24272b;
  --color-subtle: #2c3035;
  --color-hover: #343a41;
  --color-text: #eef0f2;
  --color-secondary: #d0d5dc;
  --color-muted: #adb5bf;
  --color-border: #3e444b;
  --color-border-strong: #6d7a88;
  --color-accent: #9ebfdd;
  --color-accent-hover: #bed5e9;
  --color-accent-soft: #2c3c4b;
  --color-on-accent: #172431;
  --color-success: #8cbeef;
  --color-success-soft: #253c52;
  --color-excel: #a1d9b5;
  --color-excel-soft: #243b2d;
  --color-danger: #ffaba2;
  --color-danger-soft: #432d2d;
  --color-warning: #ebc779;
  --color-warning-soft: #403929;
  --color-disabled: #343940;
  --color-disabled-text: #a0a8b3;
  --color-overlay: #00000080;
  --color-tooltip: #e7ebf0;
  --color-tooltip-text: #20252c;
  --color-focus: #9ebfdd50;
  --shadow-card: none;
  --color-login-surface: #24272bf2;
  --shadow-login: 0 12px 48px #00000020;
  --color-login-accent: #ac470d;
  --color-login-accent-hover: #913908;
  --color-login-on-accent: #ffffff;
  --color-login-wave: #8c350b;
  --color-login-crest: #d4651c;
  --color-login-glow: #35261e;
  --shadow-popover: 0 12px 36px #00000050;
  color-scheme: dark;
}
