/* j13-circuits（電路模擬工作站）— junior 層 v2 風格覆寫
   基底：--ink→--tp-text、--ink-soft→--tp-text-soft、--muted→--tp-text-soft、--paper→--tp-bg、--paper-deep→--tp-bg-deep、--surface→--tp-surface、--line→--tp-line
   主色：--primary→--tp-accent、--primary-strong→--tp-accent-strong、--primary-soft→--tp-accent-soft（主按鈕統一走墨藍 accent）
   語意：--moss→--tp-success、--moss-soft→--tp-success-soft、--danger→--tp-error、--danger-soft→--tp-error-soft、--gold→--tp-warning、--warn-soft→--tp-warning-soft
   科目：--copper→--tp-subject-sci、--copper-deep→--tp-subject-sci、--copper-soft→--tp-subject-sci-soft（步驟標記、標籤保留自然科琥珀色）
   形狀：--radius→--tp-radius-card、--radius-sm→--tp-radius-ctl、--shadow→--tp-shadow-2、--shadow-sm→--tp-shadow-1、--font→--tp-font-sans */
html[data-tp-theme="v2"]:root {
  --ink: var(--tp-text); --ink-soft: var(--tp-text-soft); --muted: var(--tp-text-soft);
  --paper: var(--tp-bg); --paper-deep: var(--tp-bg-deep); --surface: var(--tp-surface); --line: var(--tp-line);
  --primary: var(--tp-accent); --primary-strong: var(--tp-accent-strong); --primary-soft: var(--tp-accent-soft);
  --copper: var(--tp-subject-sci); --copper-deep: var(--tp-subject-sci); --copper-soft: var(--tp-subject-sci-soft);
  --moss: var(--tp-success); --moss-deep: var(--tp-success); --moss-soft: var(--tp-success-soft);
  --gold: var(--tp-warning); --danger: var(--tp-error); --danger-soft: var(--tp-error-soft); --warn-soft: var(--tp-warning-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);
}
/* 大面積背景：蓋掉寫死的暈染漸層 */
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"] .topbar { background: var(--tp-surface); border-bottom-color: var(--tp-line); }
/* 焦點環跟 accent */
html[data-tp-theme="v2"] :focus-visible { outline-color: var(--tp-accent); }
/* 主按鈕與實心變體：accent 底、accent-on 字 */
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.secondary { background-color: transparent; color: var(--tp-accent-strong); border-color: var(--tp-accent); }
html[data-tp-theme="v2"] .btn.ghost { background-color: var(--tp-accent-soft); color: var(--tp-accent-strong); }
html[data-tp-theme="v2"] .btn.danger { background-color: transparent; color: var(--tp-error); border-color: var(--tp-error); }
html[data-tp-theme="v2"] .btn.moss { background-color: var(--tp-success); color: var(--tp-accent-on); }
html[data-tp-theme="v2"] .skip { background: var(--tp-accent); color: var(--tp-accent-on); }
html[data-tp-theme="v2"] #ghost { background: var(--tp-accent); color: var(--tp-accent-on); }
html[data-tp-theme="v2"] .palette button[aria-pressed="true"],
html[data-tp-theme="v2"] .tabs button[aria-selected="true"] { background: var(--tp-accent); color: var(--tp-accent-on); border-color: var(--tp-accent); }
html[data-tp-theme="v2"] .check input { accent-color: var(--tp-accent); }
/* 寫死 #fff 的卡片、輸入框與圖面底色 */
html[data-tp-theme="v2"] label.field input,
html[data-tp-theme="v2"] label.field select,
html[data-tp-theme="v2"] .answer-input,
html[data-tp-theme="v2"] .calc input[data-calc],
html[data-tp-theme="v2"] .choice,
html[data-tp-theme="v2"] .calc-keys button,
html[data-tp-theme="v2"] .palette button,
html[data-tp-theme="v2"] .schematic,
html[data-tp-theme="v2"] .board-wrap { background-color: 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"] .choice.picked-wrong { border-color: var(--tp-error); background-color: var(--tp-error-soft); }
html[data-tp-theme="v2"] .choice.show-right { border-color: var(--tp-success); background-color: var(--tp-success-soft); }
html[data-tp-theme="v2"] .card.primary { border-top-color: var(--tp-accent); }
html[data-tp-theme="v2"] .card.copper { border-top-color: var(--tp-subject-sci); }
html[data-tp-theme="v2"] .card.moss { border-top-color: var(--tp-success); }
html[data-tp-theme="v2"] .icon-btn { background: var(--tp-surface); color: var(--tp-accent-strong); border-color: var(--tp-line); }
html[data-tp-theme="v2"] .star polygon { stroke: var(--tp-warning); }
html[data-tp-theme="v2"] .star.on polygon { fill: var(--tp-warning); }
html[data-tp-theme="v2"] .score-big { color: var(--tp-accent-strong); }
html[data-tp-theme="v2"] .tag { background: var(--tp-subject-sci-soft); color: var(--tp-subject-sci); }
