/* j16-genetics（遺傳密碼實驗室）— junior 層 v2 風格覆寫
   基底：--ink→--tp-text、--ink-soft→--tp-text-soft、--paper→--tp-bg、--paper-2→--tp-surface、--line→--tp-line
   主色：--primary→--tp-accent、--primary-deep→--tp-accent-strong、--primary-soft→--tp-accent-soft
   選取與焦點：--accent-2→--tp-accent、--accent-2-soft→--tp-accent-soft（is-selected、focus-visible 跟 accent）
   語意：--good→--tp-success、--good-soft→--tp-success-soft、--bad→--tp-error、--bad-soft→--tp-error-soft
   科目：--accent→--tp-subject-sci、--accent-soft→--tp-subject-sci-soft（DNA 股、星星、alt 進度條保留自然科琥珀色）
   形狀：--radius→--tp-radius-card、--radius-sm→--tp-radius-ctl、--shadow→--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-surface); --line: var(--tp-line);
  --primary: var(--tp-accent); --primary-deep: var(--tp-accent-strong); --primary-soft: var(--tp-accent-soft);
  --accent: var(--tp-subject-sci); --accent-soft: var(--tp-subject-sci-soft);
  --accent-2: var(--tp-accent); --accent-2-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);
  --radius: var(--tp-radius-card); --radius-sm: var(--tp-radius-ctl);
  --shadow: var(--tp-shadow-1); --font: var(--tp-font-sans);
}
/* 大面積背景：蓋掉寫死的暈染漸層 */
html[data-tp-theme="v2"] body { background: var(--tp-bg); color: var(--tp-text); }
html[data-tp-theme="v2"] h1,
html[data-tp-theme="v2"] h2 { font-family: var(--tp-font-serif); }
html[data-tp-theme="v2"] ::selection { background: var(--tp-accent-soft); }
/* 主按鈕：accent 底、accent-on 字 */
html[data-tp-theme="v2"] .btn-primary { background: var(--tp-accent); color: var(--tp-accent-on); border-color: var(--tp-accent-strong); }
html[data-tp-theme="v2"] .btn-primary:hover { background: var(--tp-accent-strong); }
/* 寫死白底的輸入框 */
html[data-tp-theme="v2"] .pair input,
html[data-tp-theme="v2"] .calc-display,
html[data-tp-theme="v2"] select.big { background: var(--tp-surface); color: var(--tp-text); border-color: var(--tp-line); }
/* 回饋框寫死的邊色 */
html[data-tp-theme="v2"] .feedback.good { background: var(--tp-success-soft); border-color: var(--tp-success); }
html[data-tp-theme="v2"] .feedback.hint { background: var(--tp-subject-sci-soft); border-color: var(--tp-subject-sci); }
html[data-tp-theme="v2"] .feedback.bad { background: var(--tp-error-soft); border-color: var(--tp-error); }
/* 棋盤格底色改吃語意淺底，深色自動翻轉 */
html[data-tp-theme="v2"] td.tone-dom { background: var(--tp-success-soft); }
html[data-tp-theme="v2"] td.tone-rec { background: var(--tp-subject-sci-soft); }
html[data-tp-theme="v2"] td.tone-b { background: var(--tp-accent-soft); }
html[data-tp-theme="v2"] td.tone-ab { background: var(--tp-subject-zh-soft); }
html[data-tp-theme="v2"] td.tone-soft { background: var(--tp-bg-deep); }
/* 圖例色點與對應格同族 */
html[data-tp-theme="v2"] .dot.tone-dom { background: var(--tp-success); }
html[data-tp-theme="v2"] .dot.tone-rec { background: var(--tp-subject-sci); }
html[data-tp-theme="v2"] .dot.tone-b { background: var(--tp-accent); }
html[data-tp-theme="v2"] .dot.tone-ab { background: var(--tp-subject-zh); }
html[data-tp-theme="v2"] .dot.tone-soft { background: var(--tp-text-faint); }
/* 長條圖軌道寫死的米色 */
html[data-tp-theme="v2"] .bar-track { background: var(--tp-bg-deep); }
/* 族譜圖節點白底 */
html[data-tp-theme="v2"] .ped-node { fill: var(--tp-surface); stroke: var(--tp-text); }
html[data-tp-theme="v2"] .ped-node.is-on { fill: var(--tp-accent-strong); }
