/* j18-srs-flashcards（記憶卡引擎）｜年齡層：junior（墨藍強調）。
   對應：--bg→--tp-bg、--bg-elev→--tp-surface、--ink→--tp-text、--ink-soft→--tp-text-soft、
   --muted→--tp-text-soft、--line→--tp-line、--primary→--tp-accent、--primary-2→--tp-accent-strong、
   --on-primary→--tp-accent-on、--accent→--tp-accent-strong、--sage→--tp-success、--gold→--tp-warning、
   --danger→--tp-error（各含 soft 階）、--radius→--tp-radius-card、--radius-sm→--tp-radius-ctl、
   --shadow→--tp-shadow-2、--shadow-sm→--tp-shadow-1、--font→--tp-font-sans、--heat-*→墨藍熱度階。 */
html[data-tp-theme="v2"]:root {
  --bg: var(--tp-bg);
  --bg-elev: var(--tp-surface);
  --ink: var(--tp-text);
  --ink-soft: var(--tp-text-soft);
  --muted: var(--tp-text-soft);
  --line: var(--tp-line);
  --primary: var(--tp-accent);
  --primary-2: var(--tp-accent-strong);
  --on-primary: var(--tp-accent-on);
  --accent: var(--tp-accent-strong);
  --accent-soft: var(--tp-accent-soft);
  --sage: var(--tp-success);
  --sage-soft: var(--tp-success-soft);
  --gold: var(--tp-warning);
  --gold-soft: var(--tp-warning-soft);
  --danger: var(--tp-error);
  --danger-soft: var(--tp-error-soft);
  --radius: var(--tp-radius-card);
  --radius-sm: var(--tp-radius-ctl);
  --shadow: var(--tp-shadow-2);
  --shadow-sm: var(--tp-shadow-1);
  --font: var(--tp-font-sans);
  --heat-0: var(--tp-line);
  --heat-1: var(--tp-accent-soft);
  --heat-2: var(--tp-blue-night);
  --heat-3: var(--tp-info);
  --heat-4: var(--tp-accent-strong);
}
/* 焦點環跟 accent（原本吃 --gold） */
html[data-tp-theme="v2"] :focus-visible {
  outline-color: var(--tp-accent);
}
/* 實心按鈕字色統一 accent-on（原寫死米白） */
html[data-tp-theme="v2"] .btn-accent,
html[data-tp-theme="v2"] .btn-sage {
  color: var(--tp-accent-on);
}
/* 到期膠囊：警告淺底配警告色字 */
html[data-tp-theme="v2"] .due-pill {
  color: var(--tp-warning);
}
/* 寫死 #fff 的輸入面改吃 surface */
html[data-tp-theme="v2"] input[type="text"],
html[data-tp-theme="v2"] input[type="number"],
html[data-tp-theme="v2"] input[type="search"],
html[data-tp-theme="v2"] select,
html[data-tp-theme="v2"] textarea {
  background: var(--tp-surface);
}
/* 回饋框文字改語意色（原寫死深綠／深紅／深金） */
html[data-tp-theme="v2"] .feedback.ok {
  color: var(--tp-success);
}
html[data-tp-theme="v2"] .feedback.bad {
  color: var(--tp-error);
}
html[data-tp-theme="v2"] .feedback.hint {
  color: var(--tp-warning);
}
/* toast 固定墨底米字，避免深色下變淺底淺字 */
html[data-tp-theme="v2"] .toast {
  background: var(--tp-ink);
  color: var(--tp-paper);
}
/* 牌組科目圓點對回七科目識別色 */
html[data-tp-theme="v2"] .dot-en {
  background: var(--tp-subject-en);
}
html[data-tp-theme="v2"] .dot-sci {
  background: var(--tp-subject-sci);
}
html[data-tp-theme="v2"] .dot-his {
  background: var(--tp-subject-soc);
}
html[data-tp-theme="v2"] .dot-zh {
  background: var(--tp-subject-zh);
}
html[data-tp-theme="v2"] .dot-math {
  background: var(--tp-subject-math);
}
html[data-tp-theme="v2"] .dot-custom {
  background: var(--tp-text-soft);
}
