:root {
  /* Background */
  --bg-body: #0f0f1a;
  --bg-surface: #1a1a2e;
  --bg-surface-alt: #161625;
  --bg-inset: #12121f;
  --border: #2a2a4a;
  --border-subtle: #1e1e35;

  /* Text */
  --text-primary: #e0e0e0;
  --text-secondary: #888;
  --text-muted: #555;
  --text-white: #fff;

  /* Concept - Purple (brand, definitions, core concepts) */
  --concept: #8b5cf6;
  --concept-dark: #6d28d9;
  --concept-bg: #2d1b69;
  --concept-text: #c4b5fd;

  /* Formula - Blue (formulas, equations, calculations) */
  --formula: #3b82f6;
  --formula-bg: #1e3a5f;
  --formula-text: #93c5fd;

  /* Example - Green (examples, correct answers, success) */
  --example: #22c55e;
  --example-bg: #1a3a2a;
  --example-text: #86efac;

  /* Tip - Amber (exam points, tips, warnings) */
  --tip: #eab308;
  --tip-bg: #2a2a1a;
  --tip-text: #d4c87a;

  /* Error - Red (wrong answers, errors, bad examples) */
  --error: #ef4444;
  --error-bg: #3d1a1a;
  --error-text: #fca5a5;

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;

  /* Font */
  --font: 'Noto Sans KR', sans-serif;
}

/* ══════════════════════════════════════ */
/* ── Light Theme: 흰/검 + 보라 포인트 ── */
/* ══════════════════════════════════════ */
[data-theme="light"] {
  /* 배경: 깔끔한 흰색 계열 */
  --bg-body: #f7f7fa;
  --bg-surface: #ffffff;
  --bg-surface-alt: #fafafa;
  --bg-inset: #f0f0f4;
  --border: #e0e0e8;
  --border-subtle: #eaeaf0;

  /* 텍스트: 검은색 계열 */
  --text-primary: #111;
  --text-secondary: #666;
  --text-muted: #aaa;
  --text-white: #fff;

  /* 포인트 컬러: 보라만 유지 */
  --concept: #7c3aed;
  --concept-dark: #6d28d9;
  --concept-bg: #f5f3ff;
  --concept-text: #7c3aed;

  /* 나머지 역할 컬러: 모두 무채색 기반으로 통일 */
  --formula: #7c3aed;
  --formula-bg: #f5f3ff;
  --formula-text: #5b21b6;

  --example: #16a34a;
  --example-bg: #f0faf0;
  --example-text: #333;

  --tip: #7c3aed;
  --tip-bg: #f5f3ff;
  --tip-text: #333;

  --error: #dc2626;
  --error-bg: #fef2f2;
  --error-text: #333;
}

/* ── Light: 레이아웃 ── */
[data-theme="light"] .lecture-header h2 { color: #111; }
[data-theme="light"] .hero h1 { -webkit-text-fill-color: unset; background: none; color: var(--concept); }

/* ── Light: 카드/박스 — 전부 흰 배경 + 연한 테두리 ── */
[data-theme="light"] .concept-card { background: #fff; border-color: #e0e0e8; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
[data-theme="light"] .example-box { background: #fff; border-color: #d0d0d8; }
[data-theme="light"] .tip-box { background: #fff; border-color: var(--concept); }
[data-theme="light"] .analogy-box { background: #fff; border-color: #d0d0d8; }
[data-theme="light"] .formula-box { background: #faf9ff; border-color: var(--concept); }
[data-theme="light"] .summary-card { background: #fff; border-color: var(--concept); }
[data-theme="light"] .diagram-box { background: #fafafa; border-color: #e0e0e8; }

/* ── Light: 라벨 뱃지 — 보라 통일 ── */
[data-theme="light"] .example-box::before { background: #555; color: #fff; }
[data-theme="light"] .tip-box::before { background: var(--concept); color: #fff; }
[data-theme="light"] .analogy-box::before { background: #555; color: #fff; }

/* ── Light: 트리/플로우 — 흰 배경 + 연한 테두리 ── */
[data-theme="light"] .tree-root { background: var(--concept); color: #fff; }
[data-theme="light"] .tree-node { background: #fff !important; border: 1.5px solid #d0d0d8 !important; color: #333 !important; }
[data-theme="light"] .tree-leaf { background: #fff !important; border: 1px solid #d0d0d8 !important; color: #333 !important; }
[data-theme="light"] .flow-box { background: #fff !important; color: #333 !important; }
[data-theme="light"] .flow-blue,
[data-theme="light"] .flow-purple,
[data-theme="light"] .flow-green,
[data-theme="light"] .flow-orange,
[data-theme="light"] .flow-red,
[data-theme="light"] .flow-cyan { background: #fff !important; border-color: #d0d0d8 !important; color: #333 !important; }

/* ── Light: 테이블 ── */
[data-theme="light"] .compare-table th { background: #f5f3ff; color: #5b21b6; }
[data-theme="light"] .compare-table td { color: #333; }
[data-theme="light"] .compare-table tr:nth-child(even) td { background: #fafafa; }
[data-theme="light"] .compare-table tr:nth-child(odd) td { background: #fff; }

/* ── Light: 툴팁 ── */
[data-theme="light"] .tt { color: var(--concept); border-bottom-color: var(--concept); }
[data-theme="light"] .tt .ttp { box-shadow: 0 4px 16px rgba(0,0,0,0.1); border-color: var(--concept); }
[data-theme="light"] .tt .ttp strong { color: var(--concept); }

/* ── Light: 사이드바 ── */
[data-theme="light"] .sidebar { background: #fff; border-right-color: #e0e0e8; }
[data-theme="light"] .sidebar a:hover,
[data-theme="light"] .sidebar a.active { background: #f5f3ff; }
[data-theme="light"] .sidebar .lecture-label:hover { background: #f5f3ff; }
[data-theme="light"] .sb-back { background: #fafafa; border-color: #e0e0e8; }
[data-theme="light"] .sb-back:hover { background: #f5f3ff; border-color: var(--concept); }
[data-theme="light"] .sb-select { background-color: #fafafa; border-color: #e0e0e8; color: #333; }

/* ── Light: 퀴즈 ── */
[data-theme="light"] .quiz-card { box-shadow: 0 1px 3px rgba(0,0,0,0.04); }

/* ── Light: 스크롤바 ── */
[data-theme="light"] * { scrollbar-color: #ccc #f7f7fa; }
[data-theme="light"] *::-webkit-scrollbar-thumb { background: #ccc; }

/* ── Light: 기타 ── */
[data-theme="light"] .outlier-demo .result { color: #111; }
[data-theme="light"] .cv-card { background: #fff; }
[data-theme="light"] .dist-card { background: #fff; }
[data-theme="light"] .outlier-demo { background: #fafafa; }
[data-theme="light"] .fab-menu { background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,0.1); border-color: #e0e0e8; }
[data-theme="light"] .fab-menu a { color: #333; }
[data-theme="light"] .fab-menu a:hover { background: #f5f3ff; color: var(--concept); }
[data-theme="light"] .fab { box-shadow: 0 4px 12px rgba(124,58,237,0.2); }
[data-theme="light"] .update-banner { background: var(--concept); }
