/* jr15-civics（公民法律通）｜年齡層：junior（墨藍強調）
   對應簡表：--paper→--tp-bg、--paper-2→--tp-bg-deep、--card→--tp-surface、--ink→--tp-text、--ink-soft／--muted→--tp-text-soft、--line→--tp-line
   --primary→--tp-accent、--primary-strong→--tp-accent-strong、--primary-soft→--tp-accent-soft（主按鈕、頂列、選取態）
   --accent→--tp-subject-skills（卡片側條、眉題、標籤）、--second→--tp-success、--gold→--tp-warning，各 soft 階同理
   --danger→--tp-error、--ok→--tp-success；圓角→--tp-radius-card／--tp-radius-ctl
   陰影→--tp-shadow-1／--tp-shadow-2、字體→--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-2: var(--tp-bg-deep);
  --card: var(--tp-surface);
  --primary: var(--tp-accent);
  --primary-strong: var(--tp-accent-strong);
  --primary-soft: var(--tp-accent-soft);
  --accent: var(--tp-subject-skills);
  --accent-soft: var(--tp-subject-skills-soft);
  --second: var(--tp-success);
  --second-soft: var(--tp-success-soft);
  --gold: var(--tp-warning);
  --gold-soft: var(--tp-warning-soft);
  --line: var(--tp-line);
  --danger: var(--tp-error);
  --danger-soft: var(--tp-error-soft);
  --ok: var(--tp-success);
  --ok-soft: var(--tp-success-soft);
  --shadow: var(--tp-shadow-2);
  --shadow-sm: var(--tp-shadow-1);
  --radius: var(--tp-radius-card);
  --radius-sm: var(--tp-radius-ctl);
  --font: var(--tp-font-sans);
}
/* 大標改 serif，貼近 junior 參考書氣質 */
html[data-tp-theme="v2"] h1,
html[data-tp-theme="v2"] h2 { font-family: var(--tp-font-serif); }
/* 頁首漸層改吃權杖淺底（深色自動換夜間階） */
html[data-tp-theme="v2"] body { background-image: linear-gradient(180deg, var(--tp-accent-soft), transparent 280px); }
/* 深色頂列上的寫死字色改吃 accent-on */
html[data-tp-theme="v2"] .topbar { color: var(--tp-accent-on); }
html[data-tp-theme="v2"] .brand-sub { color: var(--tp-accent-on); opacity: 0.85; }
html[data-tp-theme="v2"] .icon-btn { color: var(--tp-accent-on); border-color: var(--tp-accent-on); }
html[data-tp-theme="v2"] .icon-btn[aria-pressed="true"] { background: var(--tp-accent-soft); }
/* 導覽鈕：預設字色用 accent-text，按下時反白 */
html[data-tp-theme="v2"] .nav-btn { color: var(--tp-accent-text); }
html[data-tp-theme="v2"] .nav-btn[aria-pressed="true"] { color: var(--tp-accent-on); }
/* 主按鈕字色吃 accent-on，ghost 補回自己的字色 */
html[data-tp-theme="v2"] .btn { color: var(--tp-accent-on); }
html[data-tp-theme="v2"] .btn.ghost { color: var(--tp-accent-text); border-color: var(--tp-accent); }
/* 入口卡標題字色 */
html[data-tp-theme="v2"] .entry strong { color: var(--tp-accent-text); }
/* 寫死白底元件改吃表面權杖 */
html[data-tp-theme="v2"] select,
html[data-tp-theme="v2"] .textin,
html[data-tp-theme="v2"] .choice,
html[data-tp-theme="v2"] .calc-screen,
html[data-tp-theme="v2"] .sheet { background: var(--tp-surface); }
html[data-tp-theme="v2"] .sheet { color: var(--tp-text); }
/* 回饋卡寫死邊線改吃邊線權杖 */
html[data-tp-theme="v2"] .feedback,
html[data-tp-theme="v2"] .feedback.ok,
html[data-tp-theme="v2"] .feedback.bad,
html[data-tp-theme="v2"] .feedback.hint { border-color: var(--tp-line); }
/* 憲政機構圖的寫死填色與線條 */
html[data-tp-theme="v2"] .const-svg [data-org] rect { fill: var(--tp-surface); stroke: var(--tp-accent); }
html[data-tp-theme="v2"] .const-svg [data-org].is-on rect { fill: var(--tp-accent-soft); stroke: var(--tp-accent); }
html[data-tp-theme="v2"] .const-svg text { fill: var(--tp-text); }
html[data-tp-theme="v2"] .const-svg .small { fill: var(--tp-text-soft); }
/* 填空底線與焦點環 */
html[data-tp-theme="v2"] .blank { border-bottom-color: var(--tp-text); }
html[data-tp-theme="v2"] :focus-visible { outline-color: var(--tp-accent); }

/* D2d 對比補修（1151001）。 */
/* 頂列圖示鈕按下態底色原為淺藍（accent-soft），白字落在淺底上；改深一階主色底，亮暗兩色對比皆 >= 4.5:1。 */
html[data-tp-theme="v2"] .icon-btn[aria-pressed="true"] {
  background: var(--tp-accent-strong);
}
