/* themes.css — 猪逻辑世界 主题变量统一定义（v4.48）
   新增主题：复制一段 body.theme-XX，改色值即可，所有页面自动生效 */

/* ========== 主题：温馨（粉红圆润） ========== */
body.theme-warm {
    --t-accent: #ff69b4; --t-accent2: #ffb6c1;
    --t-bg: linear-gradient(160deg, #fffbfc 0%, #fff0f5 100%); /* v4.91：整体背景改为很淡的渐变粉（比按钮粉更淡） */
    --t-fg: #8a2b52;
    --t-title: #c2185b;
    --t-title-shadow: 0 2px 8px rgba(255, 182, 193, 0.5);
    --t-btn-bg: linear-gradient(135deg, #ffb6c1, #ff69b4);
    --t-btn-fg: #fff;
    --t-btn-radius: 30px;
    --t-btn-shadow: 0 4px 15px rgba(255, 182, 193, 0.4);
    --t-sub-bg: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-sub-fg: #fff;
    --t-sub-radius: 25px;
    --t-sub-shadow: 0 4px 15px rgba(255, 182, 193, 0.4);
    --t-mini-bg: linear-gradient(135deg, #ffb6c1, #ff69b4);
    --t-mini-fg: #fff;
    --t-mini-radius: 50%; /* v4.52：温馨主题音量加减按钮圆形 */
    --t-mini-shadow: 0 3px 10px rgba(255, 182, 193, 0.4);
    --t-inp-bg: #fff;
    --t-inp-border: 1px solid #ffb6c1;
    --t-inp-radius: 12px;
    --t-inp-fg: #8a2b52;
    --t-panel-bg: #fff7fa;
    --t-panel-border: 2px solid #ffb6c1;
    --t-panel-radius: 20px;
    --t-panel-shadow: 0 8px 30px rgba(255, 105, 180, 0.3);
    --t-row-bg: rgba(255, 255, 255, 0.75);
    --t-row-border: 1px solid rgba(255, 182, 193, 0.6);
    --t-row-radius: 12px;
    --t-row-sel-bg: rgba(255, 105, 180, 0.35);
    --t-row-sel-border: #ff69b4;
    --t-chat-bg: #fff;
    --t-chat-border: 1px solid #ffb6c1;
    --t-chat-radius: 12px;
    --t-pager-fg: #ff69b4;
    --t-list-bg: rgba(255, 255, 255, 0.75);
    --t-list-border: 1px solid #ffb6c1;
    --t-list-radius: 12px;
    --t-page-btn-bg: linear-gradient(135deg, #ffb6c1, #ff69b4);
    --t-page-btn-fg: #fff;
    --t-page-btn-border: none;
    --t-page-btn-radius: 10px;
    --t-thumb-bg: linear-gradient(135deg, #ffb6c1, #ff69b4);
    --t-toggle-bg: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-toggle-fg: #fff;
    --t-toggle-border: none;
    --t-toggle-radius: 12px;
    --t-toggle-off-bg: #c9a0a0;
    --t-label-fg: #c2185b;
    --t-loading-fg: #ff69b4;
    /* ---- 子游戏页特有变量（pig_world 无对应组件） ---- */
    --t-gomoku-chat-inp-bg: #fff;
    --t-gomoku-chat-inp-border: 1px solid #ffb6c1;
    --t-gomoku-chat-inp-fg: #8a2b52;
    --t-gomoku-chat-inp-radius: 12px;
    --t-gomoku-chat-send-btn-radius: 25px;
    --t-gomoku-chat-send-btn-shadow: 0 4px 15px rgba(255, 182, 193, 0.4);
    --t-gomoku-h1-fg: #ffb6c1;
    --t-gomoku-hud-btn-bg: linear-gradient(135deg, #ffb6c1, #ff69b4);
    --t-gomoku-hud-btn-border: none;
    --t-gomoku-hud-btn-fg: #fff;
    --t-gomoku-hud-btn-radius: 30px;
    --t-gomoku-hud-btn-shadow: 0 4px 15px rgba(255, 182, 193, 0.4);
    --t-gomoku-menu-btn-main-bg: linear-gradient(135deg, #ffb6c1, #ff69b4);
    --t-gomoku-menu-btn-main-radius: 30px;
    --t-gomoku-menu-btn-main-shadow: 0 4px 15px rgba(255, 182, 193, 0.4);
    --t-gomoku-page-btn-bg: linear-gradient(135deg, #ffb6c1, #ff69b4);
    --t-gomoku-page-btn-border: none;
    --t-gomoku-page-btn-fg: #fff;
    --t-gomoku-page-btn-radius: 10px;
    --t-gomoku-set-select-bg: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-gomoku-set-select-radius: 20px;
    --t-gomoku-sub-menu-btn-bg: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-gomoku-sub-menu-btn-radius: 25px;
    --t-gomoku-sub-menu-btn-shadow: 0 4px 15px rgba(255, 154, 158, 0.4);
    --t-mines-h1-fg: #ffb6c1;
    --t-mines-menu-btn-main-bg: linear-gradient(135deg, #ffb6c1, #ff69b4);
    --t-mines-menu-btn-main-radius: 30px;
    --t-mines-menu-btn-main-shadow: 0 4px 15px rgba(255, 182, 193, 0.4);
    --t-mines-pause-menu-btn-bg: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-mines-pause-menu-btn-fg: #fff;
    --t-mines-pause-menu-btn-radius: 18px;
    --t-mines-pause-menu-btn-shadow: 0 3px 10px rgba(255, 154, 158, 0.4);
    --t-mines-set-select-bg: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-mines-set-select-radius: 20px;
    --t-mines-sub-menu-btn-bg: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-mines-sub-menu-btn-radius: 25px;
    --t-mines-sub-menu-btn-shadow: 0 4px 15px rgba(255, 154, 158, 0.4);
    --t-tang-gametimer-fg: #ffb6c1;
    --t-tang-gametimer-text-shadow: 0 0 10px rgba(255, 182, 193, 0.5);
    --t-tang-h1-fg: #ffb6c1;
    --t-tang-hud-btn-bg: linear-gradient(135deg, #ffb6c1, #ff69b4);
    --t-tang-hud-btn-border: none;
    --t-tang-hud-btn-fg: #fff;
    --t-tang-hud-btn-radius: 30px;
    --t-tang-hud-btn-shadow: 0 4px 15px rgba(255, 182, 193, 0.4);
    --t-tang-item-btn-bg: rgba(255, 182, 193, 0.16);
    --t-tang-item-btn-border-color: rgba(255, 182, 193, 0.65);
    --t-tang-item-btn-border: 2px solid rgba(255, 182, 193, 0.65); /* v4.92：补简写变量（防边框被 var(undef) 清掉） */
    --t-tang-item-btn-fg: #ffb6c1;
    --t-tang-joy-base-bg: rgba(255, 182, 193, 0.16);
    --t-tang-joy-base-border-color: rgba(255, 182, 193, 0.65);
    --t-tang-joy-base-border: 2px solid rgba(255, 182, 193, 0.65); /* v4.91：补简写变量（防边框被 var(undef) 清掉） */
    --t-tang-joy-knob-bg: rgba(255, 182, 193, 0.5);
    --t-tang-joy-knob-border-color: rgba(255, 182, 193, 0.9);
    --t-tang-joy-knob-border: 2px solid rgba(255, 182, 193, 0.9); /* v4.91：同上 */
    /* v4.91：温馨主题·游戏内玩家信息栏/道具按钮匹配（粉色系+圆角；状态色用柔和色） */
    --t-tang-mp-chip-bg: rgba(255, 255, 255, 0.72);
    --t-tang-mp-chip-border-color: rgba(255, 105, 180, 0.45);
    --t-tang-mp-chip-radius: 14px;
    --t-tang-mp-chip-chip-name-fg: #c2185b;
    --t-tang-mp-chip-chip-status-st-alive-fg: #66bb6a;   /* 存活·柔和绿 */
    --t-tang-mp-chip-chip-status-st-trapped-fg: #e57373; /* 被困·柔和红 */
    --t-tang-mp-chip-chip-status-st-dead-fg: #9e9e9e;    /* 出局·柔和灰 */
    --t-tang-item-btn-radius: 12px;
    --t-tang-menu-btn-main-bg: linear-gradient(135deg, #ffb6c1, #ff69b4);
    --t-tang-menu-btn-main-radius: 30px;
    --t-tang-menu-btn-main-shadow: 0 4px 15px rgba(255, 182, 193, 0.4);
    --t-tang-set-select-bg: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-tang-set-select-radius: 20px;
    --t-tang-sub-menu-btn-bg: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-tang-sub-menu-btn-radius: 25px;
    --t-tang-sub-menu-btn-shadow: 0 4px 15px rgba(255, 154, 158, 0.4);
    /* ---- snake/tetris/bomber/bubble 页变量（v4.48 并行批次） ---- */
    --t-body-bg: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    --t-body-bg-2: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    --t-body-bg-3: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    --t-body-fg: #fff;
    --t-body-fg-2: #fff;
    --t-body-fg-3: #fff;
    --t-body-font: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --t-btn-border-active: none;
    --t-controls-p-fg: #aaa;
    --t-d-btn-active-bg: rgba(255, 182, 193, 0.5);
    --t-d-btn-bc: rgba(255, 182, 193, 0.65);
    --t-d-btn-bd: 2px solid rgba(255, 182, 193, 0.6);
    --t-d-btn-bd-2: 2px solid rgba(255, 182, 193, 0.65);
    --t-d-btn-bg: rgba(255, 182, 193, 0.15);
    --t-d-btn-bg-2: rgba(255, 182, 193, 0.16);
    --t-d-btn-border-active: solid;
    --t-d-btn-fg: #ffb6c1;
    --t-d-btn-rad: 14px;
    --t-d-btn-rad-2: 10px;
    --t-d-btn-rad-3: 14px;
    --t-d-btn-sh: 0 3px 10px rgba(255, 182, 193, 0.4);
    --t-d-btn-sh-2: none;
    --t-drop-btn-bd: 2px solid rgba(255, 100, 100, 0.6);
    --t-drop-btn-bg: rgba(255, 100, 100, 0.2);
    --t-drop-btn-fg: #ff6b6b;
    --t-drop-btn-sh: none;
    --t-fire-btn-bc: rgba(255, 215, 0, 0.7);
    --t-fire-btn-bd: 3px solid rgba(255, 215, 0, 0.7);
    --t-fire-btn-bg: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-fire-btn-bg-2: rgba(255, 215, 0, 0.18);
    --t-fire-btn-rad: 25px;
    --t-fire-btn-rad-2: 50%;
    --t-fire-btn-rad-3: 50%;
    --t-fire-btn-sh: 0 3px 10px rgba(255, 182, 193, 0.4);
    --t-fire-btn-sh-2: none;
    --t-fire-btn-sh-3: 0 4px 15px rgba(255, 182, 193, 0.45);
    --t-fire-btn-tsh: none;
    --t-game-over-overlay-bg: rgba(0, 0, 0, 0.85);
    --t-game-over-overlay-bg-2: rgba(0, 0, 0, 0.85);
    --t-game-over-overlay-bg-3: rgba(0, 0, 0, 0.85);
    --t-game-over-overlay-h2-fg: #ff6b6b;
    --t-game-over-overlay-h2-fg-2: #ff6b6b;
    --t-game-over-overlay-h2-fg-3: #ffb6c1;
    --t-game-over-overlay-h2-tsh: none;
    --t-gamecanvas-bc: rgba(255, 182, 193, 0.6);
    --t-gamecanvas-bg: #0a0a1a;
    --t-gamecanvas-sh: 0 0 30px rgba(255, 182, 193, 0.2), 0 0 60px rgba(255, 182, 193, 0.1);
    --t-gamecanvas-sh-2: 0 0 30px rgba(255, 182, 193, 0.2), 0 0 60px rgba(255, 182, 193, 0.1);
    --t-gametimer-tsh: 0 0 10px rgba(255, 182, 193, 0.5);
    --t-h1-fg: #fff;
    --t-h1-fg-2: #ffc2d4;
    --t-h1-tsh: 0 0 20px rgba(255, 182, 193, 0.5);
    --t-joy-base-bc: rgba(255, 182, 193, 0.65);
    --t-joy-base-bd: 2px solid rgba(255, 182, 193, 0.65);
    --t-joy-base-bg: rgba(255, 182, 193, 0.16);
    --t-joy-base-sh: none;
    --t-joy-knob-bc: rgba(255, 182, 193, 0.9);
    --t-joy-knob-bd: 2px solid rgba(255, 182, 193, 0.9);
    --t-joy-knob-bg: rgba(255, 182, 193, 0.5);
    --t-main-menu-overlay-bg: rgba(0, 0, 0, 0.92);
    --t-main-menu-overlay-bg-2: rgba(0, 0, 0, 0.92);
    --t-main-menu-overlay-bg-3: rgba(0, 0, 0, 0.92);
    --t-main-menu-overlay-h2-tsh: none;
    --t-main-menu-overlay-p-fg: #aaa;
    --t-main-menu-overlay-p-fg-2: #aaa;
    --t-main-menu-overlay-p-fg-3: #aaa;
    --t-menu-btn-main-sh: 0 4px 15px rgba(255, 182, 193, 0.4);
    --t-menu-btn-main-sh-2: 0 4px 15px rgba(255, 182, 193, 0.4);
    --t-mp-chip-bc: rgba(255, 255, 255, 0.15);
    --t-mp-chip-bd: 1px solid rgba(255, 255, 255, 0.15);
    --t-mp-chip-bd-2: 1px solid rgba(255, 255, 255, 0.15);
    --t-mp-chip-chip-status-fg: #aaa;
    --t-mp-chip-rad: 16px;
    --t-mp-chip-rad-2: 16px;
    --t-mp-chip-turn-bc: #ffd700;
    --t-mp-chip-turn-sh: 0 0 10px rgba(255, 215, 0, 0.35);
    --t-mp-field-label-fg: #ffb6c1;
    --t-mp-input-bd: 1px solid rgba(255, 255, 255, 0.3);
    --t-mp-input-bd-2: 1px solid rgba(255, 255, 255, 0.3);
    --t-mp-input-bg: rgba(255, 255, 255, 0.08);
    --t-mp-input-fg: #fff;
    --t-mp-input-fg-2: #fff;
    --t-mp-input-rad: 12px;
    --t-mp-slot-bd: none;
    --t-mp-slot-bd-2: none;
    --t-mp-slot-bg: rgba(255, 255, 255, 0.07);
    --t-pause-btn-bd: 2px solid rgba(255, 215, 0, 0.6);
    --t-pause-btn-bg: rgba(255, 215, 0, 0.15);
    --t-pause-menu-btn-sh: 0 4px 15px rgba(255, 182, 193, 0.4);
    --t-pauseoverlay-h2-fg: #ffd700;
    --t-pauseoverlay-h2-fg-2: #fff;
    --t-pauseoverlay-h2-fg-3: #fff;
    --t-score-bd: 1px solid rgba(255, 255, 255, 0.2);
    --t-score-bdf: blur(10px);
    --t-score-bg: rgba(255, 255, 255, 0.1);
    --t-score-box-bd: 1px solid rgba(255, 255, 255, 0.2);
    --t-score-box-rad: 20px;
    --t-score-span-fg: #ffb6c1;
    --t-score-span-tsh: none;
    --t-set-btn-bg: linear-gradient(135deg, #ffb6c1, #ff69b4);
    --t-set-btn-rad: 50%;
    --t-set-btn-sh: 0 3px 10px rgba(255, 182, 193, 0.4);
    --t-set-select-bd: none;
    --t-set-select-bg: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-set-select-bg-2: linear-gradient(135deg, #ff9a9e, #fecfef);
    --t-set-select-fg: white;
    --t-set-select-rad: 20px;
    --t-set-select-sh: 0 3px 10px rgba(255, 154, 158, 0.4);
    --t-set-select-tsh: none;
    --t-spectatebanner-bc: rgba(255,255,255,0.25);
    --t-spectatebanner-bd: 1px solid rgba(255,255,255,0.25);
    --t-spectatebanner-bg: rgba(0,0,0,0.6);
    --t-sub-border-active: none;
    --t-sub-menu-btn-sh: 0 4px 15px rgba(255, 154, 158, 0.4);
    --t-sub-menu-btn-sh-2: 0 4px 15px rgba(255, 154, 158, 0.4);
}

/* ========== 主题：简洁（蓝白矩形） ========== */
body.theme-simple {
    --t-accent: #0b62d6; --t-accent2: #b9c8e0;
    --t-bg: #f5f8ff;
    --t-fg: #1c2b4a;
    --t-font: system-ui, 'Segoe UI', sans-serif;
    --t-title: #0b62d6;
    --t-btn-bg: #0b62d6;
    --t-btn-fg: #fff;
    --t-btn-radius: 4px;
    --t-btn-shadow: 0 2px 6px rgba(11, 98, 214, 0.25);
    --t-sub-bg: #fff;
    --t-sub-fg: #0b62d6;
    --t-sub-border: 1px solid #0b62d6;
    --t-sub-radius: 4px;
    --t-mini-bg: #0b62d6;
    --t-mini-fg: #fff;
    --t-mini-radius: 4px;
    --t-inp-bg: #fff;
    --t-inp-border: 1px solid #b9c8e0;
    --t-inp-bare-border: 1px solid #0b62d6; /* v4.62：简洁主题注册名字裸输入框线框 */
    --t-inp-radius: 4px;
    --t-inp-fg: #1c2b4a;
    --t-panel-bg: #fff;
    --t-panel-border: 1px solid #c9d2e0;
    --t-panel-radius: 6px;
    --t-panel-shadow: 0 6px 24px rgba(30, 60, 120, 0.15);
    --t-row-bg: #fff;
    --t-row-border: 1px solid #dbe4f2;
    --t-row-radius: 4px;
    --t-row-sel-bg: #e3eeff;
    --t-row-sel-border: #0b62d6;
    --t-chat-bg: #fff;
    --t-chat-border: 1px solid #dbe4f2;
    --t-chat-radius: 4px;
    --t-pager-fg: #0b62d6;
    --t-list-bg: #fff;
    --t-list-border: 1px solid #dbe4f2;
    --t-list-radius: 4px;
    --t-page-btn-bg: #0b62d6;
    --t-page-btn-fg: #fff;
    --t-page-btn-border: none;
    --t-page-btn-radius: 4px;
    --t-thumb-bg: #0b62d6;
    --t-toggle-bg: #fff;
    --t-toggle-fg: #0b62d6;
    --t-toggle-border: 1px solid #0b62d6;
    --t-toggle-radius: 4px;
    --t-toggle-off-fg: #98a4b8;
    --t-toggle-off-border: #98a4b8;
    --t-label-fg: #0b62d6;
    --t-loading-fg: #0b62d6;
    /* ---- 子游戏页特有变量（pig_world 无对应组件） ---- */
    --t-gomoku-body-bg: #eef4ff;
    --t-gomoku-body-fg: #1a2b4a;
    --t-gomoku-body-font: system-ui, 'Segoe UI', sans-serif;
    --t-gomoku-chat-inp-bg: #fff;
    --t-gomoku-chat-inp-border: 1px solid #b9c8e0;
    --t-gomoku-chat-inp-fg: #1c2b4a;
    --t-gomoku-chat-inp-radius: 4px;
    --t-gomoku-game-over-overlay-final-score-span-fg: #0b62d6;
    --t-gomoku-h1-fg: #0b62d6;
    --t-gomoku-h1-text-shadow: none;
    --t-gomoku-hud-btn-bg: #0b62d6;
    --t-gomoku-hud-btn-border: none;
    --t-gomoku-hud-btn-fg: #fff;
    --t-gomoku-hud-btn-radius: 4px;
    --t-gomoku-hud-btn-shadow: 0 2px 6px rgba(11, 98, 214, 0.25);
    --t-gomoku-main-menu-overlay-bg: rgba(238, 244, 255, 0.97);
    --t-gomoku-main-menu-overlay-h2-fg: #0b62d6;
    --t-gomoku-main-menu-overlay-p-fg: #5a6b8a;
    --t-gomoku-menu-btn-main-bg: #0b62d6;
    --t-gomoku-menu-btn-main-fg: #fff;
    --t-gomoku-menu-btn-main-radius: 4px;
    --t-gomoku-menu-btn-main-shadow: 0 2px 6px rgba(11, 98, 214, 0.25);
    --t-gomoku-mp-chip-bg: #fff;
    --t-gomoku-mp-chip-border-color: #c9d8f2;
    --t-gomoku-mp-chip-chip-status-fg: #7a8aa5;
    --t-gomoku-page-btn-bg: #0b62d6;
    --t-gomoku-page-btn-border: none;
    --t-gomoku-page-btn-fg: #fff;
    --t-gomoku-page-btn-radius: 4px;
    --t-gomoku-page-btn-shadow: none;
    --t-gomoku-set-label-fg: #0b62d6;
    --t-gomoku-set-select-bg: #fff;
    --t-gomoku-set-select-border: 1px solid #0b62d6;
    --t-gomoku-set-select-fg: #0b62d6;
    --t-gomoku-set-select-radius: 4px;
    --t-gomoku-set-select-shadow: none;
    --t-gomoku-sub-menu-btn-bg: #fff;
    --t-gomoku-sub-menu-btn-border: 1px solid #0b62d6;
    --t-gomoku-sub-menu-btn-fg: #0b62d6;
    --t-gomoku-sub-menu-btn-radius: 4px;
    --t-gomoku-sub-menu-btn-shadow: none;
    --t-mines-body-bg: #eef4ff;
    --t-mines-body-fg: #1a2b4a;
    --t-mines-body-font: system-ui, 'Segoe UI', sans-serif;
    --t-mines-bottombar-bg: #dce8fb;
    --t-mines-bottombar-border-top-color: #b9cdec;
    --t-mines-chatinput-bg: #fff;
    --t-mines-chatinput-border: 1px solid #0b62d6;
    --t-mines-chatinput-fg: #1a2b4a;
    --t-mines-err-msg-fg: #d32f2f !important;
    --t-mines-game-over-overlay-final-score-span-fg: #0b62d6;
    --t-mines-gamecanvas-border-color: #0b62d6;
    --t-mines-gamecanvas-shadow: 0 2px 10px rgba(11, 98, 214, 0.25);
    --t-mines-h1-fg: #0b62d6;
    --t-mines-h1-text-shadow: none;
    --t-mines-log-line-log-sys-fg: #7a8aa5;
    --t-mines-loglist-fg: #1a2b4a;
    --t-mines-main-menu-overlay-bg: rgba(238, 244, 255, 0.97);
    --t-mines-main-menu-overlay-h2-fg: #0b62d6;
    --t-mines-main-menu-overlay-p-fg: #5a6b8a;
    --t-mines-menu-btn-main-bg: #0b62d6;
    --t-mines-menu-btn-main-fg: #fff;
    --t-mines-menu-btn-main-radius: 4px;
    --t-mines-menu-btn-main-shadow: 0 2px 6px rgba(11, 98, 214, 0.25);
    --t-mines-mp-chip-bg: #fff;
    --t-mines-mp-chip-border-color: #c9d8f2;
    --t-mines-mp-chip-chip-status-fg: #7a8aa5;
    --t-mines-pager-btn-bg: #fff;
    --t-mines-pager-btn-border-color: #0b62d6;
    --t-mines-pager-btn-fg: #0b62d6;
    --t-mines-pause-menu-btn-bg: #fff;
    --t-mines-pause-menu-btn-border: 1px solid #0b62d6;
    --t-mines-pause-menu-btn-fg: #0b62d6;
    --t-mines-pause-menu-btn-radius: 4px;
    --t-mines-pause-menu-btn-shadow: none;
    --t-mines-set-label-fg: #0b62d6;
    --t-mines-set-select-bg: #fff;
    --t-mines-set-select-border: 1px solid #0b62d6;
    --t-mines-set-select-fg: #0b62d6;
    --t-mines-set-select-radius: 4px;
    --t-mines-set-select-shadow: none;
    --t-mines-statbar-fg: #0b62d6;
    --t-mines-sub-menu-btn-bg: #fff;
    --t-mines-sub-menu-btn-border: 1px solid #0b62d6;
    --t-mines-sub-menu-btn-fg: #0b62d6;
    --t-mines-sub-menu-btn-radius: 4px;
    --t-mines-sub-menu-btn-shadow: none;
    --t-tang-body-bg: #eef4ff;
    --t-tang-body-fg: #1a2b4a;
    --t-tang-body-font: system-ui, 'Segoe UI', sans-serif;
    --t-tang-fire-btn-bg: rgba(11, 98, 214, 0.12);
    --t-tang-fire-btn-border-color: #0b62d6;
    --t-tang-fire-btn-border: 2px solid #0b62d6; /* v4.92：补简写变量 */
    --t-tang-fire-btn-fg: #0b62d6;
    --t-tang-game-over-overlay-final-score-span-fg: #0b62d6;
    --t-tang-gamecanvas-border-color: #0b62d6;
    --t-tang-gamecanvas-shadow: 0 2px 10px rgba(11, 98, 214, 0.25);
    --t-tang-gametimer-fg: #0b62d6;
    --t-tang-gametimer-text-shadow: none;
    --t-tang-h1-fg: #0b62d6;
    --t-tang-h1-text-shadow: none;
    --t-tang-hud-btn-bg: #0b62d6;
    --t-tang-hud-btn-border: none;
    --t-tang-hud-btn-fg: #fff;
    --t-tang-hud-btn-radius: 4px;
    --t-tang-hud-btn-shadow: 0 2px 6px rgba(11, 98, 214, 0.25);
    --t-tang-item-btn-bg: rgba(11, 98, 214, 0.1);
    --t-tang-item-btn-border-color: #0b62d6;
    --t-tang-item-btn-border: 2px solid #0b62d6; /* v4.92：补简写变量 */
    --t-tang-item-btn-fg: #0b62d6;
    --t-tang-joy-base-bg: rgba(11, 98, 214, 0.1);
    --t-tang-joy-base-border-color: #0b62d6;
    --t-tang-joy-base-border: 2px solid #0b62d6; /* v4.91：补简写变量（防边框被 var(undef) 清掉） */
    --t-tang-joy-knob-bg: rgba(11, 98, 214, 0.35);
    --t-tang-joy-knob-border-color: #0b62d6;
    --t-tang-joy-knob-border: 2px solid #0b62d6; /* v4.91：同上 */
    --t-tang-main-menu-overlay-bg: rgba(238, 244, 255, 0.97);
    --t-tang-main-menu-overlay-h2-fg: #0b62d6;
    --t-tang-main-menu-overlay-p-fg: #5a6b8a;
    --t-tang-map-pg-btn-bg: rgba(11, 98, 214, 0.1);
    --t-tang-map-pg-btn-border-color: #0b62d6;
    --t-tang-map-pg-btn-fg: #0b62d6;
    --t-tang-map-pg-btn-radius: 4px;
    --t-tang-map-pick-box-bg: rgba(245, 248, 255, 0.97);
    --t-tang-map-pick-box-radius: 6px;
    --t-tang-map-pick-row-bg: rgba(11, 98, 214, 0.08);
    --t-tang-map-pick-row-border-color: #0b62d6;
    --t-tang-map-pick-row-fg: #0b62d6;
    --t-tang-map-pick-row-radius: 4px;
    --t-tang-map-pick-row-sel-bg: rgba(11, 98, 214, 0.45);
    --t-tang-map-pick-row-sel-fg: #fff;
    --t-tang-map-pick-title-fg: #0b62d6;
    --t-tang-map-thumb-bg: #0b62d6;
    --t-tang-menu-btn-main-bg: #0b62d6;
    --t-tang-menu-btn-main-fg: #fff;
    --t-tang-menu-btn-main-radius: 4px;
    --t-tang-menu-btn-main-shadow: 0 2px 6px rgba(11, 98, 214, 0.25);
    --t-tang-mp-chip-bg: #fff;
    --t-tang-mp-chip-border-color: #c9d8f2;
    --t-tang-mp-chip-chip-status-fg: #7a8aa5;
    --t-tang-mp-chip-chip-status-st-alive-fg: #30d158;
    --t-tang-mp-chip-chip-status-st-dead-fg: #ff3b30;
    --t-tang-set-label-fg: #0b62d6;
    --t-tang-set-select-bg: #fff;
    --t-tang-set-select-border: 1px solid #0b62d6;
    --t-tang-set-select-fg: #0b62d6;
    --t-tang-set-select-radius: 4px;
    --t-tang-set-select-shadow: none;
    --t-tang-sub-menu-btn-bg: #fff;
    --t-tang-sub-menu-btn-border: 1px solid #0b62d6;
    --t-tang-sub-menu-btn-fg: #0b62d6;
    --t-tang-sub-menu-btn-radius: 4px;
    --t-tang-sub-menu-btn-shadow: none;
    /* ---- snake/tetris/bomber/bubble 页变量（v4.48 并行批次） ---- */
    --t-body-bg: #f5f7fa;
    --t-body-bg-2: #f4f7fb;
    --t-body-bg-3: #eef4ff;
    --t-body-fg: #222;
    --t-body-fg-2: #22303f;
    --t-body-fg-3: #1a2b4a;
    --t-body-font: system-ui, 'Segoe UI', sans-serif;
    --t-btn-border-active: none;
    --t-controls-p-fg: #666;
    --t-d-btn-active-bg: rgba(11, 98, 214, 0.35);
    --t-d-btn-bc: #0b62d6;
    --t-d-btn-bd: 1px solid #0b62d6;
    --t-d-btn-bd-2: 2px solid rgba(255, 182, 193, 0.65);
    --t-d-btn-bg: #ffffff;
    --t-d-btn-bg-2: rgba(11, 98, 214, 0.1);
    --t-d-btn-border-active: solid;
    --t-d-btn-fg: #0b62d6;
    --t-d-btn-rad: 6px;
    --t-d-btn-rad-2: 4px;
    --t-d-btn-rad-3: 14px;
    --t-d-btn-sh: 0 2px 6px rgba(11, 98, 214, .25);
    --t-d-btn-sh-2: none;
    --t-drop-btn-bd: 1px solid #0b62d6;
    --t-drop-btn-bg: #0b62d6;
    --t-drop-btn-fg: #ffffff;
    --t-drop-btn-sh: 0 2px 6px rgba(11, 98, 214, 0.25);
    --t-fire-btn-bc: #0b62d6;
    --t-fire-btn-bd: 3px solid rgba(255, 215, 0, 0.7);
    --t-fire-btn-bg: #fff;
    --t-fire-btn-bg-2: rgba(11, 98, 214, 0.12);
    --t-fire-btn-rad: 6px;
    --t-fire-btn-rad-2: 50%;
    --t-fire-btn-rad-3: 8px;
    --t-fire-btn-sh: none;
    --t-fire-btn-sh-2: none;
    --t-fire-btn-sh-3: 0 2px 6px rgba(11, 98, 214, 0.25);
    --t-fire-btn-tsh: none;
    --t-game-over-overlay-bg: rgba(245, 247, 250, 0.97);
    --t-game-over-overlay-bg-2: rgba(0, 0, 0, 0.85);
    --t-game-over-overlay-bg-3: rgba(238, 244, 255, 0.97);
    --t-game-over-overlay-h2-fg: #0b62d6;
    --t-game-over-overlay-h2-fg-2: #ff6b6b;
    --t-game-over-overlay-h2-fg-3: #0b62d6;
    --t-game-over-overlay-h2-tsh: none;
    --t-gamecanvas-bc: #0b62d6;
    --t-gamecanvas-bg: #0a0a1a;
    --t-gamecanvas-sh: 0 2px 12px rgba(11, 98, 214, .2);
    --t-gamecanvas-sh-2: 0 2px 10px rgba(11, 98, 214, 0.25);
    --t-gametimer-tsh: none;
    --t-h1-fg: #0b62d6;
    --t-h1-fg-2: #0b62d6;
    --t-h1-tsh: none;
    --t-joy-base-bc: #0b62d6;
    --t-joy-base-bd: 2px solid rgba(255, 182, 193, 0.65);
    --t-joy-base-bg: rgba(11, 98, 214, 0.1);
    --t-joy-base-sh: none;
    --t-joy-knob-bc: #0b62d6;
    --t-joy-knob-bd: 2px solid rgba(255, 182, 193, 0.9);
    --t-joy-knob-bg: rgba(11, 98, 214, 0.35);
    --t-main-menu-overlay-bg: rgba(245, 247, 250, 0.97);
    --t-main-menu-overlay-bg-2: rgba(244, 247, 251, 0.97);
    --t-main-menu-overlay-bg-3: rgba(238, 244, 255, 0.97);
    --t-main-menu-overlay-h2-tsh: none;
    --t-main-menu-overlay-p-fg: #666;
    --t-main-menu-overlay-p-fg-2: #5a6b7d;
    --t-main-menu-overlay-p-fg-3: #5a6b8a;
    --t-menu-btn-main-sh: 0 2px 6px rgba(11, 98, 214, .25);
    --t-menu-btn-main-sh-2: 0 2px 6px rgba(11, 98, 214, 0.25);
    --t-mp-chip-bc: #c9d8f2;
    --t-mp-chip-bd: 1px solid #e1e8f0;
    --t-mp-chip-bd-2: 1px solid #d5dee9;
    --t-mp-chip-chip-status-fg: #7a8aa5;
    --t-mp-chip-rad: 4px;
    --t-mp-chip-rad-2: 16px;
    --t-mp-chip-turn-bc: #ffd700;
    --t-mp-chip-turn-sh: 0 0 10px rgba(255, 215, 0, 0.35);
    --t-mp-field-label-fg: #0b62d6;
    --t-mp-input-bd: 1px solid #c9d4e0;
    --t-mp-input-bd-2: 1px solid #b9c6d8;
    --t-mp-input-bg: #fff;
    --t-mp-input-fg: #222;
    --t-mp-input-fg-2: #22303f;
    --t-mp-input-rad: 12px;
    --t-mp-slot-bd: 1px solid #e1e8f0;
    --t-mp-slot-bd-2: 1px solid #d5dee9;
    --t-mp-slot-bg: #fff;
    --t-pause-btn-bd: 1px solid #0b62d6;
    --t-pause-btn-bg: #ffffff;
    --t-pause-menu-btn-sh: none;
    --t-pauseoverlay-h2-fg: #0b62d6;
    --t-pauseoverlay-h2-fg-2: #22303f;
    --t-pauseoverlay-h2-fg-3: #1a2b4a;
    --t-score-bd: 1px solid #e1e8f0;
    --t-score-bdf: none;
    --t-score-bg: #fff;
    --t-score-box-bd: 1px solid #d5dee9;
    --t-score-box-rad: 20px;
    --t-score-span-fg: #0b62d6;
    --t-score-span-tsh: none;
    --t-set-btn-bg: #0b62d6;
    --t-set-btn-rad: 4px;
    --t-set-btn-sh: 0 2px 6px rgba(11, 98, 214, .25);
    --t-set-select-bd: 1px solid #0b62d6;
    --t-set-select-bg: #fff;
    --t-set-select-bg-2: #fff;
    --t-set-select-fg: #0b62d6;
    --t-set-select-rad: 4px;
    --t-set-select-sh: none;
    --t-set-select-tsh: none;
    --t-spectatebanner-bc: #0b62d6;
    --t-spectatebanner-bd: 1px solid rgba(255,255,255,0.25);
    --t-spectatebanner-bg: #fff;
    --t-sub-border-active: solid;
    --t-sub-menu-btn-sh: none;
    --t-sub-menu-btn-sh-2: none;
}

/* ========== 主题：赛博朋克（深色霓虹） ========== */
body.theme-cyber {
    --t-accent: #ffe600; --t-accent2: #00e5ff;
    --t-bg: #0a0e17;
    --t-fg: #cfe6ff;
    --t-title: #ffe600;
    --t-title-shadow: 0 0 8px currentColor;
    --t-btn-bg: transparent;
    --t-btn-border: 2px solid #ffe600;
    --t-btn-fg: #ffe600;
    --t-btn-text-shadow: 0 0 8px currentColor;
    --t-btn-radius: 6px;
    --t-btn-shadow: 0 0 12px rgba(255, 230, 0, 0.25);
    --t-sub-bg: transparent;
    --t-sub-border: 2px solid #00e5ff;
    --t-sub-fg: #00e5ff;
    --t-sub-text-shadow: 0 0 8px currentColor;
    --t-sub-radius: 6px;
    --t-mini-bg: transparent;
    --t-mini-border: 2px solid #ffe600;
    --t-mini-fg: #ffe600;
    --t-mini-radius: 6px;
    --t-inp-bg: #121826;
    --t-inp-border: 1px solid #00e5ff;
    --t-inp-fg: #cfe6ff;
    --t-inp-radius: 6px;
    --t-inp-option-bg: #121826;
    --t-inp-option-fg: #cfe6ff;
    --t-panel-bg: #121826;
    --t-panel-border: 2px solid #ffe600;
    --t-panel-radius: 6px;
    --t-panel-shadow: 0 0 24px rgba(255, 230, 0, 0.2);
    --t-row-bg: #121826;
    --t-row-border: 1px solid #23304a;
    --t-row-radius: 6px;
    --t-row-sel-border: #ffe600;
    --t-row-sel-shadow: 0 0 10px rgba(255, 230, 0, 0.25);
    --t-chat-bg: #121826;
    --t-chat-border: 1px solid #00e5ff;
    --t-chat-radius: 6px;
    --t-pager-fg: #ffe600;
    --t-pager-svg-filter: drop-shadow(0 0 3px #ffe600);
    --t-hall-pager-btn-bg: transparent;
    --t-hall-pager-btn-border: 2px solid #ffe600;
    --t-hall-pager-btn-fg: #ff2d78;
    --t-hall-pager-btn-radius: 6px;
    --t-hall-pager-btn-shadow: 0 0 10px rgba(255, 230, 0, 0.4);
    --t-hall-pager-svg-filter: drop-shadow(0 0 3px #ff2d78);
    --t-list-bg: #121826;
    --t-list-border: 1px solid #ff2d78;
    --t-list-radius: 6px;
    --t-list-shadow: 0 0 12px rgba(255, 45, 120, 0.4);
    --t-page-btn-bg: transparent;
    --t-page-btn-border: 1px solid #00e5ff;
    --t-page-btn-fg: #00e5ff;
    --t-page-btn-radius: 6px;
    --t-thumb-bg: #0a0e17;
    --t-thumb-border: 2px solid #00e5ff;
    --t-thumb-box-sizing: border-box;
    --t-toggle-bg: transparent;
    --t-toggle-border: 1px solid #ffe600;
    --t-toggle-fg: #ffe600;
    --t-toggle-radius: 6px;
    --t-toggle-off-fg: #5a6a8a;
    --t-toggle-off-border: #5a6a8a;
    --t-set-label-fg: #00e5ff;
    --t-label-fg: #00e5ff; /* v4.48：标签色（4 选择器组含 .team-label 用 --t-set-label-fg） */
    --t-form-title-fg: #ff2d78;
    --t-form-title-text-shadow: 0 0 6px #ff2d78, 0 0 14px #ff2d78;
    --t-inp-bare-bg: #0a0e17;
    --t-inp-bare-fg: #ffe600;
    --t-inp-bare-border: 2px solid #ff2d78;
    --t-inp-bare-radius: 6px;
    --t-inp-bare-shadow: 0 0 10px rgba(255, 45, 120, 0.55), inset 0 0 6px rgba(255, 45, 120, 0.3);
    --t-loading-fg: #ffe600;
    /* ---- 子游戏页特有变量（pig_world 无对应组件） ---- */
    --t-gomoku-body-bg: #0a0e17;
    --t-gomoku-chat-inp-bg: #121826;
    --t-gomoku-chat-inp-border: 1px solid #00e5ff;
    --t-gomoku-chat-inp-fg: #cfe6ff;
    --t-gomoku-chat-inp-radius: 6px;
    --t-gomoku-game-over-overlay-final-score-span-fg: #00e5ff;
    --t-gomoku-game-over-overlay-h2-fg: #ff2d78;
    --t-gomoku-game-over-overlay-h2-text-shadow: 0 0 8px currentColor;
    --t-gomoku-h1-fg: #ffe600;
    --t-gomoku-h1-text-shadow: 0 0 8px currentColor;
    --t-gomoku-hud-btn-bg: transparent;
    --t-gomoku-hud-btn-border: 2px solid #ffe600;
    --t-gomoku-hud-btn-fg: #ffe600;
    --t-gomoku-hud-btn-radius: 6px;
    --t-gomoku-hud-btn-shadow: 0 0 12px rgba(255, 230, 0, 0.35);
    --t-gomoku-hud-btn-text-shadow: 0 0 8px currentColor;
    --t-gomoku-main-menu-overlay-bg: rgba(10, 14, 23, 0.96);
    --t-gomoku-main-menu-overlay-h2-fg: #ffe600;
    --t-gomoku-main-menu-overlay-h2-text-shadow: 0 0 8px currentColor;
    --t-gomoku-menu-btn-main-bg: transparent;
    --t-gomoku-menu-btn-main-border: 2px solid #ffe600;
    --t-gomoku-menu-btn-main-fg: #ffe600;
    --t-gomoku-menu-btn-main-radius: 6px;
    --t-gomoku-menu-btn-main-shadow: 0 0 12px rgba(255, 230, 0, 0.35);
    --t-gomoku-menu-btn-main-text-shadow: 0 0 8px currentColor;
    --t-gomoku-mp-chip-bg: #121826;
    --t-gomoku-mp-chip-border-color: rgba(0, 229, 255, 0.4);
    --t-gomoku-page-btn-bg: transparent;
    --t-gomoku-page-btn-border: 1px solid #00e5ff;
    --t-gomoku-page-btn-fg: #00e5ff;
    --t-gomoku-page-btn-radius: 6px;
    --t-gomoku-page-btn-shadow: none;
    --t-gomoku-page-btn-text-shadow: 0 0 8px currentColor;
    --t-gomoku-pauseoverlay-h2-fg: #ffe600;
    --t-gomoku-pauseoverlay-h2-text-shadow: 0 0 8px currentColor;
    --t-gomoku-set-label-fg: #00e5ff;
    --t-gomoku-set-label-text-shadow: 0 0 8px currentColor;
    --t-gomoku-set-select-bg: transparent;
    --t-gomoku-set-select-border: 2px solid #00e5ff;
    --t-gomoku-set-select-fg: #00e5ff;
    --t-gomoku-set-select-radius: 6px;
    --t-gomoku-set-select-shadow: none;
    --t-gomoku-set-select-text-shadow: 0 0 8px currentColor;
    --t-gomoku-sub-menu-btn-bg: transparent;
    --t-gomoku-sub-menu-btn-border: 2px solid #00e5ff;
    --t-gomoku-sub-menu-btn-fg: #00e5ff;
    --t-gomoku-sub-menu-btn-radius: 6px;
    --t-gomoku-sub-menu-btn-shadow: 0 0 12px rgba(0, 229, 255, 0.3);
    --t-gomoku-sub-menu-btn-text-shadow: 0 0 8px currentColor;
    --t-mines-body-bg: #0a0e17;
    --t-mines-bottombar-bg: #121826;
    --t-mines-bottombar-border-top: 2px solid rgba(0, 229, 255, 0.5);
    --t-mines-chatinput-bg: transparent;
    --t-mines-chatinput-border: 2px solid #00e5ff;
    --t-mines-chatinput-fg: #00e5ff;
    --t-mines-chatinput-radius: 6px;
    --t-mines-chatinput-text-shadow: 0 0 8px currentColor;
    --t-mines-game-over-overlay-final-score-span-fg: #00e5ff;
    --t-mines-game-over-overlay-h2-fg: #ff2d78;
    --t-mines-game-over-overlay-h2-text-shadow: 0 0 8px currentColor;
    --t-mines-gamecanvas-border-color: #00e5ff;
    --t-mines-gamecanvas-shadow: 0 0 14px rgba(0, 229, 255, 0.4);
    --t-mines-h1-fg: #ffe600;
    --t-mines-h1-text-shadow: 0 0 8px currentColor;
    --t-mines-main-menu-overlay-bg: rgba(10, 14, 23, 0.96);
    --t-mines-main-menu-overlay-h2-fg: #ffe600;
    --t-mines-main-menu-overlay-h2-text-shadow: 0 0 8px currentColor;
    --t-mines-menu-btn-main-bg: transparent;
    --t-mines-menu-btn-main-border: 2px solid #ffe600;
    --t-mines-menu-btn-main-fg: #ffe600;
    --t-mines-menu-btn-main-radius: 6px;
    --t-mines-menu-btn-main-shadow: 0 0 12px rgba(255, 230, 0, 0.35);
    --t-mines-menu-btn-main-text-shadow: 0 0 8px currentColor;
    --t-mines-mp-chip-bg: #121826;
    --t-mines-mp-chip-border-color: rgba(0, 229, 255, 0.4);
    --t-mines-pager-btn-bg: transparent;
    --t-mines-pager-btn-border: 2px solid #00e5ff;
    --t-mines-pager-btn-fg: #00e5ff;
    --t-mines-pager-btn-radius: 6px;
    --t-mines-pager-btn-text-shadow: 0 0 8px currentColor;
    --t-mines-pause-menu-btn-bg: transparent;
    --t-mines-pause-menu-btn-border: 2px solid #00e5ff;
    --t-mines-pause-menu-btn-fg: #00e5ff;
    --t-mines-pause-menu-btn-radius: 6px;
    --t-mines-pause-menu-btn-shadow: none;
    --t-mines-pause-menu-btn-text-shadow: 0 0 8px currentColor;
    --t-mines-pauseoverlay-h2-fg: #ffe600;
    --t-mines-pauseoverlay-h2-text-shadow: 0 0 8px currentColor;
    --t-mines-set-label-fg: #00e5ff;
    --t-mines-set-label-text-shadow: 0 0 8px currentColor;
    --t-mines-set-select-bg: transparent;
    --t-mines-set-select-border: 2px solid #00e5ff;
    --t-mines-set-select-fg: #00e5ff;
    --t-mines-set-select-radius: 6px;
    --t-mines-set-select-shadow: none;
    --t-mines-set-select-text-shadow: 0 0 8px currentColor;
    --t-mines-statbar-fg: #ffe600;
    --t-mines-statbar-text-shadow: 0 0 6px currentColor;
    --t-mines-sub-menu-btn-bg: transparent;
    --t-mines-sub-menu-btn-border: 2px solid #00e5ff;
    --t-mines-sub-menu-btn-fg: #00e5ff;
    --t-mines-sub-menu-btn-radius: 6px;
    --t-mines-sub-menu-btn-shadow: 0 0 12px rgba(0, 229, 255, 0.3);
    --t-mines-sub-menu-btn-text-shadow: 0 0 8px currentColor;
    --t-tang-body-bg: #0a0e17;
    --t-tang-fire-btn-bg: rgba(255, 230, 0, 0.08);
    --t-tang-fire-btn-border-color: #ffe600;
    --t-tang-fire-btn-border: 2px solid #ffe600; /* v4.92：补简写变量（发光黄线框） */
    --t-tang-fire-btn-fg: #ffe600;
    --t-tang-fire-btn-shadow: 0 0 14px rgba(255, 230, 0, 0.55); /* v4.92：发光加强 */
    --t-tang-game-over-overlay-final-score-span-fg: #00e5ff;
    --t-tang-game-over-overlay-h2-fg: #ff2d78;
    --t-tang-game-over-overlay-h2-text-shadow: 0 0 8px currentColor;
    --t-tang-gamecanvas-border-color: #00e5ff;
    --t-tang-gamecanvas-shadow: 0 0 24px rgba(0, 229, 255, 0.35);
    --t-tang-gametimer-fg: #ffe600;
    --t-tang-gametimer-text-shadow: 0 0 8px currentColor;
    --t-tang-h1-fg: #ffe600;
    --t-tang-h1-text-shadow: 0 0 8px currentColor;
    --t-tang-hud-btn-bg: transparent;
    --t-tang-hud-btn-border: 2px solid #ffe600;
    --t-tang-hud-btn-fg: #ffe600;
    --t-tang-hud-btn-radius: 6px;
    --t-tang-hud-btn-shadow: 0 0 12px rgba(255, 230, 0, 0.35);
    --t-tang-hud-btn-text-shadow: 0 0 8px currentColor;
    /* v4.91：道具按钮边框改发光黄（原冰蓝） */
    --t-tang-item-btn-bg: rgba(255, 230, 0, 0.08);
    --t-tang-item-btn-border-color: #ffe600;
    --t-tang-item-btn-border: 2px solid #ffe600; /* v4.92：补简写变量，否则 border:var(undef) 把边框清成初始值 */
    --t-tang-item-btn-shadow: 0 0 10px rgba(255, 230, 0, 0.5); /* v4.92：道具框发光黄 */
    --t-tang-item-btn-fg: #ffe600;
    --t-tang-item-btn-item-num-fg: #ff2d78;
    --t-tang-item-btn-item-num-opacity: 0.5;
    --t-tang-item-btn-item-num-text-shadow: 0 0 6px #ff2d78;
    --t-tang-item-btn-text-shadow: 0 0 8px currentColor;
    /* v4.91：虚拟摇杆外圈=发光蓝、摇杆头=发光黄 */
    --t-tang-joy-base-bg: rgba(0, 229, 255, 0.08);
    --t-tang-joy-base-border-color: #00e5ff;
    --t-tang-joy-base-border: 2px solid #00e5ff; /* v4.91：补简写变量，否则 border:var(undef) 把边框清成初始值 */
    --t-tang-joy-base-shadow: 0 0 16px rgba(0, 229, 255, 0.55);
    --t-tang-joy-knob-bg: rgba(255, 230, 0, 0.35);
    --t-tang-joy-knob-border-color: #ffe600;
    --t-tang-joy-knob-border: 2px solid #ffe600; /* v4.91：同上 */
    --t-tang-joy-knob-shadow: 0 0 12px rgba(255, 230, 0, 0.6);
    --t-tang-main-menu-overlay-bg: rgba(10, 14, 23, 0.96);
    --t-tang-main-menu-overlay-h2-fg: #ffe600;
    --t-tang-main-menu-overlay-h2-text-shadow: 0 0 8px currentColor;
    --t-tang-map-pg-btn-bg: rgba(0, 229, 255, 0.1);
    --t-tang-map-pg-btn-border-color: #00e5ff;
    --t-tang-map-pg-btn-fg: #00e5ff;
    --t-tang-map-pick-box-bg: rgba(10, 14, 23, 0.97);
    --t-tang-map-pick-box-border: 1px solid #00e5ff;
    --t-tang-map-pick-row-bg: rgba(0, 229, 255, 0.08);
    --t-tang-map-pick-row-border-color: #00e5ff;
    --t-tang-map-pick-row-fg: #00e5ff;
    --t-tang-map-pick-row-sel-bg: rgba(0, 229, 255, 0.35);
    --t-tang-map-pick-row-sel-fg: #0a0e17;
    --t-tang-map-pick-title-fg: #00e5ff;
    --t-tang-map-thumb-bg: #0a0e17;
    --t-tang-map-thumb-border: 2px solid #00e5ff;
    --t-tang-map-thumb-box-sizing: border-box;
    --t-tang-menu-btn-main-bg: transparent;
    --t-tang-menu-btn-main-border: 2px solid #ffe600;
    --t-tang-menu-btn-main-fg: #ffe600;
    --t-tang-menu-btn-main-radius: 6px;
    --t-tang-menu-btn-main-shadow: 0 0 12px rgba(255, 230, 0, 0.35);
    --t-tang-menu-btn-main-text-shadow: 0 0 8px currentColor;
    --t-tang-mp-chip-bg: #121826;
    --t-tang-mp-chip-border-color: rgba(0, 229, 255, 0.4);
    /* v4.91：赛博朋克·玩家信息栏——名字发光黄/存活发光绿/被困发光红/出局灰/ms 白 */
    --t-tang-mp-chip-chip-name-fg: #ffe600;
    --t-tang-mp-chip-chip-name-text-shadow: 0 0 8px currentColor;
    --t-tang-mp-chip-chip-status-st-alive-fg: #39ff6a;
    --t-tang-mp-chip-chip-status-st-alive-text-shadow: 0 0 8px currentColor;
    --t-tang-mp-chip-chip-status-st-trapped-fg: #ff2d4d;
    --t-tang-mp-chip-chip-status-st-trapped-text-shadow: 0 0 8px currentColor;
    --t-tang-mp-chip-chip-status-st-dead-fg: #8a93a6;
    --t-tang-mp-chip-chip-status-st-dead-text-shadow: none;
    --t-tang-mp-chip-chip-sig-fg: #ffffff;
    --t-tang-pauseoverlay-h2-fg: #ffe600;
    --t-tang-pauseoverlay-h2-text-shadow: 0 0 8px currentColor;
    --t-tang-set-label-fg: #00e5ff;
    --t-tang-set-label-text-shadow: 0 0 8px currentColor;
    --t-tang-set-select-bg: transparent;
    --t-tang-set-select-border: 2px solid #00e5ff;
    --t-tang-set-select-fg: #00e5ff;
    --t-tang-set-select-radius: 6px;
    --t-tang-set-select-shadow: none;
    --t-tang-set-select-text-shadow: 0 0 8px currentColor;
    --t-tang-sub-menu-btn-bg: transparent;
    --t-tang-sub-menu-btn-border: 2px solid #00e5ff;
    --t-tang-sub-menu-btn-fg: #00e5ff;
    --t-tang-sub-menu-btn-radius: 6px;
    --t-tang-sub-menu-btn-shadow: 0 0 12px rgba(0, 229, 255, 0.3);
    --t-tang-sub-menu-btn-text-shadow: 0 0 8px currentColor;
    /* ---- snake/tetris/bomber/bubble 页变量（v4.48 并行批次） ---- */
    --t-body-bg: #0a0e17;
    --t-body-bg-2: #0a0e17;
    --t-body-bg-3: #0a0e17;
    --t-body-fg: #d7f9ff;
    --t-body-fg-2: #d7e3f4;
    --t-body-fg-3: #fff;
    --t-body-font: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --t-btn-border-active: solid;
    --t-controls-p-fg: #aaa;
    --t-d-btn-active-bg: rgba(0, 229, 255, 0.3);
    --t-d-btn-bc: #00e5ff;
    --t-d-btn-bd: 2px solid #00e5ff;
    --t-d-btn-bd-2: 2px solid rgba(255, 182, 193, 0.65);
    --t-d-btn-bg: transparent;
    --t-d-btn-bg-2: rgba(0, 229, 255, 0.08);
    --t-d-btn-border-active: solid;
    --t-d-btn-fg: #00e5ff;
    --t-d-btn-rad: 6px;
    --t-d-btn-rad-2: 6px;
    --t-d-btn-rad-3: 14px;
    --t-d-btn-sh: none;
    --t-d-btn-sh-2: none;
    --t-drop-btn-bd: 2px solid #ffe600;
    --t-drop-btn-bg: transparent;
    --t-drop-btn-fg: #ffe600;
    --t-drop-btn-sh: none;
    --t-fire-btn-bc: #ffe600;
    --t-fire-btn-bd: 3px solid rgba(255, 215, 0, 0.7);
    --t-fire-btn-bg: transparent;
    --t-fire-btn-bg-2: rgba(255, 230, 0, 0.08);
    --t-fire-btn-rad: 6px;
    --t-fire-btn-rad-2: 50%;
    --t-fire-btn-rad-3: 6px;
    --t-fire-btn-sh: none;
    --t-fire-btn-sh-2: 0 0 14px rgba(255, 230, 0, 0.35);
    --t-fire-btn-sh-3: 0 0 12px rgba(255, 230, 0, 0.35);
    --t-fire-btn-tsh: none;
    --t-game-over-overlay-bg: rgba(10, 14, 23, 0.96);
    --t-game-over-overlay-bg-2: rgba(10, 14, 23, 0.95);
    --t-game-over-overlay-bg-3: rgba(10, 14, 23, 0.96);
    --t-game-over-overlay-h2-fg: #ff2d78;
    --t-game-over-overlay-h2-fg-2: #ff2d78;
    --t-game-over-overlay-h2-fg-3: #ff2d78;
    --t-game-over-overlay-h2-tsh: 0 0 8px currentColor;
    --t-gamecanvas-bc: #00e5ff;
    --t-gamecanvas-bg: #05080f;
    --t-gamecanvas-sh: 0 0 24px rgba(0, 229, 255, .35);
    --t-gamecanvas-sh-2: 0 0 24px rgba(0, 229, 255, 0.35);
    --t-gametimer-tsh: 0 0 8px currentColor;
    --t-h1-fg: #ffe600;
    --t-h1-fg-2: #ffe600;
    --t-h1-tsh: 0 0 8px currentColor;
    --t-joy-base-bc: #00e5ff;
    --t-joy-base-bd: 2px solid rgba(255, 182, 193, 0.65);
    --t-joy-base-bg: rgba(0, 229, 255, 0.08);
    --t-joy-base-sh: 0 0 12px rgba(0, 229, 255, 0.25);
    --t-joy-knob-bc: #00e5ff;
    --t-joy-knob-bd: 2px solid rgba(255, 182, 193, 0.9);
    --t-joy-knob-bg: rgba(0, 229, 255, 0.3);
    --t-main-menu-overlay-bg: rgba(10, 14, 23, 0.96);
    --t-main-menu-overlay-bg-2: rgba(10, 14, 23, 0.96);
    --t-main-menu-overlay-bg-3: rgba(10, 14, 23, 0.96);
    --t-main-menu-overlay-h2-tsh: 0 0 8px currentColor;
    --t-main-menu-overlay-p-fg: #8fa3bf;
    --t-main-menu-overlay-p-fg-2: #aaa;
    --t-main-menu-overlay-p-fg-3: #aaa;
    --t-menu-btn-main-sh: 0 0 12px rgba(255, 230, 0, .35);
    --t-menu-btn-main-sh-2: none;
    --t-mp-chip-bc: rgba(0, 229, 255, 0.4);
    --t-mp-chip-bd: 1px solid #00e5ff;
    --t-mp-chip-bd-2: 1px solid #00e5ff;
    --t-mp-chip-chip-status-fg: #aaa;
    --t-mp-chip-rad: 6px;
    --t-mp-chip-rad-2: 16px;
    --t-mp-chip-turn-bc: #ffe600;
    --t-mp-chip-turn-sh: 0 0 10px rgba(255, 230, 0, 0.5);
    --t-mp-field-label-fg: #00e5ff;
    --t-mp-input-bd: 2px solid #00e5ff;
    --t-mp-input-bd-2: 2px solid #00e5ff;
    --t-mp-input-bg: #121826;
    --t-mp-input-fg: #d7f9ff;
    --t-mp-input-fg-2: #00e5ff;
    --t-mp-input-rad: 12px;
    --t-mp-slot-bd: 1px solid #00e5ff;
    --t-mp-slot-bd-2: 1px solid #00e5ff;
    --t-mp-slot-bg: #121826;
    --t-pause-btn-bd: 2px solid #ffe600;
    --t-pause-btn-bg: transparent;
    --t-pause-menu-btn-sh: none;
    --t-pauseoverlay-h2-fg: #ffe600;
    --t-pauseoverlay-h2-fg-2: #ffe600;
    --t-pauseoverlay-h2-fg-3: #ffe600;
    --t-score-bd: 1px solid #ffe600;
    --t-score-bdf: none;
    --t-score-bg: #121826;
    --t-score-box-bd: 1px solid #00e5ff;
    --t-score-box-rad: 20px;
    --t-score-span-fg: #ffe600;
    --t-score-span-tsh: 0 0 8px currentColor;
    --t-set-btn-bg: transparent;
    --t-set-btn-rad: 6px;
    --t-set-btn-sh: none;
    --t-set-select-bd: 2px solid #00e5ff;
    --t-set-select-bg: #121826;
    --t-set-select-bg-2: transparent;
    --t-set-select-fg: #00e5ff;
    --t-set-select-rad: 6px;
    --t-set-select-sh: none;
    --t-set-select-tsh: 0 0 8px currentColor;
    --t-spectatebanner-bc: #ffe600;
    --t-spectatebanner-bd: 1px solid rgba(255,255,255,0.25);
    --t-spectatebanner-bg: #121826;
    --t-sub-border-active: solid;
    --t-sub-menu-btn-sh: 0 0 12px rgba(0, 229, 255, .3);
    --t-sub-menu-btn-sh-2: none;
}

/* ========== 主题：金属科幻（SC1 金属斜面 + 银灰文字） ========== */
body.theme-sc {
    --t-accent: #E2EBF2; --t-accent2: #8fd8ff;
    --t-bg: radial-gradient(ellipse at 50% 0%, #16233d 0%, #0a1120 70%);
    --t-fg: #b9cff2;
    --t-title: #E2EBF2;
    --t-title-shadow: 0 1px 2px #20262e, 0 0 3px #4a525c; /* v4.49：银灰+深灰描边 */
    --t-btn-bg: linear-gradient(180deg, #4a5f86 0%, #2c3d5c 50%, #22304c 100%);
    --t-btn-fg: #E2EBF2;
    --t-btn-border: 2px outset #6b85b3;
    --t-btn-radius: 3px;
    --t-btn-text-shadow: 0 1px 2px #000;
    --t-btn-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-btn-border-active: inset;
    --t-sub-bg: linear-gradient(180deg, #3a4c6e 0%, #25344f 50%, #1d2a42 100%);
    --t-sub-fg: #8fd8ff;
    --t-sub-border: 2px outset #5a7299;
    --t-sub-radius: 3px;
    --t-sub-text-shadow: 0 1px 2px #000;
    --t-sub-border-active: inset;
    --t-mini-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-mini-fg: #E2EBF2;
    --t-mini-border: 2px outset #6b85b3;
    --t-mini-radius: 3px;
    --t-mini-text-shadow: 0 1px 2px #000;
    --t-inp-bg: #0d1626;
    --t-inp-border: 2px inset #45597e;
    --t-inp-fg: #cfe0ff;
    --t-inp-radius: 3px;
    --t-inp-option-bg: #0d1626;
    --t-inp-option-fg: #cfe0ff;
    --t-panel-bg: linear-gradient(180deg, #1a2742, #121c31);
    --t-panel-border: 2px outset #6b85b3;
    --t-panel-radius: 4px;
    --t-panel-shadow: 0 6px 24px rgba(0, 0, 0, 0.7);
    --t-row-bg: rgba(13, 22, 38, 0.9);
    --t-row-border: 1px solid #2c3d5c;
    --t-row-radius: 3px;
    --t-row-sel-border: #ffd94d;
    --t-row-sel-shadow: 0 0 8px rgba(255, 217, 77, 0.35), inset 0 0 8px rgba(255, 217, 77, 0.12);
    --t-chat-bg: #0d1626;
    --t-chat-border: 2px inset #45597e;
    --t-chat-radius: 3px;
    --t-pager-fg: #E2EBF2;
    --t-pager-svg-filter: drop-shadow(0 1px 1px #000);
    --t-hall-pager-btn-bg: linear-gradient(180deg, #3a4c6e, #1d2a42);
    --t-hall-pager-btn-border: 2px outset #5a7299;
    --t-hall-pager-btn-fg: #E2EBF2;
    --t-hall-pager-btn-radius: 3px;
    --t-list-bg: rgba(13, 22, 38, 0.9);
    --t-list-border: 2px outset #6b85b3;
    --t-list-radius: 4px;
    --t-page-btn-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-page-btn-fg: #E2EBF2;
    --t-page-btn-border: 2px outset #6b85b3;
    --t-page-btn-radius: 3px;
    --t-page-btn-text-shadow: 0 1px 2px #000;
    --t-thumb-bg: linear-gradient(180deg, #5a7299, #2c3d5c);
    --t-thumb-border: 1px outset #8aa3cc;
    --t-thumb-box-sizing: border-box;
    --t-thumb-radius: 3px;
    --t-toggle-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-toggle-fg: #E2EBF2;
    --t-toggle-border: 1px outset #6b85b3;
    --t-toggle-radius: 3px;
    --t-toggle-off-fg: #5a6a8a;
    --t-toggle-off-border: #3a4a63;
    --t-toggle-off-bg: #1a2436;
    --t-set-label-fg: #E2EBF2;
    --t-label-fg: #E2EBF2; /* v4.48：标签色（4 选择器组含 .team-label 用 --t-set-label-fg） */
    --t-set-label-text-shadow: 0 1px 2px #000;
    --t-form-title-fg: #E2EBF2;
    --t-form-title-text-shadow: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-inp-bare-bg: #0d1626;
    --t-inp-bare-fg: #E2EBF2;
    --t-inp-bare-border: 2px inset #45597e;
    --t-inp-bare-radius: 3px;
    --t-loading-fg: #E2EBF2;
    /* ---- 子游戏页特有变量（pig_world 无对应组件） ---- */
    --t-gomoku-body-bg: radial-gradient(ellipse at 50% 0%, #16233d 0%, #0a1120 70%);
    --t-gomoku-body-fg: #b9cff2;
    --t-gomoku-chat-inp-bg: #0d1626;
    --t-gomoku-chat-inp-border: 2px inset #45597e;
    --t-gomoku-chat-inp-fg: #cfe0ff;
    --t-gomoku-chat-inp-radius: 3px;
    --t-gomoku-game-over-overlay-final-score-span-fg: #8fd8ff;
    --t-gomoku-game-over-overlay-h2-fg: #ff3b30;
    --t-gomoku-game-over-overlay-h2-text-shadow: 0 0 6px rgba(255, 59, 48, 0.6), 0 2px 2px #000;
    --t-gomoku-h1-fg: #E2EBF2;
    --t-gomoku-h1-text-shadow: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-gomoku-hud-btn-active-border-active: inset;
    --t-gomoku-hud-btn-bg: linear-gradient(180deg, #4a5f86 0%, #2c3d5c 50%, #22304c 100%);
    --t-gomoku-hud-btn-border: 2px outset #6b85b3;
    --t-gomoku-hud-btn-fg: #E2EBF2;
    --t-gomoku-hud-btn-radius: 3px;
    --t-gomoku-hud-btn-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-gomoku-hud-btn-text-shadow: 0 1px 2px #000;
    --t-gomoku-main-menu-overlay-bg: rgba(10, 17, 32, 0.96);
    --t-gomoku-main-menu-overlay-h2-fg: #E2EBF2;
    --t-gomoku-main-menu-overlay-h2-text-shadow: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-gomoku-menu-btn-main-active-border-active: inset;
    --t-gomoku-menu-btn-main-bg: linear-gradient(180deg, #4a5f86 0%, #2c3d5c 50%, #22304c 100%);
    --t-gomoku-menu-btn-main-border: 2px outset #6b85b3;
    --t-gomoku-menu-btn-main-fg: #E2EBF2;
    --t-gomoku-menu-btn-main-radius: 3px;
    --t-gomoku-menu-btn-main-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-gomoku-menu-btn-main-text-shadow: 0 1px 2px #000;
    --t-gomoku-mp-chip-bg: #0d1626;
    --t-gomoku-mp-chip-border-color: #2c3d5c;
    --t-gomoku-mp-chip-radius: 3px;
    --t-gomoku-page-btn-active-border-active: inset;
    --t-gomoku-page-btn-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-gomoku-page-btn-border: 2px outset #6b85b3;
    --t-gomoku-page-btn-fg: #E2EBF2;
    --t-gomoku-page-btn-radius: 3px;
    --t-gomoku-page-btn-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-gomoku-page-btn-text-shadow: 0 1px 2px #000;
    --t-gomoku-pauseoverlay-h2-fg: #E2EBF2;
    --t-gomoku-pauseoverlay-h2-text-shadow: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-gomoku-set-label-fg: #E2EBF2;
    --t-gomoku-set-label-text-shadow: 0 1px 2px #000;
    --t-gomoku-set-select-bg: #0d1626;
    --t-gomoku-set-select-border: 2px inset #45597e;
    --t-gomoku-set-select-fg: #cfe0ff;
    --t-gomoku-set-select-radius: 3px;
    --t-gomoku-set-select-shadow: none;
    --t-gomoku-set-select-text-shadow: none;
    --t-gomoku-sub-menu-btn-active-border-active: inset;
    --t-gomoku-sub-menu-btn-bg: linear-gradient(180deg, #3a4c6e 0%, #25344f 50%, #1d2a42 100%);
    --t-gomoku-sub-menu-btn-border: 2px outset #5a7299;
    --t-gomoku-sub-menu-btn-fg: #8fd8ff;
    --t-gomoku-sub-menu-btn-radius: 3px;
    --t-gomoku-sub-menu-btn-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-gomoku-sub-menu-btn-text-shadow: 0 1px 2px #000;
    --t-mines-body-bg: radial-gradient(ellipse at 50% 0%, #16233d 0%, #0a1120 70%);
    --t-mines-body-fg: #b9cff2;
    --t-mines-bottombar-bg: #0d1626;
    --t-mines-bottombar-border-top: 2px solid #2c3d5c;
    --t-mines-chatinput-bg: #0d1626;
    --t-mines-chatinput-border: 2px inset #45597e;
    --t-mines-chatinput-fg: #cfe0ff;
    --t-mines-chatinput-radius: 3px;
    --t-mines-chatinput-text-shadow: none;
    --t-mines-game-over-overlay-final-score-span-fg: #8fd8ff;
    --t-mines-game-over-overlay-h2-fg: #ff3b30;
    --t-mines-game-over-overlay-h2-text-shadow: 0 0 6px rgba(255, 59, 48, 0.6), 0 2px 2px #000;
    --t-mines-gamecanvas-border-color: #6b85b3;
    --t-mines-gamecanvas-shadow: 0 0 14px rgba(107, 133, 179, 0.4);
    --t-mines-h1-fg: #E2EBF2;
    --t-mines-h1-text-shadow: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-mines-main-menu-overlay-bg: rgba(10, 17, 32, 0.96);
    --t-mines-main-menu-overlay-h2-fg: #E2EBF2;
    --t-mines-main-menu-overlay-h2-text-shadow: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-mines-menu-btn-main-active-border-active: inset;
    --t-mines-menu-btn-main-bg: linear-gradient(180deg, #4a5f86 0%, #2c3d5c 50%, #22304c 100%);
    --t-mines-menu-btn-main-border: 2px outset #6b85b3;
    --t-mines-menu-btn-main-fg: #E2EBF2;
    --t-mines-menu-btn-main-radius: 3px;
    --t-mines-menu-btn-main-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-mines-menu-btn-main-text-shadow: 0 1px 2px #000;
    --t-mines-mp-chip-bg: #0d1626;
    --t-mines-mp-chip-border-color: #2c3d5c;
    --t-mines-mp-chip-radius: 3px;
    --t-mines-pager-btn-active-border-active: inset;
    --t-mines-pager-btn-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-mines-pager-btn-border: 2px outset #6b85b3;
    --t-mines-pager-btn-fg: #E2EBF2;
    --t-mines-pager-btn-radius: 3px;
    --t-mines-pager-btn-text-shadow: 0 1px 2px #000;
    --t-mines-pause-menu-btn-active-border-active: inset;
    --t-mines-pause-menu-btn-bg: linear-gradient(180deg, #3a4c6e, #1d2a42);
    --t-mines-pause-menu-btn-border: 2px outset #5a7299;
    --t-mines-pause-menu-btn-fg: #8fd8ff;
    --t-mines-pause-menu-btn-radius: 3px;
    --t-mines-pause-menu-btn-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-mines-pause-menu-btn-text-shadow: 0 1px 2px #000;
    --t-mines-pauseoverlay-h2-fg: #E2EBF2;
    --t-mines-pauseoverlay-h2-text-shadow: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-mines-set-label-fg: #E2EBF2;
    --t-mines-set-label-text-shadow: 0 1px 2px #000;
    --t-mines-set-select-bg: #0d1626;
    --t-mines-set-select-border: 2px inset #45597e;
    --t-mines-set-select-fg: #cfe0ff;
    --t-mines-set-select-radius: 3px;
    --t-mines-set-select-shadow: none;
    --t-mines-set-select-text-shadow: none;
    --t-mines-statbar-fg: #E2EBF2;
    --t-mines-statbar-text-shadow: 0 0 6px #4a525c, 0 1px 2px #000;
    --t-mines-sub-menu-btn-active-border-active: inset;
    --t-mines-sub-menu-btn-bg: linear-gradient(180deg, #3a4c6e 0%, #25344f 50%, #1d2a42 100%);
    --t-mines-sub-menu-btn-border: 2px outset #5a7299;
    --t-mines-sub-menu-btn-fg: #8fd8ff;
    --t-mines-sub-menu-btn-radius: 3px;
    --t-mines-sub-menu-btn-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-mines-sub-menu-btn-text-shadow: 0 1px 2px #000;
    --t-tang-body-bg: radial-gradient(ellipse at 50% 0%, #16233d 0%, #0a1120 70%);
    --t-tang-body-fg: #b9cff2;
    --t-tang-fire-btn-active-border-active: inset;
    --t-tang-fire-btn-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-tang-fire-btn-border: 2px outset #6b85b3;
    --t-tang-fire-btn-fg: #E2EBF2;
    --t-tang-fire-btn-radius: 3px;
    --t-tang-fire-btn-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-tang-fire-btn-text-shadow: 0 1px 2px #000;
    --t-tang-game-over-overlay-final-score-span-fg: #8fd8ff;
    --t-tang-game-over-overlay-h2-fg: #ff3b30;
    --t-tang-game-over-overlay-h2-text-shadow: 0 0 6px rgba(255, 59, 48, 0.6), 0 2px 2px #000;
    --t-tang-gamecanvas-border-color: #6b85b3;
    --t-tang-gamecanvas-shadow: 0 0 18px rgba(107, 133, 179, 0.4);
    --t-tang-gametimer-fg: #E2EBF2;
    --t-tang-gametimer-text-shadow: 0 0 6px #4a525c, 0 1px 2px #000;
    --t-tang-h1-fg: #E2EBF2;
    --t-tang-h1-text-shadow: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-tang-hud-btn-active-border-active: inset;
    --t-tang-hud-btn-bg: linear-gradient(180deg, #4a5f86 0%, #2c3d5c 50%, #22304c 100%);
    --t-tang-hud-btn-border: 2px outset #6b85b3;
    --t-tang-hud-btn-fg: #E2EBF2;
    --t-tang-hud-btn-radius: 3px;
    --t-tang-hud-btn-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-tang-hud-btn-text-shadow: 0 1px 2px #000;
    --t-tang-item-btn-active-border-active: inset;
    --t-tang-item-btn-bg: linear-gradient(180deg, #3a4c6e, #1d2a42);
    --t-tang-item-btn-border: 2px outset #5a7299;
    --t-tang-item-btn-fg: #8fd8ff;
    --t-tang-item-btn-item-num-fg: #8fd8ff;
    --t-tang-item-btn-item-num-opacity: 0.5;
    --t-tang-item-btn-item-num-text-shadow: 0 1px 2px #000;
    --t-tang-item-btn-radius: 3px;
    --t-tang-item-btn-text-shadow: 0 1px 2px #000;
    --t-tang-joy-base-bg: rgba(13, 22, 38, 0.85);
    --t-tang-joy-base-border: 2px outset #6b85b3;
    --t-tang-joy-knob-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-tang-joy-knob-border: 2px outset #6b85b3;
    --t-tang-main-menu-overlay-bg: rgba(10, 17, 32, 0.96);
    --t-tang-main-menu-overlay-h2-fg: #E2EBF2;
    --t-tang-main-menu-overlay-h2-text-shadow: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-tang-map-pg-btn-active-border-active: inset;
    --t-tang-map-pg-btn-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-tang-map-pg-btn-border: 2px outset #6b85b3;
    --t-tang-map-pg-btn-fg: #E2EBF2;
    --t-tang-map-pg-btn-radius: 3px;
    --t-tang-map-pg-btn-text-shadow: 0 1px 2px #000;
    --t-tang-map-pick-box-bg: rgba(10, 17, 32, 0.97);
    --t-tang-map-pick-box-border: 2px outset #6b85b3;
    --t-tang-map-pick-box-radius: 4px;
    --t-tang-map-pick-row-bg: linear-gradient(180deg, #3a4c6e, #1d2a42);
    --t-tang-map-pick-row-border: 2px outset #5a7299;
    --t-tang-map-pick-row-fg: #8fd8ff;
    --t-tang-map-pick-row-radius: 3px;
    --t-tang-map-pick-row-sel-border-color: #ffd94d;
    --t-tang-map-pick-row-sel-fg: #E2EBF2;
    --t-tang-map-pick-row-sel-shadow: 0 0 8px rgba(255, 217, 77, 0.35), inset 0 0 8px rgba(255, 217, 77, 0.12);
    --t-tang-map-pick-title-fg: #E2EBF2;
    --t-tang-map-pick-title-text-shadow: 0 0 6px #4a525c, 0 1px 2px #000;
    --t-tang-map-thumb-bg: #0d1626;
    --t-tang-map-thumb-border: 2px inset #45597e;
    --t-tang-map-thumb-box-sizing: border-box;
    --t-tang-menu-btn-main-active-border-active: inset;
    --t-tang-menu-btn-main-bg: linear-gradient(180deg, #4a5f86 0%, #2c3d5c 50%, #22304c 100%);
    --t-tang-menu-btn-main-border: 2px outset #6b85b3;
    --t-tang-menu-btn-main-fg: #E2EBF2;
    --t-tang-menu-btn-main-radius: 3px;
    --t-tang-menu-btn-main-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-tang-menu-btn-main-text-shadow: 0 1px 2px #000;
    --t-tang-mp-chip-bg: #0d1626;
    --t-tang-mp-chip-border-color: #2c3d5c;
    --t-tang-mp-chip-radius: 3px;
    --t-tang-pauseoverlay-h2-fg: #E2EBF2;
    --t-tang-pauseoverlay-h2-text-shadow: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-tang-set-label-fg: #E2EBF2;
    --t-tang-set-label-text-shadow: 0 1px 2px #000;
    --t-tang-set-select-bg: #0d1626;
    --t-tang-set-select-border: 2px inset #45597e;
    --t-tang-set-select-fg: #cfe0ff;
    --t-tang-set-select-radius: 3px;
    --t-tang-set-select-shadow: none;
    --t-tang-set-select-text-shadow: none;
    --t-tang-sub-menu-btn-active-border-active: inset;
    --t-tang-sub-menu-btn-bg: linear-gradient(180deg, #3a4c6e 0%, #25344f 50%, #1d2a42 100%);
    --t-tang-sub-menu-btn-border: 2px outset #5a7299;
    --t-tang-sub-menu-btn-fg: #8fd8ff;
    --t-tang-sub-menu-btn-radius: 3px;
    --t-tang-sub-menu-btn-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-tang-sub-menu-btn-text-shadow: 0 1px 2px #000;
    /* ---- snake/tetris/bomber/bubble 页变量（v4.48 并行批次） ---- */
    --t-body-bg: radial-gradient(ellipse at 50% 0%, #16233d 0%, #0a1120 70%);
    --t-body-bg-2: radial-gradient(ellipse at 50% 0%, #16233d 0%, #0a1120 70%);
    --t-body-bg-3: radial-gradient(ellipse at 50% 0%, #16233d 0%, #0a1120 70%);
    --t-body-fg: #b9cff2;
    --t-body-fg-2: #b9cff2;
    --t-body-fg-3: #b9cff2;
    --t-body-font: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --t-controls-p-fg: #aaa;
    --t-d-btn-active-bg: rgba(255, 182, 193, 0.5);
    --t-d-btn-bc: #5a7299;
    --t-d-btn-bd: 2px outset #6b85b3;
    --t-d-btn-bd-2: 2px outset #5a7299;
    --t-d-btn-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-d-btn-bg-2: linear-gradient(180deg, #3a4c6e, #1d2a42);
    --t-d-btn-border-active: inset;
    --t-d-btn-fg: #8fd8ff;
    --t-d-btn-rad: 3px;
    --t-d-btn-rad-2: 3px;
    --t-d-btn-rad-3: 3px;
    --t-d-btn-sh: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-d-btn-sh-2: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-drop-btn-bd: 2px outset #6b85b3;
    --t-drop-btn-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-drop-btn-fg: #E2EBF2;
    --t-drop-btn-sh: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-fire-btn-bc: #6b85b3;
    --t-fire-btn-bd: 2px outset #6b85b3;
    --t-fire-btn-bg: linear-gradient(180deg, #3a4c6e, #1d2a42);
    --t-fire-btn-bg-2: linear-gradient(180deg, #4a5f86, #22304c);
    --t-fire-btn-rad: 3px;
    --t-fire-btn-rad-2: 3px;
    --t-fire-btn-rad-3: 3px;
    --t-fire-btn-sh: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-fire-btn-sh-2: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-fire-btn-sh-3: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-fire-btn-tsh: 0 1px 2px #000;
    --t-game-over-overlay-bg: rgba(10, 17, 32, 0.96);
    --t-game-over-overlay-bg-2: rgba(10, 17, 32, 0.95);
    --t-game-over-overlay-bg-3: rgba(10, 17, 32, 0.96);
    --t-game-over-overlay-h2-fg: #ff3b30;
    --t-game-over-overlay-h2-fg-2: #ff3b30;
    --t-game-over-overlay-h2-fg-3: #ff3b30;
    --t-game-over-overlay-h2-tsh: 0 0 6px rgba(255, 59, 48, 0.6), 0 2px 2px #000;
    --t-gamecanvas-bc: #6b85b3;
    --t-gamecanvas-bg: #05080f;
    --t-gamecanvas-sh: 0 0 18px rgba(107, 133, 179, 0.4);
    --t-gamecanvas-sh-2: 0 0 18px rgba(107, 133, 179, 0.4);
    --t-gametimer-tsh: 0 0 6px #4a525c, 0 1px 2px #000;
    --t-h1-fg: #E2EBF2;
    --t-h1-fg-2: #E2EBF2;
    --t-h1-tsh: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-joy-base-bc: #6b85b3;
    --t-joy-base-bd: 2px outset #6b85b3;
    --t-joy-base-bg: rgba(13, 22, 38, 0.85);
    --t-joy-base-sh: 0 2px 6px rgba(0, 0, 0, 0.5);
    --t-joy-knob-bc: #6b85b3;
    --t-joy-knob-bd: 2px outset #6b85b3;
    --t-joy-knob-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-main-menu-overlay-bg: rgba(10, 17, 32, 0.96);
    --t-main-menu-overlay-bg-2: rgba(10, 17, 32, 0.96);
    --t-main-menu-overlay-bg-3: rgba(10, 17, 32, 0.96);
    --t-main-menu-overlay-h2-tsh: 0 0 6px #4a525c, 0 2px 2px #000;
    --t-main-menu-overlay-p-fg: #b9cff2;
    --t-main-menu-overlay-p-fg-2: #aaa;
    --t-main-menu-overlay-p-fg-3: #aaa;
    --t-menu-btn-main-sh: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-menu-btn-main-sh-2: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-mp-chip-bc: #2c3d5c;
    --t-mp-chip-bd: 1px solid #2c3d5c;
    --t-mp-chip-bd-2: 1px solid #2c3d5c;
    --t-mp-chip-chip-status-fg: #aaa;
    --t-mp-chip-rad: 3px;
    --t-mp-chip-rad-2: 3px;
    --t-mp-chip-turn-bc: #ffd94d;
    --t-mp-chip-turn-sh: 0 0 10px rgba(255, 217, 77, 0.5);
    --t-mp-field-label-fg: #E2EBF2;
    --t-mp-input-bd: 2px inset #45597e;
    --t-mp-input-bd-2: 2px inset #45597e;
    --t-mp-input-bg: #0d1626;
    --t-mp-input-fg: #cfe0ff;
    --t-mp-input-fg-2: #cfe0ff;
    --t-mp-input-rad: 3px;
    --t-mp-slot-bd: 1px solid #2c3d5c;
    --t-mp-slot-bd-2: 1px solid #2c3d5c;
    --t-mp-slot-bg: #0d1626;
    --t-pause-btn-bd: 2px outset #6b85b3;
    --t-pause-btn-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-pause-menu-btn-sh: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-pauseoverlay-h2-fg: #E2EBF2;
    --t-pauseoverlay-h2-fg-2: #E2EBF2;
    --t-pauseoverlay-h2-fg-3: #E2EBF2;
    --t-score-bd: 2px outset #6b85b3;
    --t-score-bdf: none;
    --t-score-bg: #0d1626;
    --t-score-box-bd: 1px solid #2c3d5c;
    --t-score-box-rad: 3px;
    --t-score-span-fg: #E2EBF2;
    --t-score-span-tsh: 0 0 6px #4a525c, 0 1px 2px #000;
    --t-set-btn-bg: linear-gradient(180deg, #4a5f86, #22304c);
    --t-set-btn-rad: 3px;
    --t-set-btn-sh: none;
    --t-set-select-bd: 2px inset #45597e;
    --t-set-select-bg: #0d1626;
    --t-set-select-bg-2: #0d1626;
    --t-set-select-fg: #cfe0ff;
    --t-set-select-rad: 3px;
    --t-set-select-sh: none;
    --t-set-select-tsh: none;
    --t-spectatebanner-bc: #6b85b3;
    --t-spectatebanner-bd: 2px outset #6b85b3;
    --t-spectatebanner-bg: #0d1626;
    --t-sub-menu-btn-sh: 0 2px 6px rgba(0, 0, 0, 0.6);
    --t-sub-menu-btn-sh-2: 0 2px 6px rgba(0, 0, 0, 0.6);
}
/* ========== 主题：星际争霸（星空动画背景 + 正红线框 + 绿色按钮文本，v4.50） ==========
   以金属科幻变量为底，下面覆盖差异项；星空背景由 bw-bg.js 画布绘制 */
body.theme-bw {
    /* 菜单等按钮：正红线框 + 正常绿色文本（不发光）+ 70% 透明黑底 */
    --t-btn-border: 2px solid #ff0000; --t-btn-fg: #39ff6a;
    --t-btn-text-shadow: none;
    --t-btn-bg: rgba(0, 0, 0, 0.7);
    --t-btn-border-active: solid;
    --t-sub-border: 2px solid #ff0000; --t-sub-fg: #39ff6a;
    --t-sub-text-shadow: none;
    --t-sub-bg: rgba(0, 0, 0, 0.7);
    --t-sub-border-active: solid;
    --t-toggle-border: 1px solid #ff0000; --t-toggle-fg: #39ff6a;
    /* 聊天窗口：正红线框 + 白色聊天文本 */
    --t-chat-border: 2px solid #ff0000; --t-chat-fg: #ffffff;
    --t-pager-fg: #39ff6a;
    --t-accent: #39ff6a; --t-accent2: #7ec8f7;
    /* v4.51：文字统一为暂停菜单黄 #ffd94d（覆盖 sc 继承色），背景画布由 bw-bg.js 提供 */
    --t-fg: #ffd94d; --t-label-fg: #ffd94d; --t-set-label-fg: #ffd94d;
    --t-inp-fg: #ffd94d; --t-inp-option-fg: #ffd94d;
    color: #ffd94d;
    /* 星空兜底底色（画布加载前可见）：深蓝从上往下渐浅 */
    --t-bg: linear-gradient(180deg, #040b1c 0%, #0a1f3d 55%, #17375e 100%);
}
/* bw 专有元素规则：菜单按钮正红线框绿色文本、70% 透明黑底（覆盖各游戏页变量规则） */
body.theme-bw .menu-btn-main, body.theme-bw .menu-btn, body.theme-bw .sub-menu-btn,
body.theme-bw .restart-btn, body.theme-bw .pause-menu-btn, body.theme-bw .set-btn,
body.theme-bw .chat-send-btn, body.theme-bw .send-btn, body.theme-bw .page-btn {
    border: 2px solid #ff0000 !important;
    color: #39ff6a !important;
    text-shadow: none !important;
    background: rgba(0, 0, 0, 0.7) !important;
}
/* bw 聊天窗口正红线框、聊天文本白色 */
body.theme-bw .chat-box, body.theme-bw #chatInput, body.theme-bw #hallChatInput,
body.theme-bw .chat-inp {
    border: 2px solid #ff0000 !important;
    color: #ffffff !important;
    background: rgba(0, 0, 0, 0.7) !important;
}
/* bw 游戏内按键/道具框：淡蓝外框；按键内文本黄色；70% 透明黑底 */
body.theme-bw .d-btn, body.theme-bw .item-btn, body.theme-bw .joy-base,
body.theme-bw .joy-knob, body.theme-bw .fire-btn, body.theme-bw .hud-btn,
body.theme-bw .drop-btn, body.theme-bw .pause-btn, body.theme-bw .pager-btn {
    border: 2px solid #7ec8f7 !important;
    color: #ffd94d !important;
    background: rgba(0, 0, 0, 0.7) !important;
    transition: transform 0.12s ease, box-shadow 0.15s ease;
}
body.theme-bw .item-btn .item-num, body.theme-bw .d-btn b, body.theme-bw .fire-btn b {
    color: #ffd94d !important;
}
/* bw 交互动画：悬停变大、按下缩小、松开还原 */
body.theme-bw button:hover, body.theme-bw .btn:hover, body.theme-bw .sel:hover,
body.theme-bw .d-btn:hover, body.theme-bw .item-btn:hover, body.theme-bw .fire-btn:hover,
body.theme-bw .hud-btn:hover, body.theme-bw .menu-btn-main:hover, body.theme-bw .menu-btn:hover {
    transform: scale(1.06);
}
body.theme-bw button:active, body.theme-bw .btn:active, body.theme-bw .sel:active,
body.theme-bw .d-btn:active, body.theme-bw .item-btn:active, body.theme-bw .fire-btn:active,
body.theme-bw .hud-btn:active, body.theme-bw .menu-btn-main:active, body.theme-bw .menu-btn:active {
    transform: scale(0.93);
}
/* bw 星空画布：固定在内容层之下 */
#bwBgCanvas {
    position: fixed; left: 0; top: 0; width: 100%; height: 100%;
    z-index: -1; pointer-events: none;
}


/* v4.51：bw 兜底——无框按钮/选项框统一正红线框 + 70% 透明黑底（具体类规则优先） */
body.theme-bw button, body.theme-bw select, body.theme-bw .sel, body.theme-bw .inp {
    border: 2px solid #ff0000;
    background: rgba(0, 0, 0, 0.7);
}
/* v4.54：bw 按钮文本统一绿色（主菜单/设置/大厅/创建房间/准备房间各按钮），选项框保持黄色 */
body.theme-bw button { color: #39ff6a; }
body.theme-bw select, body.theme-bw .sel, body.theme-bw .inp { color: #ffd94d; }
/* v4.54：bw 大厅房间列表外框改直角 */
body.theme-bw .list-box { border-radius: 0 !important; }
body.theme-bw input[type="range"] { border: none; background: transparent; }

/* ========== v4.52：下拉箭头 ▼ 随主题变色（pig_world.html 消费 --t-sel-arrow） ========== */
body.theme-warm   { --t-sel-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='7'><path d='M0 0 L4.5 7 L9 0 Z' fill='%23c2185b'/></svg>"); }
body.theme-simple { --t-sel-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='7'><path d='M0 0 L4.5 7 L9 0 Z' fill='%231c2b4a'/></svg>"); }
body.theme-cyber  { --t-sel-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='7'><path d='M0 0 L4.5 7 L9 0 Z' fill='%2300e5ff'/></svg>"); }
body.theme-sc     { --t-sel-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='7'><path d='M0 0 L4.5 7 L9 0 Z' fill='%23E2EBF2'/></svg>"); }
body.theme-bw     { --t-sel-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='7'><path d='M0 0 L4.5 7 L9 0 Z' fill='%23ffd94d'/></svg>"); }

/* ========== v4.52：bw 主题细节配色 ========== */
/* 玩家输入框文字白色（玩家名称/房间名称/房间密码/房间内昵称框） */
body.theme-bw input.inp, body.theme-bw input[type="text"], body.theme-bw input[type="password"] {
    color: #ffffff !important;
}
/* ms 延迟数字白色：准备房间 + 游戏内玩家列表 */
body.theme-bw .slot-sig .sig-num, body.theme-bw .slot-sig .sig-unit,
body.theme-bw .chip-sig .sig-num, body.theme-bw .chip-sig .sig-unit {
    color: #ffffff !important; opacity: 1;
}
/* 大厅房间列表框、房间行、准备房间玩家信息行：正红线框 */
body.theme-bw .list-box { border: 2px solid #ff0000 !important; border-radius: 10px; }
body.theme-bw .room-row { border: 2px solid #ff0000 !important; }
body.theme-bw .slot-row { border: 2px solid #ff0000 !important; }
/* 游戏内玩家信息列表（猪猪堂）：框红、队伍黄、名字绿、被困红、出局白（存活绿沿用） */
body.theme-bw .mp-chip { border: 2px solid #ff0000 !important; }
body.theme-bw .mp-chip .chip-team { color: #ffd94d !important; }
body.theme-bw .mp-chip .chip-name { color: #39ff6a !important; }
body.theme-bw .mp-chip .chip-status { color: #ff3b30 !important; }            /* 被困=红 */
body.theme-bw .mp-chip .chip-status.st-dead { color: #ffffff !important; }     /* 出局=白 */
body.theme-bw .mp-chip .chip-status.st-alive { color: #30d158 !important; }    /* 存活=绿 */
/* 虚拟摇杆：外圈绿、内圈黄（v4.58：红→黄） */
body.theme-bw .joy-base { border: 2px solid #39ff6a !important; }
body.theme-bw .joy-knob { background: #ffd94d !important; border-color: #ffd94d !important; }
/* 水泡按钮、道具栏、暂停菜单按钮：正红线框；道具格数字绿色 */
body.theme-bw .fire-btn { border: 2px solid #ff0000 !important; }
body.theme-bw .item-btn { border: 2px solid #ff0000 !important; }
body.theme-bw .item-btn .item-num { color: #39ff6a !important; }
body.theme-bw .hud-btn { border: 2px solid #ff0000 !important; }

/* ========== v4.53：赛博朋克动画背景 + 控件 75% 透明度 ========== */
#cyberBgCanvas {
    position: fixed; left: 0; top: 0; width: 100%; height: 100%;
    z-index: -1; pointer-events: none;
}
/* cyber 背景画布出现时，页面底色让位给画布 */
body.theme-cyber button, body.theme-cyber select, body.theme-cyber input,
body.theme-cyber .sel, body.theme-cyber .inp, body.theme-cyber .chat-box,
body.theme-cyber .modal-box, body.theme-cyber .list-box, body.theme-cyber .room-row,
body.theme-cyber .slot-row, body.theme-cyber .picker-row, body.theme-cyber .mp-chip,
body.theme-cyber .d-btn, body.theme-cyber .item-btn, body.theme-cyber .fire-btn,
body.theme-cyber .hud-btn, body.theme-cyber .page-btn, body.theme-cyber .joy-base {
    opacity: 0.75;
}

/* ========== v4.56：bw 选择弹窗与玩家列表绿色化 ========== */
/* 选择弹窗（菜单音乐/游戏音乐/主题风格/游戏类型/地图选择）：选项行红框 + 绿色文本 */
body.theme-bw .picker-row { border: 2px solid #ff0000 !important; color: #39ff6a !important; }
body.theme-bw .picker-row.sel { color: #39ff6a !important; }
/* v4.97：事件/电脑难度/队伍三种选择弹窗选项文本白色（openPicker whiteText 标记） */
body.theme-bw #pickerModal .modal-box.white-text .picker-row,
body.theme-bw #pickerModal .modal-box.white-text .picker-row.sel { color: #ffffff !important; }
/* 按钮形态的选项框（地图选择按钮/限时开关等 button.sel）：绿色文本 */
body.theme-bw button.sel { color: #39ff6a !important; }
/* 玩家信息列表：玩家名称、难度选择框、队伍选择框及其选项 绿色 */
body.theme-bw .slot-name { color: #39ff6a !important; }
body.theme-bw .slot-sel, body.theme-bw .slot-sel option { color: #39ff6a !important; }

/* ========== v4.63：温馨裸输入框线框 + bw 选择弹窗背景 ========== */
body.theme-warm { --t-inp-bare-border: 1px solid #c2185b; }
/* bw：游戏类型/地图/菜单音乐/游戏音乐/主题风格选择弹窗背景（不与黄红绿冲突的深空蓝紫） */
body.theme-bw #pickerModal .modal-box {
    background: linear-gradient(160deg, #17123d 0%, #0d0a26 60%, #081226 100%) !important;
    border: 2px solid #5a4fd8 !important;
    box-shadow: 0 0 18px rgba(90, 79, 216, 0.45);
}

/* ========== v4.92：赛博朋克·道具框/发射按钮统一发光黄线框（含 disabled/空槽态） ========== */
body.theme-cyber .item-btn,
body.theme-cyber .item-btn:disabled {
    border: 2px solid #ffe600;
    box-shadow: 0 0 10px rgba(255, 230, 0, 0.5);
}
body.theme-cyber .fire-btn {
    border: 2px solid #ffe600;
    box-shadow: 0 0 14px rgba(255, 230, 0, 0.55);
}
