/* app14-geometry（幾何積木城）— v2 風格覆寫；年齡層：kids（朱砂強調、大圓角、溫暖圓潤）。
   對應簡表：--c-primary→--tp-accent、--c-primary-deep→--tp-accent-strong、--c-primary-soft→--tp-accent-soft、
   --c-accent→--tp-success、--c-accent-soft→--tp-success-soft、--c-accent-2→--tp-subject-math、--c-accent-2-soft→--tp-subject-math-soft、
   --c-bg→--tp-bg、--c-dot→--tp-line、--c-surface→--tp-surface、--c-ink→--tp-text、--c-soft→--tp-text-soft、--c-line→--tp-line、
   --c-good→--tp-success、--c-good-bg→--tp-success-soft、--c-bad→--tp-error、--c-bad-bg→--tp-error-soft、
   --c-hint→--tp-warning、--c-hint-bg→--tp-warning-soft、--c-star→--tp-warning、--font→--tp-font-sans；圓角陰影對應 --tp-radius-*／--tp-shadow-*。 */

/* 主軸：把 App 自訂屬性整批改指向 v2 權杖，深色自動對齊 */
html[data-tp-theme="v2"]:root {
  --c-primary: var(--tp-accent-strong);
  --c-primary-deep: var(--tp-accent-strong);
  --c-primary-soft: var(--tp-accent-soft);
  --c-accent: var(--tp-success);
  --c-accent-soft: var(--tp-success-soft);
  --c-accent-2: var(--tp-subject-math);
  --c-accent-2-soft: var(--tp-subject-math-soft);
  --c-bg: var(--tp-bg);
  --c-dot: var(--tp-line);
  --c-surface: var(--tp-surface);
  --c-ink: var(--tp-text);
  --c-soft: var(--tp-text-soft);
  --c-line: var(--tp-line);
  --c-good: var(--tp-success);
  --c-good-bg: var(--tp-success-soft);
  --c-bad: var(--tp-error);
  --c-bad-bg: var(--tp-error-soft);
  --c-hint: var(--tp-warning);
  --c-hint-bg: var(--tp-warning-soft);
  --c-star: var(--tp-warning);
  --c-shadow: var(--tp-shadow-2);
  --c-shadow-sm: var(--tp-shadow-1);
  --radius-sm: var(--tp-radius-ctl);
  --radius: var(--tp-radius-card);
  --radius-lg: var(--tp-radius-xl);
  --font: var(--tp-font-sans);
}

/* 標題字體與字重對齊 kids 層 */
html[data-tp-theme="v2"] h1,
html[data-tp-theme="v2"] h2,
html[data-tp-theme="v2"] h3,
html[data-tp-theme="v2"] .title {
  font-family: var(--tp-font-serif);
  font-weight: var(--tp-display-weight);
}

/* 選取與聚焦色對齊 */
html[data-tp-theme="v2"] ::selection {
  background: var(--tp-accent-soft);
  color: var(--tp-text);
}
html[data-tp-theme="v2"] :focus-visible {
  outline: 3px solid var(--tp-focus-ring);
  outline-color: var(--tp-focus-ring);
}

/* 卡片群寫死的米色邊改跟邊線權杖 */
html[data-tp-theme="v2"] .hero,
html[data-tp-theme="v2"] .mode-card,
html[data-tp-theme="v2"] .stat-card,
html[data-tp-theme="v2"] .panel,
html[data-tp-theme="v2"] .q-card,
html[data-tp-theme="v2"] .paper {
  border-color: var(--tp-line);
}
html[data-tp-theme="v2"] .mode-card.practice {
  border-color: var(--tp-accent-strong);
}
html[data-tp-theme="v2"] .mode-card.parent {
  border-color: var(--tp-subject-math);
}

/* 寫死白字（主色底上）改 --tp-accent-on */
html[data-tp-theme="v2"] .btn,
html[data-tp-theme="v2"] .mute[aria-pressed="true"],
html[data-tp-theme="v2"] .paper-head {
  color: var(--tp-accent-on);
}
html[data-tp-theme="v2"] .btn.good {
  background: var(--tp-accent-strong);
  border-color: var(--tp-accent-strong);
}
html[data-tp-theme="v2"] .btn.good:hover,
html[data-tp-theme="v2"] .btn.good:active {
  background: var(--tp-accent-strong);
}

/* 靜音切換鈕的按下態原用墨色實心，改接 accent 系 */
html[data-tp-theme="v2"] .mute[aria-pressed="true"] {
  background: var(--tp-accent-strong);
  border-color: var(--tp-accent-strong);
}

/* 寫死 #fff 的控制項、圖框與拼圖件改跟表面權杖 */
html[data-tp-theme="v2"] .skip:focus,
html[data-tp-theme="v2"] .pick,
html[data-tp-theme="v2"] .chip,
html[data-tp-theme="v2"] .choice,
html[data-tp-theme="v2"] .pad button,
html[data-tp-theme="v2"] .mini,
html[data-tp-theme="v2"] .btn.secondary,
html[data-tp-theme="v2"] input[type="text"],
html[data-tp-theme="v2"] .figure-box,
html[data-tp-theme="v2"] .num-input,
html[data-tp-theme="v2"] .piece,
html[data-tp-theme="v2"] .cellbtn {
  background: var(--tp-surface);
}
html[data-tp-theme="v2"] .cellbtn {
  border-color: var(--tp-line);
}
html[data-tp-theme="v2"] .cellbtn.target {
  background: var(--tp-success-soft);
}

/* 進度條軌道與拖曳熱區的寫死色 */
html[data-tp-theme="v2"] .progress-line {
  background: var(--tp-bg-deep);
}
html[data-tp-theme="v2"] .drop-well.hot {
  background: var(--tp-subject-math-soft);
}

/* 徽章寫死綠字改跟成功色 */
html[data-tp-theme="v2"] .badge {
  color: var(--tp-success);
}

/* D2d 對比補修（1151001）。 */
/* .btn 一律白字會蓋掉 .btn.secondary（面底）的墨色字；補回。 */
html[data-tp-theme="v2"] .btn.secondary {
  color: var(--tp-text);
}
