@charset "UTF-8";

/*
 * 人狼網站外觀模式：依系統／亮色／暗色。
 *
 * 亮色完全沿用 app.css、game_play.php、game_replay.css 的現行配色，因此本檔在亮色下
 * 只提供外觀選單本身；暗色才覆寫色彩。所有暗色規則都以
 * html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme 起頭，並保留既有
 * gv-theme-beforegame／day／night／aftergame 的階段判定，只改顏色、不改版面。
 */

/* ===== 外觀模式控制項（亮暗共用） ===== */
.diamwolf-theme-control {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
}

.diamwolf-theme-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--border-main, rgba(104, 77, 57, 0.34));
  border-radius: 12px;
  background: var(--card-strong, #fffaf3);
  color: var(--brand-strong, #73372f);
  box-shadow: none;
  cursor: pointer;
}

.diamwolf-theme-trigger:is(:hover, :focus-visible) {
  border-color: var(--brand, #9f4f45);
  filter: none;
}

.diamwolf-theme-trigger[aria-expanded="true"] {
  border-color: var(--brand-strong, #73372f);
  box-shadow: 0 0 0 3px var(--focus, rgba(56, 111, 145, 0.28));
}

.diamwolf-theme-trigger-icon,
.diamwolf-theme-option-icon,
.diamwolf-theme-option-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.diamwolf-theme-icon {
  display: block;
  width: 20px;
  height: 20px;
  pointer-events: none;
}

.diamwolf-theme-trigger-icon .diamwolf-theme-icon {
  width: 21px;
  height: 21px;
}

/* 選單由 JS 移到 body，避免被頁首 backdrop-filter 或 overflow 裁切。 */
.diamwolf-theme-menu {
  position: fixed;
  z-index: 10050;
  display: grid;
  gap: 2px;
  min-width: 186px;
  max-width: calc(100vw - 16px);
  margin: 0;
  padding: 6px;
  border: 1px solid var(--border-main, rgba(104, 77, 57, 0.34));
  border-radius: 12px;
  background: var(--card-strong, #fffaf3);
  color: var(--text, #292523);
  box-shadow: 0 16px 38px rgba(24, 16, 12, 0.32);
}

.diamwolf-theme-menu[hidden] {
  display: none !important;
}

.diamwolf-theme-option {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 40px;
  margin: 0;
  padding: 7px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  box-shadow: none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.diamwolf-theme-option:is(:hover, :focus-visible) {
  background: var(--brand-soft, #f0d9d0);
  color: var(--brand-strong, #73372f);
  filter: none;
}

.diamwolf-theme-option-label {
  flex: 1 1 auto;
  min-width: 0;
}

.diamwolf-theme-option-check {
  flex: 0 0 auto;
  width: 18px;
  opacity: 0;
  color: var(--brand-strong, #73372f);
}

.diamwolf-theme-option-check .diamwolf-theme-icon {
  width: 18px;
  height: 18px;
}

.diamwolf-theme-option[aria-checked="true"] {
  color: var(--brand-strong, #73372f);
  font-weight: 850;
}

.diamwolf-theme-option[aria-checked="true"] .diamwolf-theme-option-check {
  opacity: 1;
}

/* 桌機放在頁首導覽右側；手機改由展開選單內的控制項負責。 */
.diamwolf-theme-control-topbar {
  margin-left: 4px;
}

.diamwolf-theme-control-nav {
  display: none;
  margin-left: auto;
}

/* 歷史重播：放在可收合操作選單的返回控制旁。 */
.diamwolf-theme-control-inline {
  align-self: center;
  margin-inline-start: 0;
}

.diamwolf-theme-page-actions {
  display: flex;
  justify-content: flex-end;
  padding: 4px;
}

.diamwolf-theme-control-inline .diamwolf-theme-trigger {
  width: 34px;
  min-width: 34px;
  height: 36px;
  min-height: 36px;
  border-radius: 999px;
  border-color: var(--diamwolf-replay-brand-strong, var(--border-main, rgba(104, 77, 57, 0.34)));
  background: var(--diamwolf-replay-paper-muted, var(--card-strong, #fffaf3));
  color: var(--diamwolf-replay-ink, var(--text, #292523));
}

/* 重播頁的按鈕規則會把按鈕拉成膠囊寬度；外觀鈕維持固定方形才不會擠壓返回控制。 */
body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .diamwolf-theme-control-inline .diamwolf-theme-trigger {
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
  text-align: center;
}

.diamwolf-theme-control-inline .diamwolf-theme-trigger .diamwolf-theme-icon {
  width: 18px;
  height: 18px;
}

/* 現代遊戲：掛在既有版面設定選單內的同一列。 */
.diamwolf-theme-dock-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 4px;
  box-sizing: border-box;
  font-size: 14px;
}

/* 版面設定選單對按鈕有較高優先度的列樣式，這裡以相同層級加權並固定圖示鈕尺寸。 */
body.new-body.diamwolf-wolf-theme .game-play-page .diamwolf-dock-settings-menu .diamwolf-theme-dock-row .diamwolf-theme-trigger {
  display: inline-flex !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--diamwolf-gp2-line, var(--border-main)) !important;
  border-radius: 6px !important;
  background: var(--diamwolf-gp2-paper-muted, var(--card-strong)) !important;
  color: var(--diamwolf-gp2-ink, var(--text)) !important;
  box-shadow: none !important;
  text-align: center !important;
}

body.new-body.diamwolf-wolf-theme .game-play-page .diamwolf-dock-settings-menu .diamwolf-theme-dock-row .diamwolf-theme-trigger:is(:hover, :focus-visible) {
  border-color: var(--diamwolf-gp2-brand, var(--brand)) !important;
  background: var(--diamwolf-gp2-hover, var(--brand-soft)) !important;
  color: var(--diamwolf-gp2-brand-strong, var(--brand-strong)) !important;
}

body.new-body.diamwolf-wolf-theme .game-play-page .diamwolf-dock-settings-menu .diamwolf-theme-dock-row .diamwolf-theme-trigger .diamwolf-theme-icon {
  width: 17px;
  height: 17px;
}

.diamwolf-theme-control-log {
  position: absolute;
  top: 8px;
  /* 返回鈕在 right: 24px，這裡讓開它的寬度與間距，兩者不重疊。 */
  right: 74px;
  z-index: 4;
  align-self: auto;
  margin-inline-start: 0;
}

.diamwolf-theme-control-log .diamwolf-theme-trigger {
  width: 32px;
  min-width: 32px;
  height: 30px;
  min-height: 30px;
  border-radius: 6px;
  border-color: var(--diamwolf-gp2-line, var(--border-main, rgba(104, 77, 57, 0.34)));
  background: var(--diamwolf-gp2-paper-muted, var(--card-strong, #fffaf3));
  color: var(--diamwolf-gp2-ink, var(--text, #292523));
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);
}

.diamwolf-theme-control-log .diamwolf-theme-trigger:is(:hover, :focus-visible) {
  border-color: var(--diamwolf-gp2-brand, var(--brand, #9f4f45));
  color: var(--diamwolf-gp2-brand-strong, var(--brand-strong, #73372f));
}

.diamwolf-theme-control-log .diamwolf-theme-trigger .diamwolf-theme-icon {
  width: 17px;
  height: 17px;
}

/* 控制項與返回鈕同列，替兩者保留右側空間，避免蓋到頻道列；
   新到舊排序時頻道列在底部，不受影響。 */
body.new-body.diamwolf-wolf-theme[data-wrapper-page="log_viewer"] .log-view-room-page.diamwolf-log-compact .gv-talk-log-wrap:not(.is-newest-first) > .log-talk-tabs {
  max-width: calc(100% - 138px);
}

@media (max-width: 920px) {
  /* 手機的返回鈕與外觀鈕較小，留 118px 就夠，避免頻道列被擠成兩行。 */
  body.new-body.diamwolf-wolf-theme[data-wrapper-page="log_viewer"] .log-view-room-page.diamwolf-log-compact .gv-talk-log-wrap:not(.is-newest-first) > .log-talk-tabs {
    max-width: calc(100% - 118px);
  }
}

@media (max-width: 1180px) {
  body.new-body.diamwolf-refresh-page .diamwolf-theme-control-topbar {
    display: none;
  }

  body.new-body.diamwolf-refresh-page .diamwolf-theme-control-nav {
    display: inline-flex;
    width: 100%;
    grid-column: 1 / -1;
    margin: 2px 0 0;
  }

  body.new-body.diamwolf-refresh-page .diamwolf-theme-control-nav .diamwolf-theme-trigger {
    width: 100%;
    min-width: 0;
    height: 44px;
    justify-content: flex-start;
    gap: 8px;
    padding: 0 12px;
  }

  body.new-body.diamwolf-refresh-page .diamwolf-theme-control-nav .diamwolf-theme-trigger::after {
    content: "選擇外觀模式";
    font-size: 15px;
    font-weight: 700;
  }
}

/* ===== 暗色調色盤 ===== */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme {
  /* 大廳／一般資訊頁：暖炭灰外框＋磚紅。 */
  --dw-page-bg:
    radial-gradient(circle at 11% 4%, rgba(150, 66, 58, 0.26), transparent 30rem),
    radial-gradient(circle at 88% 5%, rgba(58, 72, 96, 0.24), transparent 28rem),
    linear-gradient(155deg, #1b1714 0%, #141110 52%, #100d0c 100%);
  --dw-frame: #1d1916;
  --dw-paper: #241f1c;
  --dw-paper-strong: #2a2421;
  --dw-paper-muted: #332c27;
  --dw-ink: #ece3da;
  --dw-muted: #b5a89b;
  --dw-line: rgba(228, 208, 189, 0.16);
  --dw-line-strong: rgba(228, 208, 189, 0.3);
  --dw-brand: #b0625a;
  --dw-brand-strong: #d18c82;
  --dw-brand-soft: #3b2b28;
  --dw-on-brand: #1b1312;
  --dw-gold: #c9a06b;
  --dw-link: #e6ada1;
  --dw-danger: #c1665d;
  --dw-danger-strong: #a34c44;
  --dw-on-danger: #fdf6f2;
  --dw-ok: #8fb08c;
  --dw-focus: rgba(209, 140, 130, 0.45);
  --dw-shadow: 0 18px 46px rgba(0, 0, 0, 0.45);
  --dw-shadow-sm: 0 8px 22px rgba(0, 0, 0, 0.34);
  --dw-row: rgba(40, 33, 30, 0.92);
  --dw-highlight: #4a3a2b;
  --dw-entry: rgba(24, 20, 18, 0.92);
  --dw-entry-ink: #ece3da;
  --dw-topbar-bg: rgba(26, 21, 19, 0.95);
  --dw-head-bg: linear-gradient(90deg, rgba(18, 14, 12, 0.95), rgba(38, 32, 35, 0.8));
  --dw-hero-bg: linear-gradient(90deg, rgba(20, 16, 14, 0.95), rgba(36, 30, 34, 0.8));
  --dw-scroll-track: #2a2320;
  --dw-scroll-thumb: #6d5f55;
  --dw-scroll-thumb-hover: #8b7a6c;
  --dw-sev-normal-bg: #2c3831;
  --dw-sev-normal-text: #e6efe6;
  --dw-sev-normal-accent: #8fb3a2;
  --dw-sev-notice-bg: #3b3524;
  --dw-sev-notice-text: #f6ecd6;
  --dw-sev-notice-accent: #d8b468;
  --dw-sev-info-bg: #2c3047;
  --dw-sev-info-text: #e8e9f6;
  --dw-sev-info-accent: #a3acdc;
  --dw-sev-positive-bg: #26382c;
  --dw-sev-positive-text: #e4f2e5;
  --dw-sev-positive-accent: #86c096;
  --dw-sev-warning-bg: #3d3020;
  --dw-sev-warning-text: #f8ecd9;
  --dw-sev-warning-accent: #e0a964;
  --dw-sev-danger-bg: #3e2729;
  --dw-sev-danger-text: #fbe9e4;
  --dw-sev-danger-accent: #dd8c80;
  --dw-sev-critical-bg: #43232a;
  --dw-sev-critical-text: #fdeeea;
  --dw-sev-critical-accent: #ee8f80;
  color-scheme: dark;
}

/* 歷史（清單與明細）固定終局：深玫瑰褐＋柔酒紅。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="log_viewer"] {
  --dw-page-bg:
    radial-gradient(circle at 8% 0%, rgba(152, 83, 76, 0.28), transparent 28rem),
    linear-gradient(155deg, #3a2b2e 0%, #221a1c 42%, #151011 100%);
  --dw-frame: #231b1d;
  --dw-paper: #2b2324;
  --dw-paper-strong: #322829;
  --dw-paper-muted: #3c2f31;
  --dw-ink: #f0e4e2;
  --dw-muted: #c3acac;
  --dw-line: rgba(236, 205, 201, 0.16);
  --dw-line-strong: rgba(236, 205, 201, 0.3);
  --dw-brand: #b0756f;
  --dw-brand-strong: #d59d95;
  --dw-brand-soft: #45312f;
  --dw-on-brand: #231719;
  --dw-gold: #c9a07f;
  --dw-link: #eec0b5;
  --dw-danger: #c07a72;
  --dw-danger-strong: #a35d55;
  --dw-on-danger: #fdf4f1;
  --dw-ok: #93ae94;
  --dw-focus: rgba(213, 157, 149, 0.45);
  --dw-shadow: 0 18px 46px rgba(10, 6, 7, 0.5);
  --dw-shadow-sm: 0 8px 22px rgba(10, 6, 7, 0.38);
  --dw-row: rgba(45, 35, 37, 0.94);
  --dw-highlight: #4c3733;
  --dw-entry: rgba(28, 20, 22, 0.92);
  --dw-entry-ink: #f0e4e2;
  --dw-topbar-bg: rgba(30, 22, 24, 0.95);
  --dw-head-bg: linear-gradient(90deg, rgba(32, 21, 23, 0.94), rgba(57, 28, 30, 0.78));
  --dw-hero-bg: linear-gradient(90deg, rgba(32, 21, 23, 0.94), rgba(57, 28, 30, 0.78));
  --dw-scroll-track: #322829;
  --dw-scroll-thumb: #7d6668;
  --dw-scroll-thumb-hover: #9c8183;
  --dw-sev-normal-bg: #37302f;
  --dw-sev-normal-text: #f0e4e2;
  --dw-sev-normal-accent: #cf9d96;
  --dw-sev-notice-bg: #3d3327;
  --dw-sev-notice-text: #f7ecd9;
  --dw-sev-notice-accent: #d6ab7a;
  --dw-sev-info-bg: #2f2c3d;
  --dw-sev-info-text: #eae6f4;
  --dw-sev-info-accent: #b09ac9;
  --dw-sev-positive-bg: #26352c;
  --dw-sev-positive-text: #e5f2e6;
  --dw-sev-positive-accent: #8bbd96;
  --dw-sev-warning-bg: #3f2f22;
  --dw-sev-warning-text: #faeedb;
  --dw-sev-warning-accent: #dfa76b;
  --dw-sev-danger-bg: #45282b;
  --dw-sev-danger-text: #fcebe5;
  --dw-sev-danger-accent: #e2907f;
  --dw-sev-critical-bg: #4a2430;
  --dw-sev-critical-text: #fdeeee;
  --dw-sev-critical-accent: #f0968c;
}

/* ===== 暗色：共用 token 對應（一般頁、歷史清單） =====
 * 選擇器必須帶 body.new-body：app.css 的 refresh-page／公開頁 token 宣告使用
 * `body.new-body.diamwolf-refresh-page…[data-wrapper-page]`（特異性 0-3-1），
 * 若這裡只用 `body.diamwolf-wolf-theme`（0-2-2）會被那些淺色常數蓋回。
 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme {
  --bg-accent: var(--dw-page-bg);
  --card: var(--dw-paper);
  --card-strong: var(--dw-paper-strong);
  --surface: var(--dw-paper);
  --surface-raised: var(--dw-paper-strong);
  --surface-emphasis: var(--dw-paper-muted);
  --surface-muted: var(--dw-paper-muted);
  --line: var(--dw-line);
  --border-subtle: var(--dw-line);
  --border-main: var(--dw-line-strong);
  --border-strong: var(--dw-line-strong);
  --text: var(--dw-ink);
  --text-muted: var(--dw-muted);
  --brand: var(--dw-brand);
  --brand-strong: var(--dw-brand-strong);
  --brand-soft: var(--dw-brand-soft);
  --success: var(--dw-ok);
  --danger: var(--dw-danger);
  --info: var(--dw-gold);
  --focus: var(--dw-focus);
  --shadow: var(--dw-shadow);
  --shadow-sm: var(--dw-shadow-sm);
  --shadow-card: var(--dw-shadow-sm);
  --scroll-track: var(--dw-scroll-track);
  --scroll-thumb: var(--dw-scroll-thumb);
  --scroll-thumb-hover: var(--dw-scroll-thumb-hover);
  --refresh-ink: var(--dw-ink);
  --refresh-paper: var(--dw-paper);
  --refresh-paper-strong: var(--dw-paper-strong);
  --refresh-line: var(--dw-line);
  --refresh-red: var(--dw-brand);
  --refresh-red-strong: var(--dw-brand-strong);
  --index-dark-line: var(--dw-line);
  --index-paper: var(--dw-paper);
  --index-paper-strong: var(--dw-paper-strong);
  --index-paper-muted: var(--dw-paper-muted);
  --index-red: var(--dw-brand);
  --index-red-strong: var(--dw-brand-strong);
  --gv-surface: var(--dw-paper);
  --gv-surface-soft: var(--dw-paper-muted);
  --gv-surface-strong: var(--dw-paper-strong);
  --gv-border: var(--dw-line);
  --gv-row-border: var(--dw-line);
  --gv-system-bg: var(--dw-paper-muted);
  --gv-text-main: var(--dw-ink);
  --gv-text-sub: var(--dw-muted);
  --gv-highlight: var(--dw-highlight);
  --gv-link-night: var(--dw-link);
  --gv-link-night-strong: var(--dw-link);
  --diamwolf-feedback-surface: var(--dw-paper-strong);
  --diamwolf-feedback-text: var(--dw-ink);
  --diamwolf-feedback-border: var(--dw-line-strong);
  --diamwolf-feedback-brand: var(--dw-brand-strong);
  --diamwolf-feedback-danger: var(--dw-danger);
  --diamwolf-feedback-success: var(--dw-ok);
  --diamwolf-feedback-shadow: var(--dw-shadow);
}

html[data-diamwolf-theme="dark"] {
  background: #12100e;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf-refresh-page,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf-refresh-page.diamwolf_keep_transparency {
  background: var(--dw-page-bg) fixed no-repeat !important;
  background-size: 100vw 100vh !important;
  color: var(--dw-ink);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf-refresh-page {
  background:
    radial-gradient(circle at 11% 4%, rgba(150, 66, 58, 0.26), transparent 30rem),
    radial-gradient(circle at 88% 5%, rgba(58, 72, 96, 0.24), transparent 28rem),
    #12100e !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="log_viewer"].diamwolf-refresh-page {
  background:
    radial-gradient(circle at 8% 0%, rgba(152, 83, 76, 0.26), transparent 30rem),
    #171113 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency {
  background: var(--dw-page-bg) fixed no-repeat !important;
  background-size: 100vw 100vh !important;
}

/* 表單、輸入與共用元件：一般頁與歷史清單共用同一組暗色語意。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(
  input[type="text"],
  input[type="password"],
  input[type="email"],
  input[type="number"],
  input[type="search"],
  input[type="url"],
  select,
  textarea
) {
  border-color: var(--dw-line-strong, var(--dw-line)) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(
  input[type="text"],
  input[type="password"],
  input[type="email"],
  input[type="number"],
  input[type="search"],
  textarea
)::placeholder {
  color: var(--dw-muted) !important;
  opacity: 1;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(select, option) {
  background-color: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme fieldset {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
  color: var(--dw-ink);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme legend {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme h1,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme h2,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme h3,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme h4 {
  color: var(--dw-ink);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme a:not(.new-nav-link):not(.gv-pill-link):not(.log-option-link):not(.diamwolf-theme-option):not(.diamwolf-theme-trigger):not(.index-hero-button),
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme a:not(.new-nav-link):not(.gv-pill-link):not(.log-option-link):not(.diamwolf-theme-option):not(.diamwolf-theme-trigger):not(.index-hero-button):is(:active, :focus, :hover, :visited) {
  color: var(--dw-link) !important;
}

/* app.css 對公開頁連結下了 `#indexhi a { color: revert !important }`（特異性 1-2-2 起），
 * revert 會退回瀏覽器預設藍，深色底上既刺眼又與主題無關。這裡用同樣帶 #indexhi 的層級，
 * 把純文字連結拉回主題連結色；分段控制與分頁另有自己的膠囊樣式（見下）。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #indexhi a,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #indexhi a:is(:active, :focus, :hover, :visited) {
  color: var(--dw-link) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #indexhi :is(.diamwolf-segmented, .legacy-action-links, .stats-filter-links, .pager, .um-icon-paging) a,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #indexhi :is(.diamwolf-segmented, .legacy-action-links, .stats-filter-links, .pager, .um-icon-paging) a:is(:active, :focus, :hover, :visited) {
  color: var(--dw-brand-strong) !important;
}

/* #indexhi 的連結重設也會蓋掉連結型頁籤；選取狀態須在同層級保留。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #indexhi :is(.diamwolf-segmented, .stats-filter-links) > :is(a, button, span) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #indexhi :is(.diamwolf-segmented, .stats-filter-links) > :is(a, button, span):is(:hover, :focus-visible) {
  background: var(--dw-brand-soft) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #indexhi :is(.diamwolf-segmented, .stats-filter-links) > :is(a, button, span):is(.is-active, [aria-current="page"]),
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #indexhi :is(.diamwolf-segmented, .stats-filter-links) > :is(a, button, span):is(.is-active, [aria-current="page"]):is(:active, :focus, :hover, :visited) {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .new-topbar {
  border-color: var(--dw-line) !important;
  background: var(--dw-topbar-bg) !important;
  box-shadow: var(--dw-shadow-sm);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .new-nav-link,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .new-nav-link:is(:active, :focus, :hover, :visited) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
  box-shadow: none;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .new-nav-link:is(:hover, :focus-visible),
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .new-nav-link.is-active {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-game-menu-options {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
  box-shadow: var(--dw-shadow-sm);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .new-nav-toggle {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .new-content-card {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
  box-shadow: var(--dw-shadow-sm);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf-refresh-page:not([data-wrapper-page="index"]) .new-content-card {
  background: transparent !important;
  box-shadow: none !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-page-head {
  border-color: var(--dw-line) !important;
  background: var(--dw-head-bg), var(--dw-frame) !important;
  color: var(--dw-ink);
  box-shadow: var(--dw-shadow-sm);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-page-head .diamwolf-page-title {
  color: #f7f1ea !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-page-head .diamwolf-page-kicker,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-page-head .diamwolf-page-summary {
  color: rgba(244, 232, 224, 0.72) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-page-head .diamwolf-badge {
  border-color: rgba(244, 232, 224, 0.28) !important;
  background: rgba(0, 0, 0, 0.3) !important;
  color: #f7f1ea !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.diamwolf-surface, .diamwolf-section, .docs-content-surface, .docs-quick-nav-wrap) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
  color: var(--dw-ink);
  box-shadow: var(--dw-shadow-sm);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi > :is(fieldset, section) {
  background-color: var(--dw-paper) !important;
  border-color: var(--dw-line) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi > fieldset > legend {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-toolbar {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.diamwolf-chip, .diamwolf-badge),
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-segmented > :where(a, button, span) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-segmented > :is(.is-active, [aria-current="page"]),
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-chip.is-active,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-chip[aria-pressed="true"] {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.diamwolf-badge.is-success) {
  border-color: rgba(139, 189, 150, 0.4) !important;
  background: #26372c !important;
  color: #cfe8d2 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.diamwolf-badge.is-danger) {
  border-color: rgba(226, 144, 127, 0.4) !important;
  background: #3d262a !important;
  color: #f6d6cf !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.diamwolf-badge.is-info) {
  border-color: rgba(163, 172, 220, 0.4) !important;
  background: #2b2f45 !important;
  color: #dde0f5 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.diamwolf-badge.is-warning) {
  border-color: rgba(224, 169, 100, 0.42) !important;
  background: #3d3020 !important;
  color: #f6e5c8 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-button {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-button:is(:hover, :focus-visible) {
  background: var(--dw-brand-soft) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-state-box {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-state-box > strong {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-state-box.is-error {
  border-color: rgba(226, 144, 127, 0.4) !important;
  background: #3b2427 !important;
  color: #f3cfc7 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .error-text,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .script-warning {
  color: #f0a79a !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .status-text {
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-filter-status {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-empty-state {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.pager, .pagination) :is(a, span, .pager-current) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .pager-current {
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

/* app.css 對公開頁分頁另立 !important 淺色規則（例：#bbsPager .pager-link 特異性 1-4-1），
 * 只靠上面那組會被蓋掉，因此針對各頁分頁容器再提高一層，維持既有頁碼結構與連結行為。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme :is(#bbsPager, #tripPager, #tvPager, #olPager, .um-icon-paging) .pager :is(.pager-link, .pager-current),
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme :is(#bbsPager, #tripPager, #tvPager, #olPager, .um-icon-paging) .pager > span:not([class]) {
  border: 1px solid var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme :is(#bbsPager, #tripPager, #tvPager, #olPager, .um-icon-paging) .pager .pager-link:is(:hover, :focus-visible) {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand-soft) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme :is(#bbsPager, #tripPager, #tvPager, #olPager, .um-icon-paging) .pager .pager-current {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

/* 頁碼之間的「…」分隔字沿用父層文字色，避免殘留淺色背景上的深棕字。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .pager {
  color: var(--dw-muted) !important;
}

/* ===== 暗色：大廳 ===== */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-hero {
  border-color: var(--dw-line) !important;
  background:
    radial-gradient(circle at 50% 35%, rgba(176, 98, 90, 0.34), transparent 50%),
    linear-gradient(90deg, rgba(14, 11, 10, 0.94), rgba(24, 20, 18, 0.78)),
    var(--diamwolf-bg-home) center 45% / cover;
  box-shadow: var(--dw-shadow);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-page-card {
  background: transparent !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-panel {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
  color: var(--dw-ink) !important;
  box-shadow: var(--dw-shadow-sm);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-panel-head {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-panel-title h2 {
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-panel-title p {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-panel-count {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-card-list .new-tag-tr {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
  box-shadow: none;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-card-list .index-room-row {
  border-bottom-color: var(--dw-line) !important;
  background: transparent !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-card-list .index-room-row:is(:hover, :focus-visible),
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-room-list.room-card-list a.index-room-row:hover {
  background: var(--dw-paper-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-card-no {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-card-name,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-card-list .index-room-row:hover .room-card-name {
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-card-comment {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-card-spec-label {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-setting-item {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-role-icon {
  border-color: var(--dw-line-strong) !important;
  background: rgba(0, 0, 0, 0.24) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-status-badge.is-waiting {
  background: #26382c !important;
  color: #cfe8d2 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-status-badge.is-playing {
  background: #3f272a !important;
  color: #f3cfc7 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .room-player-pill {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-announcement-card .announcement-body {
  border-color: var(--dw-line) !important;
  background: transparent !important;
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-create-village .create-form-disclosure {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-create-village .create-form-disclosure > summary {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-create-field > span,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-create-village .create-form-label {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-create-field :is(input, select) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-create-advanced {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-create-advanced summary {
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="index"] .index-create-village .create-form-submit-row button {
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .index-copyright {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-lobby-update-status {
  color: var(--dw-muted) !important;
}

/* ===== 暗色：一般資訊、討論、Trip、統計、表情、版本 ===== */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.legacy-table, .new-tag-table) {
  border-color: var(--dw-line) !important;
  background: transparent !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.legacy-row, .new-tag-tr) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
  box-shadow: none;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.legacy-row.head, .new-tag-tr.room-head) {
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.indexhi-unified, #indexhi) :where(.legacy-row:not(.head):hover) {
  background: var(--dw-paper-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .legacy-row > div {
  border-color: var(--dw-line) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .legacy-form-list {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .legacy-form-list label,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .village-form-label {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .legacy-action-links a {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .legacy-action-links a:is(:hover, :focus-visible) {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand-soft) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .bbs-topic,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .bbs-reply {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
  box-shadow: none;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .bbs-title {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.bbs-meta, .bbs-time, .bbs-content) {
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.bbs-meta, .bbs-time) {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.bbs-format-tools, .bbs-format-picker) {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .bbs-format-picker-trigger {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .bbs-format-picker-menu {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
  box-shadow: var(--dw-shadow-sm);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .bbs-format-picker-option {
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .bbs-format-picker-option:is(:hover, :focus-visible) {
  background: var(--dw-brand-soft) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-profile-wrap {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-ai-note {
  border-color: rgba(220, 178, 116, 0.32) !important;
  background: #322b20 !important;
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-names-load-more {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-names-load-more:is(:hover, :focus-visible) {
  background: var(--dw-brand-soft) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-vote-summary li {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-room-stat-card,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-room-faction-bar,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-summary {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

/* app.css 的陣營統計卡把標籤／數值寫死成深棕（#7a6956、#3f352a），
 * 深色底上幾乎不可見；保留 is-wolf／is-fox／is-human 的語意色框，只改文字。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-room-stat-card :where(.trip-room-stat-label) {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-room-stat-card :where(.trip-room-stat-value) {
  color: var(--dw-ink) !important;
}

/* 陣營統計卡原以淺紅／淺黃／淺綠底區分陣營，暗色改用同一組語意色的深底。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-room-stat-card.is-wolf {
  border-color: rgba(221, 140, 128, 0.42) !important;
  background: #3b2628 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-room-stat-card.is-wolf :where(.trip-room-stat-label, .trip-room-stat-value) {
  color: #f2d2ca !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-room-stat-card.is-fox {
  border-color: rgba(224, 169, 100, 0.42) !important;
  background: #3a3020 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-room-stat-card.is-fox :where(.trip-room-stat-label, .trip-room-stat-value) {
  color: #f4e3c4 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :is(.trip-room-stat-card.is-human, .trip-room-stat-card.is-score-positive) {
  border-color: rgba(139, 189, 150, 0.42) !important;
  background: #24352b !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :is(.trip-room-stat-card.is-human, .trip-room-stat-card.is-score-positive) :where(.trip-room-stat-label, .trip-room-stat-value) {
  color: #d3e8d6 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-room-stat-card.is-score-negative {
  border-color: rgba(221, 140, 128, 0.42) !important;
  background: #3b2628 !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .trip-room-stat-card.is-score-negative :where(.trip-room-stat-label, .trip-room-stat-value) {
  color: #f2d2ca !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.stats-summary-card, .stats-room-block, .stats-table-wrap, .stats-grid-table, .stats-sample-note, .stats-context-note) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

/* app.css 的統計表在 .stats-grid-cell／.stats-rate-cell 直接寫死淺色常數
 * （表頭 #f8efe2、列首 #fff8ee、勝率欄 #fff／#e9f7ed、淡樣本 #fbefea），
 * 只改 token 不會生效，需按同一元素層級逐格覆寫；資料與勝負語意維持不變。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-grid-head .stats-grid-cell {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-grid-row:not(.stats-grid-head) .stats-grid-cell:where(:not(.stats-rate-cell, .stats-grid-row-title)) {
  border-color: var(--dw-line) !important;
  background: transparent !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-grid-row:not(.stats-grid-head) .stats-grid-row-title {
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-rate-cell,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-rate-cell.is-low-sample {
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
  opacity: 1;
}

/* 勝率高低仍以顏色區分，但改成暗色可辨的綠／紅底。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-rate-cell.is-high {
  background: #26372c !important;
  color: #d6ecda !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-rate-cell.is-low {
  background: #3b2528 !important;
  color: #f4d4cd !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-rate-cell.is-low-sample:not(.is-high):not(.is-low) {
  background: var(--dw-paper) !important;
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.stats-th-sub, .stats-cell-rate, .stats-summary-line, .stats-update-time, .stats-sample-note) {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-summary-line > b {
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-room-title {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.stats-summary-title, .stats-toolbar-label, .stats-grid-col-title, .stats-grid-row-title) {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-filter-links a,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-filter-links .is-active {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-filter-links .is-active {
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-grid-table :where(th, td) {
  border-color: var(--dw-line) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .stats-grid-head {
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .emot-summary {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .emot-card {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  box-shadow: none;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .emot-card-head {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .emot-preview {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .emot-code-btn {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .emot-empty-box {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.version-page-body .version-card, .version-page-body .version-summary-card) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
  box-shadow: none;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .version-page-body .version-card-head {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .version-page-body .version-item {
  border-color: var(--dw-line) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.version-kind, .version-tag, .version-meta) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-muted) !important;
}

/* app.css 在 .version-summary-value／.version-text 直接寫死深棕字（#3d3328、#3f352a），
 * 這些是純文字節點、沒有其他容器可承接顏色，必須逐類覆寫。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .version-page-body :where(.version-summary-label, .version-summary-value, .version-text, .version-meta) {
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .version-page-body .version-summary-label {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .version-page-body .version-item,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .version-page-body .version-item-list {
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .version-anchor {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .docs-page {
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .docs-page > fieldset {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.guide-content-panel, .guide-chapter-nav) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .guide-chapter-nav .docs-quick-nav-title {
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi a.docs-quick-nav-item,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi a.docs-quick-nav-item:is(:active, :focus, :hover, :visited) {
  border-color: var(--dw-line) !important;
  border-left-color: var(--dw-brand) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi a.docs-quick-nav-item[aria-current="true"],
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi a.docs-quick-nav-item[aria-current="true"]:is(:hover, :focus-visible) {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.guide-section-heading, .layout-head, .layout-section-heading) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .script-info-page .layout-row {
  border-color: var(--dw-line) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .script-info-page .layout-cell {
  border-color: var(--dw-line) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .docs-back-to-top {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

/* 資訊／規則頁後段仍有淺底硬編碼，需逐處對應，不能只靠 root token。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi .script-info-intro,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi .rule-plain-table > .layout-row:first-child > .layout-cell,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi .layout-table.rule-box-table {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi .script-info-intro li,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi .layout-head,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi .layout-table.rule-box-table > .layout-row > .layout-head {
  border-left-color: var(--dw-brand) !important;
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi .guide-feature-grid > .script-info-section-lead {
  color: var(--dw-muted) !important;
}

/* 規則頁章節標題用 <strong>（非 h2），而 rule.php 會把 `text/plain` 內的
 * `.rule-page-body .layout-section-heading > strong { color: #5f3f22 }` 注入 head，
 * 因此必須用 !important 才能蓋掉那條執行期樣式。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi .layout-section-heading :is(h2, h3, strong, b) {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi .layout-table.rule-box-table > .layout-row > .layout-cell,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi .population-table > .layout-row > .layout-cell:first-child {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme #indexhi .population-table > .layout-row:nth-child(n+2):nth-child(odd) > .layout-cell {
  background: var(--dw-paper) !important;
}

/* 討論、Trip 與版本頁的 hover 仍用淺底常數。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :is(
  .bbs-topic-list,
  .trip-account-table,
  .trip-score-table,
  .trip-room-result-table,
  .trip-vote-table,
  #trip-names-table
) > .legacy-row:not(.head):is(:hover, :focus-within) {
  background: var(--dw-paper-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :is(.bbs-topic, .bbs-reply):is(:hover, :focus-within) {
  background: var(--dw-paper-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-section > .legacy-action-links,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :is(#bbsPager, #tripPager, #tvPager, #olPager),
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .index-room-list-footer {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
}

/* app.css 對這幾頁的 .legacy-action-links 連結另用 `body…[data-wrapper-page] #indexhi`
 * 的 ID 層級 !important 淺色底（#fffaf2／#5e4228），一般 class 覆寫贏不了，
 * 因此沿用同樣帶 #indexhi 的層級逐頁對應。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #indexhi .legacy-action-links a,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #indexhi .legacy-action-links a:is(:active, :focus, :hover, :visited) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #indexhi .legacy-action-links a:is(:hover, :focus-visible) {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand-soft) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-section > .legacy-action-links > a,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :is(#bbsPager, #tripPager, #tvPager, #olPager) :is(.pager-link, .pager-current) {
  border-color: var(--dw-line-strong) !important;
  background: transparent !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-section > .legacy-action-links > a:is(:hover, :focus-visible),
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :is(#bbsPager, #tripPager, #tvPager, #olPager) .pager-link:is(:hover, :focus-visible) {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand-soft) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :is(#bbsPager, #tripPager, #tvPager, #olPager) .pager-current {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .index-room-list-footer a {
  color: var(--dw-brand-strong) !important;
}

/* app.css 早期版本的 indexhi-unified 仍用固定淺底（討論、Trip、統計、版本頁共用）。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .indexhi-unified fieldset {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
  box-shadow: none;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .indexhi-unified legend {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .indexhi-unified .legacy-action-links a {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .indexhi-unified .legacy-action-links a:hover {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand-soft) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .indexhi-unified .legacy-form-list {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .indexhi-unified .log-list-note,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .indexhi-unified :where(.legacy-table, .bbs-topic, .bbs-reply) {
  border-color: var(--dw-line) !important;
  background: transparent !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme :where(.index-page-card, .section-card) {
  background: transparent !important;
  box-shadow: none !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .iframe-wrap {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
}

/* ===== 暗色：村民登錄（公開入村頁） =====
 * app.css 的 user_manager 區塊用 `body.new-body.diamwolf-refresh-page[data-wrapper-page="user_manager"]`
 * 加上大量 rgba(255, 25x, 24x) 淺色面板與 rgba(37, 30, 25, …) 深色文字；這裡以同等層級覆寫，
 * 只換顏色，不動頭像選取、分頁與表單流程。
 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-back-pill,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-back-pill:is(:active, :focus, :hover, :visited) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-back-pill:is(:hover, :focus-visible) {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand-soft) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page :where(.um-room-fieldset, .um-login-fieldset) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page fieldset > legend {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-room-name {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page :where(.um-room-meta, .um-avatar-heading p, .um-room-stats, .um-room-stats > div) {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page :where(.um-account-panel, .um-avatar-panel) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-panel-title {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page :where(.village-form-label, .village-form-row small) {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-selected-avatar {
  border-color: rgba(143, 176, 140, 0.42) !important;
  background: #24352b !important;
  color: #d3e8d6 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-selected-avatar img {
  border-color: rgba(143, 176, 140, 0.5) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-icon-grid {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-icon-item {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-icon-item:is(:hover, :focus-within) {
  border-color: var(--dw-brand) !important;
  background: var(--dw-paper-muted) !important;
}

/* 已選頭像仍以綠色框線標示，只把淺綠底改成暗色可辨的深綠。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-icon-item:has(input:checked) {
  border-color: var(--dw-ok) !important;
  background: #24352b !important;
  box-shadow: 0 0 0 3px rgba(143, 176, 140, 0.24) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .village-login-form :where(input[type="text"], input[type="password"], select) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .village-login-form .submit-row {
  border-top-color: var(--dw-line) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .village-login-form .submit-row button {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-icon-paging :where(a, span) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-icon-paging :where(a, span):hover {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand-soft) !important;
  color: var(--dw-ink) !important;
}

/* um-icon-paging 為獨立分頁容器（非 .pager 結構），目前頁同樣用深底。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme[data-wrapper-page="user_manager"] .user-manager-page .um-icon-paging :where(.is-active, .pager-current, [aria-current]) {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

/* ===== 暗色：歷史清單 ===== */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="log_viewer"] .old-log-list-body .log-room-table .legacy-row {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  box-shadow: none;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="log_viewer"] .old-log-list-body .log-room-table .legacy-row.head {
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="log_viewer"] .old-log-list-body .log-room-row > div:first-child,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="log_viewer"] .old-log-list-body .log-room-row small {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="log_viewer"] a.diamwolf-log-replay-link,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="log_viewer"] a.diamwolf-log-replay-link:is(:hover, :focus-visible) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme[data-wrapper-page="log_viewer"] a.diamwolf-log-replay-link:is(:hover, :focus-visible) {
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

/* ===== 暗色：人狼階段調色盤（現代遊戲與重播共用） ===== */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme:is(.diamwolf-game-play2, .diamwolf-game-replay).gv-theme-beforegame {
  --dw-frame: #123032;
  --dw-paper: #16302f;
  --dw-paper-strong: #1a3533;
  --dw-paper-muted: #22423e;
  --dw-ink: #e8efe6;
  --dw-muted: #aabaa9;
  --dw-line: rgba(190, 214, 196, 0.18);
  --dw-line-strong: rgba(190, 214, 196, 0.3);
  --dw-brand: #c9ad74;
  --dw-brand-strong: #e6cf9a;
  --dw-brand-soft: #3a4a3a;
  --dw-on-brand: #17211c;
  --dw-gold: #e0c78c;
  --dw-link: #e7d196;
  --dw-danger: #cf8b80;
  --dw-danger-strong: #b06f66;
  --dw-on-danger: #fdf3ee;
  --dw-ok: #8fb894;
  --dw-focus: rgba(230, 207, 154, 0.4);
  --dw-shadow: 0 18px 46px rgba(3, 12, 12, 0.55);
  --dw-row: rgba(30, 56, 52, 0.92);
  --dw-highlight: #3f4a33;
  --dw-entry: rgba(9, 22, 22, 0.92);
  --dw-entry-ink: #e8efe6;
  --dw-page-bg:
    radial-gradient(circle at 8% 0%, rgba(86, 165, 156, 0.2), transparent 28rem),
    linear-gradient(155deg, #1b3a3a 0%, #102626 45%, #081516 100%);
  --dw-timer-track: #264540;
  --dw-timer-safe: #8fb894;
  --dw-timer-warn: #e0c78c;
  --dw-timer-danger: #cf8b80;
  --dw-timer-sudden: #b79ad6;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme:is(.diamwolf-game-play2, .diamwolf-game-replay).gv-theme-day {
  --dw-frame: #33382c;
  --dw-paper: #2b3026;
  --dw-paper-strong: #313729;
  --dw-paper-muted: #3a4132;
  --dw-ink: #eeefe4;
  --dw-muted: #bcc0ac;
  --dw-line: rgba(214, 216, 190, 0.16);
  --dw-line-strong: rgba(214, 216, 190, 0.3);
  --dw-brand: #d7a850;
  --dw-brand-strong: #efc97e;
  --dw-brand-soft: #4a4532;
  --dw-on-brand: #221a10;
  --dw-gold: #efc97e;
  --dw-link: #ecc986;
  --dw-danger: #c9806a;
  --dw-danger-strong: #a9614f;
  --dw-on-danger: #fdf4ef;
  --dw-ok: #94b07a;
  --dw-focus: rgba(239, 201, 126, 0.38);
  --dw-shadow: 0 18px 46px rgba(8, 10, 5, 0.55);
  --dw-row: rgba(46, 52, 40, 0.94);
  --dw-highlight: #4c4a2f;
  --dw-entry: rgba(24, 27, 19, 0.9);
  --dw-entry-ink: #eeefe4;
  --dw-page-bg:
    radial-gradient(circle at 78% 9%, rgba(239, 201, 126, 0.16) 0 3rem, transparent 13rem),
    linear-gradient(to bottom, #3a402f 0%, #2b3125 62%, #20251a 86%, #1a1f16 100%);
  --dw-timer-track: #3f4635;
  --dw-timer-safe: #94b07a;
  --dw-timer-warn: #e2b264;
  --dw-timer-danger: #c9806a;
  --dw-timer-sudden: #a98ccb;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme:is(.diamwolf-game-play2, .diamwolf-game-replay).gv-theme-night {
  --dw-frame: #1a2133;
  --dw-paper: #1d253a;
  --dw-paper-strong: #222b44;
  --dw-paper-muted: #2b3550;
  --dw-ink: #e8eaf3;
  --dw-muted: #a9b3ca;
  --dw-line: rgba(180, 195, 226, 0.18);
  --dw-line-strong: rgba(180, 195, 226, 0.3);
  --dw-brand: #cbb07a;
  --dw-brand-strong: #e9d29b;
  --dw-brand-soft: #3a3524;
  --dw-on-brand: #1a1f2e;
  --dw-gold: #e9d29b;
  --dw-link: #ecd79f;
  --dw-danger: #cd8b83;
  --dw-danger-strong: #ac6d66;
  --dw-on-danger: #fdf3ef;
  --dw-ok: #8fb08e;
  --dw-focus: rgba(233, 210, 155, 0.38);
  --dw-shadow: 0 18px 46px rgba(3, 6, 16, 0.6);
  --dw-row: rgba(30, 39, 60, 0.96);
  --dw-highlight: #3a3a54;
  --dw-entry: rgba(8, 12, 24, 0.92);
  --dw-entry-ink: #e8eaf3;
  --dw-page-bg:
    radial-gradient(ellipse 30% 11% at 13% 100%, rgba(56, 101, 86, 0.16), transparent 72%),
    radial-gradient(circle at 78% 10%, rgba(233, 210, 155, 0.16) 0 2.3rem, transparent 11rem),
    linear-gradient(to bottom, #182642 0%, #121d33 62%, #0c1424 86%, #0a1220 100%);
  --dw-timer-track: #303b56;
  --dw-timer-safe: #8fb08e;
  --dw-timer-warn: #e0bd7e;
  --dw-timer-danger: #cd8b83;
  --dw-timer-sudden: #b79ad6;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme:is(.diamwolf-game-play2, .diamwolf-game-replay).gv-theme-aftergame {
  --dw-frame: #35272a;
  --dw-paper: #2c2326;
  --dw-paper-strong: #332729;
  --dw-paper-muted: #3d3033;
  --dw-ink: #f0e4e2;
  --dw-muted: #c2aaac;
  --dw-line: rgba(236, 205, 201, 0.16);
  --dw-line-strong: rgba(236, 205, 201, 0.3);
  --dw-brand: #bd7d77;
  --dw-brand-strong: #dc9f97;
  --dw-brand-soft: #4a3230;
  --dw-on-brand: #231719;
  --dw-gold: #caa07a;
  --dw-link: #ecc0b4;
  --dw-danger: #c07a72;
  --dw-danger-strong: #a35d55;
  --dw-on-danger: #fdf4f1;
  --dw-ok: #94ae94;
  --dw-focus: rgba(220, 159, 151, 0.4);
  --dw-shadow: 0 18px 46px rgba(10, 6, 7, 0.55);
  --dw-row: rgba(45, 35, 37, 0.94);
  --dw-highlight: #4c3733;
  --dw-entry: rgba(28, 20, 22, 0.92);
  --dw-entry-ink: #f0e4e2;
  --dw-page-bg:
    radial-gradient(circle at 8% 0%, rgba(152, 83, 76, 0.22), transparent 28rem),
    linear-gradient(155deg, #513c3d 0%, #2a2023 42%, #1a1416 100%);
  --dw-timer-track: #3d3033;
  --dw-timer-safe: #94ae94;
  --dw-timer-warn: #dcb27c;
  --dw-timer-danger: #c07a72;
  --dw-timer-sudden: #b193c9;
}

/* 歷史明細沒有 gv-theme class，固定使用終局色盤。 */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] {
  --dw-frame: #35272a;
  --dw-paper: #2c2326;
  --dw-paper-strong: #332729;
  --dw-paper-muted: #3d3033;
  --dw-ink: #f0e4e2;
  --dw-muted: #c2aaac;
  --dw-line: rgba(236, 205, 201, 0.16);
  --dw-line-strong: rgba(236, 205, 201, 0.3);
  --dw-brand: #bd7d77;
  --dw-brand-strong: #dc9f97;
  --dw-brand-soft: #4a3230;
  --dw-on-brand: #231719;
  --dw-gold: #caa07a;
  --dw-link: #ecc0b4;
  --dw-danger: #c07a72;
  --dw-danger-strong: #a35d55;
  --dw-on-danger: #fdf4f1;
  --dw-ok: #94ae94;
  --dw-focus: rgba(220, 159, 151, 0.4);
  --dw-shadow: 0 18px 46px rgba(10, 6, 7, 0.55);
  --dw-shadow-sm: 0 8px 22px rgba(10, 6, 7, 0.4);
  --dw-row: rgba(45, 35, 37, 0.94);
  --dw-highlight: #4c3733;
  --dw-entry: rgba(28, 20, 22, 0.92);
  --dw-entry-ink: #f0e4e2;
  --dw-timer-track: #3d3033;
  --dw-timer-safe: #94ae94;
  --dw-timer-warn: #dcb27c;
  --dw-timer-danger: #c07a72;
  --dw-timer-sudden: #b193c9;
}

/* ===== 暗色：現代遊戲 token 對應 ===== */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 {
  --diamwolf-gp2-night: var(--dw-frame);
  --diamwolf-gp2-night-soft: var(--dw-paper-muted);
  --diamwolf-gp2-brand: var(--dw-brand);
  --diamwolf-gp2-brand-strong: var(--dw-brand-strong);
  --diamwolf-gp2-brand-soft: var(--dw-brand-soft);
  --diamwolf-gp2-gold: var(--dw-gold);
  --diamwolf-gp2-green: var(--dw-ok);
  --diamwolf-gp2-paper: var(--dw-paper);
  --diamwolf-gp2-paper-strong: var(--dw-paper-strong);
  --diamwolf-gp2-paper-muted: var(--dw-paper-muted);
  --diamwolf-gp2-ink: var(--dw-ink);
  --diamwolf-gp2-muted: var(--dw-muted);
  --diamwolf-gp2-line: var(--dw-line);
  --diamwolf-gp2-dark-line: var(--dw-line-strong);
  --diamwolf-gp2-shadow: var(--dw-shadow);
  --diamwolf-gp2-entry: var(--dw-entry);
  --diamwolf-gp2-entry-ink: var(--dw-entry-ink);
  --diamwolf-gp2-system: var(--dw-paper-muted);
  --diamwolf-gp2-row: var(--dw-row);
  --diamwolf-gp2-hover: var(--dw-highlight);
  --diamwolf-gp2-vote-head: rgba(0, 0, 0, 0.28);
  --diamwolf-gp2-danger: var(--dw-danger);
  --diamwolf-gp2-danger-strong: var(--dw-danger-strong);
  --diamwolf-gp2-link: var(--dw-link);
  --diamwolf-gp2-focus: var(--dw-focus);
  --diamwolf-gp2-on-brand: var(--dw-on-brand);
  --diamwolf-gp2-on-danger: var(--dw-on-danger);
  --diamwolf-gp2-page-overlay: var(--dw-page-bg);
  --diamwolf-gp2-timer-track: var(--dw-timer-track);
  --diamwolf-gp2-timer-safe: var(--dw-timer-safe);
  --diamwolf-gp2-timer-warn: var(--dw-timer-warn);
  --diamwolf-gp2-timer-danger: var(--dw-timer-danger);
  --diamwolf-gp2-timer-suddendeath: var(--dw-timer-sudden);
  --gv-player-frame-bg: var(--dw-paper);
  --gv-player-frame-line: var(--dw-line-strong);
  --gv-player-frame-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
  --gv-player-legend-bg: var(--dw-paper-muted);
  --gv-player-legend-line: var(--dw-line-strong);
  --gv-player-legend-text: var(--dw-ink);
  --gv-player-tray-bg: var(--dw-paper-muted);
  --gv-player-tray-line: var(--dw-line);
  --gv-player-card-bg: var(--dw-paper-strong);
  --gv-player-card-line: var(--dw-line-strong);
  --gv-player-card-text: var(--dw-ink);
  --gv-player-card-muted: var(--dw-muted);
  --gv-player-card-hover: var(--dw-highlight);
  --gv-player-card-selected-bg: var(--dw-brand-soft);
  --gv-player-card-selected-line: var(--dw-brand);
  --gv-player-accent: var(--dw-brand);
  --gv-player-accent-strong: var(--dw-brand-strong);
  --gv-player-accent-on: var(--dw-frame);
  --gv-player-link: var(--dw-link);
  --gv-player-scroll-track: var(--dw-paper-muted);
  --gv-player-scroll-thumb: var(--dw-muted);
}

/* 遊戲與重播共用事件色票，播放階段切換不能讓事件退回大面積亮底。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme:is(.diamwolf-game-play2, .diamwolf-game-replay) {
  --gv-kind-phase-night-bg: #2f3757;
  --gv-kind-phase-night-accent: #b3c2ea;
  --gv-kind-phase-morning-bg: #3c3322;
  --gv-kind-phase-morning-accent: #e6bd78;
  --gv-kind-last-words-bg: #322c45;
  --gv-kind-last-words-accent: #bfb2e6;
  --gv-kind-victory-wolf-bg: #45262c;
  --gv-kind-victory-wolf-accent: #e59a90;
  --gv-kind-victory-wolf-text: #fbeae7;
  --gv-kind-victory-lover-bg: #43263a;
  --gv-kind-victory-lover-accent: #eda2c8;
  --gv-kind-victory-lover-text: #fcebf4;
  --gv-kind-victory-fox-bg: #35284a;
  --gv-kind-victory-fox-accent: #bda1e0;
  --gv-kind-victory-fox-text: #f4edfd;
  --gv-kind-victory-human-bg: #26382f;
  --gv-kind-victory-human-accent: #93c4a5;
  --gv-kind-victory-draw-bg: #2f2b33;
  --gv-kind-victory-draw-accent: #c8b9cb;
  --gv-kind-victory-draw-text: #f4eef5;
  --gv-kind-victory-custom-bg: #23402f;
  --gv-kind-victory-custom-accent: #9fd0ad;
  --gv-kind-victory-custom-text: #edf9f1;
  --gv-kind-victory-night-bg: #262d4b;
  --gv-kind-victory-night-accent: #aebde6;
  --gv-kind-victory-night-text: #f1f4fd;
  --gv-kind-victory-loss-bg: #3a2a2f;
  --gv-kind-victory-loss-accent: #d6a8b0;
  --gv-kind-victory-loss-text: #fbeef0;
  --gv-kind-death-bg: #3f2629;
  --gv-kind-death-accent: #e59a90;
  --gv-kind-vote-bg: #2c374b;
  --gv-kind-vote-accent: #a6bde0;
  --gv-kind-role-result-bg: #322a41;
  --gv-kind-role-result-accent: #b9a4d6;
  --gv-kind-night-action-bg: #223b3a;
  --gv-kind-night-action-accent: #93c6c4;
  --gv-kind-room-action-bg: #3b2e25;
  --gv-kind-room-action-accent: #d8a98f;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .new-main > .game-play-page {
  color: var(--dw-ink);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2.gv-theme-beforegame {
  background:
    radial-gradient(circle at 8% 0%, rgba(86, 165, 156, 0.18), transparent 28rem),
    linear-gradient(155deg, #1b3a3a 0%, #102626 40%, #081516 100%) fixed no-repeat !important;
  background-size: 100vw 100vh !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2.gv-theme-day {
  background:
    radial-gradient(circle at 78% 9%, rgba(239, 201, 126, 0.2) 0 3rem, transparent 13rem),
    linear-gradient(to bottom, #3a402f 0%, #2b3125 62%, #20251a 86%, #1a1f16 100%) fixed no-repeat !important;
  background-size: 100vw 100vh !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2.gv-theme-night {
  background:
    radial-gradient(ellipse 30% 11% at 13% 100%, rgba(56, 101, 86, 0.16), transparent 72%),
    radial-gradient(circle at 78% 10%, rgba(233, 210, 155, 0.16) 0 2.3rem, transparent 11rem),
    linear-gradient(to bottom, #182642 0%, #121d33 62%, #0c1424 86%, #0a1220 100%) fixed no-repeat !important;
  background-size: 100vw 100vh !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2.gv-theme-aftergame {
  background:
    radial-gradient(circle at 8% 0%, rgba(152, 83, 76, 0.22), transparent 28rem),
    linear-gradient(155deg, #513c3d 0%, #2a2023 42%, #1a1416 100%) fixed no-repeat !important;
  background-size: 100vw 100vh !important;
}

/* 系統訊息 severity：深底但保留語意色系。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-severity-normal {
  --gv-system-severity-bg: var(--dw-sev-normal-bg);
  --gv-system-severity-text: var(--dw-sev-normal-text);
  --gv-system-severity-accent: var(--dw-sev-normal-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-severity-notice {
  --gv-system-severity-bg: var(--dw-sev-notice-bg);
  --gv-system-severity-text: var(--dw-sev-notice-text);
  --gv-system-severity-accent: var(--dw-sev-notice-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-severity-info {
  --gv-system-severity-bg: var(--dw-sev-info-bg);
  --gv-system-severity-text: var(--dw-sev-info-text);
  --gv-system-severity-accent: var(--dw-sev-info-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-severity-positive {
  --gv-system-severity-bg: var(--dw-sev-positive-bg);
  --gv-system-severity-text: var(--dw-sev-positive-text);
  --gv-system-severity-accent: var(--dw-sev-positive-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-severity-warning {
  --gv-system-severity-bg: var(--dw-sev-warning-bg);
  --gv-system-severity-text: var(--dw-sev-warning-text);
  --gv-system-severity-accent: var(--dw-sev-warning-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-severity-danger {
  --gv-system-severity-bg: var(--dw-sev-danger-bg);
  --gv-system-severity-text: var(--dw-sev-danger-text);
  --gv-system-severity-accent: var(--dw-sev-danger-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-severity-critical {
  --gv-system-severity-bg: var(--dw-sev-critical-bg);
  --gv-system-severity-text: var(--dw-sev-critical-text);
  --gv-system-severity-accent: var(--dw-sev-critical-accent);
}

/* 遊戲內 kind 與 severity 同時存在；此處以較高權重把 token 指回 kind 色盤，
   讓日夜、遺書、死亡、投票、勝利等訊息在深底仍保有各自的語意色系。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-phase-night {
  --gv-system-severity-bg: var(--gv-kind-phase-night-bg);
  --gv-system-severity-text: #e8ecf9;
  --gv-system-severity-accent: var(--gv-kind-phase-night-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-phase-morning {
  --gv-system-severity-bg: var(--gv-kind-phase-morning-bg);
  --gv-system-severity-text: #f7ecd7;
  --gv-system-severity-accent: var(--gv-kind-phase-morning-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-last-words {
  --gv-system-severity-bg: var(--gv-kind-last-words-bg);
  --gv-system-severity-text: #ece7fa;
  --gv-system-severity-accent: var(--gv-kind-last-words-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-victory-wolf {
  --gv-system-severity-bg: var(--gv-kind-victory-wolf-bg);
  --gv-system-severity-text: var(--gv-kind-victory-wolf-text, #fbeae7);
  --gv-system-severity-accent: var(--gv-kind-victory-wolf-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-victory-lover {
  --gv-system-severity-bg: var(--gv-kind-victory-lover-bg);
  --gv-system-severity-text: var(--gv-kind-victory-lover-text, #fcebf4);
  --gv-system-severity-accent: var(--gv-kind-victory-lover-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-victory-fox {
  --gv-system-severity-bg: var(--gv-kind-victory-fox-bg);
  --gv-system-severity-text: var(--gv-kind-victory-fox-text, #f4edfd);
  --gv-system-severity-accent: var(--gv-kind-victory-fox-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-victory-human {
  --gv-system-severity-bg: var(--gv-kind-victory-human-bg);
  --gv-system-severity-text: #e6f4e9;
  --gv-system-severity-accent: var(--gv-kind-victory-human-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-victory-draw {
  --gv-system-severity-bg: var(--gv-kind-victory-draw-bg);
  --gv-system-severity-text: var(--gv-kind-victory-draw-text, #f4eef5);
  --gv-system-severity-accent: var(--gv-kind-victory-draw-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-victory-custom {
  --gv-system-severity-bg: var(--gv-kind-victory-custom-bg);
  --gv-system-severity-text: var(--gv-kind-victory-custom-text, #edf9f1);
  --gv-system-severity-accent: var(--gv-kind-victory-custom-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-victory-night {
  --gv-system-severity-bg: var(--gv-kind-victory-night-bg);
  --gv-system-severity-text: var(--gv-kind-victory-night-text, #f1f4fd);
  --gv-system-severity-accent: var(--gv-kind-victory-night-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-victory-loss {
  --gv-system-severity-bg: var(--gv-kind-victory-loss-bg);
  --gv-system-severity-text: var(--gv-kind-victory-loss-text, #fbeef0);
  --gv-system-severity-accent: var(--gv-kind-victory-loss-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-death {
  --gv-system-severity-bg: var(--gv-kind-death-bg);
  --gv-system-severity-text: #fbe7e3;
  --gv-system-severity-accent: var(--gv-kind-death-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-vote {
  --gv-system-severity-bg: var(--gv-kind-vote-bg);
  --gv-system-severity-text: #e9eef8;
  --gv-system-severity-accent: var(--gv-kind-vote-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-role-result {
  --gv-system-severity-bg: var(--gv-kind-role-result-bg);
  --gv-system-severity-text: #efe9f8;
  --gv-system-severity-accent: var(--gv-kind-role-result-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-night-action {
  --gv-system-severity-bg: var(--gv-kind-night-action-bg);
  --gv-system-severity-text: #e5f4f3;
  --gv-system-severity-accent: var(--gv-kind-night-action-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-system-kind.gv-system-kind-room-action {
  --gv-system-severity-bg: var(--gv-kind-room-action-bg);
  --gv-system-severity-text: #f8ece4;
  --gv-system-severity-accent: var(--gv-kind-room-action-accent);
}

/* 遊戲內殘留的淺底硬編碼；天國列維持紫底以便與一般訊息區分。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .diamwolf_game_play_interface_select {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .diamwolf_game_play_interface_select option {
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-time-bar-label {
  color: #f7f3e8 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-filter-notice,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme #talkFilterNotice {
  border-color: var(--dw-line) !important;
  background: var(--dw-sev-warning-bg) !important;
  color: var(--dw-sev-warning-text) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-talk-heaven,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-talk-row.gv-talk-gm-bc-heaven {
  background: #453a52 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-rating-panel,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-rating-wrap {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page .gv-rating-comment {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper) !important;
  color: var(--dw-ink) !important;
}

/* Dockview 停駐面板沿用同一組 token。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page.diamwolf-docking :is(.diamwolf-dock-host, .dockview-theme-light) {
  --dv-color-gh-light-canvas-default: var(--dw-paper-strong);
  --dv-color-gh-light-canvas-subtle: var(--dw-paper-muted);
  --dv-color-gh-light-canvas-inset: var(--dw-paper);
  --dv-color-gh-light-border: var(--dw-line-strong);
  --dv-color-gh-light-fg-default: var(--dw-ink);
  --dv-color-gh-light-fg-muted: var(--dw-muted);
  --dv-color-gh-light-fg-subtle: var(--dw-muted);
  --dv-color-gh-light-accent: var(--dw-brand);
  color-scheme: dark;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-play2 .game-play-page.diamwolf-docking :is(
  .dockview-theme-light,
  .dv-floating-titlebar,
  .dv-tabs-and-actions-container,
  .dv-groupview
) {
  background-color: var(--dw-paper-strong);
  color: var(--dw-ink);
}

/* ===== 暗色：歷史明細（固定終局色盤） ===== */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] {
  --diamwolf-gp2-night: var(--dw-frame);
  --diamwolf-gp2-brand: var(--dw-brand);
  --diamwolf-gp2-brand-strong: var(--dw-brand-strong);
  --diamwolf-gp2-brand-soft: var(--dw-brand-soft);
  --diamwolf-gp2-gold: var(--dw-gold);
  --diamwolf-gp2-paper: var(--dw-paper);
  --diamwolf-gp2-paper-strong: var(--dw-paper-strong);
  --diamwolf-gp2-paper-muted: var(--dw-paper-muted);
  --diamwolf-gp2-ink: var(--dw-ink);
  --diamwolf-gp2-muted: var(--dw-muted);
  --diamwolf-gp2-line: var(--dw-line);
  --diamwolf-gp2-dark-line: var(--dw-line-strong);
  --diamwolf-gp2-shadow: var(--dw-shadow);
  --diamwolf-gp2-entry: var(--dw-entry);
  --diamwolf-gp2-system: var(--dw-paper-muted);
  --diamwolf-gp2-row: var(--dw-row);
  --diamwolf-gp2-hover: var(--dw-highlight);
  --diamwolf-gp2-vote-head: rgba(0, 0, 0, 0.28);
  --diamwolf-gp2-on-brand: var(--dw-on-brand);
  --diamwolf-gp2-link: var(--dw-link);
  --gv-player-frame-bg: var(--dw-paper);
  --gv-player-frame-line: var(--dw-line-strong);
  --gv-player-frame-shadow: 0 8px 20px rgba(10, 6, 7, 0.42);
  --gv-player-legend-bg: var(--dw-paper-muted);
  --gv-player-legend-line: var(--dw-line-strong);
  --gv-player-legend-text: var(--dw-ink);
  --gv-player-tray-bg: var(--dw-paper-muted);
  --gv-player-tray-line: var(--dw-line);
  --gv-player-card-bg: var(--dw-paper-strong);
  --gv-player-card-line: var(--dw-line-strong);
  --gv-player-card-text: var(--dw-ink);
  --gv-player-card-muted: var(--dw-muted);
  --gv-player-card-hover: var(--dw-highlight);
  --gv-player-card-selected-bg: var(--dw-brand-soft);
  --gv-player-card-selected-line: var(--dw-brand);
  --gv-player-accent: var(--dw-brand);
  --gv-player-accent-strong: var(--dw-brand-strong);
  --gv-player-accent-on: var(--dw-frame);
  --gv-player-link: var(--dw-link);
  --gv-player-scroll-track: var(--dw-paper-muted);
  --gv-player-scroll-thumb: var(--dw-muted);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .new-main > .log-view-room-page {
  border-color: var(--dw-line) !important;
  background: var(--dw-page-bg) !important;
  color: var(--dw-ink) !important;
  box-shadow: var(--dw-shadow);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page :where(
  .gv-player-fieldset,
  .gv-info-fieldset,
  .gv-talk-fieldset
) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
  color: var(--dw-ink) !important;
  box-shadow: var(--dw-shadow-sm);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page :where(
  .gv-player-list-simple,
  .gv-room-info,
  .gv-talk-log
) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-player-list-simple {
  background: var(--dw-paper-muted) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-player-item {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-player-item:hover {
  border-color: var(--dw-brand) !important;
  background: var(--dw-highlight) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-player-mode-btn,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-player-mode-btn:is(:active, :focus, :hover, :visited) {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-player-mode-btn.is-active {
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row {
  border-color: var(--dw-line) !important;
  background: var(--dw-row) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page :where(.gv-talk-meta, .gv-talk-time-ref) {
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-body {
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row a,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row a:is(:active, :focus, :hover, :visited) {
  color: var(--dw-link) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.log-talk-phase-night {
  border-color: rgba(154, 168, 210, 0.4) !important;
  background: #202844 !important;
  color: #e8eaf5 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.log-talk-phase-night :is(.gv-talk-meta, .gv-talk-body, .gv-talk-time-ref) {
  color: #dbe1f2 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.log-talk-phase-night a,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.log-talk-phase-night a:is(:active, :focus, :hover, :visited) {
  color: #a9c2f0 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.log-talk-phase-heaven {
  border-color: rgba(196, 168, 220, 0.4) !important;
  background: #3b3247 !important;
  color: #efe9f6 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.log-talk-phase-heaven :is(.gv-talk-meta, .gv-talk-time-ref, .gv-talk-body) {
  color: #efe9f6 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.log-talk-phase-heaven a,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.log-talk-phase-heaven a:is(:active, :focus, :hover, :visited) {
  color: #e2c2f0 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.is-system {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-severity,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind {
  border-color: var(--gv-log-system-border) !important;
  border-left-color: var(--gv-log-system-accent) !important;
  background: var(--gv-log-system-bg) !important;
  color: var(--gv-log-system-text) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-severity :where(.gv-talk-meta, .gv-talk-body, .gv-talk-body *),
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind :where(.gv-talk-meta, .gv-talk-body, .gv-talk-body *) {
  color: var(--gv-log-system-text) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row:is(.gv-system-severity, .gv-system-kind) :is(.gv-talk-meta, .gv-talk-body) a,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row:is(.gv-system-severity, .gv-system-kind) :is(.gv-talk-meta, .gv-talk-body) a:is(:active, :focus, :hover, :visited) {
  color: var(--gv-log-system-link) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-severity-normal,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-system {
  --gv-log-system-bg: var(--dw-sev-normal-bg);
  --gv-log-system-border: rgba(143, 179, 162, 0.42);
  --gv-log-system-accent: var(--dw-sev-normal-accent);
  --gv-log-system-text: var(--dw-sev-normal-text);
  --gv-log-system-link: #b6dcc4;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-severity-notice {
  --gv-log-system-bg: var(--dw-sev-notice-bg);
  --gv-log-system-border: rgba(216, 180, 104, 0.42);
  --gv-log-system-accent: var(--dw-sev-notice-accent);
  --gv-log-system-text: var(--dw-sev-notice-text);
  --gv-log-system-link: #f0cf96;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-severity-info {
  --gv-log-system-bg: var(--dw-sev-info-bg);
  --gv-log-system-border: rgba(163, 172, 220, 0.42);
  --gv-log-system-accent: var(--dw-sev-info-accent);
  --gv-log-system-text: var(--dw-sev-info-text);
  --gv-log-system-link: #c2c9f0;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-severity-positive {
  --gv-log-system-bg: var(--dw-sev-positive-bg);
  --gv-log-system-border: rgba(134, 192, 150, 0.42);
  --gv-log-system-accent: var(--dw-sev-positive-accent);
  --gv-log-system-text: var(--dw-sev-positive-text);
  --gv-log-system-link: #a9dcb6;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-severity-warning {
  --gv-log-system-bg: var(--dw-sev-warning-bg);
  --gv-log-system-border: rgba(224, 169, 100, 0.42);
  --gv-log-system-accent: var(--dw-sev-warning-accent);
  --gv-log-system-text: var(--dw-sev-warning-text);
  --gv-log-system-link: #f0c489;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-severity-danger {
  --gv-log-system-bg: var(--dw-sev-danger-bg);
  --gv-log-system-border: rgba(226, 144, 127, 0.42);
  --gv-log-system-accent: var(--dw-sev-danger-accent);
  --gv-log-system-text: var(--dw-sev-danger-text);
  --gv-log-system-link: #f5b6a9;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-severity-critical {
  --gv-log-system-bg: var(--dw-sev-critical-bg);
  --gv-log-system-border: rgba(240, 150, 140, 0.46);
  --gv-log-system-accent: var(--dw-sev-critical-accent);
  --gv-log-system-text: var(--dw-sev-critical-text);
  --gv-log-system-link: #ffc2b8;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-phase-night {
  --gv-log-system-bg: #2f3757;
  --gv-log-system-border: rgba(179, 194, 234, 0.4);
  --gv-log-system-accent: #b3c2ea;
  --gv-log-system-text: #e8ecf9;
  --gv-log-system-link: #c6d4f5;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-phase-morning {
  --gv-log-system-bg: #3c3322;
  --gv-log-system-border: rgba(230, 189, 120, 0.4);
  --gv-log-system-accent: #e6bd78;
  --gv-log-system-text: #f7ecd7;
  --gv-log-system-link: #f2cf9b;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-last-words {
  --gv-log-system-bg: #322c45;
  --gv-log-system-border: rgba(191, 178, 230, 0.4);
  --gv-log-system-accent: #bfb2e6;
  --gv-log-system-text: #ece7fa;
  --gv-log-system-link: #d7cbf5;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-victory-wolf {
  --gv-log-system-bg: #45262c;
  --gv-log-system-border: rgba(229, 154, 144, 0.42);
  --gv-log-system-accent: #e59a90;
  --gv-log-system-text: #fbeae7;
  --gv-log-system-link: #f7c1b8;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-victory-lover {
  --gv-log-system-bg: #43263a;
  --gv-log-system-border: rgba(237, 162, 200, 0.42);
  --gv-log-system-accent: #eda2c8;
  --gv-log-system-text: #fcebf4;
  --gv-log-system-link: #f8c4dd;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-victory-fox {
  --gv-log-system-bg: #35284a;
  --gv-log-system-border: rgba(189, 161, 224, 0.42);
  --gv-log-system-accent: #bda1e0;
  --gv-log-system-text: #f4edfd;
  --gv-log-system-link: #d8c1f2;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-victory-human {
  --gv-log-system-bg: #26382f;
  --gv-log-system-border: rgba(147, 196, 165, 0.4);
  --gv-log-system-accent: #93c4a5;
  --gv-log-system-text: #e6f4e9;
  --gv-log-system-link: #b2ddc0;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-victory-draw {
  --gv-log-system-bg: #2f2b33;
  --gv-log-system-border: rgba(200, 185, 203, 0.4);
  --gv-log-system-accent: #c8b9cb;
  --gv-log-system-text: #f4eef5;
  --gv-log-system-link: #ddd0e0;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-victory-custom {
  --gv-log-system-bg: #23402f;
  --gv-log-system-border: rgba(159, 208, 173, 0.4);
  --gv-log-system-accent: #9fd0ad;
  --gv-log-system-text: #edf9f1;
  --gv-log-system-link: #bce6c8;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-victory-night {
  --gv-log-system-bg: #262d4b;
  --gv-log-system-border: rgba(174, 189, 230, 0.4);
  --gv-log-system-accent: #aebde6;
  --gv-log-system-text: #f1f4fd;
  --gv-log-system-link: #c8d4f5;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-victory-loss {
  --gv-log-system-bg: #3a2a2f;
  --gv-log-system-border: rgba(214, 168, 176, 0.4);
  --gv-log-system-accent: #d6a8b0;
  --gv-log-system-text: #fbeef0;
  --gv-log-system-link: #eec5cb;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-death {
  --gv-log-system-bg: #3f2629;
  --gv-log-system-border: rgba(229, 154, 144, 0.42);
  --gv-log-system-accent: #e59a90;
  --gv-log-system-text: #fbe7e3;
  --gv-log-system-link: #f7bdb3;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-vote {
  --gv-log-system-bg: #2c374b;
  --gv-log-system-border: rgba(166, 189, 224, 0.4);
  --gv-log-system-accent: #a6bde0;
  --gv-log-system-text: #e9eef8;
  --gv-log-system-link: #c2d4ee;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-role-result {
  --gv-log-system-bg: #322a41;
  --gv-log-system-border: rgba(185, 164, 214, 0.4);
  --gv-log-system-accent: #b9a4d6;
  --gv-log-system-text: #efe9f8;
  --gv-log-system-link: #d3c1ea;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-night-action {
  --gv-log-system-bg: #223b3a;
  --gv-log-system-border: rgba(147, 198, 196, 0.4);
  --gv-log-system-accent: #93c6c4;
  --gv-log-system-text: #e5f4f3;
  --gv-log-system-link: #b2e0de;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-row.gv-system-kind-room-action {
  --gv-log-system-bg: #3b2e25;
  --gv-log-system-border: rgba(216, 169, 143, 0.4);
  --gv-log-system-accent: #d8a98f;
  --gv-log-system-text: #f8ece4;
  --gv-log-system-link: #eac6b3;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .log-vote-record-head {
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page :where(.log-vote-record-grid, .log-vote-record-cell) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .log-vote-record-header .log-vote-record-cell {
  background: var(--dw-paper-muted) !important;
  color: var(--dw-brand-strong) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .log-default-inside,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .log-options-fieldset {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .log-option-link,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .log-option-link:is(:active, :focus, :hover, :visited) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .log-option-link.is-active {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .log-floating-back-btn {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .log-talk-tabs,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme.diamwolf_keep_transparency[data-wrapper-page="log_viewer"] .log-view-room-page .gv-talk-tabs {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
}

/* ===== 暗色：歷史重播 token 對應 ===== */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay {
  --diamwolf-replay-brand: var(--dw-brand);
  --diamwolf-replay-brand-strong: var(--dw-brand-strong);
  --diamwolf-replay-on-brand: var(--dw-on-brand);
  --diamwolf-replay-gold: var(--dw-gold);
  --diamwolf-replay-paper: var(--dw-paper);
  --diamwolf-replay-paper-strong: var(--dw-paper-strong);
  --diamwolf-replay-paper-muted: var(--dw-paper-muted);
  --diamwolf-replay-ink: var(--dw-ink);
  --diamwolf-replay-muted: var(--dw-muted);
  --diamwolf-replay-line: var(--dw-line);
  --diamwolf-replay-dark-line: var(--dw-line-strong);
  --diamwolf-replay-entry: var(--dw-entry);
  --diamwolf-replay-entry-ink: var(--dw-entry-ink);
  --diamwolf-replay-system: var(--dw-paper-muted);
  --diamwolf-replay-row: var(--dw-row);
  --diamwolf-replay-link: var(--dw-link);
  --diamwolf-replay-page: var(--dw-page-bg);
  --diamwolf-replay-shadow: var(--dw-shadow);
  --diamwolf-replay-frame: var(--dw-paper);
  --diamwolf-replay-frame-line: var(--dw-line-strong);
  --diamwolf-replay-legend: var(--dw-paper-muted);
  --diamwolf-replay-legend-ink: var(--dw-ink);
  --diamwolf-replay-legend-line: var(--dw-line-strong);
  --diamwolf-replay-tray: var(--dw-paper-muted);
  --diamwolf-replay-card: var(--dw-paper-strong);
  --diamwolf-replay-card-line: var(--dw-line-strong);
  --diamwolf-replay-card-ink: var(--dw-ink);
  --diamwolf-replay-card-hover: var(--dw-highlight);
  --diamwolf-replay-card-muted: var(--dw-muted);
  --diamwolf-replay-player-link: var(--dw-link);
  --diamwolf-replay-card-selected: var(--dw-brand-soft);
  --diamwolf-replay-card-selected-line: var(--dw-brand);
  --diamwolf-replay-accent: var(--dw-brand);
  --diamwolf-replay-accent-strong: var(--dw-brand-strong);
  --diamwolf-replay-accent-on: var(--dw-frame);
  --diamwolf-replay-vote-head: rgba(0, 0, 0, 0.28);
  --diamwolf-replay-vote-bg: #2c374b;
  --diamwolf-replay-vote-accent: #a6bde0;
  --gv-player-scroll-track: var(--dw-paper-muted);
  --gv-player-scroll-thumb: var(--dw-muted);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page {
  border-color: var(--dw-line) !important;
  background: var(--dw-page-bg) !important;
  color: var(--dw-ink) !important;
  box-shadow: var(--dw-shadow);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page fieldset {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page fieldset > legend {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-muted) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-entry-fieldset {
  border-color: var(--dw-line) !important;
  border-top-color: var(--dw-brand) !important;
  background: var(--dw-entry) !important;
  color: var(--dw-entry-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-entry-fieldset > legend {
  background: transparent !important;
  color: var(--dw-gold) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-log-wrap,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-log {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-tabs .gv-talk-tab,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-tabs .gv-talk-tab:is(:active, :focus, :hover) {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-tabs .gv-talk-tab:is(:hover, :focus-visible, .is-active) {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-guest-talk-order-label,
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-guest-talk-order {
  border-color: var(--dw-line) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row {
  border-color: var(--dw-line) !important;
  background: var(--dw-row) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-talk-heaven {
  background: #3b3247 !important;
  color: #efe9f6 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-talk-heaven :is(.gv-talk-meta, .gv-talk-time-ref, .diamwolf_replay_talk_name) {
  color: #efe9f6 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-talk-heaven a:is(:link, :visited, :hover, :focus, :active) {
  color: #e2c2f0 !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.is-system {
  --diamwolf-replay-severity-bg: var(--dw-paper-muted);
  --diamwolf-replay-severity-ink: var(--dw-ink);
  --diamwolf-replay-severity-accent: var(--dw-brand);
  background: var(--diamwolf-replay-severity-bg) !important;
  border-color: var(--diamwolf-replay-severity-accent) !important;
  color: var(--diamwolf-replay-severity-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-severity-normal {
  --diamwolf-replay-severity-bg: var(--dw-sev-normal-bg);
  --diamwolf-replay-severity-ink: var(--dw-sev-normal-text);
  --diamwolf-replay-severity-accent: var(--dw-sev-normal-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-severity-notice {
  --diamwolf-replay-severity-bg: var(--dw-sev-notice-bg);
  --diamwolf-replay-severity-ink: var(--dw-sev-notice-text);
  --diamwolf-replay-severity-accent: var(--dw-sev-notice-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-severity-info {
  --diamwolf-replay-severity-bg: var(--dw-sev-info-bg);
  --diamwolf-replay-severity-ink: var(--dw-sev-info-text);
  --diamwolf-replay-severity-accent: var(--dw-sev-info-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-severity-positive {
  --diamwolf-replay-severity-bg: var(--dw-sev-positive-bg);
  --diamwolf-replay-severity-ink: var(--dw-sev-positive-text);
  --diamwolf-replay-severity-accent: var(--dw-sev-positive-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-severity-warning {
  --diamwolf-replay-severity-bg: var(--dw-sev-warning-bg);
  --diamwolf-replay-severity-ink: var(--dw-sev-warning-text);
  --diamwolf-replay-severity-accent: var(--dw-sev-warning-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-severity-danger {
  --diamwolf-replay-severity-bg: var(--dw-sev-danger-bg);
  --diamwolf-replay-severity-ink: var(--dw-sev-danger-text);
  --diamwolf-replay-severity-accent: var(--dw-sev-danger-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-severity-critical {
  --diamwolf-replay-severity-bg: var(--dw-sev-critical-bg);
  --diamwolf-replay-severity-ink: var(--dw-sev-critical-text);
  --diamwolf-replay-severity-accent: var(--dw-sev-critical-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-phase-night {
  --diamwolf-replay-severity-bg: var(--gv-kind-phase-night-bg);
  --diamwolf-replay-severity-ink: #e8ecf9;
  --diamwolf-replay-severity-accent: var(--gv-kind-phase-night-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-phase-morning {
  --diamwolf-replay-severity-bg: var(--gv-kind-phase-morning-bg);
  --diamwolf-replay-severity-ink: #f7ecd7;
  --diamwolf-replay-severity-accent: var(--gv-kind-phase-morning-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-last-words {
  --diamwolf-replay-severity-bg: var(--gv-kind-last-words-bg);
  --diamwolf-replay-severity-ink: #ece7fa;
  --diamwolf-replay-severity-accent: var(--gv-kind-last-words-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-victory-wolf {
  --diamwolf-replay-severity-bg: var(--gv-kind-victory-wolf-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-victory-wolf-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-victory-lover {
  --diamwolf-replay-severity-bg: var(--gv-kind-victory-lover-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-victory-lover-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-victory-fox {
  --diamwolf-replay-severity-bg: var(--gv-kind-victory-fox-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-victory-fox-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-victory-human {
  --diamwolf-replay-severity-bg: var(--gv-kind-victory-human-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-victory-human-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-victory-draw {
  --diamwolf-replay-severity-bg: var(--gv-kind-victory-draw-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-victory-draw-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-victory-custom {
  --diamwolf-replay-severity-bg: var(--gv-kind-victory-custom-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-victory-custom-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-victory-night {
  --diamwolf-replay-severity-bg: var(--gv-kind-victory-night-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-victory-night-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-victory-loss {
  --diamwolf-replay-severity-bg: var(--gv-kind-victory-loss-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-victory-loss-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-death {
  --diamwolf-replay-severity-bg: var(--gv-kind-death-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-death-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-role-result {
  --diamwolf-replay-severity-bg: var(--gv-kind-role-result-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-role-result-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-night-action {
  --diamwolf-replay-severity-bg: var(--gv-kind-night-action-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-night-action-accent);
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-row.gv-system-kind-room-action {
  --diamwolf-replay-severity-bg: var(--gv-kind-room-action-bg);
  --diamwolf-replay-severity-accent: var(--gv-kind-room-action-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-talk-log .gv-talk-row.gv-system-kind-vote {
  --diamwolf-replay-severity-bg: var(--diamwolf-replay-vote-bg);
  --diamwolf-replay-severity-ink: var(--dw-ink);
  --diamwolf-replay-severity-accent: var(--diamwolf-replay-vote-accent);
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page :where(button, select, input:not([type="range"])) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-entry-actions :is(button, .gv-pill-link) {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .gv-entry-actions :is(button, .gv-pill-link):hover {
  background: var(--dw-brand-strong) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .log-vote-record-grid {
  background: var(--dw-paper-muted) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .log-vote-record-row:nth-child(even):not(.log-vote-record-header) .log-vote-record-cell {
  background: var(--dw-paper) !important;
}

html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme.diamwolf-game-replay .diamwolf_replay_page .diamwolf_replay_village {
  border: 1px solid var(--dw-line);
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

/* 暗底不能沿用淺色卡片的深棕／深綠職業字；只調整顯示色，不碰玩家個人色。 */
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme :is(.game-view-page, .gv-player-slide-panel) :is(.gv-player-role-human, .gv-player-role-unknown, .gv-player-special-noble, .gv-player-special-slave, .gv-player-special-unknown) {
  color: var(--dw-muted) !important;
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme :is(.game-view-page, .gv-player-slide-panel) :is(.gv-player-special-authority, .gv-player-special-decide) {
  color: var(--dw-muted) !important;
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme :is(.game-view-page, .gv-player-slide-panel) :is(.gv-player-role-wolf, .gv-player-role-mad, .gv-player-role-spy, .gv-player-special-wfbig, .gv-player-special-wfasm, .gv-player-special-wfbsk) {
  color: #f29b92 !important;
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme :is(.game-view-page, .gv-player-slide-panel) .gv-player-role-mage {
  color: #c7a8ef !important;
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme :is(.game-view-page, .gv-player-slide-panel) :is(.gv-player-role-necromancer, .gv-player-role-poison, .gv-player-role-cat) {
  color: #98cfaa !important;
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme :is(.game-view-page, .gv-player-slide-panel) :is(.gv-player-role-fox, .gv-player-role-fosi, .gv-player-role-betr) {
  color: #e7a1d4 !important;
}
html[data-diamwolf-theme="dark"] body.new-body.diamwolf-wolf-theme :is(.game-view-page, .gv-player-slide-panel) .gv-player-role-guard {
  color: #91bffa !important;
}

/* ===== 暗色：共用回饋與 PWA 對話框 ===== */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-toast {
  border-color: var(--dw-line);
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-feedback-dialog {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-feedback-dialog :where(input, textarea) {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-feedback-dialog-confirm {
  border-color: var(--dw-brand) !important;
  background: var(--dw-brand) !important;
  color: var(--dw-on-brand) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf-feedback-dialog-confirm.danger {
  border-color: var(--dw-sev-danger-accent) !important;
  background: var(--dw-sev-danger-bg) !important;
  color: var(--dw-sev-danger-text) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf_pwa_links_dialog {
  background: var(--dw-paper-strong) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf_pwa_links_toolbar {
  background: var(--dw-frame) !important;
  color: var(--dw-ink) !important;
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf_pwa_links_dialog button,
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme .diamwolf_pwa_links_dialog .diamwolf_pwa_links_open {
  border-color: var(--dw-line-strong) !important;
  background: var(--dw-paper-muted) !important;
  color: var(--dw-ink) !important;
}

/* ===== 暗色：捲軸與選取 ===== */
html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme ::selection {
  background: var(--dw-brand);
  color: var(--dw-on-brand);
}

html[data-diamwolf-theme="dark"] body.diamwolf-wolf-theme * {
  scrollbar-color: var(--dw-scroll-thumb) var(--dw-scroll-track);
}

@media (prefers-reduced-motion: reduce) {
  .diamwolf-theme-menu,
  .diamwolf-theme-trigger,
  .diamwolf-theme-option {
    transition: none !important;
  }
}
