/* ============================================================
   k18-logic-puzzles（邏輯推理俱樂部）— v2 風格覆寫（只覆寫，不改版面）
   年齡層：kids；科目：綜合（識別色 --tp-subject-skills）
   對應簡表：--c-bg→--tp-bg；--c-bg-deep→--tp-bg-deep；--c-paper／--c-card→--tp-surface；
   --c-ink→--tp-text；--c-ink-soft→--tp-text-soft；--c-line→--tp-line；
   --c-primary→--tp-accent、--c-primary-d→--tp-accent-strong（主按鈕系）；
   --c-accent→--tp-accent（次主色併入強調系）；--c-accent-2→--tp-warning（提示、星星）；
   --c-ok→--tp-success、--c-bad→--tp-error；--c-given→--tp-bg-deep、--c-sel→--tp-accent-soft；
   圓角→--tp-radius-*；--sh-sm／--sh-md→--tp-shadow-1／-2；--font→--tp-font-sans。
   ============================================================ */

html[data-tp-theme="v2"]:root {
  --c-bg: var(--tp-bg);
  --c-bg-deep: var(--tp-bg-deep);
  --c-ink: var(--tp-text);
  --c-ink-soft: var(--tp-text-soft);
  --c-line: var(--tp-line);
  --c-paper: var(--tp-surface);
  --c-card: var(--tp-surface);
  --c-primary: var(--tp-accent-strong);
  --c-primary-d: var(--tp-accent-strong);
  --c-accent: var(--tp-accent-strong);
  --c-accent-2: var(--tp-warning);
  --c-ok: var(--tp-success);
  --c-bad: var(--tp-error);
  --c-given: var(--tp-bg-deep);
  --c-sel: var(--tp-accent-soft);
  --r-sm: var(--tp-radius-ctl);
  --r-md: var(--tp-radius-card);
  --r-lg: var(--tp-radius-card);
  --sh-sm: var(--tp-shadow-1);
  --sh-md: var(--tp-shadow-2);
  --font: var(--tp-font-sans);
}

/* 標題換襯線 */
html[data-tp-theme="v2"] h1,
html[data-tp-theme="v2"] h2,
html[data-tp-theme="v2"] h3 {
  font-family: var(--tp-font-serif);
}

/* 卡片邊：原本寫死的半透明米色 */
html[data-tp-theme="v2"] .card {
  border-color: var(--tp-line);
}

/* 主按鈕：accent 底＋accent-on 字（原本是橙底深字） */
html[data-tp-theme="v2"] .btn-primary {
  background: var(--tp-accent-strong);
  color: var(--tp-accent-on);
}
html[data-tp-theme="v2"] .btn-accent,
html[data-tp-theme="v2"] .toggle[aria-pressed="true"],
html[data-tp-theme="v2"] .toggle[aria-checked="true"] {
  color: var(--tp-accent-on);
}
html[data-tp-theme="v2"] .btn-ghost {
  background: var(--tp-surface);
  border-color: var(--tp-accent-strong);
  color: var(--tp-accent-text);
}

/* 拖曳影子鈕：與主按鈕同色 */
html[data-tp-theme="v2"] .ghost {
  background: var(--tp-accent-strong);
  color: var(--tp-accent-on);
}

/* 提示與訊息卡：語意淺底＋語意邊 */
html[data-tp-theme="v2"] .hint,
html[data-tp-theme="v2"] .msg-mid {
  background: var(--tp-warning-soft);
  border-color: var(--tp-warning);
}
html[data-tp-theme="v2"] .msg-ok {
  background: var(--tp-success-soft);
  border-color: var(--tp-success);
}
html[data-tp-theme="v2"] .msg-bad {
  background: var(--tp-error-soft);
  border-color: var(--tp-error);
}

/* 寫死 #fff 的棋盤、格子、輸入框與紙張：改白面權杖 */
html[data-tp-theme="v2"] .board,
html[data-tp-theme="v2"] .cell,
html[data-tp-theme="v2"] .opt,
html[data-tp-theme="v2"] .dock,
html[data-tp-theme="v2"] .num-input,
html[data-tp-theme="v2"] .py-cell,
html[data-tp-theme="v2"] .py input,
html[data-tp-theme="v2"] .id-input,
html[data-tp-theme="v2"] .sdk .c,
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"] .paper-foot {
  color: var(--tp-text-soft);
}

/* 火柴棒：點燃與熄滅兩態改用權杖 */
html[data-tp-theme="v2"] .match-row line.on {
  stroke: var(--tp-accent-strong);
}
html[data-tp-theme="v2"] .match-row line.off {
  stroke: var(--tp-line);
}

/* 科目識別：綜合朱砂深只留給品牌與答案揭示 */
html[data-tp-theme="v2"] .brand,
html[data-tp-theme="v2"] .qmark,
html[data-tp-theme="v2"] .paper-brand,
html[data-tp-theme="v2"] .cell.show-ans,
html[data-tp-theme="v2"] .py input.show-ans,
html[data-tp-theme="v2"] .sdk .c.ans {
  color: var(--tp-subject-skills);
}

/* 焦點環跟 accent 系 */
html[data-tp-theme="v2"] :focus-visible {
  outline-color: var(--tp-focus-ring);
}
