/* j15-chem-balance（化學方程式平衡台）— junior 層 v2 風格覆寫
   基底：--ink→--tp-text、--ink-soft→--tp-text-soft、--paper→--tp-bg、--paper-2→--tp-bg-deep、--card→--tp-surface、--line→--tp-line
   主色：--primary→--tp-accent、--primary-deep→--tp-accent-strong、--primary-soft→--tp-accent-soft；--support（焦點）→--tp-accent
   語意：--good→--tp-success、--good-soft→--tp-success-soft、--bad→--tp-error、--bad-soft→--tp-error-soft、--star→--tp-warning
   提示：--accent（提示框、第二按鈕）→--tp-warning、--accent-soft→--tp-warning-soft；btn-accent 另行指回 accent
   形狀：--radius→--tp-radius-card、--radius-sm→--tp-radius-ctl、--shadow→--tp-shadow-2、--shadow-soft→--tp-shadow-1、--font→--tp-font-sans */
html[data-tp-theme="v2"]:root {
  --ink: var(--tp-text); --ink-soft: var(--tp-text-soft);
  --paper: var(--tp-bg); --paper-2: var(--tp-bg-deep); --card: var(--tp-surface); --line: var(--tp-line);
  --primary: var(--tp-accent); --primary-deep: var(--tp-accent-strong); --primary-soft: var(--tp-accent-soft);
  --accent: var(--tp-warning); --accent-soft: var(--tp-warning-soft);
  --support: var(--tp-accent); --support-soft: var(--tp-accent-soft);
  --good: var(--tp-success); --good-soft: var(--tp-success-soft);
  --bad: var(--tp-error); --bad-soft: var(--tp-error-soft);
  --star: var(--tp-warning);
  --radius: var(--tp-radius-card); --radius-sm: var(--tp-radius-ctl);
  --shadow: var(--tp-shadow-2); --shadow-soft: var(--tp-shadow-1);
  --font: var(--tp-font-sans);
}
html[data-tp-theme="v2"] body { background: var(--tp-bg); color: var(--tp-text); border-top-color: var(--tp-accent); }
html[data-tp-theme="v2"] h1,
html[data-tp-theme="v2"] h2 { font-family: var(--tp-font-serif); }
/* 主按鈕：accent 底、accent-on 字；ghost 還原卡片面 */
html[data-tp-theme="v2"] .btn { background-color: var(--tp-accent); color: var(--tp-accent-on); }
html[data-tp-theme="v2"] .btn:hover { background-color: var(--tp-accent-strong); }
html[data-tp-theme="v2"] .btn-ghost { background-color: var(--tp-surface); color: var(--tp-text); border-color: var(--tp-line); }
html[data-tp-theme="v2"] .btn-accent { background-color: var(--tp-accent); color: var(--tp-accent-on); }
html[data-tp-theme="v2"] .btn-accent:hover { background-color: var(--tp-accent-strong); }
html[data-tp-theme="v2"] .chip[aria-pressed="true"] { background: var(--tp-accent); color: var(--tp-accent-on); border-color: var(--tp-accent); }
html[data-tp-theme="v2"] .skip { background: var(--tp-text); color: var(--tp-bg); }
/* 寫死白底的輸入框與列印卷面 */
html[data-tp-theme="v2"] .field,
html[data-tp-theme="v2"] select { background: var(--tp-surface); color: var(--tp-text); border-color: var(--tp-line); }
html[data-tp-theme="v2"] .sheet { background: var(--tp-surface); color: var(--tp-text); border-color: var(--tp-line); box-shadow: var(--tp-shadow-2); }
/* 計算機螢幕：深底反白，深色模式自動翻轉 */
html[data-tp-theme="v2"] .calc-screen { background: var(--tp-text); color: var(--tp-bg); }
/* 選取態與進度條跟 accent */
html[data-tp-theme="v2"] .choice[aria-pressed="true"] { border-color: var(--tp-accent); background-color: var(--tp-accent-soft); }
html[data-tp-theme="v2"] .bar > span { background: var(--tp-accent); }
/* 星星：琥珀語意 */
html[data-tp-theme="v2"] .star.on { fill: var(--tp-warning); }
html[data-tp-theme="v2"] .star.off { fill: var(--tp-bg-deep); stroke: var(--tp-line); }
/* 平衡天平零件（邊色與底） */
html[data-tp-theme="v2"] .balance .plate { background: var(--tp-surface); border-color: var(--tp-text); }
html[data-tp-theme="v2"] .balance.is-level .beam { background: var(--tp-success); }
