/* =========================================================
   CaveCode — Apply dark-panel tokens to known dark insets
   Load AFTER themes + this token file. No hard-coded greens.
   ========================================================= */

.leaderboard-table,
.course-resume,
.profile-preview,
.jsforge-terminal,
.jsforge-reference-example,
.jsforge-console-pane,
.gcl-terminal,
.arduino-terminal,
.raspi-terminal,
[class*="-terminal"],
[class*="-reference-example"],
[class*="-console-pane"] {
  background: var(--dark-panel-bg) !important;
  color: var(--dark-panel-text) !important;
  border-color: var(--dark-panel-border) !important;
}

.leaderboard-row,
.player-cell,
.preview-identity,
.emblem-choice,
.jsforge-lesson-button,
[class*="-lesson-button"] {
  color: var(--dark-panel-text) !important;
}

.leaderboard-row.current-player,
.emblem-choice.selected,
.jsforge-lesson-button.active,
[class*="-lesson-button"].active {
  background: var(--dark-panel-bg-raised) !important;
  color: var(--dark-panel-strong) !important;
}

.leaderboard-row strong,
.leaderboard-row .rank,
.course-resume strong,
.profile-preview strong,
.emblem-choice strong,
.jsforge-lesson-button strong,
[class*="-lesson-button"] strong {
  color: var(--dark-panel-strong) !important;
}

.leaderboard-row.table-head span,
.course-resume .resume-label,
.course-resume p,
.course-resume small,
.profile-preview > p,
.profile-preview small,
.emblem-choice small,
.jsforge-lesson-button small,
.jsforge-terminal p,
.jsforge-terminal-title,
.jsforge-reference-example > span,
[class*="-terminal"] p,
[class*="-terminal-title"],
[class*="-reference-example"] > span {
  color: var(--dark-panel-muted) !important;
}

.leaderboard-row .level-colored-name {
  color: var(--dark-panel-text) !important;
}

.leaderboard-row .title-effect.stone,
.profile-preview .title-effect.stone {
  color: var(--dark-panel-muted) !important;
  text-shadow: 0 1px color-mix(in srgb, #000 45%, transparent);
}

.course-resume .resume-progress {
  background: color-mix(in srgb, var(--dark-panel-text) 14%, transparent) !important;
}

.course-resume .resume-progress > i {
  background: var(--dark-panel-accent) !important;
}

.jsforge-reference-example pre,
.jsforge-reference-example code,
[class*="-reference-example"] pre,
[class*="-reference-example"] code {
  color: var(--dark-panel-accent) !important;
}

.emblem-choice {
  background: var(--dark-panel-bg-raised) !important;
  border-color: var(--dark-panel-border) !important;
}

.emblem-choice.selected {
  border-color: color-mix(in srgb, var(--accent, #73e59b) 55%, transparent) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent, #73e59b) 30%, transparent);
}

/* Bulletproof: page light text must never paint these wells */
html[data-mode="light"] .leaderboard-table,
html[data-mode="light"] .leaderboard-row,
html[data-mode="light"] .course-resume,
html[data-mode="light"] .profile-preview,
html[data-mode="light"] .emblem-choice,
html[data-mode="light"] .jsforge-terminal,
html[data-mode="light"] .jsforge-reference-example,
html[data-mode="light"] .jsforge-lesson-button,
html[data-mode="light"] [class*="-terminal"],
html[data-mode="light"] [class*="-reference-example"],
html[data-mode="light"] [class*="-lesson-button"] {
  color: var(--dark-panel-text) !important;
}
