/* ===== 深海 (abyss) ===== */
/*SKIN {"id":"abyss","name":"深海","colors":["#04121f","#00ffc8","#cfe8f5"]}*/
/* ============================================================
   深海 · Abyss — 深海生物荧光深色皮肤
   底 #04121f / 卡 #0a1e30 / 文 #cfe8f5
   生物荧光青 #00ffc8 × 水母紫 #b78bff 点缀
   全部规则 scope 于 html[data-skin="abyss"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="abyss"] {
  --bg: #04121f;
  --surface: #0a1e30;
  --card: #0a1e30;
  --border: #10314a;
  --border-light: #1c4a68;
  --text: #cfe8f5;
  --text-secondary: #9dbed2;
  --text-muted: #5f87a0;
  --accent: #00ffc8;
  --accent-hover: #5cffdb;
  --accent-subtle: rgba(0, 255, 200, 0.10);
  --success: #00e5a8;
  --success-subtle: rgba(0, 229, 168, 0.12);
  --error: #ff6b8f;
  --error-subtle: rgba(255, 107, 143, 0.12);
  --warning: #ffc46b;
  --warning-subtle: rgba(255, 196, 107, 0.12);
  --info: #58c7ff;
  --row-alt: #0c2338;
  --log-bg: #061624;
  --btn-disabled-bg: #12384e;
  --shadow-1: 0 1px 3px rgba(0, 4, 10, 0.55);
  --shadow-2: 0 2px 10px rgba(0, 4, 10, 0.55);
  --shadow-3: 0 10px 36px rgba(0, 4, 10, 0.65);
  --on-accent: #04231b;
  background: #04121f;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="abyss"][data-theme="dark"] {
  --bg: #04121f;
  --surface: #0a1e30;
  --card: #0a1e30;
  --border: #10314a;
  --border-light: #1c4a68;
  --text: #cfe8f5;
  --text-secondary: #9dbed2;
  --text-muted: #5f87a0;
  --accent: #00ffc8;
  --accent-hover: #5cffdb;
  --accent-subtle: rgba(0, 255, 200, 0.10);
  --success: #00e5a8;
  --success-subtle: rgba(0, 229, 168, 0.12);
  --error: #ff6b8f;
  --error-subtle: rgba(255, 107, 143, 0.12);
  --warning: #ffc46b;
  --warning-subtle: rgba(255, 196, 107, 0.12);
  --info: #58c7ff;
  --row-alt: #0c2338;
  --log-bg: #061624;
  --btn-disabled-bg: #12384e;
  --shadow-1: 0 1px 3px rgba(0, 4, 10, 0.55);
  --shadow-2: 0 2px 10px rgba(0, 4, 10, 0.55);
  --shadow-3: 0 10px 36px rgba(0, 4, 10, 0.65);
  --on-accent: #04231b;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="abyss"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：多层深蓝 radial，像海底透上来的光 ---- */
html[data-skin="abyss"] body {
  background:
    radial-gradient(1200px 700px at 50% -18%, rgba(0, 120, 190, 0.16), transparent 62%),
    radial-gradient(900px 540px at 12% 20%, rgba(0, 255, 200, 0.05), transparent 60%),
    radial-gradient(1000px 640px at 90% 78%, rgba(183, 139, 255, 0.07), transparent 62%),
    radial-gradient(1100px 620px at 50% 118%, rgba(0, 90, 150, 0.18), transparent 65%),
    #04121f;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="abyss"] ::selection {
  background: rgba(0, 255, 200, 0.30);
  color: #eafff9;
}
html[data-skin="abyss"] ::-webkit-scrollbar-thumb {
  background: #16405c;
  border-radius: 8px;
}
html[data-skin="abyss"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 255, 200, 0.5);
}
html[data-skin="abyss"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="abyss"] img {
  filter: brightness(0.95) saturate(1.1);
}

/* ---- 6. 头部：荧光青→海蓝→水母紫渐变字 ---- */
html[data-skin="abyss"] .header {
  border-color: #10314a;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(0, 255, 200, 0.14);
}
html[data-skin="abyss"] .header h1 {
  background: linear-gradient(90deg, #00ffc8, #58c7ff, #b78bff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(0, 255, 200, 0.30));
}
html[data-skin="abyss"] .card-title {
  color: #6fd0c0;
}

/* ---- 7. 卡片族：深海蓝黑卡 + hover 边框泛青光 ---- */
html[data-skin="abyss"] .card,
html[data-skin="abyss"] .stat-card,
html[data-skin="abyss"] .admin-panel,
html[data-skin="abyss"] .acc-card,
html[data-skin="abyss"] .batch-group,
html[data-skin="abyss"] .batch-result-item,
html[data-skin="abyss"] .notice-panel,
html[data-skin="abyss"] .notice-toast {
  background: #0a1e30;
  border: 1px solid #10314a;
}
html[data-skin="abyss"] .card:hover,
html[data-skin="abyss"] .stat-card:hover {
  border-color: rgba(0, 255, 200, 0.5);
  box-shadow: 0 0 18px rgba(0, 255, 200, 0.15), var(--shadow-2);
}
html[data-skin="abyss"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：荧光青发光按钮 ---- */
html[data-skin="abyss"] .btn,
html[data-skin="abyss"] .batch-btn,
html[data-skin="abyss"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="abyss"] .btn-primary {
  background: linear-gradient(135deg, #00ffc8, #00d4a8);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(0, 255, 200, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="abyss"] .btn-primary:hover {
  background: linear-gradient(135deg, #5cffdb, #1fe8bc);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(0, 255, 200, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="abyss"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #4f7d95;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="abyss"] .btn-secondary {
  background: #0a1e30;
  color: var(--text-secondary);
  border: 1px solid #1c4a68;
}
html[data-skin="abyss"] .btn-secondary:hover {
  background: #0d2539;
  color: #00ffc8;
  border-color: rgba(0, 255, 200, 0.5);
  box-shadow: 0 0 12px rgba(0, 255, 200, 0.2);
}
html[data-skin="abyss"] .btn-danger {
  background: rgba(255, 107, 143, 0.12);
  color: #ff8aa8;
  border: 1px solid rgba(255, 107, 143, 0.35);
}
html[data-skin="abyss"] .btn-danger:hover {
  background: rgba(255, 107, 143, 0.2);
  box-shadow: 0 0 14px rgba(255, 107, 143, 0.3);
}
html[data-skin="abyss"] .btn:disabled {
  color: #4f7d95;
}

/* ---- 9. 输入族：深海底泥底聚焦荧光青描边 ---- */
html[data-skin="abyss"] input[type="text"],
html[data-skin="abyss"] input[type="password"],
html[data-skin="abyss"] input[type="number"],
html[data-skin="abyss"] input[type="date"],
html[data-skin="abyss"] input[type="time"],
html[data-skin="abyss"] textarea,
html[data-skin="abyss"] select,
html[data-skin="abyss"] .auth-input,
html[data-skin="abyss"] .admin-table input,
html[data-skin="abyss"] #reservationGame,
html[data-skin="abyss"] #modalGameName {
  background: #081a2b;
  border: 1px solid #16405c;
  color: var(--text);
}
html[data-skin="abyss"] input[type="text"]:focus,
html[data-skin="abyss"] input[type="password"]:focus,
html[data-skin="abyss"] input[type="number"]:focus,
html[data-skin="abyss"] textarea:focus,
html[data-skin="abyss"] select:focus,
html[data-skin="abyss"] .auth-input:focus,
html[data-skin="abyss"] .admin-table input:focus,
html[data-skin="abyss"] #reservationGame:focus,
html[data-skin="abyss"] #modalGameName:focus {
  outline: none;
  border-color: #00ffc8;
  box-shadow: 0 0 0 3px rgba(0, 255, 200, 0.14), 0 0 14px rgba(0, 255, 200, 0.18);
}
html[data-skin="abyss"] select option,
html[data-skin="abyss"] #reservationGame option,
html[data-skin="abyss"] #modalGameName option {
  background: #061624;
  color: var(--text);
}
html[data-skin="abyss"] input[type="checkbox"] {
  accent-color: #00ffc8;
}

/* ---- 10. 表格：深表头 / 深渊斑马纹 / 荧光行悬停 ---- */
html[data-skin="abyss"] .admin-table th,
html[data-skin="abyss"] .admin-table td,
html[data-skin="abyss"] .log-table th,
html[data-skin="abyss"] .log-table td {
  border-bottom: 1px solid #0d2740;
}
html[data-skin="abyss"] .admin-table th,
html[data-skin="abyss"] .log-table th {
  background: #04121f;
  border-bottom: 1px solid #16405c;
}
html[data-skin="abyss"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="abyss"] .log-table tbody tr:nth-child(even) td {
  background: #0c2338;
}
html[data-skin="abyss"] .admin-table tr:hover td,
html[data-skin="abyss"] .log-table tr:hover td {
  background: rgba(0, 255, 200, 0.07);
}
html[data-skin="abyss"] #batchAccountTable tbody tr:hover {
  background: rgba(0, 255, 200, 0.05);
}
html[data-skin="abyss"] .batch-table-wrap {
  border-color: #0d2740;
}

/* ---- 11. 管理 tab：激活荧光青胶囊 ---- */
html[data-skin="abyss"] .admin-tab {
  background: #081a2b;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="abyss"] .admin-tab:hover {
  color: #cfe8f5;
  border-color: #1c4a68;
}
html[data-skin="abyss"] .admin-tab.active {
  background: linear-gradient(135deg, #00ffc8, #2ad4ff);
  color: var(--on-accent);
  border-color: rgba(0, 255, 200, 0.6);
  box-shadow: 0 0 14px rgba(0, 255, 200, 0.35);
}

/* ---- 12. 日志区：深渊观察窗 ---- */
html[data-skin="abyss"] .log-box {
  background: #061624;
  border: 1px solid #0f2c44;
  box-shadow: inset 0 0 24px rgba(0, 255, 200, 0.04);
}

/* ---- 13. 登录面板：深海浮岛卡 + 荧光登录键 ---- */
html[data-skin="abyss"] .auth-panel {
  background: #0a1e30;
  border: 1px solid #10314a;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(0, 255, 200, 0.08);
}
html[data-skin="abyss"] .auth-btn {
  background: linear-gradient(135deg, #00ffc8, #00d4a8);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(0, 255, 200, 0.35);
}
html[data-skin="abyss"] .auth-btn:hover {
  background: linear-gradient(135deg, #5cffdb, #1fe8bc);
  box-shadow: 0 0 26px rgba(0, 255, 200, 0.5);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="abyss"] .notice-panel {
  box-shadow: 0 8px 40px rgba(0, 4, 10, 0.65), 0 0 18px rgba(0, 255, 200, 0.10);
}
html[data-skin="abyss"] .notice-dot {
  border-color: #0a1e30;
}
html[data-skin="abyss"] .notice-toast {
  border-color: rgba(0, 255, 200, 0.55);
  border-left: 4px solid #00ffc8;
  box-shadow: 0 8px 30px rgba(0, 4, 10, 0.6), 0 0 18px rgba(0, 255, 200, 0.13);
}
html[data-skin="abyss"] .notice-toast .t-head {
  background: rgba(0, 255, 200, 0.12);
  color: #00ffc8;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="abyss"] .pagination-bar button {
  background: #0a1e30;
  border: 1px solid #16405c;
  color: var(--text);
}
html[data-skin="abyss"] .pagination-bar button:hover {
  border-color: #00ffc8;
  color: #00ffc8;
  box-shadow: 0 0 10px rgba(0, 255, 200, 0.22);
}
html[data-skin="abyss"] .points-badge {
  background: #ffc46b;
  color: #2b1c00;
}
html[data-skin="abyss"] .batch-result-item.ok {
  border-color: rgba(0, 229, 168, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补深渊投影；内联白底二维码盒压成冷纸白 ---- */
html[data-skin="abyss"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(0, 4, 10, 0.65), 0 0 24px rgba(0, 255, 200, 0.08) !important;
}
html[data-skin="abyss"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #00ffc8, #58c7ff, #b78bff) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="abyss"] #lxjQrBox,
html[data-skin="abyss"] #batchScanQr {
  background: #e9f6f1 !important;
  border: 1px solid rgba(0, 255, 200, 0.4);
}
html[data-skin="abyss"] img[style*="background:#fff"] {
  background: #e9f6f1 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="abyss"] * {
    transition: none !important;
  }
  html[data-skin="abyss"] body {
    animation: none;
  }
}
/* ===== 琥珀终端 (amber-terminal) ===== */
/*SKIN {"id":"amber-terminal","name":"琥珀终端","colors":["#16120a", "#ffb000", "#e8d5a3"]}*/
/* 琥珀终端：琥珀单色荧光终端 + 一切皆琥珀 + 扫描线 + 等宽 */

/* ---------- 变量重定义 ---------- */
html[data-skin="amber-terminal"] {
  --bg: #16120a;
  --surface: #201a0e;
  --card: #201a0e;
  --border: #332a16;
  --border-light: #4a3c1f;
  --text: #e8d5a3;
  --text-secondary: #c9ad6b;
  --text-muted: #93793c;
  --accent: #ffb000;
  --accent-hover: #ffc933;
  --accent-subtle: rgba(255,176,0,0.12);
  --success: #ffd24d;
  --success-subtle: rgba(255,210,77,0.1);
  --error: #ff8c3b;
  --error-subtle: rgba(255,140,59,0.12);
  --warning: #ffcc33;
  --warning-subtle: rgba(255,204,51,0.1);
  --info: #ffb84d;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.6);
  --shadow-2: 0 2px 10px rgba(0,0,0,0.65);
  --shadow-3: 0 8px 30px rgba(0,0,0,0.8);
  --row-alt: #191408;
  --log-bg: #100c05;
  --btn-disabled-bg: #2b2210;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="amber-terminal"][data-theme="dark"] {
  --bg: #16120a;
  --surface: #201a0e;
  --card: #201a0e;
  --border: #332a16;
  --border-light: #4a3c1f;
  --text: #e8d5a3;
  --text-secondary: #c9ad6b;
  --text-muted: #93793c;
  --accent: #ffb000;
  --accent-hover: #ffc933;
  --accent-subtle: rgba(255,176,0,0.12);
  --success: #ffd24d;
  --success-subtle: rgba(255,210,77,0.1);
  --error: #ff8c3b;
  --error-subtle: rgba(255,140,59,0.12);
  --warning: #ffcc33;
  --warning-subtle: rgba(255,204,51,0.1);
  --info: #ffb84d;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.6);
  --shadow-2: 0 2px 10px rgba(0,0,0,0.65);
  --shadow-3: 0 8px 30px rgba(0,0,0,0.8);
  --row-alt: #191408;
  --log-bg: #100c05;
  --btn-disabled-bg: #2b2210;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* ---------- 页面底 + 扫描线（静态低透明度，不影响阅读） ---------- */
html[data-skin="amber-terminal"] body {
  background: #16120a;
  color: #e8d5a3;
  min-height: 100vh;
}
html[data-skin="amber-terminal"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.05) 0px,
    rgba(255,255,255,0.05) 1px,
    transparent 1px,
    transparent 3px
  );
}

/* ---------- 卡片 / 面板 ---------- */
html[data-skin="amber-terminal"] .card,
html[data-skin="amber-terminal"] .stat-card,
html[data-skin="amber-terminal"] .acc-card,
html[data-skin="amber-terminal"] .auth-panel,
html[data-skin="amber-terminal"] .admin-panel,
html[data-skin="amber-terminal"] .config-panel,
html[data-skin="amber-terminal"] .notice-panel,
html[data-skin="amber-terminal"] .batch-result-item {
  background: #201a0e;
  border: 1px solid #332a16;
  box-shadow: 0 2px 10px rgba(0,0,0,0.65);
}
html[data-skin="amber-terminal"] .card:hover,
html[data-skin="amber-terminal"] .stat-card:hover {
  border-color: #ffb000;
  box-shadow: 0 0 0 1px #ffb000, 0 8px 30px rgba(0,0,0,0.8);
}
html[data-skin="amber-terminal"] .card-title {
  color: #ffb000;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
html[data-skin="amber-terminal"] .header {
  background: #16120a;
  border-bottom: 1px solid #332a16;
}
html[data-skin="amber-terminal"] .header h1 {
  color: #ffb000;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-shadow: 0 0 12px rgba(255,176,0,0.4);
}


/* ---------- 按钮全系 ---------- */
html[data-skin="amber-terminal"] .btn {
  border-radius: 0px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
html[data-skin="amber-terminal"] .btn-primary,
html[data-skin="amber-terminal"] .auth-btn,
html[data-skin="amber-terminal"] .admin-tab.active {
  background: #ffb000;
  color: #16120a;
  border: 1px solid #ffb000;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(255,176,0,0.32);
}
html[data-skin="amber-terminal"] .btn-primary:hover,
html[data-skin="amber-terminal"] .auth-btn:hover {
  background: #ffc933;
  border-color: #ffc933;
  box-shadow: 0 0 18px rgba(255,176,0,0.45);
}
html[data-skin="amber-terminal"] .btn-primary:disabled,
html[data-skin="amber-terminal"] .pagination-bar button:disabled {
  background: #2b2210;
  color: #93793c;
  border-color: #332a16;
  box-shadow: none;
}
html[data-skin="amber-terminal"] .btn-secondary,
html[data-skin="amber-terminal"] .batch-btn,
html[data-skin="amber-terminal"] .pagination-bar button,
html[data-skin="amber-terminal"] .notice-panel-head .n-clear {
  background: #201a0e;
  color: #e8d5a3;
  border: 1px solid #4a3c1f;
  border-radius: 0px;
}
html[data-skin="amber-terminal"] .btn-secondary:hover,
html[data-skin="amber-terminal"] .batch-btn:hover,
html[data-skin="amber-terminal"] .pagination-bar button:hover {
  background: #201a0e;
  color: #ffb000;
  border-color: #ffb000;
}
html[data-skin="amber-terminal"] .btn-danger {
  background: rgba(255,140,59,0.15);
  color: #ff8c3b;
  border: 1px solid #ff8c3b;
  border-radius: 0px;
}
html[data-skin="amber-terminal"] .btn-danger:hover {
  background: rgba(255,140,59,0.28);
}

/* ---------- 输入控件：深底 + 强调描边聚焦 ---------- */
html[data-skin="amber-terminal"] input[type="text"],
html[data-skin="amber-terminal"] input[type="password"],
html[data-skin="amber-terminal"] input[type="number"],
html[data-skin="amber-terminal"] textarea,
html[data-skin="amber-terminal"] select,
html[data-skin="amber-terminal"] .auth-input,
html[data-skin="amber-terminal"] .admin-table input,
html[data-skin="amber-terminal"] .config-row input {
  background: #100c05;
  border: 1px solid #332a16;
  color: #e8d5a3;
  border-radius: 0px;
}
html[data-skin="amber-terminal"] input[type="text"]:focus,
html[data-skin="amber-terminal"] input[type="password"]:focus,
html[data-skin="amber-terminal"] input[type="number"]:focus,
html[data-skin="amber-terminal"] textarea:focus,
html[data-skin="amber-terminal"] select:focus,
html[data-skin="amber-terminal"] .auth-input:focus,
html[data-skin="amber-terminal"] #reservationGame:focus,
html[data-skin="amber-terminal"] #modalGameName:focus {
  outline: none;
  border-color: #ffb000;
  box-shadow: 0 0 0 1px #ffb000, 0 0 8px rgba(255,176,0,0.22);
}
html[data-skin="amber-terminal"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #100c05 inset;
  -webkit-text-fill-color: #e8d5a3;
  caret-color: #ffb000;
}
html[data-skin="amber-terminal"] input[type="checkbox"],
html[data-skin="amber-terminal"] .acc-card-top .acc-check input {
  accent-color: #ffb000;
}
html[data-skin="amber-terminal"] ::placeholder {
  color: #93793c;
}

/* ---------- 双表格 ---------- */
html[data-skin="amber-terminal"] .admin-table th,
html[data-skin="amber-terminal"] .log-table th {
  color: #ffb000;
  background: #100c05;
  border-bottom: 1px solid #332a16;
}
html[data-skin="amber-terminal"] .admin-table td,
html[data-skin="amber-terminal"] .log-table td {
  border-bottom: 1px solid #2a2210;
}
html[data-skin="amber-terminal"] .admin-table tr:hover td,
html[data-skin="amber-terminal"] .log-table tr:hover td,
html[data-skin="amber-terminal"] #batchAccountTable tbody tr:hover {
  background: rgba(255,176,0,0.07);
}
html[data-skin="amber-terminal"] .log-table tbody tr:nth-child(even) td {
  background: #191408;
}

/* ---------- 日志区 ---------- */
html[data-skin="amber-terminal"] .log-box {
  background: #100c05;
  border: 1px solid #332a16;
}
html[data-skin="amber-terminal"] .log-detail-pre {
  background: #191408;
  color: #e8d5a3;
  border: 1px solid #2a2210;
}
html[data-skin="amber-terminal"] .log-line.success { color: #ffd24d; }
html[data-skin="amber-terminal"] .log-line.fail { color: #ff8c3b; }
html[data-skin="amber-terminal"] .log-line.info { color: #ffb84d; }
html[data-skin="amber-terminal"] .log-line.skip { color: #ffcc33; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="amber-terminal"] .badge-info { background: rgba(255,184,77,0.12); color: #ffb84d; }
html[data-skin="amber-terminal"] .badge-success { background: rgba(255,210,77,0.1); color: #ffd24d; }
html[data-skin="amber-terminal"] .badge-error { background: rgba(255,140,59,0.12); color: #ff8c3b; }
html[data-skin="amber-terminal"] .badge-warning { background: rgba(255,204,51,0.1); color: #ffcc33; }
html[data-skin="amber-terminal"] .stat-num.blue { color: #ffb84d; }
html[data-skin="amber-terminal"] .stat-num.green { color: #ffd24d; }
html[data-skin="amber-terminal"] .stat-num.red { color: #ff8c3b; }
html[data-skin="amber-terminal"] .stat-num.yellow { color: #ffcc33; }
html[data-skin="amber-terminal"] .debt-warning {
  background: rgba(255,140,59,0.12);
  border: 1px solid #ff8c3b;
  color: #ff8c3b;
  border-radius: 0px;
}
html[data-skin="amber-terminal"] .autocomplete-dropdown {
  background: #201a0e;
  border: 1px solid #332a16;
  border-radius: 0px;
}
html[data-skin="amber-terminal"] .autocomplete-item.active,
html[data-skin="amber-terminal"] .autocomplete-item:hover {
  background: rgba(255,176,0,0.12);
  color: #ffb000;
}
html[data-skin="amber-terminal"] .admin-tab {
  background: #201a0e;
  color: #c9ad6b;
  border: 1px solid #332a16;
  border-radius: 0px;
}
html[data-skin="amber-terminal"] .admin-tab:hover {
  border-color: #ffb000;
  color: #ffb000;
}
html[data-skin="amber-terminal"] .notice-toast {
  background: #201a0e;
  border: 1px solid #ffb000;
  border-left: 4px solid #ffb000;
  border-radius: 0px;
}
html[data-skin="amber-terminal"] .notice-item:hover {
  background: rgba(255,176,0,0.07);
}
html[data-skin="amber-terminal"] .notice-bell,
html[data-skin="amber-terminal"] .n-dot {
  color: #ffb000;
}

/* ---------- 弹窗遮罩 / 二维码盒淡纸白（保扫码对比度） ---------- */
html[data-skin="amber-terminal"] #logDetailModal,
html[data-skin="amber-terminal"] #pointsRecordsModal,
html[data-skin="amber-terminal"] #batchScanModal {
  background: rgba(8,5,0,0.82) !important;
}
html[data-skin="amber-terminal"] #lxjQrBox,
html[data-skin="amber-terminal"] #batchScanQr,
html[data-skin="amber-terminal"] #lxjQrImg,
html[data-skin="amber-terminal"] #batchScanQrImg {
  background: #f2e8cf !important;
  border: 1px solid rgba(255,176,0,0.45);
}
html[data-skin="amber-terminal"] img[style*="background:#fff"] {
  background: #f2e8cf !important;
}

/* ---------- 滚动条 / 选区 / 过渡 ---------- */
html[data-skin="amber-terminal"] ::-webkit-scrollbar-thumb {
  background: #332a16;
  border-radius: 0px;
}
html[data-skin="amber-terminal"] ::-webkit-scrollbar-thumb:hover {
  background: #ffb000;
}
html[data-skin="amber-terminal"] ::selection {
  background: #ffb000;
  color: #16120a;
}
html[data-skin="amber-terminal"] .btn,
html[data-skin="amber-terminal"] .card,
html[data-skin="amber-terminal"] .stat-card,
html[data-skin="amber-terminal"] .acc-card,
html[data-skin="amber-terminal"] .admin-tab,
html[data-skin="amber-terminal"] .pagination-bar button,
html[data-skin="amber-terminal"] input,
html[data-skin="amber-terminal"] select,
html[data-skin="amber-terminal"] textarea {
  transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s;
}

/* ---------- 动效保护：系统减弱动效时关闭过渡与动画 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="amber-terminal"] * {
    transition: none !important;
  }
  html[data-skin="amber-terminal"] body {
    animation: none;
  }
}
/* ===== 极昼 (arctic) ===== */
/*SKIN {"id":"arctic","name":"极昼","colors":["#f0f6fa","#0e9aa7","#22303c"]}*/
/* 极昼 · Arctic — 冰原通透浅色皮肤，极淡蓝弥散，大圆角 16px */
/* 暗色守卫双写：html[data-theme="dark"] 下强制回浅色，不随暗色主题变脸 */

/* ---------- 变量重定义 ---------- */
html[data-skin="arctic"] {
  --bg: #f0f6fa;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #d3e2ec;
  --border-light: #b9d2e0;
  --text: #22303c;
  --text-secondary: #55687a;
  --text-muted: #8ba0b0;
  --accent: #0e9aa7;
  --accent-hover: #0b7d88;
  --accent-subtle: rgba(14,154,167,0.08);
  --success: #2f9e6e;
  --success-subtle: rgba(47,158,110,0.10);
  --error: #d9536f;
  --error-subtle: rgba(217,83,111,0.08);
  --warning: #d9962b;
  --warning-subtle: rgba(217,150,43,0.10);
  --info: #4f8fd9;
  --radius: 16px;
  --radius-sm: 12px;
  --shadow-1: 0 1px 3px rgba(14,80,110,0.06);
  --shadow-2: 0 4px 14px rgba(14,80,110,0.08);
  --shadow-3: 0 10px 34px rgba(14,80,110,0.12);
  --row-alt: #f4f9fc;
  --log-bg: #ecf4f8;
  --btn-disabled-bg: #c2dbe4;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="arctic"][data-theme="dark"] {
  --bg: #f0f6fa;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #d3e2ec;
  --border-light: #b9d2e0;
  --text: #22303c;
  --text-secondary: #55687a;
  --text-muted: #8ba0b0;
  --accent: #0e9aa7;
  --accent-hover: #0b7d88;
  --accent-subtle: rgba(14,154,167,0.08);
  --success: #2f9e6e;
  --success-subtle: rgba(47,158,110,0.10);
  --error: #d9536f;
  --error-subtle: rgba(217,83,111,0.08);
  --warning: #d9962b;
  --warning-subtle: rgba(217,150,43,0.10);
  --info: #4f8fd9;
  --radius: 16px;
  --radius-sm: 12px;
  --row-alt: #f4f9fc;
  --log-bg: #ecf4f8;
  --btn-disabled-bg: #c2dbe4;
  color-scheme: light;
}

/* ---------- 页面底：冰原极淡蓝弥散 ---------- */
html[data-skin="arctic"] body {
  background:
    radial-gradient(44rem 42rem at 12% -8%, rgba(127,201,232,0.18), transparent 60%),
    radial-gradient(40rem 38rem at 90% 16%, rgba(79,168,217,0.10), transparent 62%),
    radial-gradient(48rem 44rem at 50% 116%, rgba(211,226,236,0.5), transparent 66%),
    linear-gradient(180deg, #f0f6fa 0%, #f6fafd 100%);
  background-attachment: fixed;
  color: #22303c;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：纯白雪原 + 淡冰影，大圆角 ---------- */
html[data-skin="arctic"] .card,
html[data-skin="arctic"] .stat-card,
html[data-skin="arctic"] .acc-card,
html[data-skin="arctic"] .auth-panel,
html[data-skin="arctic"] .admin-panel,
html[data-skin="arctic"] .config-panel,
html[data-skin="arctic"] .notice-panel,
html[data-skin="arctic"] .notice-toast,
html[data-skin="arctic"] .autocomplete-dropdown,
html[data-skin="arctic"] .batch-result-item {
  background: #ffffff;
  border: 1px solid #d3e2ec;
  border-radius: var(--radius);
  box-shadow: 0 4px 16px rgba(14,80,110,0.07);
}
html[data-skin="arctic"] .card:hover,
html[data-skin="arctic"] .stat-card:hover {
  border-color: #b9d2e0;
  box-shadow: 0 8px 24px rgba(14,80,110,0.11);
}
html[data-skin="arctic"] .card-title { color: #0e9aa7; }
html[data-skin="arctic"] .header {
  background: rgba(255,255,255,0.75);
  border-bottom: 1px solid #d3e2ec;
}
html[data-skin="arctic"] .header h1 {
  background: linear-gradient(120deg, #0e9aa7, #3f9fd9, #7fc9e8);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系：大圆角冰钮 ---------- */
html[data-skin="arctic"] .btn {
  border-radius: var(--radius-sm);
  font-weight: 600;
}
html[data-skin="arctic"] .btn-primary,
html[data-skin="arctic"] .auth-btn,
html[data-skin="arctic"] .admin-tab.active {
  background: #0e9aa7;
  color: #ffffff;
  border: 1px solid #0e9aa7;
  border-radius: var(--radius-sm);
  box-shadow: 0 4px 12px rgba(14,154,167,0.22);
}
html[data-skin="arctic"] .btn-primary:hover,
html[data-skin="arctic"] .auth-btn:hover {
  background: #0b7d88;
  border-color: #0b7d88;
  box-shadow: 0 6px 16px rgba(11,125,136,0.3);
}
html[data-skin="arctic"] .btn-primary:disabled,
html[data-skin="arctic"] .pagination-bar button:disabled {
  background: #c2dbe4;
  color: #ffffff;
  border-color: #c2dbe4;
  box-shadow: none;
}
html[data-skin="arctic"] .btn-secondary,
html[data-skin="arctic"] .batch-btn,
html[data-skin="arctic"] .pagination-bar button,
html[data-skin="arctic"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #55687a;
  border: 1px solid #d3e2ec;
  border-radius: var(--radius-sm);
}
html[data-skin="arctic"] .btn-secondary:hover,
html[data-skin="arctic"] .batch-btn:hover,
html[data-skin="arctic"] .pagination-bar button:hover {
  background: #f0f6fa;
  color: #0e9aa7;
  border-color: #b9d2e0;
}
html[data-skin="arctic"] .btn-danger {
  background: rgba(217,83,111,0.08);
  color: #d9536f;
  border: 1px solid rgba(217,83,111,0.22);
}
html[data-skin="arctic"] .btn-danger:hover {
  background: rgba(217,83,111,0.15);
}

/* ---------- 输入控件：聚焦冰海青描边 ---------- */
html[data-skin="arctic"] input[type="text"],
html[data-skin="arctic"] input[type="password"],
html[data-skin="arctic"] input[type="number"],
html[data-skin="arctic"] textarea,
html[data-skin="arctic"] select,
html[data-skin="arctic"] .auth-input,
html[data-skin="arctic"] .admin-table input,
html[data-skin="arctic"] .config-row input,
html[data-skin="arctic"] #reservationGame,
html[data-skin="arctic"] #modalGameName {
  background: #ffffff;
  border: 1px solid #c2d6e4;
  border-radius: var(--radius-sm);
  color: #22303c;
}
html[data-skin="arctic"] input[type="text"]:focus,
html[data-skin="arctic"] input[type="password"]:focus,
html[data-skin="arctic"] input[type="number"]:focus,
html[data-skin="arctic"] textarea:focus,
html[data-skin="arctic"] select:focus,
html[data-skin="arctic"] .auth-input:focus,
html[data-skin="arctic"] #reservationGame:focus,
html[data-skin="arctic"] #modalGameName:focus {
  outline: none;
  border-color: #0e9aa7;
  box-shadow: 0 0 0 3px rgba(14,154,167,0.12);
}
html[data-skin="arctic"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #f0f6fa inset;
  -webkit-text-fill-color: #22303c;
}
html[data-skin="arctic"] input[type="checkbox"],
html[data-skin="arctic"] .acc-card-top .acc-check input {
  accent-color: #0e9aa7;
}
html[data-skin="arctic"] ::placeholder {
  color: #a5bccb;
}

/* ---------- 表格 ---------- */
html[data-skin="arctic"] .admin-table th,
html[data-skin="arctic"] .log-table th {
  color: #0b7d88;
  background: #f4f9fc;
}
html[data-skin="arctic"] .admin-table tr:hover td,
html[data-skin="arctic"] .log-table tr:hover td,
html[data-skin="arctic"] #batchAccountTable tbody tr:hover {
  background: rgba(14,154,167,0.05);
}
html[data-skin="arctic"] .log-table tbody tr:nth-child(even) td {
  background: #f4f9fc;
}

/* ---------- 日志区 ---------- */
html[data-skin="arctic"] .log-box {
  background: #ecf4f8;
  border: 1px solid #d3e2ec;
  border-radius: var(--radius);
}
html[data-skin="arctic"] .log-detail-pre {
  background: #f4f9fc;
  color: #22303c;
}
html[data-skin="arctic"] .log-line.success { color: #2f9e6e; }
html[data-skin="arctic"] .log-line.fail { color: #d9536f; }
html[data-skin="arctic"] .log-line.info { color: #4f8fd9; }
html[data-skin="arctic"] .log-line.skip { color: #d9962b; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="arctic"] .badge-info { background: rgba(79,143,217,0.1); color: #4f8fd9; }
html[data-skin="arctic"] .badge-success { background: rgba(47,158,110,0.1); color: #2f9e6e; }
html[data-skin="arctic"] .badge-error { background: rgba(217,83,111,0.08); color: #d9536f; }
html[data-skin="arctic"] .badge-warning { background: rgba(217,150,43,0.1); color: #d9962b; }
html[data-skin="arctic"] .stat-num.blue { color: #4f8fd9; }
html[data-skin="arctic"] .stat-num.green { color: #2f9e6e; }
html[data-skin="arctic"] .stat-num.red { color: #d9536f; }
html[data-skin="arctic"] .stat-num.yellow { color: #d9962b; }
html[data-skin="arctic"] .debt-warning {
  background: rgba(217,83,111,0.08);
  border: 1px solid rgba(217,83,111,0.22);
  color: #d9536f;
}
html[data-skin="arctic"] .autocomplete-item.active,
html[data-skin="arctic"] .autocomplete-item:hover {
  background: rgba(14,154,167,0.07);
}
html[data-skin="arctic"] .admin-tab {
  background: #ffffff;
  color: #55687a;
  border: 1px solid #d3e2ec;
  border-radius: var(--radius-sm);
}
html[data-skin="arctic"] .admin-tab:hover {
  border-color: #b9d2e0;
  color: #0e9aa7;
}

/* ---------- 弹窗遮罩 / 滚动条 / 选区 / 二维码盒保白 ---------- */
html[data-skin="arctic"] #logDetailModal {
  background: rgba(34,48,60,0.45);
}
html[data-skin="arctic"] ::-webkit-scrollbar-thumb {
  background: #b9d2e0;
  border-radius: 8px;
}
html[data-skin="arctic"] ::-webkit-scrollbar-thumb:hover {
  background: #0e9aa7;
}
html[data-skin="arctic"] ::selection {
  background: rgba(14,154,167,0.16);
  color: #22303c;
}
html[data-skin="arctic"] #lxjQrBox,
html[data-skin="arctic"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #d3e2ec;
}

/* ---------- 暗色守卫补丁：data-theme="dark" 下整套关键面强制回浅色 ---------- */
html[data-skin="arctic"][data-theme="dark"] body {
  background:
    radial-gradient(44rem 42rem at 12% -8%, rgba(127,201,232,0.18), transparent 60%),
    radial-gradient(40rem 38rem at 90% 16%, rgba(79,168,217,0.10), transparent 62%),
    radial-gradient(48rem 44rem at 50% 116%, rgba(211,226,236,0.5), transparent 66%),
    linear-gradient(180deg, #f0f6fa 0%, #f6fafd 100%);
  background-attachment: fixed;
  color: #22303c;
  min-height: 100vh;
}
html[data-skin="arctic"][data-theme="dark"] .card,
html[data-skin="arctic"][data-theme="dark"] .stat-card,
html[data-skin="arctic"][data-theme="dark"] .acc-card,
html[data-skin="arctic"][data-theme="dark"] .auth-panel,
html[data-skin="arctic"][data-theme="dark"] .admin-panel,
html[data-skin="arctic"][data-theme="dark"] .config-panel,
html[data-skin="arctic"][data-theme="dark"] .notice-panel,
html[data-skin="arctic"][data-theme="dark"] .notice-toast,
html[data-skin="arctic"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="arctic"][data-theme="dark"] .batch-result-item {
  background: #ffffff;
  border: 1px solid #d3e2ec;
  border-radius: var(--radius);
  box-shadow: 0 4px 16px rgba(14,80,110,0.07);
}
html[data-skin="arctic"][data-theme="dark"] .card:hover,
html[data-skin="arctic"][data-theme="dark"] .stat-card:hover {
  border-color: #b9d2e0;
  box-shadow: 0 8px 24px rgba(14,80,110,0.11);
}
html[data-skin="arctic"][data-theme="dark"] .card-title { color: #0e9aa7; }
html[data-skin="arctic"][data-theme="dark"] .header {
  background: rgba(255,255,255,0.75);
  border-bottom: 1px solid #d3e2ec;
}
html[data-skin="arctic"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #0e9aa7, #3f9fd9, #7fc9e8);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html[data-skin="arctic"][data-theme="dark"] .btn-primary,
html[data-skin="arctic"][data-theme="dark"] .auth-btn,
html[data-skin="arctic"][data-theme="dark"] .admin-tab.active {
  background: #0e9aa7;
  color: #ffffff;
  border: 1px solid #0e9aa7;
  border-radius: var(--radius-sm);
  box-shadow: 0 4px 12px rgba(14,154,167,0.22);
}
html[data-skin="arctic"][data-theme="dark"] .btn-secondary,
html[data-skin="arctic"][data-theme="dark"] .batch-btn,
html[data-skin="arctic"][data-theme="dark"] .pagination-bar button {
  background: #ffffff;
  color: #55687a;
  border: 1px solid #d3e2ec;
  border-radius: var(--radius-sm);
}
html[data-skin="arctic"][data-theme="dark"] input[type="text"],
html[data-skin="arctic"][data-theme="dark"] input[type="password"],
html[data-skin="arctic"][data-theme="dark"] input[type="number"],
html[data-skin="arctic"][data-theme="dark"] textarea,
html[data-skin="arctic"][data-theme="dark"] select,
html[data-skin="arctic"][data-theme="dark"] .auth-input {
  background: #ffffff;
  border: 1px solid #c2d6e4;
  border-radius: var(--radius-sm);
  color: #22303c;
}
html[data-skin="arctic"][data-theme="dark"] .admin-table th,
html[data-skin="arctic"][data-theme="dark"] .log-table th {
  color: #0b7d88;
  background: #f4f9fc;
}
html[data-skin="arctic"][data-theme="dark"] .log-box {
  background: #ecf4f8;
  border: 1px solid #d3e2ec;
  border-radius: var(--radius);
}
html[data-skin="arctic"][data-theme="dark"] #logDetailModal {
  background: rgba(34,48,60,0.45);
}
html[data-skin="arctic"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #b9d2e0;
}
html[data-skin="arctic"][data-theme="dark"] ::selection {
  background: rgba(14,154,167,0.16);
  color: #22303c;
}

/* ---------- 动效保护 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="arctic"] * {
    transition: none !important;
  }
  html[data-skin="arctic"] body {
    animation: none;
  }
}
/* ===== 极光 (aurora) ===== */
/*SKIN {"id":"aurora","name":"极光","colors":["#0a1626","#34d399","#e2e8f0"]}*/
/* ============================================================
   极光 · Aurora — 夜空极光深色皮肤
   底 #0a1626 / 卡 rgba(15,23,42,.85) / 文 #e2e8f0
   极光强调：绿 #34d399 × 紫 #a78bfa × 青 #22d3ee
   全部规则 scope 于 html[data-skin="aurora"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="aurora"] {
  --bg: #0a1626;
  --surface: rgba(15, 23, 42, 0.88);
  --card: rgba(15, 23, 42, 0.85);
  --border: rgba(148, 163, 184, 0.16);
  --border-light: rgba(148, 163, 184, 0.30);
  --text: #e2e8f0;
  --text-secondary: #a8b6ca;
  --text-muted: #7e8ca3;
  --accent: #34d399;
  --accent-hover: #6ee7b7;
  --accent-subtle: rgba(52, 211, 153, 0.12);
  --success: #34d399;
  --success-subtle: rgba(52, 211, 153, 0.12);
  --error: #fb7185;
  --error-subtle: rgba(251, 113, 133, 0.12);
  --warning: #fbbf24;
  --warning-subtle: rgba(251, 191, 36, 0.12);
  --info: #22d3ee;
  --row-alt: rgba(148, 163, 184, 0.07);
  --log-bg: rgba(7, 14, 27, 0.92);
  --btn-disabled-bg: rgba(148, 163, 184, 0.16);
  --shadow-1: 0 1px 3px rgba(2, 8, 20, 0.5);
  --shadow-2: 0 2px 10px rgba(2, 8, 20, 0.5);
  --shadow-3: 0 10px 36px rgba(2, 8, 20, 0.6);
  --on-accent: #05231b;
  background: #0a1626;
  color-scheme: dark;
}

/* ---- 2. 极光漂移关键帧（26s 缓慢呼吸，alternate 往返） ---- */
@keyframes aurora-drift {
  0% {
    background-position: 0% 0%, 100% 0%, 50% 100%, 30% 40%;
  }
  100% {
    background-position: 18% 26%, 78% 18%, 42% 88%, 58% 64%;
  }
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="aurora"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：多层 radial-gradient 极光弥散 + 缓慢漂移 ---- */
html[data-skin="aurora"] body {
  background-color: #0a1626;
  background-image:
    radial-gradient(1000px 640px at 12% -8%, rgba(52, 211, 153, 0.20), transparent 60%),
    radial-gradient(1100px 720px at 88% 6%, rgba(167, 139, 250, 0.16), transparent 62%),
    radial-gradient(900px 620px at 50% 112%, rgba(34, 211, 238, 0.15), transparent 60%),
    radial-gradient(520px 420px at 72% 42%, rgba(52, 211, 153, 0.08), transparent 66%);
  background-size: 170% 170%, 180% 180%, 160% 160%, 130% 130%;
  background-position: 0% 0%, 100% 0%, 50% 100%, 30% 40%;
  background-repeat: no-repeat;
  background-attachment: fixed;
  color: var(--text);
  animation: aurora-drift 26s ease-in-out infinite alternate;
}
@media (prefers-reduced-motion: reduce) {
  html[data-skin="aurora"] body {
    animation: none;
  }
  html[data-skin="aurora"] * {
    transition: none;
  }
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="aurora"] ::selection {
  background: rgba(52, 211, 153, 0.35);
  color: #eafff5;
}
html[data-skin="aurora"] ::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.28);
  border-radius: 8px;
}
html[data-skin="aurora"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(52, 211, 153, 0.55);
}
html[data-skin="aurora"] img {
  filter: brightness(0.95) saturate(1.05);
}

/* ---- 6. 头部：绿→青→紫极光渐变标题 ---- */
html[data-skin="aurora"] .header {
  border-color: rgba(148, 163, 184, 0.16);
  backdrop-filter: blur(8px) saturate(1.2);
  -webkit-backdrop-filter: blur(8px) saturate(1.2);
}
html[data-skin="aurora"] .header h1 {
  background: linear-gradient(90deg, #34d399, #22d3ee, #a78bfa);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(52, 211, 153, 0.3));
}
html[data-skin="aurora"] .card-title {
  color: #8fd8c0;
}

/* ---- 7. 卡片族：半透明深卡 + 毛玻璃 + 淡边 ---- */
html[data-skin="aurora"] .card,
html[data-skin="aurora"] .stat-card,
html[data-skin="aurora"] .admin-panel,
html[data-skin="aurora"] .acc-card,
html[data-skin="aurora"] .batch-group,
html[data-skin="aurora"] .batch-result-item,
html[data-skin="aurora"] .notice-panel,
html[data-skin="aurora"] .notice-toast {
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(148, 163, 184, 0.16);
  backdrop-filter: blur(8px) saturate(1.25);
  -webkit-backdrop-filter: blur(8px) saturate(1.25);
}
html[data-skin="aurora"] .card:hover,
html[data-skin="aurora"] .stat-card:hover {
  border-color: rgba(52, 211, 153, 0.45);
  box-shadow: 0 10px 30px rgba(2, 8, 20, 0.55), 0 0 20px rgba(52, 211, 153, 0.10);
}

/* ---- 8. 按钮族：极光绿主按钮 ---- */
html[data-skin="aurora"] .btn,
html[data-skin="aurora"] .batch-btn,
html[data-skin="aurora"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="aurora"] .btn-primary {
  background: linear-gradient(135deg, #34d399, #22d3ee);
  color: #05231b;
  box-shadow: 0 4px 14px rgba(52, 211, 153, 0.28);
}
html[data-skin="aurora"] .btn-primary:hover {
  background: linear-gradient(135deg, #6ee7b7, #67e8f9);
  color: #05231b;
  box-shadow: 0 6px 20px rgba(52, 211, 153, 0.4);
  transform: translateY(-1px);
}
html[data-skin="aurora"] .btn-primary:disabled {
  background: rgba(148, 163, 184, 0.16);
  color: #64748b;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="aurora"] .btn-secondary {
  background: rgba(15, 23, 42, 0.88);
  color: var(--text-secondary);
  border: 1px solid rgba(148, 163, 184, 0.3);
}
html[data-skin="aurora"] .btn-secondary:hover {
  background: rgba(30, 41, 59, 0.9);
  color: #34d399;
  border-color: rgba(52, 211, 153, 0.5);
}
html[data-skin="aurora"] .btn-danger {
  background: rgba(251, 113, 133, 0.12);
  color: #fb7185;
  border: 1px solid rgba(251, 113, 133, 0.32);
}
html[data-skin="aurora"] .btn-danger:hover {
  background: rgba(251, 113, 133, 0.2);
  box-shadow: 0 0 14px rgba(251, 113, 133, 0.25);
}
html[data-skin="aurora"] .btn:disabled {
  color: #64748b;
}

/* ---- 9. 输入族：深底 + 极光绿聚焦 ---- */
html[data-skin="aurora"] input[type="text"],
html[data-skin="aurora"] input[type="password"],
html[data-skin="aurora"] input[type="number"],
html[data-skin="aurora"] input[type="date"],
html[data-skin="aurora"] input[type="time"],
html[data-skin="aurora"] textarea,
html[data-skin="aurora"] .auth-input,
html[data-skin="aurora"] .admin-table input,
html[data-skin="aurora"] #reservationGame,
html[data-skin="aurora"] #modalGameName {
  background: rgba(9, 18, 33, 0.92);
  border: 1px solid rgba(148, 163, 184, 0.22);
  color: var(--text);
}
html[data-skin="aurora"] input[type="text"]:focus,
html[data-skin="aurora"] input[type="password"]:focus,
html[data-skin="aurora"] input[type="number"]:focus,
html[data-skin="aurora"] textarea:focus,
html[data-skin="aurora"] .auth-input:focus,
html[data-skin="aurora"] .admin-table input:focus,
html[data-skin="aurora"] #reservationGame:focus,
html[data-skin="aurora"] #modalGameName:focus {
  outline: none;
  border-color: rgba(52, 211, 153, 0.7);
  box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.16);
}
html[data-skin="aurora"] input[type="checkbox"] {
  accent-color: #34d399;
}

/* ---- 10. 表格：不透明深表头 / 斑马纹 / 极光行悬停 ---- */
html[data-skin="aurora"] .admin-table th,
html[data-skin="aurora"] .admin-table td,
html[data-skin="aurora"] .log-table th,
html[data-skin="aurora"] .log-table td {
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}
html[data-skin="aurora"] .admin-table th,
html[data-skin="aurora"] .log-table th {
  background: #0a1626;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}
html[data-skin="aurora"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="aurora"] .log-table tbody tr:nth-child(even) td {
  background: rgba(148, 163, 184, 0.07);
}
html[data-skin="aurora"] .admin-table tr:hover td,
html[data-skin="aurora"] .log-table tr:hover td {
  background: rgba(52, 211, 153, 0.07);
}
html[data-skin="aurora"] .batch-table-wrap {
  border-color: rgba(148, 163, 184, 0.14);
}

/* ---- 11. 管理 tab：激活渐变胶囊 ---- */
html[data-skin="aurora"] .admin-tab {
  background: rgba(15, 23, 42, 0.88);
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="aurora"] .admin-tab:hover {
  color: #e2e8f0;
  border-color: rgba(148, 163, 184, 0.3);
}
html[data-skin="aurora"] .admin-tab.active {
  background: linear-gradient(135deg, #34d399, #22d3ee);
  color: #05231b;
  border-color: rgba(52, 211, 153, 0.6);
}

/* ---- 12. 日志区：深夜观察窗 ---- */
html[data-skin="aurora"] .log-box {
  background: rgba(7, 14, 27, 0.92);
  border: 1px solid rgba(148, 163, 184, 0.14);
}

/* ---- 13. 登录面板：悬浮极光卡 + 绿色登录键 ---- */
html[data-skin="aurora"] .auth-panel {
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: var(--radius);
  padding: 28px 24px;
  backdrop-filter: blur(10px) saturate(1.25);
  -webkit-backdrop-filter: blur(10px) saturate(1.25);
  box-shadow: var(--shadow-2), 0 0 30px rgba(52, 211, 153, 0.08);
}
html[data-skin="aurora"] .auth-btn {
  background: linear-gradient(135deg, #34d399, #22d3ee);
  color: #05231b;
  box-shadow: 0 4px 14px rgba(52, 211, 153, 0.3);
}
html[data-skin="aurora"] .auth-btn:hover {
  background: linear-gradient(135deg, #6ee7b7, #67e8f9);
  box-shadow: 0 6px 20px rgba(52, 211, 153, 0.45);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="aurora"] .notice-panel {
  box-shadow: 0 8px 40px rgba(2, 8, 20, 0.6), 0 0 18px rgba(52, 211, 153, 0.08);
}
html[data-skin="aurora"] .notice-dot {
  border-color: #0a1626;
}
html[data-skin="aurora"] .notice-toast {
  border-color: rgba(52, 211, 153, 0.55);
  border-left: 4px solid #34d399;
  box-shadow: 0 8px 30px rgba(2, 8, 20, 0.6), 0 0 18px rgba(52, 211, 153, 0.12);
}
html[data-skin="aurora"] .notice-toast .t-head {
  background: rgba(52, 211, 153, 0.12);
  color: #34d399;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="aurora"] .pagination-bar button {
  background: rgba(15, 23, 42, 0.88);
  border: 1px solid rgba(148, 163, 184, 0.22);
  color: var(--text);
}
html[data-skin="aurora"] .pagination-bar button:hover {
  border-color: #34d399;
  color: #34d399;
  box-shadow: 0 0 10px rgba(52, 211, 153, 0.2);
}
html[data-skin="aurora"] .points-badge {
  background: #fbbf24;
  color: #2b1c00;
}
html[data-skin="aurora"] .batch-result-item.ok {
  border-color: rgba(52, 211, 153, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补深投影；内联白底二维码盒压制 ---- */
html[data-skin="aurora"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(2, 8, 20, 0.6), 0 0 24px rgba(52, 211, 153, 0.08) !important;
}
html[data-skin="aurora"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #34d399, #22d3ee, #a78bfa) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="aurora"] #lxjQrBox,
html[data-skin="aurora"] #batchScanQr {
  background: #eaf3ee !important;
  border: 1px solid rgba(52, 211, 153, 0.35);
}
html[data-skin="aurora"] img[style*="background:#fff"] {
  background: #edf4ef !important;
}
/* ===== 夜光泡泡 (bubblegum-night) ===== */
/*SKIN {"id":"bubblegum-night","name":"夜光泡泡","colors":["#191226","#e879f9","#f2e8ff"]}*/
/* ============================================================
   夜光泡泡 · Bubblegum Night — 夜光糖果深色皮肤
   底 #191226 / 卡 #241a36 / 文 #f2e8ff
   泡泡糖 #e879f9 × 霓虹青 #22d3ee × 糖果黄 #fde047 点缀，圆角 18px
   全部规则 scope 于 html[data-skin="bubblegum-night"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="bubblegum-night"] {
  --bg: #191226;
  --surface: #241a36;
  --card: #241a36;
  --border: #3b2b56;
  --border-light: #4d3a70;
  --text: #f2e8ff;
  --text-secondary: #c9b8e8;
  --text-muted: #9482b8;
  --accent: #e879f9;
  --accent-hover: #f0a2ff;
  --accent-subtle: rgba(232, 121, 249, 0.12);
  --success: #34d399;
  --success-subtle: rgba(52, 211, 153, 0.12);
  --error: #fb7185;
  --error-subtle: rgba(251, 113, 133, 0.12);
  --warning: #fde047;
  --warning-subtle: rgba(253, 224, 71, 0.12);
  --info: #22d3ee;
  --radius: 18px;
  --radius-sm: 13px;
  --row-alt: #2b2040;
  --log-bg: #140e1e;
  --btn-disabled-bg: #452f68;
  --shadow-1: 0 1px 3px rgba(6, 3, 12, 0.55);
  --shadow-2: 0 2px 10px rgba(6, 3, 12, 0.55);
  --shadow-3: 0 10px 36px rgba(6, 3, 12, 0.65);
  --on-accent: #2a0a33;
  background: #191226;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿暗色变量组） ---- */
html[data-skin="bubblegum-night"][data-theme="dark"] {
  --bg: #191226;
  --surface: #241a36;
  --card: #241a36;
  --border: #3b2b56;
  --border-light: #4d3a70;
  --text: #f2e8ff;
  --text-secondary: #c9b8e8;
  --text-muted: #9482b8;
  --accent: #e879f9;
  --accent-hover: #f0a2ff;
  --accent-subtle: rgba(232, 121, 249, 0.12);
  --success: #34d399;
  --success-subtle: rgba(52, 211, 153, 0.12);
  --error: #fb7185;
  --error-subtle: rgba(251, 113, 133, 0.12);
  --warning: #fde047;
  --warning-subtle: rgba(253, 224, 71, 0.12);
  --info: #22d3ee;
  --radius: 18px;
  --radius-sm: 13px;
  --row-alt: #2b2040;
  --log-bg: #140e1e;
  --btn-disabled-bg: #452f68;
  --shadow-1: 0 1px 3px rgba(6, 3, 12, 0.55);
  --shadow-2: 0 2px 10px rgba(6, 3, 12, 0.55);
  --shadow-3: 0 10px 36px rgba(6, 3, 12, 0.65);
  --on-accent: #2a0a33;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="bubblegum-night"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：夜空下的荧光糖纸光斑 ---- */
html[data-skin="bubblegum-night"] body {
  background:
    radial-gradient(1000px 620px at 50% -14%, rgba(232, 121, 249, 0.10), transparent 60%),
    radial-gradient(560px 400px at 14% 30%, rgba(34, 211, 238, 0.07), transparent 62%),
    radial-gradient(620px 420px at 86% 66%, rgba(253, 224, 71, 0.05), transparent 62%),
    radial-gradient(460px 340px at 70% 18%, rgba(255, 150, 220, 0.06), transparent 60%),
    radial-gradient(1100px 640px at 50% 118%, rgba(80, 40, 130, 0.25), transparent 66%),
    #191226;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="bubblegum-night"] ::selection {
  background: rgba(232, 121, 249, 0.30);
  color: #fbeeff;
}
html[data-skin="bubblegum-night"] ::-webkit-scrollbar-thumb {
  background: #453264;
  border-radius: 8px;
}
html[data-skin="bubblegum-night"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(232, 121, 249, 0.5);
}
html[data-skin="bubblegum-night"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="bubblegum-night"] img {
  filter: brightness(0.96) saturate(1.12);
}

/* ---- 6. 头部：泡泡糖→霓虹青→糖果黄三色渐变字 ---- */
html[data-skin="bubblegum-night"] .header {
  border-color: #3b2b56;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(232, 121, 249, 0.14);
}
html[data-skin="bubblegum-night"] .header h1 {
  background: linear-gradient(90deg, #e879f9, #22d3ee, #fde047);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(232, 121, 249, 0.30));
}
html[data-skin="bubblegum-night"] .card-title {
  color: #d9a2f5;
}

/* ---- 7. 卡片族：夜光糖卡 + hover 泡泡糖描边 ---- */
html[data-skin="bubblegum-night"] .card,
html[data-skin="bubblegum-night"] .stat-card,
html[data-skin="bubblegum-night"] .admin-panel,
html[data-skin="bubblegum-night"] .acc-card,
html[data-skin="bubblegum-night"] .batch-group,
html[data-skin="bubblegum-night"] .batch-result-item,
html[data-skin="bubblegum-night"] .notice-panel,
html[data-skin="bubblegum-night"] .notice-toast {
  background: #241a36;
  border: 1px solid #3b2b56;
  border-radius: var(--radius);
}
html[data-skin="bubblegum-night"] .card:hover,
html[data-skin="bubblegum-night"] .stat-card:hover {
  border-color: rgba(232, 121, 249, 0.5);
  box-shadow: 0 0 18px rgba(232, 121, 249, 0.16), var(--shadow-2);
}
html[data-skin="bubblegum-night"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：泡泡糖发光按钮，大圆角 ---- */
html[data-skin="bubblegum-night"] .btn,
html[data-skin="bubblegum-night"] .batch-btn,
html[data-skin="bubblegum-night"] .pagination-bar button {
  border-radius: var(--radius-sm);
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="bubblegum-night"] .btn-primary {
  background: linear-gradient(135deg, #e879f9, #c94fd9);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(232, 121, 249, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="bubblegum-night"] .btn-primary:hover {
  background: linear-gradient(135deg, #f0a2ff, #e879f9);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(232, 121, 249, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="bubblegum-night"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #7d6a9e;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="bubblegum-night"] .btn-secondary {
  background: #241a36;
  color: var(--text-secondary);
  border: 1px solid #4d3a70;
}
html[data-skin="bubblegum-night"] .btn-secondary:hover {
  background: #2c2044;
  color: #f0a2ff;
  border-color: rgba(232, 121, 249, 0.5);
  box-shadow: 0 0 12px rgba(232, 121, 249, 0.2);
}
html[data-skin="bubblegum-night"] .btn-danger {
  background: rgba(251, 113, 133, 0.12);
  color: #fb8f9f;
  border: 1px solid rgba(251, 113, 133, 0.35);
}
html[data-skin="bubblegum-night"] .btn-danger:hover {
  background: rgba(251, 113, 133, 0.2);
  box-shadow: 0 0 14px rgba(251, 113, 133, 0.3);
}
html[data-skin="bubblegum-night"] .btn:disabled {
  color: #7d6a9e;
}

/* ---- 9. 输入族：夜糖底聚焦泡泡糖描边 ---- */
html[data-skin="bubblegum-night"] input[type="text"],
html[data-skin="bubblegum-night"] input[type="password"],
html[data-skin="bubblegum-night"] input[type="number"],
html[data-skin="bubblegum-night"] input[type="date"],
html[data-skin="bubblegum-night"] input[type="time"],
html[data-skin="bubblegum-night"] textarea,
html[data-skin="bubblegum-night"] select,
html[data-skin="bubblegum-night"] .auth-input,
html[data-skin="bubblegum-night"] .admin-table input,
html[data-skin="bubblegum-night"] #reservationGame,
html[data-skin="bubblegum-night"] #modalGameName {
  background: #1f1631;
  border: 1px solid #453264;
  color: var(--text);
}
html[data-skin="bubblegum-night"] input[type="text"]:focus,
html[data-skin="bubblegum-night"] input[type="password"]:focus,
html[data-skin="bubblegum-night"] input[type="number"]:focus,
html[data-skin="bubblegum-night"] textarea:focus,
html[data-skin="bubblegum-night"] select:focus,
html[data-skin="bubblegum-night"] .auth-input:focus,
html[data-skin="bubblegum-night"] .admin-table input:focus,
html[data-skin="bubblegum-night"] #reservationGame:focus,
html[data-skin="bubblegum-night"] #modalGameName:focus {
  outline: none;
  border-color: #e879f9;
  box-shadow: 0 0 0 3px rgba(232, 121, 249, 0.14), 0 0 14px rgba(232, 121, 249, 0.18);
}
html[data-skin="bubblegum-night"] select option,
html[data-skin="bubblegum-night"] #reservationGame option,
html[data-skin="bubblegum-night"] #modalGameName option {
  background: #140e1e;
  color: var(--text);
}
html[data-skin="bubblegum-night"] input[type="checkbox"] {
  accent-color: #e879f9;
}

/* ---- 10. 表格：深表头 / 夜糖斑马纹 / 泡泡行悬停 ---- */
html[data-skin="bubblegum-night"] .admin-table th,
html[data-skin="bubblegum-night"] .admin-table td,
html[data-skin="bubblegum-night"] .log-table th,
html[data-skin="bubblegum-night"] .log-table td {
  border-bottom: 1px solid #2f2246;
}
html[data-skin="bubblegum-night"] .admin-table th,
html[data-skin="bubblegum-night"] .log-table th {
  background: #191226;
  border-bottom: 1px solid #4d3a70;
}
html[data-skin="bubblegum-night"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="bubblegum-night"] .log-table tbody tr:nth-child(even) td {
  background: #2b2040;
}
html[data-skin="bubblegum-night"] .admin-table tr:hover td,
html[data-skin="bubblegum-night"] .log-table tr:hover td {
  background: rgba(232, 121, 249, 0.08);
}
html[data-skin="bubblegum-night"] #batchAccountTable tbody tr:hover {
  background: rgba(232, 121, 249, 0.05);
}
html[data-skin="bubblegum-night"] .batch-table-wrap {
  border-color: #2f2246;
}

/* ---- 11. 管理 tab：激活泡泡糖胶囊 ---- */
html[data-skin="bubblegum-night"] .admin-tab {
  background: #1f1631;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="bubblegum-night"] .admin-tab:hover {
  color: #f2e8ff;
  border-color: #4d3a70;
}
html[data-skin="bubblegum-night"] .admin-tab.active {
  background: linear-gradient(135deg, #e879f9, #22d3ee);
  color: var(--on-accent);
  border-color: rgba(232, 121, 249, 0.6);
  box-shadow: 0 0 14px rgba(232, 121, 249, 0.35);
}

/* ---- 12. 日志区：荧光糖罐观察窗 ---- */
html[data-skin="bubblegum-night"] .log-box {
  background: #140e1e;
  border: 1px solid #352652;
  box-shadow: inset 0 0 24px rgba(232, 121, 249, 0.05);
}

/* ---- 13. 登录面板：夜光浮岛卡 + 泡泡糖登录键 ---- */
html[data-skin="bubblegum-night"] .auth-panel {
  background: #241a36;
  border: 1px solid #3b2b56;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(232, 121, 249, 0.08);
}
html[data-skin="bubblegum-night"] .auth-btn {
  background: linear-gradient(135deg, #e879f9, #c94fd9);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(232, 121, 249, 0.35);
}
html[data-skin="bubblegum-night"] .auth-btn:hover {
  background: linear-gradient(135deg, #f0a2ff, #e879f9);
  box-shadow: 0 0 26px rgba(232, 121, 249, 0.5);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="bubblegum-night"] .notice-panel {
  box-shadow: 0 8px 40px rgba(6, 3, 12, 0.65), 0 0 18px rgba(34, 211, 238, 0.08);
}
html[data-skin="bubblegum-night"] .notice-dot {
  border-color: #241a36;
}
html[data-skin="bubblegum-night"] .notice-toast {
  border-color: rgba(232, 121, 249, 0.55);
  border-left: 4px solid #e879f9;
  box-shadow: 0 8px 30px rgba(6, 3, 12, 0.6), 0 0 18px rgba(232, 121, 249, 0.13);
}
html[data-skin="bubblegum-night"] .notice-toast .t-head {
  background: rgba(232, 121, 249, 0.14);
  color: #f0a2ff;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="bubblegum-night"] .pagination-bar button {
  background: #241a36;
  border: 1px solid #453264;
  color: var(--text);
}
html[data-skin="bubblegum-night"] .pagination-bar button:hover {
  border-color: #e879f9;
  color: #f0a2ff;
  box-shadow: 0 0 10px rgba(232, 121, 249, 0.22);
}
html[data-skin="bubblegum-night"] .points-badge {
  background: #fde047;
  color: #332a05;
}
html[data-skin="bubblegum-night"] .batch-result-item.ok {
  border-color: rgba(52, 211, 153, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补夜光投影；内联白底二维码盒压成雾紫纸白 ---- */
html[data-skin="bubblegum-night"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(6, 3, 12, 0.65), 0 0 24px rgba(232, 121, 249, 0.08) !important;
}
html[data-skin="bubblegum-night"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #e879f9, #22d3ee, #fde047) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="bubblegum-night"] #lxjQrBox,
html[data-skin="bubblegum-night"] #batchScanQr {
  background: #f8f2ff !important;
  border: 1px solid rgba(232, 121, 249, 0.4);
}
html[data-skin="bubblegum-night"] img[style*="background:#fff"] {
  background: #f8f2ff !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="bubblegum-night"] * {
    transition: none !important;
  }
  html[data-skin="bubblegum-night"] body {
    animation: none;
  }
}
/* ===== 猫布丁拿铁 (catppuccin-latte) ===== */
/*SKIN {"id":"catppuccin-latte","name":"猫布丁拿铁","colors":["#eff1f5","#8839ef","#4c4f69"]}*/
/* 猫布丁拿铁：Catppuccin Latte 拿铁灰蓝底 + 纯白卡片 + 柔和正文 + 薰衣草紫强调，马卡龙粉 #dd7878 点缀 */

/* ---------- 变量重定义 ---------- */
html[data-skin="catppuccin-latte"] {
  --bg: #eff1f5;
  --surface: #e6e9ef;
  --card: #ffffff;
  --border: #ccd0da;
  --border-light: #bcc0cc;
  --text: #4c4f69;
  --text-secondary: #6c6f85;
  --text-muted: #8c8fa1;
  --accent: #8839ef;
  --accent-hover: #7431d4;
  --accent-subtle: rgba(136,57,239,0.10);
  --success: #40a02b;
  --success-subtle: rgba(64,160,43,0.11);
  --error: #d20f39;
  --error-subtle: rgba(210,15,57,0.10);
  --warning: #df8e1d;
  --warning-subtle: rgba(223,142,29,0.12);
  --info: #04a5e5;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow-1: 0 1px 3px rgba(140,143,161,0.08);
  --shadow-2: 0 4px 14px rgba(140,143,161,0.11);
  --shadow-3: 0 10px 34px rgba(140,143,161,0.15);
  --row-alt: #f0f2f7;
  --log-bg: #eef1f6;
  --btn-disabled-bg: #cfb0f9;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="catppuccin-latte"][data-theme="dark"] {
  --bg: #eff1f5;
  --surface: #e6e9ef;
  --card: #ffffff;
  --border: #ccd0da;
  --border-light: #bcc0cc;
  --text: #4c4f69;
  --text-secondary: #6c6f85;
  --text-muted: #8c8fa1;
  --accent: #8839ef;
  --accent-hover: #7431d4;
  --accent-subtle: rgba(136,57,239,0.10);
  --success: #40a02b;
  --success-subtle: rgba(64,160,43,0.11);
  --error: #d20f39;
  --error-subtle: rgba(210,15,57,0.10);
  --warning: #df8e1d;
  --warning-subtle: rgba(223,142,29,0.12);
  --info: #04a5e5;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow-1: 0 1px 3px rgba(140,143,161,0.08);
  --shadow-2: 0 4px 14px rgba(140,143,161,0.11);
  --shadow-3: 0 10px 34px rgba(140,143,161,0.15);
  --row-alt: #f0f2f7;
  --log-bg: #eef1f6;
  --btn-disabled-bg: #cfb0f9;
  color-scheme: light;
}

/* ---------- 页面底：浅色弥散渐变 ---------- */
html[data-skin="catppuccin-latte"] body {
  background:
    radial-gradient(40rem 40rem at 8% -6%, rgba(221,120,120,0.14), transparent 60%),
    radial-gradient(36rem 36rem at 94% 14%, rgba(136,57,239,0.08), transparent 62%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(114,135,253,0.10), transparent 64%),
    linear-gradient(180deg, #eff1f5 0%, #f2f3f8 100%);
  background-attachment: fixed;
  color: #4c4f69;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影 ---------- */
html[data-skin="catppuccin-latte"] .card,
html[data-skin="catppuccin-latte"] .stat-card,
html[data-skin="catppuccin-latte"] .acc-card,
html[data-skin="catppuccin-latte"] .auth-panel,
html[data-skin="catppuccin-latte"] .admin-panel,
html[data-skin="catppuccin-latte"] .config-panel,
html[data-skin="catppuccin-latte"] .notice-panel,
html[data-skin="catppuccin-latte"] .notice-toast,
html[data-skin="catppuccin-latte"] .autocomplete-dropdown,
html[data-skin="catppuccin-latte"] .batch-result-item,
html[data-skin="catppuccin-latte"] .modal-box {
  background: #ffffff;
  border: 1px solid #ccd0da;
  box-shadow: 0 4px 16px rgba(140,143,161,0.10);
}
html[data-skin="catppuccin-latte"] .card:hover,
html[data-skin="catppuccin-latte"] .stat-card:hover {
  border-color: #bcc0cc;
  box-shadow: 0 8px 24px rgba(140,143,161,0.16);
}
html[data-skin="catppuccin-latte"] .card-title {
  color: #8839ef;
}

/* ---------- 顶栏：半透明浅色毛玻璃 ---------- */
html[data-skin="catppuccin-latte"] .header {
  background: rgba(255,255,255,0.78);
  border-bottom: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"] .header h1 {
  background: linear-gradient(120deg, #8839ef, #dd7878);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="catppuccin-latte"] .btn {
  border-radius: 8px;
  font-weight: 600;
}
html[data-skin="catppuccin-latte"] .btn-primary,
html[data-skin="catppuccin-latte"] .auth-btn,
html[data-skin="catppuccin-latte"] .admin-tab.active {
  background: #8839ef;
  color: #ffffff;
  border: 1px solid #8839ef;
  box-shadow: 0 4px 12px rgba(136,57,239,0.22);
}
html[data-skin="catppuccin-latte"] .btn-primary:hover,
html[data-skin="catppuccin-latte"] .auth-btn:hover {
  background: #7431d4;
  border-color: #7431d4;
  box-shadow: 0 6px 16px rgba(116,49,212,0.3);
}
html[data-skin="catppuccin-latte"] .btn-primary:disabled,
html[data-skin="catppuccin-latte"] .pagination-bar button:disabled {
  background: #cfb0f9;
  color: #ffffff;
  border-color: #cfb0f9;
  box-shadow: none;
}
html[data-skin="catppuccin-latte"] .btn-secondary,
html[data-skin="catppuccin-latte"] .batch-btn,
html[data-skin="catppuccin-latte"] .pagination-bar button,
html[data-skin="catppuccin-latte"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #6c6f85;
  border: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"] .btn-secondary:hover,
html[data-skin="catppuccin-latte"] .batch-btn:hover,
html[data-skin="catppuccin-latte"] .pagination-bar button:hover {
  background: #eff1f5;
  color: #8839ef;
  border-color: #bcc0cc;
}
html[data-skin="catppuccin-latte"] .btn-danger {
  background: rgba(210,15,57,0.08);
  color: #d20f39;
  border: 1px solid rgba(210,15,57,0.22);
}
html[data-skin="catppuccin-latte"] .btn-danger:hover {
  background: rgba(210,15,57,0.15);
}

/* ---------- 输入控件：聚焦主题色描边 ---------- */
html[data-skin="catppuccin-latte"] input[type="text"],
html[data-skin="catppuccin-latte"] input[type="password"],
html[data-skin="catppuccin-latte"] input[type="number"],
html[data-skin="catppuccin-latte"] textarea,
html[data-skin="catppuccin-latte"] select,
html[data-skin="catppuccin-latte"] .auth-input,
html[data-skin="catppuccin-latte"] .admin-table input,
html[data-skin="catppuccin-latte"] .config-row input {
  background: #ffffff;
  border: 1px solid #bfc7d3;
  color: #4c4f69;
}
html[data-skin="catppuccin-latte"] input[type="text"],
html[data-skin="catppuccin-latte"] input[type="password"],
html[data-skin="catppuccin-latte"] input[type="number"],
html[data-skin="catppuccin-latte"] textarea,
html[data-skin="catppuccin-latte"] select,
html[data-skin="catppuccin-latte"] .auth-input,
html[data-skin="catppuccin-latte"] .admin-table input,
html[data-skin="catppuccin-latte"] .config-row input,
html[data-skin="catppuccin-latte"] #reservationGame,
html[data-skin="catppuccin-latte"] #modalGameName {
  outline: none;
  border-color: #8839ef;
  box-shadow: 0 0 0 3px rgba(136,57,239,0.13);
}
html[data-skin="catppuccin-latte"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #4c4f69;
}
html[data-skin="catppuccin-latte"] input[type="checkbox"],
html[data-skin="catppuccin-latte"] .acc-card-top .acc-check input {
  accent-color: #8839ef;
}
html[data-skin="catppuccin-latte"] ::placeholder {
  color: #a5a8b8;
}

/* ---------- 表格（管理表 + 日志表 + 批量表） ---------- */
html[data-skin="catppuccin-latte"] .admin-table th,
html[data-skin="catppuccin-latte"] .log-table th,
html[data-skin="catppuccin-latte"] #batchAccountTable th,
html[data-skin="catppuccin-latte"] #batchUnlockedTable th {
  color: #7431d4;
  background: #f0f2f7;
  border-bottom: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"] .admin-table td,
html[data-skin="catppuccin-latte"] .log-table td {
  border-bottom: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"] .admin-table tr:hover td,
html[data-skin="catppuccin-latte"] .log-table tr:hover td,
html[data-skin="catppuccin-latte"] #batchAccountTable tbody tr:hover {
  background: rgba(136,57,239,0.05);
}
html[data-skin="catppuccin-latte"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="catppuccin-latte"] .log-table tbody tr:nth-child(even) td {
  background: #f0f2f7;
}

/* ---------- 日志区 ---------- */
html[data-skin="catppuccin-latte"] .log-box {
  background: #eef1f6;
  border: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"] .log-detail-pre {
  background: #f0f2f7;
  color: #4c4f69;
}
html[data-skin="catppuccin-latte"] .log-line.success {
  color: #40a02b;
}
html[data-skin="catppuccin-latte"] .log-line.fail {
  color: #d20f39;
}
html[data-skin="catppuccin-latte"] .log-line.info {
  color: #04a5e5;
}
html[data-skin="catppuccin-latte"] .log-line.skip {
  color: #df8e1d;
}

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="catppuccin-latte"] .badge-info {
  background: rgba(4,165,229,0.10);
  color: #04a5e5;
}
html[data-skin="catppuccin-latte"] .badge-success {
  background: rgba(64,160,43,0.10);
  color: #40a02b;
}
html[data-skin="catppuccin-latte"] .badge-error {
  background: rgba(210,15,57,0.09);
  color: #d20f39;
}
html[data-skin="catppuccin-latte"] .badge-warning {
  background: rgba(223,142,29,0.11);
  color: #df8e1d;
}
html[data-skin="catppuccin-latte"] .stat-num.blue {
  color: #04a5e5;
}
html[data-skin="catppuccin-latte"] .stat-num.green {
  color: #40a02b;
}
html[data-skin="catppuccin-latte"] .stat-num.red {
  color: #d20f39;
}
html[data-skin="catppuccin-latte"] .stat-num.yellow {
  color: #df8e1d;
}
html[data-skin="catppuccin-latte"] .debt-warning {
  background: rgba(210,15,57,0.08);
  border: 1px solid rgba(210,15,57,0.22);
  color: #d20f39;
}
html[data-skin="catppuccin-latte"] .autocomplete-item.active,
html[data-skin="catppuccin-latte"] .autocomplete-item:hover {
  background: rgba(136,57,239,0.07);
}
html[data-skin="catppuccin-latte"] .admin-tab {
  background: #ffffff;
  color: #6c6f85;
  border: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"] .admin-tab:hover {
  border-color: #bcc0cc;
  color: #8839ef;
}

/* ---------- 通知铃 / 红点 ---------- */
html[data-skin="catppuccin-latte"] .notice-bell,
html[data-skin="catppuccin-latte"] .n-dot {
  color: #dd7878;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="catppuccin-latte"] #logDetailModal,
html[data-skin="catppuccin-latte"] #pointsRecordsModal,
html[data-skin="catppuccin-latte"] #batchScanModal {
  background: rgba(76,79,105,0.45);
}
html[data-skin="catppuccin-latte"] #lxjQrBox,
html[data-skin="catppuccin-latte"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"] #batchScanQrImg,
html[data-skin="catppuccin-latte"] #batchScanQr img,
html[data-skin="catppuccin-latte"] #lxjQrBox img,
html[data-skin="catppuccin-latte"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="catppuccin-latte"] ::-webkit-scrollbar-thumb {
  background: #bcc0cc;
  border-radius: 6px;
}
html[data-skin="catppuccin-latte"] ::-webkit-scrollbar-thumb:hover {
  background: #8839ef;
}
html[data-skin="catppuccin-latte"] ::selection {
  background: rgba(136,57,239,0.16);
  color: #4c4f69;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="catppuccin-latte"] .btn,
html[data-skin="catppuccin-latte"] .card,
html[data-skin="catppuccin-latte"] .stat-card,
html[data-skin="catppuccin-latte"] .acc-card,
html[data-skin="catppuccin-latte"] input,
html[data-skin="catppuccin-latte"] select,
html[data-skin="catppuccin-latte"] textarea,
html[data-skin="catppuccin-latte"] .admin-tab,
html[data-skin="catppuccin-latte"] .pagination-bar button,
html[data-skin="catppuccin-latte"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ================================================== */
/* 夜间模式守卫：data-theme="dark" 时全部强制回浅色， */
/* 防止全局夜间样式残留刺眼（特异性 0,2,1+ 压过深色规则） */
/* ================================================== */

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影（强制回浅色） ---------- */
html[data-skin="catppuccin-latte"][data-theme="dark"] .card,
html[data-skin="catppuccin-latte"][data-theme="dark"] .stat-card,
html[data-skin="catppuccin-latte"][data-theme="dark"] .acc-card,
html[data-skin="catppuccin-latte"][data-theme="dark"] .auth-panel,
html[data-skin="catppuccin-latte"][data-theme="dark"] .admin-panel,
html[data-skin="catppuccin-latte"][data-theme="dark"] .config-panel,
html[data-skin="catppuccin-latte"][data-theme="dark"] .notice-panel,
html[data-skin="catppuccin-latte"][data-theme="dark"] .notice-toast,
html[data-skin="catppuccin-latte"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="catppuccin-latte"][data-theme="dark"] .batch-result-item,
html[data-skin="catppuccin-latte"][data-theme="dark"] .modal-box {
  background: #ffffff;
  border: 1px solid #ccd0da;
  box-shadow: 0 4px 16px rgba(140,143,161,0.10);
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .card:hover,
html[data-skin="catppuccin-latte"][data-theme="dark"] .stat-card:hover {
  border-color: #bcc0cc;
  box-shadow: 0 8px 24px rgba(140,143,161,0.16);
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .card-title {
  color: #8839ef;
}

/* ---------- 顶栏：半透明浅色毛玻璃（强制回浅色） ---------- */
html[data-skin="catppuccin-latte"][data-theme="dark"] .header {
  background: rgba(255,255,255,0.78);
  border-bottom: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #8839ef, #dd7878);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系（强制回浅色） ---------- */
html[data-skin="catppuccin-latte"][data-theme="dark"] .btn {
  border-radius: 8px;
  font-weight: 600;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .btn-primary,
html[data-skin="catppuccin-latte"][data-theme="dark"] .auth-btn,
html[data-skin="catppuccin-latte"][data-theme="dark"] .admin-tab.active {
  background: #8839ef;
  color: #ffffff;
  border: 1px solid #8839ef;
  box-shadow: 0 4px 12px rgba(136,57,239,0.22);
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .btn-primary:hover,
html[data-skin="catppuccin-latte"][data-theme="dark"] .auth-btn:hover {
  background: #7431d4;
  border-color: #7431d4;
  box-shadow: 0 6px 16px rgba(116,49,212,0.3);
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="catppuccin-latte"][data-theme="dark"] .pagination-bar button:disabled {
  background: #cfb0f9;
  color: #ffffff;
  border-color: #cfb0f9;
  box-shadow: none;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .btn-secondary,
html[data-skin="catppuccin-latte"][data-theme="dark"] .batch-btn,
html[data-skin="catppuccin-latte"][data-theme="dark"] .pagination-bar button,
html[data-skin="catppuccin-latte"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #6c6f85;
  border: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="catppuccin-latte"][data-theme="dark"] .batch-btn:hover,
html[data-skin="catppuccin-latte"][data-theme="dark"] .pagination-bar button:hover {
  background: #eff1f5;
  color: #8839ef;
  border-color: #bcc0cc;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .btn-danger {
  background: rgba(210,15,57,0.08);
  color: #d20f39;
  border: 1px solid rgba(210,15,57,0.22);
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .btn-danger:hover {
  background: rgba(210,15,57,0.15);
}

/* ---------- 输入控件：聚焦主题色描边（强制回浅色） ---------- */
html[data-skin="catppuccin-latte"][data-theme="dark"] input[type="text"],
html[data-skin="catppuccin-latte"][data-theme="dark"] input[type="password"],
html[data-skin="catppuccin-latte"][data-theme="dark"] input[type="number"],
html[data-skin="catppuccin-latte"][data-theme="dark"] textarea,
html[data-skin="catppuccin-latte"][data-theme="dark"] select,
html[data-skin="catppuccin-latte"][data-theme="dark"] .auth-input,
html[data-skin="catppuccin-latte"][data-theme="dark"] .admin-table input,
html[data-skin="catppuccin-latte"][data-theme="dark"] .config-row input {
  background: #ffffff;
  border: 1px solid #bfc7d3;
  color: #4c4f69;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] input[type="text"],
html[data-skin="catppuccin-latte"][data-theme="dark"] input[type="password"],
html[data-skin="catppuccin-latte"][data-theme="dark"] input[type="number"],
html[data-skin="catppuccin-latte"][data-theme="dark"] textarea,
html[data-skin="catppuccin-latte"][data-theme="dark"] select,
html[data-skin="catppuccin-latte"][data-theme="dark"] .auth-input,
html[data-skin="catppuccin-latte"][data-theme="dark"] .admin-table input,
html[data-skin="catppuccin-latte"][data-theme="dark"] .config-row input,
html[data-skin="catppuccin-latte"][data-theme="dark"] #reservationGame,
html[data-skin="catppuccin-latte"][data-theme="dark"] #modalGameName {
  outline: none;
  border-color: #8839ef;
  box-shadow: 0 0 0 3px rgba(136,57,239,0.13);
}
html[data-skin="catppuccin-latte"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #4c4f69;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] input[type="checkbox"],
html[data-skin="catppuccin-latte"][data-theme="dark"] .acc-card-top .acc-check input {
  accent-color: #8839ef;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] ::placeholder {
  color: #a5a8b8;
}

/* ---------- 表格（管理表 + 日志表 + 批量表）（强制回浅色） ---------- */
html[data-skin="catppuccin-latte"][data-theme="dark"] .admin-table th,
html[data-skin="catppuccin-latte"][data-theme="dark"] .log-table th,
html[data-skin="catppuccin-latte"][data-theme="dark"] #batchAccountTable th,
html[data-skin="catppuccin-latte"][data-theme="dark"] #batchUnlockedTable th {
  color: #7431d4;
  background: #f0f2f7;
  border-bottom: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .admin-table td,
html[data-skin="catppuccin-latte"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="catppuccin-latte"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="catppuccin-latte"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(136,57,239,0.05);
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="catppuccin-latte"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #f0f2f7;
}

/* ---------- 日志区（强制回浅色） ---------- */
html[data-skin="catppuccin-latte"][data-theme="dark"] .log-box {
  background: #eef1f6;
  border: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .log-detail-pre {
  background: #f0f2f7;
  color: #4c4f69;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .log-line.success {
  color: #40a02b;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .log-line.fail {
  color: #d20f39;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .log-line.info {
  color: #04a5e5;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .log-line.skip {
  color: #df8e1d;
}

/* ---------- 徽标 / 状态 / 提示（强制回浅色） ---------- */
html[data-skin="catppuccin-latte"][data-theme="dark"] .badge-info {
  background: rgba(4,165,229,0.10);
  color: #04a5e5;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .badge-success {
  background: rgba(64,160,43,0.10);
  color: #40a02b;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .badge-error {
  background: rgba(210,15,57,0.09);
  color: #d20f39;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .badge-warning {
  background: rgba(223,142,29,0.11);
  color: #df8e1d;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .stat-num.blue {
  color: #04a5e5;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .stat-num.green {
  color: #40a02b;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .stat-num.red {
  color: #d20f39;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .stat-num.yellow {
  color: #df8e1d;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .debt-warning {
  background: rgba(210,15,57,0.08);
  border: 1px solid rgba(210,15,57,0.22);
  color: #d20f39;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="catppuccin-latte"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(136,57,239,0.07);
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .admin-tab {
  background: #ffffff;
  color: #6c6f85;
  border: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] .admin-tab:hover {
  border-color: #bcc0cc;
  color: #8839ef;
}

/* ---------- 通知铃 / 红点（强制回浅色） ---------- */
html[data-skin="catppuccin-latte"][data-theme="dark"] .notice-bell,
html[data-skin="catppuccin-latte"][data-theme="dark"] .n-dot {
  color: #dd7878;
}

/* ---------- 弹窗遮罩 / 二维码盒（强制回浅色） ---------- */
html[data-skin="catppuccin-latte"][data-theme="dark"] #logDetailModal,
html[data-skin="catppuccin-latte"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="catppuccin-latte"][data-theme="dark"] #batchScanModal {
  background: rgba(76,79,105,0.45);
}
html[data-skin="catppuccin-latte"][data-theme="dark"] #lxjQrBox,
html[data-skin="catppuccin-latte"][data-theme="dark"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #ccd0da;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] #batchScanQrImg,
html[data-skin="catppuccin-latte"][data-theme="dark"] #batchScanQr img,
html[data-skin="catppuccin-latte"][data-theme="dark"] #lxjQrBox img,
html[data-skin="catppuccin-latte"][data-theme="dark"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区（强制回浅色） ---------- */
html[data-skin="catppuccin-latte"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #bcc0cc;
  border-radius: 6px;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #8839ef;
}
html[data-skin="catppuccin-latte"][data-theme="dark"] ::selection {
  background: rgba(136,57,239,0.16);
  color: #4c4f69;
}

/* ---------- 全局过渡（强制回浅色） ---------- */
html[data-skin="catppuccin-latte"][data-theme="dark"] .btn,
html[data-skin="catppuccin-latte"][data-theme="dark"] .card,
html[data-skin="catppuccin-latte"][data-theme="dark"] .stat-card,
html[data-skin="catppuccin-latte"][data-theme="dark"] .acc-card,
html[data-skin="catppuccin-latte"][data-theme="dark"] input,
html[data-skin="catppuccin-latte"][data-theme="dark"] select,
html[data-skin="catppuccin-latte"][data-theme="dark"] textarea,
html[data-skin="catppuccin-latte"][data-theme="dark"] .admin-tab,
html[data-skin="catppuccin-latte"][data-theme="dark"] .pagination-bar button,
html[data-skin="catppuccin-latte"][data-theme="dark"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
/* ===== 樱桃可乐 (cherry-cola) ===== */
/*SKIN {"id":"cherry-cola","name":"樱桃可乐","colors":["#140a0e","#ff4d6d","#f5dee4"]}*/
/* ============================================================
   樱桃可乐 · Cherry Cola — 气泡感深色皮肤
   底 #140a0e / 卡 #1f1016 / 文 #f5dee4
   樱桃红 #ff4d6d × 葡萄气泡 #b78bff 点缀，radial 红光气泡
   全部规则 scope 于 html[data-skin="cherry-cola"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="cherry-cola"] {
  --bg: #140a0e;
  --surface: #1f1016;
  --card: #1f1016;
  --border: #3a1f29;
  --border-light: #55303e;
  --text: #f5dee4;
  --text-secondary: #d4aab6;
  --text-muted: #a0788a;
  --accent: #ff4d6d;
  --accent-hover: #ff7a94;
  --accent-subtle: rgba(255, 77, 109, 0.12);
  --success: #4fc98e;
  --success-subtle: rgba(79, 201, 142, 0.12);
  --error: #ff9e5f;
  --error-subtle: rgba(255, 158, 95, 0.12);
  --warning: #ffc46b;
  --warning-subtle: rgba(255, 196, 107, 0.12);
  --info: #b78bff;
  --radius: 14px;
  --radius-sm: 10px;
  --row-alt: #261219;
  --log-bg: #100709;
  --btn-disabled-bg: #43242f;
  --shadow-1: 0 1px 3px rgba(6, 2, 4, 0.55);
  --shadow-2: 0 2px 10px rgba(6, 2, 4, 0.55);
  --shadow-3: 0 10px 36px rgba(6, 2, 4, 0.65);
  --on-accent: #33060f;
  background: #140a0e;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿暗色变量组） ---- */
html[data-skin="cherry-cola"][data-theme="dark"] {
  --bg: #140a0e;
  --surface: #1f1016;
  --card: #1f1016;
  --border: #3a1f29;
  --border-light: #55303e;
  --text: #f5dee4;
  --text-secondary: #d4aab6;
  --text-muted: #a0788a;
  --accent: #ff4d6d;
  --accent-hover: #ff7a94;
  --accent-subtle: rgba(255, 77, 109, 0.12);
  --success: #4fc98e;
  --success-subtle: rgba(79, 201, 142, 0.12);
  --error: #ff9e5f;
  --error-subtle: rgba(255, 158, 95, 0.12);
  --warning: #ffc46b;
  --warning-subtle: rgba(255, 196, 107, 0.12);
  --info: #b78bff;
  --radius: 14px;
  --radius-sm: 10px;
  --row-alt: #261219;
  --log-bg: #100709;
  --btn-disabled-bg: #43242f;
  --shadow-1: 0 1px 3px rgba(6, 2, 4, 0.55);
  --shadow-2: 0 2px 10px rgba(6, 2, 4, 0.55);
  --shadow-3: 0 10px 36px rgba(6, 2, 4, 0.65);
  --on-accent: #33060f;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="cherry-cola"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：可乐瓶底的上浮气泡（radial 红光） ---- */
html[data-skin="cherry-cola"] body {
  background:
    radial-gradient(1000px 620px at 50% -14%, rgba(255, 77, 109, 0.10), transparent 60%),
    radial-gradient(520px 380px at 16% 28%, rgba(255, 77, 109, 0.08), transparent 62%),
    radial-gradient(640px 420px at 84% 64%, rgba(183, 139, 255, 0.07), transparent 62%),
    radial-gradient(420px 320px at 70% 22%, rgba(255, 150, 180, 0.05), transparent 60%),
    radial-gradient(1100px 640px at 50% 118%, rgba(120, 20, 40, 0.22), transparent 66%),
    #140a0e;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="cherry-cola"] ::selection {
  background: rgba(255, 77, 109, 0.30);
  color: #ffeef2;
}
html[data-skin="cherry-cola"] ::-webkit-scrollbar-thumb {
  background: #452433;
  border-radius: 8px;
}
html[data-skin="cherry-cola"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 77, 109, 0.5);
}
html[data-skin="cherry-cola"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="cherry-cola"] img {
  filter: brightness(0.95) saturate(1.12);
}

/* ---- 6. 头部：樱桃红→粉泡→葡萄渐变字 ---- */
html[data-skin="cherry-cola"] .header {
  border-color: #3a1f29;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(255, 77, 109, 0.14);
}
html[data-skin="cherry-cola"] .header h1 {
  background: linear-gradient(90deg, #ff4d6d, #ff8fa8, #b78bff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(255, 77, 109, 0.30));
}
html[data-skin="cherry-cola"] .card-title {
  color: #f58aa2;
}

/* ---- 7. 卡片族：玻璃瓶深卡 + hover 樱桃描边 ---- */
html[data-skin="cherry-cola"] .card,
html[data-skin="cherry-cola"] .stat-card,
html[data-skin="cherry-cola"] .admin-panel,
html[data-skin="cherry-cola"] .acc-card,
html[data-skin="cherry-cola"] .batch-group,
html[data-skin="cherry-cola"] .batch-result-item,
html[data-skin="cherry-cola"] .notice-panel,
html[data-skin="cherry-cola"] .notice-toast {
  background: #1f1016;
  border: 1px solid #3a1f29;
}
html[data-skin="cherry-cola"] .card:hover,
html[data-skin="cherry-cola"] .stat-card:hover {
  border-color: rgba(255, 77, 109, 0.5);
  box-shadow: 0 0 18px rgba(255, 77, 109, 0.15), var(--shadow-2);
}
html[data-skin="cherry-cola"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：樱桃红发光按钮 ---- */
html[data-skin="cherry-cola"] .btn,
html[data-skin="cherry-cola"] .batch-btn,
html[data-skin="cherry-cola"] .pagination-bar button {
  border-radius: var(--radius-sm);
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="cherry-cola"] .btn-primary {
  background: linear-gradient(135deg, #ff4d6d, #e03a5c);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(255, 77, 109, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="cherry-cola"] .btn-primary:hover {
  background: linear-gradient(135deg, #ff7a94, #f04a6e);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(255, 77, 109, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="cherry-cola"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #96606f;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="cherry-cola"] .btn-secondary {
  background: #1f1016;
  color: var(--text-secondary);
  border: 1px solid #55303e;
}
html[data-skin="cherry-cola"] .btn-secondary:hover {
  background: #271522;
  color: #ff7a94;
  border-color: rgba(255, 77, 109, 0.5);
  box-shadow: 0 0 12px rgba(255, 77, 109, 0.2);
}
html[data-skin="cherry-cola"] .btn-danger {
  background: rgba(255, 158, 95, 0.12);
  color: #ffb37c;
  border: 1px solid rgba(255, 158, 95, 0.35);
}
html[data-skin="cherry-cola"] .btn-danger:hover {
  background: rgba(255, 158, 95, 0.2);
  box-shadow: 0 0 14px rgba(255, 158, 95, 0.3);
}
html[data-skin="cherry-cola"] .btn:disabled {
  color: #96606f;
}

/* ---- 9. 输入族：深瓶底聚焦樱桃描边 ---- */
html[data-skin="cherry-cola"] input[type="text"],
html[data-skin="cherry-cola"] input[type="password"],
html[data-skin="cherry-cola"] input[type="number"],
html[data-skin="cherry-cola"] input[type="date"],
html[data-skin="cherry-cola"] input[type="time"],
html[data-skin="cherry-cola"] textarea,
html[data-skin="cherry-cola"] select,
html[data-skin="cherry-cola"] .auth-input,
html[data-skin="cherry-cola"] .admin-table input,
html[data-skin="cherry-cola"] #reservationGame,
html[data-skin="cherry-cola"] #modalGameName {
  background: #1b0d12;
  border: 1px solid #452433;
  color: var(--text);
}
html[data-skin="cherry-cola"] input[type="text"]:focus,
html[data-skin="cherry-cola"] input[type="password"]:focus,
html[data-skin="cherry-cola"] input[type="number"]:focus,
html[data-skin="cherry-cola"] textarea:focus,
html[data-skin="cherry-cola"] select:focus,
html[data-skin="cherry-cola"] .auth-input:focus,
html[data-skin="cherry-cola"] .admin-table input:focus,
html[data-skin="cherry-cola"] #reservationGame:focus,
html[data-skin="cherry-cola"] #modalGameName:focus {
  outline: none;
  border-color: #ff4d6d;
  box-shadow: 0 0 0 3px rgba(255, 77, 109, 0.14), 0 0 14px rgba(255, 77, 109, 0.18);
}
html[data-skin="cherry-cola"] select option,
html[data-skin="cherry-cola"] #reservationGame option,
html[data-skin="cherry-cola"] #modalGameName option {
  background: #100709;
  color: var(--text);
}
html[data-skin="cherry-cola"] input[type="checkbox"] {
  accent-color: #ff4d6d;
}

/* ---- 10. 表格：深表头 / 可乐斑马纹 / 樱桃行悬停 ---- */
html[data-skin="cherry-cola"] .admin-table th,
html[data-skin="cherry-cola"] .admin-table td,
html[data-skin="cherry-cola"] .log-table th,
html[data-skin="cherry-cola"] .log-table td {
  border-bottom: 1px solid #2e1720;
}
html[data-skin="cherry-cola"] .admin-table th,
html[data-skin="cherry-cola"] .log-table th {
  background: #140a0e;
  border-bottom: 1px solid #55303e;
}
html[data-skin="cherry-cola"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="cherry-cola"] .log-table tbody tr:nth-child(even) td {
  background: #261219;
}
html[data-skin="cherry-cola"] .admin-table tr:hover td,
html[data-skin="cherry-cola"] .log-table tr:hover td {
  background: rgba(255, 77, 109, 0.07);
}
html[data-skin="cherry-cola"] #batchAccountTable tbody tr:hover {
  background: rgba(255, 77, 109, 0.05);
}
html[data-skin="cherry-cola"] .batch-table-wrap {
  border-color: #2e1720;
}

/* ---- 11. 管理 tab：激活樱桃胶囊 ---- */
html[data-skin="cherry-cola"] .admin-tab {
  background: #1b0d12;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="cherry-cola"] .admin-tab:hover {
  color: #f5dee4;
  border-color: #55303e;
}
html[data-skin="cherry-cola"] .admin-tab.active {
  background: linear-gradient(135deg, #ff4d6d, #e03a5c);
  color: var(--on-accent);
  border-color: rgba(255, 77, 109, 0.6);
  box-shadow: 0 0 14px rgba(255, 77, 109, 0.35);
}

/* ---- 12. 日志区：冰镇观察窗 ---- */
html[data-skin="cherry-cola"] .log-box {
  background: #100709;
  border: 1px solid #3a1f29;
  box-shadow: inset 0 0 24px rgba(255, 77, 109, 0.05);
}

/* ---- 13. 登录面板：气泡浮岛卡 + 樱桃登录键 ---- */
html[data-skin="cherry-cola"] .auth-panel {
  background: #1f1016;
  border: 1px solid #3a1f29;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(255, 77, 109, 0.08);
}
html[data-skin="cherry-cola"] .auth-btn {
  background: linear-gradient(135deg, #ff4d6d, #e03a5c);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(255, 77, 109, 0.35);
}
html[data-skin="cherry-cola"] .auth-btn:hover {
  background: linear-gradient(135deg, #ff7a94, #f04a6e);
  box-shadow: 0 0 26px rgba(255, 77, 109, 0.5);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="cherry-cola"] .notice-panel {
  box-shadow: 0 8px 40px rgba(6, 2, 4, 0.65), 0 0 18px rgba(255, 77, 109, 0.10);
}
html[data-skin="cherry-cola"] .notice-dot {
  border-color: #1f1016;
}
html[data-skin="cherry-cola"] .notice-toast {
  border-color: rgba(255, 77, 109, 0.55);
  border-left: 4px solid #ff4d6d;
  box-shadow: 0 8px 30px rgba(6, 2, 4, 0.6), 0 0 18px rgba(255, 77, 109, 0.13);
}
html[data-skin="cherry-cola"] .notice-toast .t-head {
  background: rgba(255, 77, 109, 0.12);
  color: #ff8fa8;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="cherry-cola"] .pagination-bar button {
  background: #1f1016;
  border: 1px solid #452433;
  color: var(--text);
}
html[data-skin="cherry-cola"] .pagination-bar button:hover {
  border-color: #ff4d6d;
  color: #ff7a94;
  box-shadow: 0 0 10px rgba(255, 77, 109, 0.22);
}
html[data-skin="cherry-cola"] .points-badge {
  background: #ffc46b;
  color: #33200a;
}
html[data-skin="cherry-cola"] .batch-result-item.ok {
  border-color: rgba(79, 201, 142, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补气泡投影；内联白底二维码盒压成樱粉纸白 ---- */
html[data-skin="cherry-cola"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(6, 2, 4, 0.65), 0 0 24px rgba(255, 77, 109, 0.08) !important;
}
html[data-skin="cherry-cola"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #ff4d6d, #ff8fa8, #b78bff) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="cherry-cola"] #lxjQrBox,
html[data-skin="cherry-cola"] #batchScanQr {
  background: #fdeef1 !important;
  border: 1px solid rgba(255, 77, 109, 0.4);
}
html[data-skin="cherry-cola"] img[style*="background:#fff"] {
  background: #fdeef1 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="cherry-cola"] * {
    transition: none !important;
  }
  html[data-skin="cherry-cola"] body {
    animation: none;
  }
}
/* ===== 熔岩巧克力 (chocolate) ===== */
/*SKIN {"id":"chocolate","name":"熔岩巧克力","colors":["#1c120d","#d2793a","#ecd9c5"]}*/
/* ============================================================
   熔岩巧克力 · Chocolate — 丝滑可可深色皮肤
   底 #1c120d / 卡 #2a1c12 / 文 #ecd9c5
   焙烤橙 #d2793a × 金橙 #e8a04c 点缀，圆角 14px
   全部规则 scope 于 html[data-skin="chocolate"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="chocolate"] {
  --bg: #1c120d;
  --surface: #2a1c12;
  --card: #2a1c12;
  --border: #43301f;
  --border-light: #5a4230;
  --text: #ecd9c5;
  --text-secondary: #c9ab8d;
  --text-muted: #93765c;
  --accent: #d2793a;
  --accent-hover: #e8a04c;
  --accent-subtle: rgba(210, 121, 58, 0.12);
  --success: #9fbf6a;
  --success-subtle: rgba(159, 191, 106, 0.12);
  --error: #e2695a;
  --error-subtle: rgba(226, 105, 90, 0.12);
  --warning: #e8a04c;
  --warning-subtle: rgba(232, 160, 76, 0.12);
  --info: #8fb7c9;
  --radius: 14px;
  --radius-sm: 10px;
  --row-alt: #2f2013;
  --log-bg: #170e09;
  --btn-disabled-bg: #3c2b1b;
  --shadow-1: 0 1px 3px rgba(8, 4, 2, 0.55);
  --shadow-2: 0 2px 10px rgba(8, 4, 2, 0.55);
  --shadow-3: 0 10px 36px rgba(8, 4, 2, 0.65);
  --on-accent: #241105;
  background: #1c120d;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿暗色变量组） ---- */
html[data-skin="chocolate"][data-theme="dark"] {
  --bg: #1c120d;
  --surface: #2a1c12;
  --card: #2a1c12;
  --border: #43301f;
  --border-light: #5a4230;
  --text: #ecd9c5;
  --text-secondary: #c9ab8d;
  --text-muted: #93765c;
  --accent: #d2793a;
  --accent-hover: #e8a04c;
  --accent-subtle: rgba(210, 121, 58, 0.12);
  --success: #9fbf6a;
  --success-subtle: rgba(159, 191, 106, 0.12);
  --error: #e2695a;
  --error-subtle: rgba(226, 105, 90, 0.12);
  --warning: #e8a04c;
  --warning-subtle: rgba(232, 160, 76, 0.12);
  --info: #8fb7c9;
  --radius: 14px;
  --radius-sm: 10px;
  --row-alt: #2f2013;
  --log-bg: #170e09;
  --btn-disabled-bg: #3c2b1b;
  --shadow-1: 0 1px 3px rgba(8, 4, 2, 0.55);
  --shadow-2: 0 2px 10px rgba(8, 4, 2, 0.55);
  --shadow-3: 0 10px 36px rgba(8, 4, 2, 0.65);
  --on-accent: #241105;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="chocolate"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：可可底透出熔岩余温 ---- */
html[data-skin="chocolate"] body {
  background:
    radial-gradient(1100px 640px at 50% -14%, rgba(232, 160, 76, 0.10), transparent 60%),
    radial-gradient(900px 560px at 10% 24%, rgba(210, 121, 58, 0.07), transparent 60%),
    radial-gradient(1000px 600px at 88% 82%, rgba(120, 60, 20, 0.18), transparent 64%),
    radial-gradient(900px 520px at 50% 118%, rgba(210, 90, 40, 0.10), transparent 66%),
    #1c120d;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="chocolate"] ::selection {
  background: rgba(232, 160, 76, 0.28);
  color: #fff3e0;
}
html[data-skin="chocolate"] ::-webkit-scrollbar-thumb {
  background: #4a3421;
  border-radius: 8px;
}
html[data-skin="chocolate"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(210, 121, 58, 0.5);
}
html[data-skin="chocolate"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="chocolate"] img {
  filter: brightness(0.97) saturate(1.08);
}

/* ---- 6. 头部：金橙→焙烤橙渐变字 ---- */
html[data-skin="chocolate"] .header {
  border-color: #43301f;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(232, 160, 76, 0.12);
}
html[data-skin="chocolate"] .header h1 {
  background: linear-gradient(90deg, #e8a04c, #d2793a, #b45c28);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(210, 121, 58, 0.28));
}
html[data-skin="chocolate"] .card-title {
  color: #e0a068;
}

/* ---- 7. 卡片族：可可黑卡 + hover 金橙描边 ---- */
html[data-skin="chocolate"] .card,
html[data-skin="chocolate"] .stat-card,
html[data-skin="chocolate"] .admin-panel,
html[data-skin="chocolate"] .acc-card,
html[data-skin="chocolate"] .batch-group,
html[data-skin="chocolate"] .batch-result-item,
html[data-skin="chocolate"] .notice-panel,
html[data-skin="chocolate"] .notice-toast {
  background: #2a1c12;
  border: 1px solid #43301f;
}
html[data-skin="chocolate"] .card:hover,
html[data-skin="chocolate"] .stat-card:hover {
  border-color: rgba(210, 121, 58, 0.5);
  box-shadow: 0 0 18px rgba(210, 121, 58, 0.14), var(--shadow-2);
}
html[data-skin="chocolate"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：熔岩橙按钮，圆角统一 ---- */
html[data-skin="chocolate"] .btn,
html[data-skin="chocolate"] .batch-btn,
html[data-skin="chocolate"] .pagination-bar button {
  border-radius: var(--radius-sm);
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="chocolate"] .btn-primary {
  background: linear-gradient(135deg, #d2793a, #b45c28);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(210, 121, 58, 0.32), inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}
html[data-skin="chocolate"] .btn-primary:hover {
  background: linear-gradient(135deg, #e8a04c, #c96f30);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(232, 160, 76, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}
html[data-skin="chocolate"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #8a6a4c;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="chocolate"] .btn-secondary {
  background: #2a1c12;
  color: var(--text-secondary);
  border: 1px solid #5a4230;
}
html[data-skin="chocolate"] .btn-secondary:hover {
  background: #312417;
  color: #e8a04c;
  border-color: rgba(210, 121, 58, 0.5);
  box-shadow: 0 0 12px rgba(210, 121, 58, 0.2);
}
html[data-skin="chocolate"] .btn-danger {
  background: rgba(226, 105, 90, 0.12);
  color: #ec8a7c;
  border: 1px solid rgba(226, 105, 90, 0.35);
}
html[data-skin="chocolate"] .btn-danger:hover {
  background: rgba(226, 105, 90, 0.2);
  box-shadow: 0 0 14px rgba(226, 105, 90, 0.3);
}
html[data-skin="chocolate"] .btn:disabled {
  color: #8a6a4c;
}

/* ---- 9. 输入族：深可可底聚焦金橙描边 ---- */
html[data-skin="chocolate"] input[type="text"],
html[data-skin="chocolate"] input[type="password"],
html[data-skin="chocolate"] input[type="number"],
html[data-skin="chocolate"] input[type="date"],
html[data-skin="chocolate"] input[type="time"],
html[data-skin="chocolate"] textarea,
html[data-skin="chocolate"] select,
html[data-skin="chocolate"] .auth-input,
html[data-skin="chocolate"] .admin-table input,
html[data-skin="chocolate"] #reservationGame,
html[data-skin="chocolate"] #modalGameName {
  background: #20140b;
  border: 1px solid #4a3421;
  color: var(--text);
}
html[data-skin="chocolate"] input[type="text"]:focus,
html[data-skin="chocolate"] input[type="password"]:focus,
html[data-skin="chocolate"] input[type="number"]:focus,
html[data-skin="chocolate"] textarea:focus,
html[data-skin="chocolate"] select:focus,
html[data-skin="chocolate"] .auth-input:focus,
html[data-skin="chocolate"] .admin-table input:focus,
html[data-skin="chocolate"] #reservationGame:focus,
html[data-skin="chocolate"] #modalGameName:focus {
  outline: none;
  border-color: #d2793a;
  box-shadow: 0 0 0 3px rgba(210, 121, 58, 0.15), 0 0 14px rgba(232, 160, 76, 0.16);
}
html[data-skin="chocolate"] select option,
html[data-skin="chocolate"] #reservationGame option,
html[data-skin="chocolate"] #modalGameName option {
  background: #170e09;
  color: var(--text);
}
html[data-skin="chocolate"] input[type="checkbox"] {
  accent-color: #d2793a;
}

/* ---- 10. 表格：深表头 / 可可斑马纹 / 焦糖行悬停 ---- */
html[data-skin="chocolate"] .admin-table th,
html[data-skin="chocolate"] .admin-table td,
html[data-skin="chocolate"] .log-table th,
html[data-skin="chocolate"] .log-table td {
  border-bottom: 1px solid #33241a;
}
html[data-skin="chocolate"] .admin-table th,
html[data-skin="chocolate"] .log-table th {
  background: #1c120d;
  border-bottom: 1px solid #523a24;
}
html[data-skin="chocolate"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="chocolate"] .log-table tbody tr:nth-child(even) td {
  background: #2f2013;
}
html[data-skin="chocolate"] .admin-table tr:hover td,
html[data-skin="chocolate"] .log-table tr:hover td {
  background: rgba(210, 121, 58, 0.07);
}
html[data-skin="chocolate"] #batchAccountTable tbody tr:hover {
  background: rgba(210, 121, 58, 0.05);
}
html[data-skin="chocolate"] .batch-table-wrap {
  border-color: #33241a;
}

/* ---- 11. 管理 tab：激活金橙胶囊 ---- */
html[data-skin="chocolate"] .admin-tab {
  background: #20140b;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="chocolate"] .admin-tab:hover {
  color: #ecd9c5;
  border-color: #5a4230;
}
html[data-skin="chocolate"] .admin-tab.active {
  background: linear-gradient(135deg, #d2793a, #e8a04c);
  color: var(--on-accent);
  border-color: rgba(232, 160, 76, 0.6);
  box-shadow: 0 0 14px rgba(210, 121, 58, 0.35);
}

/* ---- 12. 日志区：烘焙观察窗 ---- */
html[data-skin="chocolate"] .log-box {
  background: #170e09;
  border: 1px solid #3a2818;
  box-shadow: inset 0 0 24px rgba(232, 160, 76, 0.04);
}

/* ---- 13. 登录面板：可可浮岛卡 + 熔岩登录键 ---- */
html[data-skin="chocolate"] .auth-panel {
  background: #2a1c12;
  border: 1px solid #43301f;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(210, 121, 58, 0.08);
}
html[data-skin="chocolate"] .auth-btn {
  background: linear-gradient(135deg, #d2793a, #b45c28);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(210, 121, 58, 0.32);
}
html[data-skin="chocolate"] .auth-btn:hover {
  background: linear-gradient(135deg, #e8a04c, #c96f30);
  box-shadow: 0 0 26px rgba(232, 160, 76, 0.45);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="chocolate"] .notice-panel {
  box-shadow: 0 8px 40px rgba(8, 4, 2, 0.65), 0 0 18px rgba(232, 160, 76, 0.10);
}
html[data-skin="chocolate"] .notice-dot {
  border-color: #2a1c12;
}
html[data-skin="chocolate"] .notice-toast {
  border-color: rgba(210, 121, 58, 0.55);
  border-left: 4px solid #d2793a;
  box-shadow: 0 8px 30px rgba(8, 4, 2, 0.6), 0 0 18px rgba(232, 160, 76, 0.12);
}
html[data-skin="chocolate"] .notice-toast .t-head {
  background: rgba(210, 121, 58, 0.12);
  color: #e8a04c;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="chocolate"] .pagination-bar button {
  background: #2a1c12;
  border: 1px solid #4a3421;
  color: var(--text);
}
html[data-skin="chocolate"] .pagination-bar button:hover {
  border-color: #d2793a;
  color: #e8a04c;
  box-shadow: 0 0 10px rgba(210, 121, 58, 0.22);
}
html[data-skin="chocolate"] .points-badge {
  background: #e8a04c;
  color: #33200a;
}
html[data-skin="chocolate"] .batch-result-item.ok {
  border-color: rgba(159, 191, 106, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补可可投影；内联白底二维码盒压成奶油纸白 ---- */
html[data-skin="chocolate"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(8, 4, 2, 0.65), 0 0 24px rgba(232, 160, 76, 0.08) !important;
}
html[data-skin="chocolate"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #e8a04c, #d2793a, #b45c28) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="chocolate"] #lxjQrBox,
html[data-skin="chocolate"] #batchScanQr {
  background: #f7ede1 !important;
  border: 1px solid rgba(232, 160, 76, 0.4);
}
html[data-skin="chocolate"] img[style*="background:#fff"] {
  background: #f7ede1 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="chocolate"] * {
    transition: none !important;
  }
  html[data-skin="chocolate"] body {
    animation: none;
  }
}
/* ===== 赛博 (cyber) ===== */
/*SKIN {"id":"cyber","name":"赛博","colors":["#0a0a0a","#facc15","#e5e5e5"]}*/
/* 赛博：纯黑工业底 + 酸性黄主强调 + 品红高亮 + 直角硬边 + 极淡扫描线 */

/* ---------- 变量重定义 ---------- */
html[data-skin="cyber"] {
  --bg: #0a0a0a;
  --surface: #141414;
  --card: #141414;
  --border: #333333;
  --border-light: #444444;
  --text: #e5e5e5;
  --text-secondary: #a1a1aa;
  --text-muted: #6b7280;
  --accent: #facc15;
  --accent-hover: #eab308;
  --accent-subtle: rgba(250,204,21,0.12);
  --success: #4ade80;
  --success-subtle: rgba(74,222,128,0.1);
  --error: #ff4d4d;
  --error-subtle: rgba(255,77,77,0.1);
  --warning: #fbbf24;
  --warning-subtle: rgba(251,191,36,0.1);
  --info: #ff00ff;
  --radius: 2px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.6);
  --shadow-2: 0 2px 10px rgba(0,0,0,0.65);
  --shadow-3: 0 8px 30px rgba(0,0,0,0.8);
  --row-alt: #181818;
  --log-bg: #0f0f0f;
  --btn-disabled-bg: #2a2a2a;
  color-scheme: dark;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="cyber"][data-theme="dark"] {
  --bg: #0a0a0a;
  --surface: #141414;
  --card: #141414;
  --border: #333333;
  --border-light: #444444;
  --text: #e5e5e5;
  --text-secondary: #a1a1aa;
  --text-muted: #6b7280;
  --accent: #facc15;
  --accent-hover: #eab308;
  --accent-subtle: rgba(250,204,21,0.12);
  --success: #4ade80;
  --success-subtle: rgba(74,222,128,0.1);
  --error: #ff4d4d;
  --error-subtle: rgba(255,77,77,0.1);
  --warning: #fbbf24;
  --warning-subtle: rgba(251,191,36,0.1);
  --info: #ff00ff;
  --row-alt: #181818;
  --log-bg: #0f0f0f;
  --btn-disabled-bg: #2a2a2a;
  color-scheme: dark;
}

/* ---------- 页面底 + 扫描线（静态 0.03 级，不影响阅读） ---------- */
html[data-skin="cyber"] body {
  background: #0a0a0a;
  color: #e5e5e5;
  min-height: 100vh;
}
html[data-skin="cyber"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.03) 0px,
    rgba(255,255,255,0.03) 1px,
    transparent 1px,
    transparent 3px
  );
}

/* ---------- 卡片 / 面板：直角硬边，hover 黄框 ---------- */
html[data-skin="cyber"] .card,
html[data-skin="cyber"] .stat-card,
html[data-skin="cyber"] .acc-card,
html[data-skin="cyber"] .auth-panel,
html[data-skin="cyber"] .admin-panel,
html[data-skin="cyber"] .config-panel,
html[data-skin="cyber"] .notice-panel,
html[data-skin="cyber"] .batch-result-item {
  background: #141414;
  border: 1px solid #333333;
  box-shadow: 0 2px 10px rgba(0,0,0,0.65);
}
html[data-skin="cyber"] .card:hover,
html[data-skin="cyber"] .stat-card:hover {
  border-color: #facc15;
  box-shadow: 0 0 0 1px #facc15, 0 4px 16px rgba(0,0,0,0.7);
}
html[data-skin="cyber"] .card-title {
  color: #facc15;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
html[data-skin="cyber"] .header {
  background: #0a0a0a;
  border-bottom: 1px solid #333333;
}
html[data-skin="cyber"] .header h1 {
  background: linear-gradient(90deg, #facc15, #ff00ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
  letter-spacing: 0.04em;
}

/* ---------- 按钮全系：方角 + 粗边 ---------- */
html[data-skin="cyber"] .btn {
  border-radius: 0;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
html[data-skin="cyber"] .btn-primary,
html[data-skin="cyber"] .auth-btn,
html[data-skin="cyber"] .admin-tab.active {
  background: #facc15;
  color: #0a0a0a;
  border: 1px solid #facc15;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(250,204,21,0.35);
}
html[data-skin="cyber"] .btn-primary:hover,
html[data-skin="cyber"] .auth-btn:hover {
  background: #eab308;
  border-color: #eab308;
  box-shadow: 0 0 18px rgba(250,204,21,0.5);
}
html[data-skin="cyber"] .btn-primary:disabled,
html[data-skin="cyber"] .pagination-bar button:disabled {
  background: #2a2a2a;
  color: #6b7280;
  border-color: #333333;
  box-shadow: none;
}
html[data-skin="cyber"] .btn-secondary,
html[data-skin="cyber"] .batch-btn,
html[data-skin="cyber"] .pagination-bar button,
html[data-skin="cyber"] .notice-panel-head .n-clear {
  background: #141414;
  color: #e5e5e5;
  border: 1px solid #444444;
  border-radius: 0;
}
html[data-skin="cyber"] .btn-secondary:hover,
html[data-skin="cyber"] .batch-btn:hover,
html[data-skin="cyber"] .pagination-bar button:hover {
  background: #141414;
  color: #facc15;
  border-color: #facc15;
}
html[data-skin="cyber"] .btn-danger {
  background: #1a0d0d;
  color: #ff4d4d;
  border: 1px solid #ff4d4d;
  border-radius: 0;
}
html[data-skin="cyber"] .btn-danger:hover {
  background: rgba(255,77,77,0.15);
}

/* ---------- 输入控件：黑底黄描边聚焦 ---------- */
html[data-skin="cyber"] input[type="text"],
html[data-skin="cyber"] input[type="password"],
html[data-skin="cyber"] input[type="number"],
html[data-skin="cyber"] textarea,
html[data-skin="cyber"] select,
html[data-skin="cyber"] .auth-input,
html[data-skin="cyber"] .admin-table input,
html[data-skin="cyber"] .config-row input {
  background: #0d0d0d;
  border: 1px solid #333333;
  color: #e5e5e5;
  border-radius: 0;
}
html[data-skin="cyber"] input[type="text"]:focus,
html[data-skin="cyber"] input[type="password"]:focus,
html[data-skin="cyber"] input[type="number"]:focus,
html[data-skin="cyber"] textarea:focus,
html[data-skin="cyber"] select:focus,
html[data-skin="cyber"] .auth-input:focus,
html[data-skin="cyber"] #reservationGame:focus,
html[data-skin="cyber"] #modalGameName:focus {
  outline: none;
  border-color: #facc15;
  box-shadow: 0 0 0 1px #facc15, 0 0 8px rgba(250,204,21,0.25);
}
html[data-skin="cyber"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #0d0d0d inset;
  -webkit-text-fill-color: #e5e5e5;
  caret-color: #facc15;
}
html[data-skin="cyber"] input[type="checkbox"],
html[data-skin="cyber"] .acc-card-top .acc-check input {
  accent-color: #facc15;
}
html[data-skin="cyber"] ::placeholder {
  color: #6b7280;
}

/* ---------- 表格 ---------- */
html[data-skin="cyber"] .admin-table th,
html[data-skin="cyber"] .log-table th {
  color: #facc15;
  background: #0f0f0f;
  border-bottom: 1px solid #333333;
}
html[data-skin="cyber"] .admin-table td,
html[data-skin="cyber"] .log-table td {
  border-bottom: 1px solid #262626;
}
html[data-skin="cyber"] .admin-table tr:hover td,
html[data-skin="cyber"] .log-table tr:hover td,
html[data-skin="cyber"] #batchAccountTable tbody tr:hover {
  background: rgba(250,204,21,0.07);
}
html[data-skin="cyber"] .log-table tbody tr:nth-child(even) td {
  background: #181818;
}

/* ---------- 日志区 ---------- */
html[data-skin="cyber"] .log-box {
  background: #0f0f0f;
  border: 1px solid #333333;
}
html[data-skin="cyber"] .log-detail-pre {
  background: #181818;
  color: #e5e5e5;
  border: 1px solid #262626;
}
html[data-skin="cyber"] .log-line.success { color: #4ade80; }
html[data-skin="cyber"] .log-line.fail { color: #ff4d4d; }
html[data-skin="cyber"] .log-line.info { color: #ff00ff; }
html[data-skin="cyber"] .log-line.skip { color: #fbbf24; }

/* ---------- 徽标 / 状态 / 提示（品红点缀） ---------- */
html[data-skin="cyber"] .badge-info { background: rgba(255,0,255,0.12); color: #ff66ff; }
html[data-skin="cyber"] .badge-success { background: rgba(74,222,128,0.1); color: #4ade80; }
html[data-skin="cyber"] .badge-error { background: rgba(255,77,77,0.1); color: #ff4d4d; }
html[data-skin="cyber"] .badge-warning { background: rgba(251,191,36,0.1); color: #fbbf24; }
html[data-skin="cyber"] .stat-num.blue { color: #ff00ff; }
html[data-skin="cyber"] .stat-num.green { color: #4ade80; }
html[data-skin="cyber"] .stat-num.red { color: #ff4d4d; }
html[data-skin="cyber"] .stat-num.yellow { color: #facc15; }
html[data-skin="cyber"] .debt-warning {
  background: rgba(255,77,77,0.08);
  border: 1px solid #ff4d4d;
  color: #ff4d4d;
  border-radius: 0;
}
html[data-skin="cyber"] .autocomplete-dropdown {
  background: #141414;
  border: 1px solid #333333;
  border-radius: 0;
}
html[data-skin="cyber"] .autocomplete-item.active,
html[data-skin="cyber"] .autocomplete-item:hover {
  background: rgba(250,204,21,0.12);
  color: #facc15;
}
html[data-skin="cyber"] .admin-tab {
  background: #141414;
  color: #a1a1aa;
  border: 1px solid #333333;
  border-radius: 0;
}
html[data-skin="cyber"] .admin-tab:hover {
  border-color: #facc15;
  color: #facc15;
}
html[data-skin="cyber"] .notice-toast {
  background: #141414;
  border: 1px solid #facc15;
  border-left: 4px solid #facc15;
  border-radius: 0;
}

/* ---------- 弹窗遮罩 / 滚动条 / 选区 ---------- */
html[data-skin="cyber"] #logDetailModal {
  background: rgba(0,0,0,0.8);
}
html[data-skin="cyber"] ::-webkit-scrollbar-thumb {
  background: #333333;
  border-radius: 0;
}
html[data-skin="cyber"] ::-webkit-scrollbar-thumb:hover {
  background: #facc15;
}
html[data-skin="cyber"] ::selection {
  background: #facc15;
  color: #0a0a0a;
}
/* ===== 沙漠黄昏 (desert) ===== */
/*SKIN {"id":"desert","name":"沙漠黄昏","colors":["#f5e9d8","#c17a3f","#4f3a26"]}*/
/* 沙漠黄昏 · Desert — 沙丘暖阳浅色皮肤，落日橙渐变标题 */
/* 暗色守卫双写：html[data-theme="dark"] 下强制回浅色，不随暗色主题变脸 */

/* ---------- 变量重定义 ---------- */
html[data-skin="desert"] {
  --bg: #f5e9d8;
  --surface: #fdf3e3;
  --card: #fdf3e3;
  --border: #e0c9a6;
  --border-light: #cfb28a;
  --text: #4f3a26;
  --text-secondary: #7d6248;
  --text-muted: #a68c6e;
  --accent: #c17a3f;
  --accent-hover: #a9642e;
  --accent-subtle: rgba(193,122,63,0.10);
  --success: #6f9a4e;
  --success-subtle: rgba(111,154,78,0.10);
  --error: #c14f3f;
  --error-subtle: rgba(193,79,63,0.08);
  --warning: #d9962b;
  --warning-subtle: rgba(217,150,43,0.10);
  --info: #4f8a99;
  --radius: 12px;
  --radius-sm: 9px;
  --shadow-1: 0 1px 3px rgba(120,80,40,0.10);
  --shadow-2: 0 4px 14px rgba(120,80,40,0.12);
  --shadow-3: 0 10px 34px rgba(120,80,40,0.16);
  --row-alt: #f9efdd;
  --log-bg: #f3e6cf;
  --btn-disabled-bg: #e3c9a4;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="desert"][data-theme="dark"] {
  --bg: #f5e9d8;
  --surface: #fdf3e3;
  --card: #fdf3e3;
  --border: #e0c9a6;
  --border-light: #cfb28a;
  --text: #4f3a26;
  --text-secondary: #7d6248;
  --text-muted: #a68c6e;
  --accent: #c17a3f;
  --accent-hover: #a9642e;
  --accent-subtle: rgba(193,122,63,0.10);
  --success: #6f9a4e;
  --success-subtle: rgba(111,154,78,0.10);
  --error: #c14f3f;
  --error-subtle: rgba(193,79,63,0.08);
  --warning: #d9962b;
  --warning-subtle: rgba(217,150,43,0.10);
  --info: #4f8a99;
  --radius: 12px;
  --radius-sm: 9px;
  --row-alt: #f9efdd;
  --log-bg: #f3e6cf;
  --btn-disabled-bg: #e3c9a4;
  color-scheme: light;
}

/* ---------- 页面底：沙丘暖阳弥散 ---------- */
html[data-skin="desert"] body {
  background:
    radial-gradient(42rem 40rem at 10% -8%, rgba(224,144,79,0.16), transparent 60%),
    radial-gradient(38rem 36rem at 92% 12%, rgba(201,88,63,0.10), transparent 62%),
    radial-gradient(46rem 42rem at 50% 114%, rgba(224,201,166,0.35), transparent 64%),
    linear-gradient(180deg, #f5e9d8 0%, #faf0de 100%);
  background-attachment: fixed;
  color: #4f3a26;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：暖沙纸面 ---------- */
html[data-skin="desert"] .card,
html[data-skin="desert"] .stat-card,
html[data-skin="desert"] .acc-card,
html[data-skin="desert"] .auth-panel,
html[data-skin="desert"] .admin-panel,
html[data-skin="desert"] .config-panel,
html[data-skin="desert"] .notice-panel,
html[data-skin="desert"] .notice-toast,
html[data-skin="desert"] .autocomplete-dropdown,
html[data-skin="desert"] .batch-result-item {
  background: #fdf3e3;
  border: 1px solid #e0c9a6;
  box-shadow: 0 4px 16px rgba(120,80,40,0.10);
}
html[data-skin="desert"] .card:hover,
html[data-skin="desert"] .stat-card:hover {
  border-color: #cfb28a;
  box-shadow: 0 8px 24px rgba(120,80,40,0.15);
}
html[data-skin="desert"] .card-title { color: #b06a34; }
html[data-skin="desert"] .header {
  background: rgba(253,243,227,0.8);
  border-bottom: 1px solid #e0c9a6;
}
html[data-skin="desert"] .header h1 {
  background: linear-gradient(120deg, #d98a3f, #cf5f3a, #c14f6b);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="desert"] .btn {
  border-radius: 9px;
  font-weight: 600;
}
html[data-skin="desert"] .btn-primary,
html[data-skin="desert"] .auth-btn,
html[data-skin="desert"] .admin-tab.active {
  background: #b06a34;
  color: #fff6ea;
  border: 1px solid #b06a34;
  box-shadow: 0 4px 12px rgba(176,106,52,0.24);
}
html[data-skin="desert"] .btn-primary:hover,
html[data-skin="desert"] .auth-btn:hover {
  background: #a55f2c;
  border-color: #a55f2c;
  box-shadow: 0 6px 16px rgba(165,95,44,0.3);
}
html[data-skin="desert"] .btn-primary:disabled,
html[data-skin="desert"] .pagination-bar button:disabled {
  background: #e3c9a4;
  color: #fdf3e3;
  border-color: #e3c9a4;
  box-shadow: none;
}
html[data-skin="desert"] .btn-secondary,
html[data-skin="desert"] .batch-btn,
html[data-skin="desert"] .pagination-bar button,
html[data-skin="desert"] .notice-panel-head .n-clear {
  background: #fdf3e3;
  color: #7d6248;
  border: 1px solid #e0c9a6;
}
html[data-skin="desert"] .btn-secondary:hover,
html[data-skin="desert"] .batch-btn:hover,
html[data-skin="desert"] .pagination-bar button:hover {
  background: #f9efdd;
  color: #b06a34;
  border-color: #cfb28a;
}
html[data-skin="desert"] .btn-danger {
  background: rgba(193,79,63,0.08);
  color: #c14f3f;
  border: 1px solid rgba(193,79,63,0.22);
}
html[data-skin="desert"] .btn-danger:hover {
  background: rgba(193,79,63,0.15);
}

/* ---------- 输入控件：聚焦落日橙描边 ---------- */
html[data-skin="desert"] input[type="text"],
html[data-skin="desert"] input[type="password"],
html[data-skin="desert"] input[type="number"],
html[data-skin="desert"] textarea,
html[data-skin="desert"] select,
html[data-skin="desert"] .auth-input,
html[data-skin="desert"] .admin-table input,
html[data-skin="desert"] .config-row input,
html[data-skin="desert"] #reservationGame,
html[data-skin="desert"] #modalGameName {
  background: #ffffff;
  border: 1px solid #dcc39c;
  color: #4f3a26;
}
html[data-skin="desert"] input[type="text"]:focus,
html[data-skin="desert"] input[type="password"]:focus,
html[data-skin="desert"] input[type="number"]:focus,
html[data-skin="desert"] textarea:focus,
html[data-skin="desert"] select:focus,
html[data-skin="desert"] .auth-input:focus,
html[data-skin="desert"] #reservationGame:focus,
html[data-skin="desert"] #modalGameName:focus {
  outline: none;
  border-color: #c17a3f;
  box-shadow: 0 0 0 3px rgba(193,122,63,0.15);
}
html[data-skin="desert"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fdf3e3 inset;
  -webkit-text-fill-color: #4f3a26;
}
html[data-skin="desert"] input[type="checkbox"],
html[data-skin="desert"] .acc-card-top .acc-check input {
  accent-color: #c17a3f;
}
html[data-skin="desert"] ::placeholder {
  color: #c2a67f;
}

/* ---------- 表格 ---------- */
html[data-skin="desert"] .admin-table th,
html[data-skin="desert"] .log-table th {
  color: #a55f2c;
  background: #f9efdd;
}
html[data-skin="desert"] .admin-table tr:hover td,
html[data-skin="desert"] .log-table tr:hover td,
html[data-skin="desert"] #batchAccountTable tbody tr:hover {
  background: rgba(193,122,63,0.06);
}
html[data-skin="desert"] .log-table tbody tr:nth-child(even) td {
  background: #f9efdd;
}

/* ---------- 日志区 ---------- */
html[data-skin="desert"] .log-box {
  background: #f3e6cf;
  border: 1px solid #e0c9a6;
}
html[data-skin="desert"] .log-detail-pre {
  background: #f9efdd;
  color: #4f3a26;
}
html[data-skin="desert"] .log-line.success { color: #6f9a4e; }
html[data-skin="desert"] .log-line.fail { color: #c14f3f; }
html[data-skin="desert"] .log-line.info { color: #4f8a99; }
html[data-skin="desert"] .log-line.skip { color: #d9962b; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="desert"] .badge-info { background: rgba(79,138,153,0.1); color: #4f8a99; }
html[data-skin="desert"] .badge-success { background: rgba(111,154,78,0.1); color: #6f9a4e; }
html[data-skin="desert"] .badge-error { background: rgba(193,79,63,0.08); color: #c14f3f; }
html[data-skin="desert"] .badge-warning { background: rgba(217,150,43,0.1); color: #d9962b; }
html[data-skin="desert"] .stat-num.blue { color: #4f8a99; }
html[data-skin="desert"] .stat-num.green { color: #6f9a4e; }
html[data-skin="desert"] .stat-num.red { color: #c14f3f; }
html[data-skin="desert"] .stat-num.yellow { color: #d9962b; }
html[data-skin="desert"] .debt-warning {
  background: rgba(193,79,63,0.08);
  border: 1px solid rgba(193,79,63,0.22);
  color: #c14f3f;
}
html[data-skin="desert"] .autocomplete-item.active,
html[data-skin="desert"] .autocomplete-item:hover {
  background: rgba(193,122,63,0.08);
}
html[data-skin="desert"] .admin-tab {
  background: #fdf3e3;
  color: #7d6248;
  border: 1px solid #e0c9a6;
}
html[data-skin="desert"] .admin-tab:hover {
  border-color: #cfb28a;
  color: #b06a34;
}

/* ---------- 弹窗遮罩 / 滚动条 / 选区 / 二维码盒保白 ---------- */
html[data-skin="desert"] #logDetailModal {
  background: rgba(79,58,38,0.45);
}
html[data-skin="desert"] ::-webkit-scrollbar-thumb {
  background: #dcc39c;
}
html[data-skin="desert"] ::-webkit-scrollbar-thumb:hover {
  background: #c17a3f;
}
html[data-skin="desert"] ::selection {
  background: rgba(193,122,63,0.20);
  color: #4f3a26;
}
html[data-skin="desert"] #lxjQrBox,
html[data-skin="desert"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #e0c9a6;
}

/* ---------- 暗色守卫补丁：data-theme="dark" 下整套关键面强制回浅色 ---------- */
html[data-skin="desert"][data-theme="dark"] body {
  background:
    radial-gradient(42rem 40rem at 10% -8%, rgba(224,144,79,0.16), transparent 60%),
    radial-gradient(38rem 36rem at 92% 12%, rgba(201,88,63,0.10), transparent 62%),
    radial-gradient(46rem 42rem at 50% 114%, rgba(224,201,166,0.35), transparent 64%),
    linear-gradient(180deg, #f5e9d8 0%, #faf0de 100%);
  background-attachment: fixed;
  color: #4f3a26;
  min-height: 100vh;
}
html[data-skin="desert"][data-theme="dark"] .card,
html[data-skin="desert"][data-theme="dark"] .stat-card,
html[data-skin="desert"][data-theme="dark"] .acc-card,
html[data-skin="desert"][data-theme="dark"] .auth-panel,
html[data-skin="desert"][data-theme="dark"] .admin-panel,
html[data-skin="desert"][data-theme="dark"] .config-panel,
html[data-skin="desert"][data-theme="dark"] .notice-panel,
html[data-skin="desert"][data-theme="dark"] .notice-toast,
html[data-skin="desert"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="desert"][data-theme="dark"] .batch-result-item {
  background: #fdf3e3;
  border: 1px solid #e0c9a6;
  box-shadow: 0 4px 16px rgba(120,80,40,0.10);
}
html[data-skin="desert"][data-theme="dark"] .card:hover,
html[data-skin="desert"][data-theme="dark"] .stat-card:hover {
  border-color: #cfb28a;
  box-shadow: 0 8px 24px rgba(120,80,40,0.15);
}
html[data-skin="desert"][data-theme="dark"] .card-title { color: #b06a34; }
html[data-skin="desert"][data-theme="dark"] .header {
  background: rgba(253,243,227,0.8);
  border-bottom: 1px solid #e0c9a6;
}
html[data-skin="desert"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #d98a3f, #cf5f3a, #c14f6b);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html[data-skin="desert"][data-theme="dark"] .btn-primary,
html[data-skin="desert"][data-theme="dark"] .auth-btn,
html[data-skin="desert"][data-theme="dark"] .admin-tab.active {
  background: #b06a34;
  color: #fff6ea;
  border: 1px solid #b06a34;
  box-shadow: 0 4px 12px rgba(176,106,52,0.24);
}
html[data-skin="desert"][data-theme="dark"] .btn-secondary,
html[data-skin="desert"][data-theme="dark"] .batch-btn,
html[data-skin="desert"][data-theme="dark"] .pagination-bar button {
  background: #fdf3e3;
  color: #7d6248;
  border: 1px solid #e0c9a6;
}
html[data-skin="desert"][data-theme="dark"] input[type="text"],
html[data-skin="desert"][data-theme="dark"] input[type="password"],
html[data-skin="desert"][data-theme="dark"] input[type="number"],
html[data-skin="desert"][data-theme="dark"] textarea,
html[data-skin="desert"][data-theme="dark"] select,
html[data-skin="desert"][data-theme="dark"] .auth-input {
  background: #ffffff;
  border: 1px solid #dcc39c;
  color: #4f3a26;
}
html[data-skin="desert"][data-theme="dark"] .admin-table th,
html[data-skin="desert"][data-theme="dark"] .log-table th {
  color: #a55f2c;
  background: #f9efdd;
}
html[data-skin="desert"][data-theme="dark"] .log-box {
  background: #f3e6cf;
  border: 1px solid #e0c9a6;
}
html[data-skin="desert"][data-theme="dark"] #logDetailModal {
  background: rgba(79,58,38,0.45);
}
html[data-skin="desert"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #dcc39c;
}
html[data-skin="desert"][data-theme="dark"] ::selection {
  background: rgba(193,122,63,0.20);
  color: #4f3a26;
}

/* ---------- 动效保护 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="desert"] * {
    transition: none !important;
  }
  html[data-skin="desert"] body {
    animation: none;
  }
}
/* ===== 蓝屏DOS (dos-blue) ===== */
/*SKIN {"id":"dos-blue","name":"蓝屏DOS","colors":["#0000aa", "#ffff55", "#ffffff"]}*/
/* 蓝屏DOS：DOS 蓝屏黄字 + 凸边按钮 + 扫描线 + 冷启动气质 */

/* ---------- 变量重定义 ---------- */
html[data-skin="dos-blue"] {
  --bg: #0000aa;
  --surface: #0000ce;
  --card: #0000ce;
  --border: #5555ff;
  --border-light: #8888ff;
  --text: #ffffff;
  --text-secondary: #ccccff;
  --text-muted: #9999e0;
  --accent: #ffff55;
  --accent-hover: #ffff99;
  --accent-subtle: rgba(255,255,85,0.16);
  --success: #55ff55;
  --success-subtle: rgba(85,255,85,0.12);
  --error: #ff5555;
  --error-subtle: rgba(255,85,85,0.14);
  --warning: #ffff55;
  --warning-subtle: rgba(255,255,85,0.12);
  --info: #55ffff;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.5);
  --shadow-2: 0 2px 8px rgba(0,0,0,0.5);
  --shadow-3: 0 6px 24px rgba(0,0,0,0.6);
  --row-alt: #0000bb;
  --log-bg: #000080;
  --btn-disabled-bg: #22229a;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="dos-blue"][data-theme="dark"] {
  --bg: #0000aa;
  --surface: #0000ce;
  --card: #0000ce;
  --border: #5555ff;
  --border-light: #8888ff;
  --text: #ffffff;
  --text-secondary: #ccccff;
  --text-muted: #9999e0;
  --accent: #ffff55;
  --accent-hover: #ffff99;
  --accent-subtle: rgba(255,255,85,0.16);
  --success: #55ff55;
  --success-subtle: rgba(85,255,85,0.12);
  --error: #ff5555;
  --error-subtle: rgba(255,85,85,0.14);
  --warning: #ffff55;
  --warning-subtle: rgba(255,255,85,0.12);
  --info: #55ffff;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.5);
  --shadow-2: 0 2px 8px rgba(0,0,0,0.5);
  --shadow-3: 0 6px 24px rgba(0,0,0,0.6);
  --row-alt: #0000bb;
  --log-bg: #000080;
  --btn-disabled-bg: #22229a;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* ---------- 页面底 + 扫描线（静态低透明度，不影响阅读） ---------- */
html[data-skin="dos-blue"] body {
  background: #0000aa;
  color: #ffffff;
  min-height: 100vh;
}
html[data-skin="dos-blue"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.045) 0px,
    rgba(255,255,255,0.045) 1px,
    transparent 1px,
    transparent 3px
  );
}

/* ---------- 卡片 / 面板 ---------- */
html[data-skin="dos-blue"] .card,
html[data-skin="dos-blue"] .stat-card,
html[data-skin="dos-blue"] .acc-card,
html[data-skin="dos-blue"] .auth-panel,
html[data-skin="dos-blue"] .admin-panel,
html[data-skin="dos-blue"] .config-panel,
html[data-skin="dos-blue"] .notice-panel,
html[data-skin="dos-blue"] .batch-result-item {
  background: #0000ce;
  border: 1px solid #5555ff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
html[data-skin="dos-blue"] .card:hover,
html[data-skin="dos-blue"] .stat-card:hover {
  border-color: #ffff55;
  box-shadow: 0 0 0 1px #ffff55, 0 6px 24px rgba(0,0,0,0.6);
}
html[data-skin="dos-blue"] .card-title {
  color: #ffff55;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
html[data-skin="dos-blue"] .header {
  background: #0000aa;
  border-bottom: 1px solid #5555ff;
}
html[data-skin="dos-blue"] .header h1 {
  color: #ffff55;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-shadow: 0 0 10px rgba(255,255,85,0.3);
}


/* ---------- 按钮全系 ---------- */
html[data-skin="dos-blue"] .btn {
  border-radius: 0px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
html[data-skin="dos-blue"] .btn-primary,
html[data-skin="dos-blue"] .auth-btn,
html[data-skin="dos-blue"] .admin-tab.active {
  background: #ffff55;
  color: #0000aa;
  border: 1px solid #ffff55;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(255,255,85,0.32);
}
html[data-skin="dos-blue"] .btn-primary:hover,
html[data-skin="dos-blue"] .auth-btn:hover {
  background: #ffff99;
  border-color: #ffff99;
  box-shadow: 0 0 18px rgba(255,255,85,0.45);
}
html[data-skin="dos-blue"] .btn-primary:disabled,
html[data-skin="dos-blue"] .pagination-bar button:disabled {
  background: #22229a;
  color: #9999e0;
  border-color: #5555ff;
  box-shadow: none;
}
html[data-skin="dos-blue"] .btn-secondary,
html[data-skin="dos-blue"] .batch-btn,
html[data-skin="dos-blue"] .pagination-bar button,
html[data-skin="dos-blue"] .notice-panel-head .n-clear {
  background: #0000ce;
  color: #ffffff;
  border: 1px solid #8888ff;
  border-radius: 0px;
}
html[data-skin="dos-blue"] .btn-secondary:hover,
html[data-skin="dos-blue"] .batch-btn:hover,
html[data-skin="dos-blue"] .pagination-bar button:hover {
  background: #0000ce;
  color: #ffff55;
  border-color: #ffff55;
}
html[data-skin="dos-blue"] .btn-danger {
  background: rgba(255,85,85,0.18);
  color: #ff5555;
  border: 1px solid #ff5555;
  border-radius: 0px;
}
html[data-skin="dos-blue"] .btn-danger:hover {
  background: rgba(255,85,85,0.3);
}

/* ---------- 输入控件：深底 + 强调描边聚焦 ---------- */
html[data-skin="dos-blue"] input[type="text"],
html[data-skin="dos-blue"] input[type="password"],
html[data-skin="dos-blue"] input[type="number"],
html[data-skin="dos-blue"] textarea,
html[data-skin="dos-blue"] select,
html[data-skin="dos-blue"] .auth-input,
html[data-skin="dos-blue"] .admin-table input,
html[data-skin="dos-blue"] .config-row input {
  background: #000080;
  border: 1px solid #5555ff;
  color: #ffffff;
  border-radius: 0px;
}
html[data-skin="dos-blue"] input[type="text"]:focus,
html[data-skin="dos-blue"] input[type="password"]:focus,
html[data-skin="dos-blue"] input[type="number"]:focus,
html[data-skin="dos-blue"] textarea:focus,
html[data-skin="dos-blue"] select:focus,
html[data-skin="dos-blue"] .auth-input:focus,
html[data-skin="dos-blue"] #reservationGame:focus,
html[data-skin="dos-blue"] #modalGameName:focus {
  outline: none;
  border-color: #ffff55;
  box-shadow: 0 0 0 1px #ffff55, 0 0 8px rgba(255,255,85,0.25);
}
html[data-skin="dos-blue"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #000080 inset;
  -webkit-text-fill-color: #ffffff;
  caret-color: #ffff55;
}
html[data-skin="dos-blue"] input[type="checkbox"],
html[data-skin="dos-blue"] .acc-card-top .acc-check input {
  accent-color: #ffff55;
}
html[data-skin="dos-blue"] ::placeholder {
  color: #9999e0;
}

/* ---------- 双表格 ---------- */
html[data-skin="dos-blue"] .admin-table th,
html[data-skin="dos-blue"] .log-table th {
  color: #ffff55;
  background: #000080;
  border-bottom: 1px solid #5555ff;
}
html[data-skin="dos-blue"] .admin-table td,
html[data-skin="dos-blue"] .log-table td {
  border-bottom: 1px solid #1a1ab8;
}
html[data-skin="dos-blue"] .admin-table tr:hover td,
html[data-skin="dos-blue"] .log-table tr:hover td,
html[data-skin="dos-blue"] #batchAccountTable tbody tr:hover {
  background: rgba(255,255,85,0.1);
}
html[data-skin="dos-blue"] .log-table tbody tr:nth-child(even) td {
  background: #0000bb;
}

/* ---------- 日志区 ---------- */
html[data-skin="dos-blue"] .log-box {
  background: #000080;
  border: 1px solid #5555ff;
}
html[data-skin="dos-blue"] .log-detail-pre {
  background: #0000bb;
  color: #ffffff;
  border: 1px solid #1a1ab8;
}
html[data-skin="dos-blue"] .log-line.success { color: #55ff55; }
html[data-skin="dos-blue"] .log-line.fail { color: #ff5555; }
html[data-skin="dos-blue"] .log-line.info { color: #55ffff; }
html[data-skin="dos-blue"] .log-line.skip { color: #ffff55; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="dos-blue"] .badge-info { background: rgba(85,255,255,0.14); color: #55ffff; }
html[data-skin="dos-blue"] .badge-success { background: rgba(85,255,85,0.12); color: #55ff55; }
html[data-skin="dos-blue"] .badge-error { background: rgba(255,85,85,0.14); color: #ff5555; }
html[data-skin="dos-blue"] .badge-warning { background: rgba(255,255,85,0.12); color: #ffff55; }
html[data-skin="dos-blue"] .stat-num.blue { color: #55ffff; }
html[data-skin="dos-blue"] .stat-num.green { color: #55ff55; }
html[data-skin="dos-blue"] .stat-num.red { color: #ff5555; }
html[data-skin="dos-blue"] .stat-num.yellow { color: #ffff55; }
html[data-skin="dos-blue"] .debt-warning {
  background: rgba(255,85,85,0.14);
  border: 1px solid #ff5555;
  color: #ff5555;
  border-radius: 0px;
}
html[data-skin="dos-blue"] .autocomplete-dropdown {
  background: #0000ce;
  border: 1px solid #5555ff;
  border-radius: 0px;
}
html[data-skin="dos-blue"] .autocomplete-item.active,
html[data-skin="dos-blue"] .autocomplete-item:hover {
  background: rgba(255,255,85,0.16);
  color: #ffff55;
}
html[data-skin="dos-blue"] .admin-tab {
  background: #0000ce;
  color: #ccccff;
  border: 1px solid #5555ff;
  border-radius: 0px;
}
html[data-skin="dos-blue"] .admin-tab:hover {
  border-color: #ffff55;
  color: #ffff55;
}
html[data-skin="dos-blue"] .notice-toast {
  background: #0000ce;
  border: 1px solid #ffff55;
  border-left: 4px solid #ffff55;
  border-radius: 0px;
}
html[data-skin="dos-blue"] .notice-item:hover {
  background: rgba(255,255,85,0.1);
}
html[data-skin="dos-blue"] .notice-bell,
html[data-skin="dos-blue"] .n-dot {
  color: #ffff55;
}

/* ---------- 弹窗遮罩 / 二维码盒淡纸白（保扫码对比度） ---------- */
html[data-skin="dos-blue"] #logDetailModal,
html[data-skin="dos-blue"] #pointsRecordsModal,
html[data-skin="dos-blue"] #batchScanModal {
  background: rgba(0,0,0,0.75) !important;
}
html[data-skin="dos-blue"] #lxjQrBox,
html[data-skin="dos-blue"] #batchScanQr,
html[data-skin="dos-blue"] #lxjQrImg,
html[data-skin="dos-blue"] #batchScanQrImg {
  background: #ffffff !important;
  border: 2px solid #ffff55;
}
html[data-skin="dos-blue"] img[style*="background:#fff"] {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区 / 过渡 ---------- */
html[data-skin="dos-blue"] ::-webkit-scrollbar-thumb {
  background: #5555ff;
  border-radius: 0px;
}
html[data-skin="dos-blue"] ::-webkit-scrollbar-thumb:hover {
  background: #ffff55;
}
html[data-skin="dos-blue"] ::selection {
  background: #ffff55;
  color: #0000aa;
}
html[data-skin="dos-blue"] .btn,
html[data-skin="dos-blue"] .card,
html[data-skin="dos-blue"] .stat-card,
html[data-skin="dos-blue"] .acc-card,
html[data-skin="dos-blue"] .admin-tab,
html[data-skin="dos-blue"] .pagination-bar button,
html[data-skin="dos-blue"] input,
html[data-skin="dos-blue"] select,
html[data-skin="dos-blue"] textarea {
  transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s;
}

/* ---------- 动效保护：系统减弱动效时关闭过渡与动画 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="dos-blue"] * {
    transition: none !important;
  }
  html[data-skin="dos-blue"] body {
    animation: none;
  }
}
/* ===== 德古拉 (dracula) ===== */
/*SKIN {"id":"dracula","name":"德古拉","colors":["#282a36","#bd93f9","#f8f8f2"]}*/
/* ============================================================
   德古拉 · Dracula — 伯爵紫夜暗色皮肤
   底 #282a36 / 卡 #2d2f3d / 文 #f8f8f2
   德古拉紫 #bd93f9 × 骚粉 #ff79c6 点缀，标题紫→粉渐变
   全部规则 scope 于 html[data-skin="dracula"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="dracula"] {
  --bg: #282a36;
  --surface: #2d2f3d;
  --card: #2d2f3d;
  --border: #44475a;
  --border-light: #6272a4;
  --text: #f8f8f2;
  --text-secondary: #e2e2dc;
  --text-muted: #6272a4;
  --accent: #bd93f9;
  --accent-hover: #d4b6ff;
  --accent-subtle: rgba(189, 147, 249, 0.10);
  --success: #50fa7b;
  --success-subtle: rgba(80, 250, 123, 0.12);
  --error: #ff5555;
  --error-subtle: rgba(255, 85, 85, 0.12);
  --warning: #f1fa8c;
  --warning-subtle: rgba(241, 250, 140, 0.12);
  --info: #8be9fd;
  --row-alt: #2a2c39;
  --log-bg: #21222c;
  --btn-disabled-bg: #3b3e4e;
  --shadow-1: 0 1px 3px rgba(10, 10, 18, 0.55);
  --shadow-2: 0 2px 10px rgba(10, 10, 18, 0.55);
  --shadow-3: 0 10px 36px rgba(10, 10, 18, 0.65);
  --on-accent: #1e2029;
  background: #282a36;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="dracula"][data-theme="dark"] {
  --bg: #282a36;
  --surface: #2d2f3d;
  --card: #2d2f3d;
  --border: #44475a;
  --border-light: #6272a4;
  --text: #f8f8f2;
  --text-secondary: #e2e2dc;
  --text-muted: #6272a4;
  --accent: #bd93f9;
  --accent-hover: #d4b6ff;
  --accent-subtle: rgba(189, 147, 249, 0.10);
  --success: #50fa7b;
  --success-subtle: rgba(80, 250, 123, 0.12);
  --error: #ff5555;
  --error-subtle: rgba(255, 85, 85, 0.12);
  --warning: #f1fa8c;
  --warning-subtle: rgba(241, 250, 140, 0.12);
  --info: #8be9fd;
  --row-alt: #2a2c39;
  --log-bg: #21222c;
  --btn-disabled-bg: #3b3e4e;
  --shadow-1: 0 1px 3px rgba(10, 10, 18, 0.55);
  --shadow-2: 0 2px 10px rgba(10, 10, 18, 0.55);
  --shadow-3: 0 10px 36px rgba(10, 10, 18, 0.65);
  --on-accent: #1e2029;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="dracula"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：多层紫夜 radial，像伯爵城堡透出的烛光 ---- */
html[data-skin="dracula"] body {
  background:
    radial-gradient(1200px 700px at 50% -18%, rgba(189, 147, 249, 0.12), transparent 62%),
    radial-gradient(900px 540px at 12% 20%, rgba(255, 121, 198, 0.05), transparent 60%),
    radial-gradient(1000px 640px at 90% 78%, rgba(139, 233, 253, 0.05), transparent 62%),
    radial-gradient(1100px 620px at 50% 118%, rgba(98, 114, 164, 0.16), transparent 65%),
    #282a36;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="dracula"] ::selection {
  background: rgba(189, 147, 249, 0.30);
  color: #f3edff;
}
html[data-skin="dracula"] ::-webkit-scrollbar-thumb {
  background: #44475a;
  border-radius: 8px;
}
html[data-skin="dracula"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(189, 147, 249, 0.5);
}
html[data-skin="dracula"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="dracula"] img {
  filter: brightness(0.95) saturate(1.1);
}

/* ---- 6. 头部：德古拉紫→骚粉渐变字 ---- */
html[data-skin="dracula"] .header {
  border-color: #44475a;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(189, 147, 249, 0.14);
}
html[data-skin="dracula"] .header h1 {
  background: linear-gradient(90deg, #bd93f9, #ff79c6);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(189, 147, 249, 0.3));
}
html[data-skin="dracula"] .card-title {
  color: #cfb3ff;
}

/* ---- 7. 卡片族：暗紫卡 + hover 边框泛紫光 ---- */
html[data-skin="dracula"] .card,
html[data-skin="dracula"] .stat-card,
html[data-skin="dracula"] .admin-panel,
html[data-skin="dracula"] .acc-card,
html[data-skin="dracula"] .batch-group,
html[data-skin="dracula"] .batch-result-item,
html[data-skin="dracula"] .notice-panel,
html[data-skin="dracula"] .notice-toast {
  background: #2d2f3d;
  border: 1px solid #44475a;
}
html[data-skin="dracula"] .card:hover,
html[data-skin="dracula"] .stat-card:hover {
  border-color: rgba(189, 147, 249, 0.5);
  box-shadow: 0 0 18px rgba(189, 147, 249, 0.15), var(--shadow-2);
}
html[data-skin="dracula"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：德古拉紫发光按钮 ---- */
html[data-skin="dracula"] .btn,
html[data-skin="dracula"] .batch-btn,
html[data-skin="dracula"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="dracula"] .btn-primary {
  background: linear-gradient(135deg, #bd93f9, #8f68e8);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(189, 147, 249, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="dracula"] .btn-primary:hover {
  background: linear-gradient(135deg, #d4b6ff, #a985f2);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(189, 147, 249, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="dracula"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #6272a4;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="dracula"] .btn-secondary {
  background: #2d2f3d;
  color: var(--text-secondary);
  border: 1px solid #6272a4;
}
html[data-skin="dracula"] .btn-secondary:hover {
  background: #34374a;
  color: #bd93f9;
  border-color: rgba(189, 147, 249, 0.5);
  box-shadow: 0 0 12px rgba(189, 147, 249, 0.2);
}
html[data-skin="dracula"] .btn-danger {
  background: rgba(255, 85, 85, 0.12);
  color: #ff8a8a;
  border: 1px solid rgba(255, 85, 85, 0.35);
}
html[data-skin="dracula"] .btn-danger:hover {
  background: rgba(255, 85, 85, 0.2);
  box-shadow: 0 0 14px rgba(255, 85, 85, 0.3);
}
html[data-skin="dracula"] .btn:disabled {
  color: #6272a4;
}

/* ---- 9. 输入族：夜幕紫底聚焦紫描边 ---- */
html[data-skin="dracula"] input[type="text"],
html[data-skin="dracula"] input[type="password"],
html[data-skin="dracula"] input[type="number"],
html[data-skin="dracula"] input[type="date"],
html[data-skin="dracula"] input[type="time"],
html[data-skin="dracula"] textarea,
html[data-skin="dracula"] select,
html[data-skin="dracula"] .auth-input,
html[data-skin="dracula"] .admin-table input,
html[data-skin="dracula"] #reservationGame,
html[data-skin="dracula"] #modalGameName {
  background: #232532;
  border: 1px solid #44475a;
  color: var(--text);
}
html[data-skin="dracula"] input[type="text"]:focus,
html[data-skin="dracula"] input[type="password"]:focus,
html[data-skin="dracula"] input[type="number"]:focus,
html[data-skin="dracula"] textarea:focus,
html[data-skin="dracula"] select:focus,
html[data-skin="dracula"] .auth-input:focus,
html[data-skin="dracula"] .admin-table input:focus,
html[data-skin="dracula"] #reservationGame:focus,
html[data-skin="dracula"] #modalGameName:focus {
  outline: none;
  border-color: #bd93f9;
  box-shadow: 0 0 0 3px rgba(189, 147, 249, 0.14), 0 0 14px rgba(189, 147, 249, 0.18);
}
html[data-skin="dracula"] select option,
html[data-skin="dracula"] #reservationGame option,
html[data-skin="dracula"] #modalGameName option {
  background: #21222c;
  color: var(--text);
}
html[data-skin="dracula"] input[type="checkbox"] {
  accent-color: #bd93f9;
}

/* ---- 10. 表格：暗表头 / 暗夜斑马纹 / 紫行悬停 ---- */
html[data-skin="dracula"] .admin-table th,
html[data-skin="dracula"] .admin-table td,
html[data-skin="dracula"] .log-table th,
html[data-skin="dracula"] .log-table td {
  border-bottom: 1px solid #363948;
}
html[data-skin="dracula"] .admin-table th,
html[data-skin="dracula"] .log-table th {
  background: #282a36;
  border-bottom: 1px solid #44475a;
}
html[data-skin="dracula"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="dracula"] .log-table tbody tr:nth-child(even) td {
  background: #2a2c39;
}
html[data-skin="dracula"] .admin-table tr:hover td,
html[data-skin="dracula"] .log-table tr:hover td {
  background: rgba(189, 147, 249, 0.07);
}
html[data-skin="dracula"] #batchAccountTable tbody tr:hover {
  background: rgba(189, 147, 249, 0.05);
}
html[data-skin="dracula"] .batch-table-wrap {
  border-color: #363948;
}

/* ---- 11. 管理 tab：激活紫粉胶囊 ---- */
html[data-skin="dracula"] .admin-tab {
  background: #232532;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="dracula"] .admin-tab:hover {
  color: #f8f8f2;
  border-color: #6272a4;
}
html[data-skin="dracula"] .admin-tab.active {
  background: linear-gradient(135deg, #bd93f9, #8be9fd);
  color: var(--on-accent);
  border-color: rgba(189, 147, 249, 0.6);
  box-shadow: 0 0 14px rgba(189, 147, 249, 0.35);
}

/* ---- 12. 日志区：暗夜观察窗 ---- */
html[data-skin="dracula"] .log-box {
  background: #21222c;
  border: 1px solid #363948;
  box-shadow: inset 0 0 24px rgba(189, 147, 249, 0.04);
}

/* ---- 13. 登录面板：紫夜浮岛卡 + 紫登录键 ---- */
html[data-skin="dracula"] .auth-panel {
  background: #2d2f3d;
  border: 1px solid #44475a;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(189, 147, 249, 0.08);
}
html[data-skin="dracula"] .auth-btn {
  background: linear-gradient(135deg, #bd93f9, #8f68e8);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(189, 147, 249, 0.35);
}
html[data-skin="dracula"] .auth-btn:hover {
  background: linear-gradient(135deg, #d4b6ff, #a985f2);
  box-shadow: 0 0 26px rgba(189, 147, 249, 0.5);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="dracula"] .notice-panel {
  box-shadow: 0 8px 40px rgba(10, 10, 18, 0.65), 0 0 18px rgba(189, 147, 249, 0.10);
}
html[data-skin="dracula"] .notice-dot {
  border-color: #2d2f3d;
}
html[data-skin="dracula"] .notice-toast {
  border-color: rgba(189, 147, 249, 0.55);
  border-left: 4px solid #bd93f9;
  box-shadow: 0 8px 30px rgba(10, 10, 18, 0.6), 0 0 18px rgba(189, 147, 249, 0.13);
}
html[data-skin="dracula"] .notice-toast .t-head {
  background: rgba(189, 147, 249, 0.12);
  color: #bd93f9;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="dracula"] .pagination-bar button {
  background: #2d2f3d;
  border: 1px solid #44475a;
  color: var(--text);
}
html[data-skin="dracula"] .pagination-bar button:hover {
  border-color: #bd93f9;
  color: #bd93f9;
  box-shadow: 0 0 10px rgba(189, 147, 249, 0.22);
}
html[data-skin="dracula"] .points-badge {
  background: #f1fa8c;
  color: #33290f;
}
html[data-skin="dracula"] .batch-result-item.ok {
  border-color: rgba(80, 250, 123, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补投影；内联白底二维码盒压成淡纸白 ---- */
html[data-skin="dracula"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(10, 10, 18, 0.65), 0 0 24px rgba(189, 147, 249, 0.08) !important;
}
html[data-skin="dracula"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #bd93f9, #ff79c6) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="dracula"] #lxjQrBox,
html[data-skin="dracula"] #batchScanQr {
  background: #f5f2fb !important;
  border: 1px solid rgba(189, 147, 249, 0.4);
}
html[data-skin="dracula"] img[style*="background:#fff"] {
  background: #f5f2fb !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="dracula"] * {
    transition: none !important;
  }
  html[data-skin="dracula"] body {
    animation: none;
  }
}
/* ===== 常青林 (everforest) ===== */
/*SKIN {"id":"everforest","name":"常青林","colors":["#2b3339","#83c092","#d3c6aa"]}*/
/* ============================================================
   常青林 · Everforest — 灰绿沉静暗色皮肤
   底 #2b3339 / 卡 #323c41 / 文 #d3c6aa
   苔绿 #83c092 × 林间黄 #dbbc7f 点缀，灰绿沉静
   全部规则 scope 于 html[data-skin="everforest"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="everforest"] {
  --bg: #2b3339;
  --surface: #323c41;
  --card: #323c41;
  --border: #3a4c48;
  --border-light: #4d5c58;
  --text: #d3c6aa;
  --text-secondary: #c5bb9e;
  --text-muted: #859289;
  --accent: #83c092;
  --accent-hover: #a4d5b1;
  --accent-subtle: rgba(131, 192, 146, 0.10);
  --success: #a7c080;
  --success-subtle: rgba(167, 192, 128, 0.12);
  --error: #e67e80;
  --error-subtle: rgba(230, 126, 128, 0.12);
  --warning: #dbbc7f;
  --warning-subtle: rgba(219, 188, 127, 0.12);
  --info: #7fbbb3;
  --row-alt: #2e383d;
  --log-bg: #232a2e;
  --btn-disabled-bg: #3d4a46;
  --shadow-1: 0 1px 3px rgba(9, 12, 13, 0.55);
  --shadow-2: 0 2px 10px rgba(9, 12, 13, 0.55);
  --shadow-3: 0 10px 36px rgba(9, 12, 13, 0.65);
  --on-accent: #232a2e;
  background: #2b3339;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="everforest"][data-theme="dark"] {
  --bg: #2b3339;
  --surface: #323c41;
  --card: #323c41;
  --border: #3a4c48;
  --border-light: #4d5c58;
  --text: #d3c6aa;
  --text-secondary: #c5bb9e;
  --text-muted: #859289;
  --accent: #83c092;
  --accent-hover: #a4d5b1;
  --accent-subtle: rgba(131, 192, 146, 0.10);
  --success: #a7c080;
  --success-subtle: rgba(167, 192, 128, 0.12);
  --error: #e67e80;
  --error-subtle: rgba(230, 126, 128, 0.12);
  --warning: #dbbc7f;
  --warning-subtle: rgba(219, 188, 127, 0.12);
  --info: #7fbbb3;
  --row-alt: #2e383d;
  --log-bg: #232a2e;
  --btn-disabled-bg: #3d4a46;
  --shadow-1: 0 1px 3px rgba(9, 12, 13, 0.55);
  --shadow-2: 0 2px 10px rgba(9, 12, 13, 0.55);
  --shadow-3: 0 10px 36px rgba(9, 12, 13, 0.65);
  --on-accent: #232a2e;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="everforest"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：林间晨雾 radial，树冠透下的绿光 ---- */
html[data-skin="everforest"] body {
  background:
    radial-gradient(1200px 700px at 50% -18%, rgba(131, 192, 146, 0.08), transparent 62%),
    radial-gradient(900px 540px at 12% 20%, rgba(127, 187, 179, 0.05), transparent 60%),
    radial-gradient(1000px 640px at 90% 78%, rgba(219, 188, 127, 0.04), transparent 62%),
    radial-gradient(1100px 620px at 50% 118%, rgba(58, 76, 72, 0.45), transparent 65%),
    #2b3339;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="everforest"] ::selection {
  background: rgba(131, 192, 146, 0.30);
  color: #edf5ee;
}
html[data-skin="everforest"] ::-webkit-scrollbar-thumb {
  background: #3a4c48;
  border-radius: 8px;
}
html[data-skin="everforest"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(131, 192, 146, 0.5);
}
html[data-skin="everforest"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="everforest"] img {
  filter: brightness(0.95) saturate(1.1);
}

/* ---- 6. 头部：苔绿→湖青渐变字 ---- */
html[data-skin="everforest"] .header {
  border-color: #3a4c48;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(131, 192, 146, 0.14);
}
html[data-skin="everforest"] .header h1 {
  background: linear-gradient(90deg, #83c092, #7fbbb3);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(131, 192, 146, 0.3));
}
html[data-skin="everforest"] .card-title {
  color: #a4d5b1;
}

/* ---- 7. 卡片族：林岩灰绿卡 + hover 边框泛绿光 ---- */
html[data-skin="everforest"] .card,
html[data-skin="everforest"] .stat-card,
html[data-skin="everforest"] .admin-panel,
html[data-skin="everforest"] .acc-card,
html[data-skin="everforest"] .batch-group,
html[data-skin="everforest"] .batch-result-item,
html[data-skin="everforest"] .notice-panel,
html[data-skin="everforest"] .notice-toast {
  background: #323c41;
  border: 1px solid #3a4c48;
}
html[data-skin="everforest"] .card:hover,
html[data-skin="everforest"] .stat-card:hover {
  border-color: rgba(131, 192, 146, 0.5);
  box-shadow: 0 0 18px rgba(131, 192, 146, 0.12), var(--shadow-2);
}
html[data-skin="everforest"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：苔绿沉静按钮 ---- */
html[data-skin="everforest"] .btn,
html[data-skin="everforest"] .batch-btn,
html[data-skin="everforest"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="everforest"] .btn-primary {
  background: linear-gradient(135deg, #83c092, #62a878);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(131, 192, 146, 0.25), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="everforest"] .btn-primary:hover {
  background: linear-gradient(135deg, #a4d5b1, #77bb8b);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(131, 192, 146, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="everforest"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #859289;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="everforest"] .btn-secondary {
  background: #323c41;
  color: var(--text-secondary);
  border: 1px solid #4d5c58;
}
html[data-skin="everforest"] .btn-secondary:hover {
  background: #3c4a47;
  color: #83c092;
  border-color: rgba(131, 192, 146, 0.5);
  box-shadow: 0 0 12px rgba(131, 192, 146, 0.2);
}
html[data-skin="everforest"] .btn-danger {
  background: rgba(230, 126, 128, 0.12);
  color: #ef9a9b;
  border: 1px solid rgba(230, 126, 128, 0.35);
}
html[data-skin="everforest"] .btn-danger:hover {
  background: rgba(230, 126, 128, 0.2);
  box-shadow: 0 0 14px rgba(230, 126, 128, 0.3);
}
html[data-skin="everforest"] .btn:disabled {
  color: #859289;
}

/* ---- 9. 输入族：林土底聚焦绿描边 ---- */
html[data-skin="everforest"] input[type="text"],
html[data-skin="everforest"] input[type="password"],
html[data-skin="everforest"] input[type="number"],
html[data-skin="everforest"] input[type="date"],
html[data-skin="everforest"] input[type="time"],
html[data-skin="everforest"] textarea,
html[data-skin="everforest"] select,
html[data-skin="everforest"] .auth-input,
html[data-skin="everforest"] .admin-table input,
html[data-skin="everforest"] #reservationGame,
html[data-skin="everforest"] #modalGameName {
  background: #293339;
  border: 1px solid #3a4c48;
  color: var(--text);
}
html[data-skin="everforest"] input[type="text"]:focus,
html[data-skin="everforest"] input[type="password"]:focus,
html[data-skin="everforest"] input[type="number"]:focus,
html[data-skin="everforest"] textarea:focus,
html[data-skin="everforest"] select:focus,
html[data-skin="everforest"] .auth-input:focus,
html[data-skin="everforest"] .admin-table input:focus,
html[data-skin="everforest"] #reservationGame:focus,
html[data-skin="everforest"] #modalGameName:focus {
  outline: none;
  border-color: #83c092;
  box-shadow: 0 0 0 3px rgba(131, 192, 146, 0.14), 0 0 14px rgba(131, 192, 146, 0.18);
}
html[data-skin="everforest"] select option,
html[data-skin="everforest"] #reservationGame option,
html[data-skin="everforest"] #modalGameName option {
  background: #232a2e;
  color: var(--text);
}
html[data-skin="everforest"] input[type="checkbox"] {
  accent-color: #83c092;
}

/* ---- 10. 表格：暗表头 / 林地斑马纹 / 绿行悬停 ---- */
html[data-skin="everforest"] .admin-table th,
html[data-skin="everforest"] .admin-table td,
html[data-skin="everforest"] .log-table th,
html[data-skin="everforest"] .log-table td {
  border-bottom: 1px solid #31403c;
}
html[data-skin="everforest"] .admin-table th,
html[data-skin="everforest"] .log-table th {
  background: #2b3339;
  border-bottom: 1px solid #3a4c48;
}
html[data-skin="everforest"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="everforest"] .log-table tbody tr:nth-child(even) td {
  background: #2e383d;
}
html[data-skin="everforest"] .admin-table tr:hover td,
html[data-skin="everforest"] .log-table tr:hover td {
  background: rgba(131, 192, 146, 0.07);
}
html[data-skin="everforest"] #batchAccountTable tbody tr:hover {
  background: rgba(131, 192, 146, 0.05);
}
html[data-skin="everforest"] .batch-table-wrap {
  border-color: #31403c;
}

/* ---- 11. 管理 tab：激活绿青胶囊 ---- */
html[data-skin="everforest"] .admin-tab {
  background: #293339;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="everforest"] .admin-tab:hover {
  color: #d3c6aa;
  border-color: #4d5c58;
}
html[data-skin="everforest"] .admin-tab.active {
  background: linear-gradient(135deg, #83c092, #7fbbb3);
  color: var(--on-accent);
  border-color: rgba(131, 192, 146, 0.6);
  box-shadow: 0 0 14px rgba(131, 192, 146, 0.25);
}

/* ---- 12. 日志区：树洞观察窗 ---- */
html[data-skin="everforest"] .log-box {
  background: #232a2e;
  border: 1px solid #31403c;
  box-shadow: inset 0 0 24px rgba(131, 192, 146, 0.04);
}

/* ---- 13. 登录面板：林间浮岛卡 + 绿登录键 ---- */
html[data-skin="everforest"] .auth-panel {
  background: #323c41;
  border: 1px solid #3a4c48;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(131, 192, 146, 0.08);
}
html[data-skin="everforest"] .auth-btn {
  background: linear-gradient(135deg, #83c092, #62a878);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(131, 192, 146, 0.25);
}
html[data-skin="everforest"] .auth-btn:hover {
  background: linear-gradient(135deg, #a4d5b1, #77bb8b);
  box-shadow: 0 0 26px rgba(131, 192, 146, 0.4);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="everforest"] .notice-panel {
  box-shadow: 0 8px 40px rgba(9, 12, 13, 0.65), 0 0 18px rgba(131, 192, 146, 0.10);
}
html[data-skin="everforest"] .notice-dot {
  border-color: #323c41;
}
html[data-skin="everforest"] .notice-toast {
  border-color: rgba(131, 192, 146, 0.55);
  border-left: 4px solid #83c092;
  box-shadow: 0 8px 30px rgba(9, 12, 13, 0.6), 0 0 18px rgba(131, 192, 146, 0.13);
}
html[data-skin="everforest"] .notice-toast .t-head {
  background: rgba(131, 192, 146, 0.12);
  color: #83c092;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="everforest"] .pagination-bar button {
  background: #323c41;
  border: 1px solid #3a4c48;
  color: var(--text);
}
html[data-skin="everforest"] .pagination-bar button:hover {
  border-color: #83c092;
  color: #83c092;
  box-shadow: 0 0 10px rgba(131, 192, 146, 0.22);
}
html[data-skin="everforest"] .points-badge {
  background: #dbbc7f;
  color: #332908;
}
html[data-skin="everforest"] .batch-result-item.ok {
  border-color: rgba(167, 192, 128, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补投影；内联白底二维码盒压成淡纸白 ---- */
html[data-skin="everforest"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(9, 12, 13, 0.65), 0 0 24px rgba(131, 192, 146, 0.08) !important;
}
html[data-skin="everforest"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #83c092, #7fbbb3) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="everforest"] #lxjQrBox,
html[data-skin="everforest"] #batchScanQr {
  background: #eeeade !important;
  border: 1px solid rgba(131, 192, 146, 0.4);
}
html[data-skin="everforest"] img[style*="background:#fff"] {
  background: #eeeade !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="everforest"] * {
    transition: none !important;
  }
  html[data-skin="everforest"] body {
    animation: none;
  }
}
/* ===== 森林 (forest) ===== */
/*SKIN {"id":"forest","name":"森林","colors":["#0d1512","#4ade80","#d9e8df"]}*/
/* ================================================================== */
/* [森林] 深夜森林暗色：深林绿黑底 + 双团深绿氛围光 + 萤火绿强调      */
/* #4ade80 萤火 + #d4a373 暖金点缀：绿底深字发光按钮、绿→金渐变标题    */
/* ================================================================== */

/* ---------- 变量重定义 ---------- */
html[data-skin="forest"] {
  --bg: #0d1512;
  --surface: #16211c;
  --card: #16211c;
  --border: #24352d;
  --border-light: #31463b;
  --text: #d9e8df;
  --text-secondary: #9db8a8;
  --text-muted: #6d8677;
  --accent: #4ade80;
  --accent-hover: #86efac;
  --accent-subtle: rgba(74,222,128,0.12);
  --success: #4ade80;
  --success-subtle: rgba(74,222,128,0.12);
  --error: #f87171;
  --error-subtle: rgba(248,113,113,0.12);
  --warning: #d4a373;
  --warning-subtle: rgba(212,163,115,0.12);
  --info: #7dd3fc;
  --radius: 10px;
  --radius-sm: 8px;
  --shadow-1: 0 1px 3px rgba(0,0,0,0.5);
  --shadow-2: 0 3px 12px rgba(0,0,0,0.55);
  --shadow-3: 0 10px 34px rgba(0,0,0,0.65);
  --row-alt: #1a2a22;
  --log-bg: #101b16;
  --btn-disabled-bg: #2f4a3a;
  color-scheme: dark;
}
/* 暗色主题守卫（特异性 0,2,1）：皮肤变量压过 html[data-theme="dark"] 变量组 */
html[data-skin="forest"][data-theme="dark"] {
  --bg: #0d1512;
  --surface: #16211c;
  --card: #16211c;
  --border: #24352d;
  --border-light: #31463b;
  --text: #d9e8df;
  --text-secondary: #9db8a8;
  --text-muted: #6d8677;
  --accent: #4ade80;
  --accent-hover: #86efac;
  --accent-subtle: rgba(74,222,128,0.12);
  --success: #4ade80;
  --success-subtle: rgba(74,222,128,0.12);
  --error: #f87171;
  --error-subtle: rgba(248,113,113,0.12);
  --warning: #d4a373;
  --warning-subtle: rgba(212,163,115,0.12);
  --info: #7dd3fc;
  --row-alt: #1a2a22;
  --log-bg: #101b16;
  --btn-disabled-bg: #2f4a3a;
  color-scheme: dark;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="forest"] * {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ---------- 页面底：深林绿黑 + 两团深绿氛围光 + 一点金色萤尘 ---------- */
html[data-skin="forest"] body {
  background:
    radial-gradient(44rem 44rem at 12% -10%, rgba(34,94,60,0.34), transparent 62%),
    radial-gradient(40rem 40rem at 96% 108%, rgba(20,74,48,0.30), transparent 60%),
    radial-gradient(26rem 26rem at 82% 6%, rgba(212,163,115,0.05), transparent 62%),
    linear-gradient(180deg, #0d1512 0%, #0f1a15 100%);
  background-attachment: fixed;
  color: #d9e8df;
  min-height: 100vh;
}
/* 主题无论明暗，森林恒为暗色底 */
html[data-skin="forest"][data-theme="dark"] body {
  background:
    radial-gradient(44rem 44rem at 12% -10%, rgba(34,94,60,0.34), transparent 62%),
    radial-gradient(40rem 40rem at 96% 108%, rgba(20,74,48,0.30), transparent 60%),
    radial-gradient(26rem 26rem at 82% 6%, rgba(212,163,115,0.05), transparent 62%),
    linear-gradient(180deg, #0d1512 0%, #0f1a15 100%);
  color: #d9e8df;
}

/* ---------- 卡片 / 面板：深绿黑卡 ---------- */
html[data-skin="forest"] .card,
html[data-skin="forest"] .stat-card,
html[data-skin="forest"] .acc-card,
html[data-skin="forest"] .auth-panel,
html[data-skin="forest"] .admin-panel,
html[data-skin="forest"] .config-panel,
html[data-skin="forest"] .notice-panel,
html[data-skin="forest"] .notice-toast,
html[data-skin="forest"] .autocomplete-dropdown,
html[data-skin="forest"] .batch-result-item,
html[data-skin="forest"] .modal-box {
  background: #16211c;
  border: 1px solid #24352d;
  box-shadow: 0 4px 18px rgba(0,0,0,0.5);
}
html[data-skin="forest"] .card:hover,
html[data-skin="forest"] .stat-card:hover {
  border-color: #31463b;
  box-shadow: 0 8px 26px rgba(0,0,0,0.6), 0 0 18px rgba(74,222,128,0.07);
}
html[data-skin="forest"] .card-title {
  color: #d4a373;
}
html[data-skin="forest"] .header {
  background: rgba(13,21,18,0.82);
  border-bottom: 1px solid #24352d;
}
html[data-skin="forest"] .header h1 {
  background: linear-gradient(120deg, #4ade80, #d4a373);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系：绿底深字 + 萤火微光 ---------- */
html[data-skin="forest"] .btn {
  border-radius: 8px;
  font-weight: 600;
}
html[data-skin="forest"] .btn-primary,
html[data-skin="forest"] .auth-btn,
html[data-skin="forest"] .admin-tab.active {
  background: #4ade80;
  color: #0d1512;
  border: 1px solid #4ade80;
  box-shadow: 0 0 14px rgba(74,222,128,0.28);
}
html[data-skin="forest"] .btn-primary:hover,
html[data-skin="forest"] .auth-btn:hover,
html[data-skin="forest"] .btn-primary:active {
  background: #86efac;
  border-color: #86efac;
  box-shadow: 0 0 20px rgba(134,239,172,0.4);
}
html[data-skin="forest"] .btn-primary:disabled,
html[data-skin="forest"] .pagination-bar button:disabled {
  background: #2f4a3a;
  color: #6d8677;
  border-color: #2f4a3a;
  box-shadow: none;
}
html[data-skin="forest"] .btn-secondary,
html[data-skin="forest"] .batch-btn,
html[data-skin="forest"] .pagination-bar button,
html[data-skin="forest"] .notice-panel-head .n-clear {
  background: #16211c;
  color: #9db8a8;
  border: 1px solid #24352d;
}
html[data-skin="forest"] .btn-secondary:hover,
html[data-skin="forest"] .batch-btn:hover,
html[data-skin="forest"] .pagination-bar button:hover {
  background: #1a2a22;
  color: #4ade80;
  border-color: #31463b;
}
html[data-skin="forest"] .btn-danger {
  background: rgba(248,113,113,0.1);
  color: #f87171;
  border: 1px solid rgba(248,113,113,0.3);
}
html[data-skin="forest"] .btn-danger:hover {
  background: rgba(248,113,113,0.18);
}
html[data-skin="forest"] .admin-tab {
  background: #16211c;
  color: #9db8a8;
  border: 1px solid #24352d;
  border-radius: 8px;
}
html[data-skin="forest"] .admin-tab:hover {
  border-color: #31463b;
  color: #4ade80;
}

/* ---------- 输入控件：深底 + 聚焦萤火绿描边 ---------- */
html[data-skin="forest"] input[type="text"],
html[data-skin="forest"] input[type="password"],
html[data-skin="forest"] input[type="number"],
html[data-skin="forest"] textarea,
html[data-skin="forest"] select,
html[data-skin="forest"] .auth-input,
html[data-skin="forest"] .admin-table input,
html[data-skin="forest"] .config-row input,
html[data-skin="forest"] #pointsRecordsModalTbody select {
  background: #101b16;
  border: 1px solid #2b4034;
  color: #d9e8df;
  border-radius: 8px;
}
html[data-skin="forest"] input[type="text"]:focus,
html[data-skin="forest"] input[type="password"]:focus,
html[data-skin="forest"] input[type="number"]:focus,
html[data-skin="forest"] textarea:focus,
html[data-skin="forest"] select:focus,
html[data-skin="forest"] .auth-input:focus,
html[data-skin="forest"] #reservationGame:focus,
html[data-skin="forest"] #modalGameName:focus {
  outline: none;
  border-color: #4ade80;
  box-shadow: 0 0 0 3px rgba(74,222,128,0.16);
}
html[data-skin="forest"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #101b16 inset;
  -webkit-text-fill-color: #d9e8df;
  caret-color: #d9e8df;
}
html[data-skin="forest"] input[type="checkbox"],
html[data-skin="forest"] .acc-check input {
  accent-color: #4ade80;
}
html[data-skin="forest"] ::placeholder {
  color: #5f7a6b;
}

/* ---------- 双表格 ---------- */
html[data-skin="forest"] .admin-table th,
html[data-skin="forest"] .log-table th,
html[data-skin="forest"] #batchAccountTable th,
html[data-skin="forest"] #batchUnlockedTable th {
  color: #4ade80;
  background: #1a2a22;
  border-bottom: 1px solid #31463b;
}
html[data-skin="forest"] .admin-table td,
html[data-skin="forest"] .log-table td {
  border-bottom: 1px solid #22332a;
}
html[data-skin="forest"] .admin-table tr:hover td,
html[data-skin="forest"] .log-table tr:hover td,
html[data-skin="forest"] #batchAccountTable tbody tr:hover {
  background: rgba(74,222,128,0.06);
}
html[data-skin="forest"] .log-table tbody tr:nth-child(even) td {
  background: #1a2a22;
}

/* ---------- 日志区 ---------- */
html[data-skin="forest"] .log-box {
  background: #101b16;
  border: 1px solid #24352d;
}
html[data-skin="forest"] .log-detail-pre {
  background: #1a2a22;
  color: #d9e8df;
}
html[data-skin="forest"] .log-line.success { color: #4ade80; }
html[data-skin="forest"] .log-line.fail { color: #f87171; }
html[data-skin="forest"] .log-line.info { color: #7dd3fc; }
html[data-skin="forest"] .log-line.skip { color: #d4a373; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="forest"] .badge-info { background: rgba(125,211,252,0.1); color: #7dd3fc; }
html[data-skin="forest"] .badge-success { background: rgba(74,222,128,0.12); color: #4ade80; }
html[data-skin="forest"] .badge-error { background: rgba(248,113,113,0.1); color: #f87171; }
html[data-skin="forest"] .badge-warning { background: rgba(212,163,115,0.12); color: #d4a373; }
html[data-skin="forest"] .stat-num.blue { color: #7dd3fc; }
html[data-skin="forest"] .stat-num.green { color: #4ade80; }
html[data-skin="forest"] .stat-num.red { color: #f87171; }
html[data-skin="forest"] .stat-num.yellow { color: #d4a373; }
html[data-skin="forest"] .debt-warning {
  background: rgba(248,113,113,0.1);
  border: 1px solid rgba(248,113,113,0.3);
  color: #f87171;
}
html[data-skin="forest"] .autocomplete-item.active,
html[data-skin="forest"] .autocomplete-item:hover {
  background: rgba(74,222,128,0.08);
}
html[data-skin="forest"] .notice-item:hover {
  background: rgba(74,222,128,0.06);
}
html[data-skin="forest"] .notice-bell,
html[data-skin="forest"] .n-dot {
  color: #d4a373;
}

/* ---------- 弹窗遮罩 / 二维码盒（淡纸白保证可扫） ---------- */
html[data-skin="forest"] #logDetailModal,
html[data-skin="forest"] #pointsRecordsModal,
html[data-skin="forest"] #batchScanModal {
  background: rgba(5,10,8,0.62) !important;
}
html[data-skin="forest"] #batchScanQr,
html[data-skin="forest"] #lxjQrBox {
  background: #eef3ee !important;
  border: 1px solid #31463b;
}
html[data-skin="forest"] #batchScanQrImg,
html[data-skin="forest"] #batchScanQr img,
html[data-skin="forest"] #lxjQrBox img,
html[data-skin="forest"] #lxjQrBox canvas,
html[data-skin="forest"] img[style*="background:#fff"],
html[data-skin="forest"] img[style*="background: #fff"] {
  background: #f2f6f1 !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="forest"] ::-webkit-scrollbar-thumb {
  background: #2b4034;
  border-radius: 5px;
}
html[data-skin="forest"] ::-webkit-scrollbar-thumb:hover {
  background: #4ade80;
}
html[data-skin="forest"] ::selection {
  background: rgba(74,222,128,0.22);
  color: #eef7f0;
}
/* ===== 掌机绿 (gameboy) ===== */
/*SKIN {"id":"gameboy","name":"掌机绿","colors":["#0f380f", "#8bac0f", "#9bbc0f"]}*/
/* 掌机绿：四阶灰绿掌机屏 + 极简粗边框 + 反转液晶芯片 + 等宽 */

/* ---------- 变量重定义 ---------- */
html[data-skin="gameboy"] {
  --bg: #0f380f;
  --surface: #306230;
  --card: #306230;
  --border: #4a7043;
  --border-light: #6d8f4b;
  --text: #9bbc0f;
  --text-secondary: #8bac0f;
  --text-muted: #7a9c53;
  --accent: #8bac0f;
  --accent-hover: #9bbc0f;
  --accent-subtle: rgba(139,172,15,0.2);
  --success: #9bbc0f;
  --success-subtle: rgba(155,188,15,0.18);
  --error: #0f380f;
  --error-subtle: rgba(15,56,15,0.35);
  --warning: #9bbc0f;
  --warning-subtle: rgba(155,188,15,0.18);
  --info: #8bac0f;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 2px 0 rgba(15,56,15,0.8);
  --shadow-2: 0 3px 0 #0f380f;
  --shadow-3: 0 4px 0 #0f380f;
  --row-alt: #274f27;
  --log-bg: #0a2a0a;
  --btn-disabled-bg: #1f4a1f;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="gameboy"][data-theme="dark"] {
  --bg: #0f380f;
  --surface: #306230;
  --card: #306230;
  --border: #4a7043;
  --border-light: #6d8f4b;
  --text: #9bbc0f;
  --text-secondary: #8bac0f;
  --text-muted: #7a9c53;
  --accent: #8bac0f;
  --accent-hover: #9bbc0f;
  --accent-subtle: rgba(139,172,15,0.2);
  --success: #9bbc0f;
  --success-subtle: rgba(155,188,15,0.18);
  --error: #0f380f;
  --error-subtle: rgba(15,56,15,0.35);
  --warning: #9bbc0f;
  --warning-subtle: rgba(155,188,15,0.18);
  --info: #8bac0f;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 2px 0 rgba(15,56,15,0.8);
  --shadow-2: 0 3px 0 #0f380f;
  --shadow-3: 0 4px 0 #0f380f;
  --row-alt: #274f27;
  --log-bg: #0a2a0a;
  --btn-disabled-bg: #1f4a1f;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* ---------- 页面底 + 扫描线（静态低透明度，不影响阅读） ---------- */
html[data-skin="gameboy"] body {
  background: #0f380f;
  color: #9bbc0f;
  min-height: 100vh;
}
html[data-skin="gameboy"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.03) 0px,
    rgba(255,255,255,0.03) 1px,
    transparent 1px,
    transparent 3px
  );
}

/* ---------- 卡片 / 面板 ---------- */
html[data-skin="gameboy"] .card,
html[data-skin="gameboy"] .stat-card,
html[data-skin="gameboy"] .acc-card,
html[data-skin="gameboy"] .auth-panel,
html[data-skin="gameboy"] .admin-panel,
html[data-skin="gameboy"] .config-panel,
html[data-skin="gameboy"] .notice-panel,
html[data-skin="gameboy"] .batch-result-item {
  background: #306230;
  border: 1px solid #4a7043;
  box-shadow: 0 3px 0 #0f380f;
}
html[data-skin="gameboy"] .card:hover,
html[data-skin="gameboy"] .stat-card:hover {
  border-color: #8bac0f;
  box-shadow: 0 0 0 1px #8bac0f, 0 4px 0 #0f380f;
}
html[data-skin="gameboy"] .card-title {
  color: #8bac0f;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
html[data-skin="gameboy"] .header {
  background: #0f380f;
  border-bottom: 1px solid #4a7043;
}
html[data-skin="gameboy"] .header h1 {
  color: #9bbc0f;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}


/* ---------- 按钮全系 ---------- */
html[data-skin="gameboy"] .btn {
  border-radius: 0px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
html[data-skin="gameboy"] .btn-primary,
html[data-skin="gameboy"] .auth-btn,
html[data-skin="gameboy"] .admin-tab.active {
  background: #8bac0f;
  color: #0f380f;
  border: 1px solid #8bac0f;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(139,172,15,0.35);
}
html[data-skin="gameboy"] .btn-primary:hover,
html[data-skin="gameboy"] .auth-btn:hover {
  background: #9bbc0f;
  border-color: #9bbc0f;
  box-shadow: 0 0 18px rgba(139,172,15,0.5);
}
html[data-skin="gameboy"] .btn-primary:disabled,
html[data-skin="gameboy"] .pagination-bar button:disabled {
  background: #1f4a1f;
  color: #7a9c53;
  border-color: #4a7043;
  box-shadow: none;
}
html[data-skin="gameboy"] .btn-secondary,
html[data-skin="gameboy"] .batch-btn,
html[data-skin="gameboy"] .pagination-bar button,
html[data-skin="gameboy"] .notice-panel-head .n-clear {
  background: #306230;
  color: #9bbc0f;
  border: 1px solid #6d8f4b;
  border-radius: 0px;
}
html[data-skin="gameboy"] .btn-secondary:hover,
html[data-skin="gameboy"] .batch-btn:hover,
html[data-skin="gameboy"] .pagination-bar button:hover {
  background: #306230;
  color: #8bac0f;
  border-color: #8bac0f;
}
html[data-skin="gameboy"] .btn-danger {
  background: rgba(155,188,15,0.3);
  color: #0f380f;
  border: 1px solid #0f380f;
  border-radius: 0px;
}
html[data-skin="gameboy"] .btn-danger:hover {
  background: rgba(155,188,15,0.45);
}

/* ---------- 输入控件：深底 + 强调描边聚焦 ---------- */
html[data-skin="gameboy"] input[type="text"],
html[data-skin="gameboy"] input[type="password"],
html[data-skin="gameboy"] input[type="number"],
html[data-skin="gameboy"] textarea,
html[data-skin="gameboy"] select,
html[data-skin="gameboy"] .auth-input,
html[data-skin="gameboy"] .admin-table input,
html[data-skin="gameboy"] .config-row input {
  background: #0a2a0a;
  border: 1px solid #4a7043;
  color: #9bbc0f;
  border-radius: 0px;
}
html[data-skin="gameboy"] input[type="text"]:focus,
html[data-skin="gameboy"] input[type="password"]:focus,
html[data-skin="gameboy"] input[type="number"]:focus,
html[data-skin="gameboy"] textarea:focus,
html[data-skin="gameboy"] select:focus,
html[data-skin="gameboy"] .auth-input:focus,
html[data-skin="gameboy"] #reservationGame:focus,
html[data-skin="gameboy"] #modalGameName:focus {
  outline: none;
  border-color: #8bac0f;
  box-shadow: 0 0 0 1px #8bac0f, 0 0 8px rgba(139,172,15,0.3);
}
html[data-skin="gameboy"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #0a2a0a inset;
  -webkit-text-fill-color: #9bbc0f;
  caret-color: #8bac0f;
}
html[data-skin="gameboy"] input[type="checkbox"],
html[data-skin="gameboy"] .acc-card-top .acc-check input {
  accent-color: #8bac0f;
}
html[data-skin="gameboy"] ::placeholder {
  color: #7a9c53;
}

/* ---------- 双表格 ---------- */
html[data-skin="gameboy"] .admin-table th,
html[data-skin="gameboy"] .log-table th {
  color: #8bac0f;
  background: #0a2a0a;
  border-bottom: 1px solid #4a7043;
}
html[data-skin="gameboy"] .admin-table td,
html[data-skin="gameboy"] .log-table td {
  border-bottom: 1px solid #1c441c;
}
html[data-skin="gameboy"] .admin-table tr:hover td,
html[data-skin="gameboy"] .log-table tr:hover td,
html[data-skin="gameboy"] #batchAccountTable tbody tr:hover {
  background: rgba(155,188,15,0.15);
}
html[data-skin="gameboy"] .log-table tbody tr:nth-child(even) td {
  background: #274f27;
}

/* ---------- 日志区 ---------- */
html[data-skin="gameboy"] .log-box {
  background: #0a2a0a;
  border: 1px solid #4a7043;
}
html[data-skin="gameboy"] .log-detail-pre {
  background: #274f27;
  color: #9bbc0f;
  border: 1px solid #1c441c;
}
html[data-skin="gameboy"] .log-line.success { color: #9bbc0f; }
html[data-skin="gameboy"] .log-line.fail { color: #0f380f; }
html[data-skin="gameboy"] .log-line.info { color: #8bac0f; }
html[data-skin="gameboy"] .log-line.skip { color: #9bbc0f; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="gameboy"] .badge-info { background: rgba(139,172,15,0.2); color: #8bac0f; }
html[data-skin="gameboy"] .badge-success { background: rgba(155,188,15,0.18); color: #9bbc0f; }
html[data-skin="gameboy"] .badge-error { background: rgba(15,56,15,0.35); color: #0f380f; }
html[data-skin="gameboy"] .badge-warning { background: rgba(155,188,15,0.18); color: #9bbc0f; }
html[data-skin="gameboy"] .stat-num.blue { color: #9bbc0f; }
html[data-skin="gameboy"] .stat-num.green { color: #8bac0f; }
html[data-skin="gameboy"] .stat-num.red { color: #0f380f; }
html[data-skin="gameboy"] .stat-num.yellow { color: #9bbc0f; }
html[data-skin="gameboy"] .debt-warning {
  background: rgba(15,56,15,0.35);
  border: 1px solid #0f380f;
  color: #0f380f;
  border-radius: 0px;
}
html[data-skin="gameboy"] .autocomplete-dropdown {
  background: #306230;
  border: 1px solid #4a7043;
  border-radius: 0px;
}
html[data-skin="gameboy"] .autocomplete-item.active,
html[data-skin="gameboy"] .autocomplete-item:hover {
  background: rgba(139,172,15,0.2);
  color: #8bac0f;
}
html[data-skin="gameboy"] .admin-tab {
  background: #306230;
  color: #8bac0f;
  border: 1px solid #4a7043;
  border-radius: 0px;
}
html[data-skin="gameboy"] .admin-tab:hover {
  border-color: #8bac0f;
  color: #8bac0f;
}
html[data-skin="gameboy"] .notice-toast {
  background: #306230;
  border: 1px solid #8bac0f;
  border-left: 4px solid #8bac0f;
  border-radius: 0px;
}
html[data-skin="gameboy"] .notice-item:hover {
  background: rgba(155,188,15,0.15);
}
html[data-skin="gameboy"] .notice-bell,
html[data-skin="gameboy"] .n-dot {
  color: #8bac0f;
}

/* ---------- 弹窗遮罩 / 二维码盒淡纸白（保扫码对比度） ---------- */
html[data-skin="gameboy"] #logDetailModal,
html[data-skin="gameboy"] #pointsRecordsModal,
html[data-skin="gameboy"] #batchScanModal {
  background: rgba(5,20,5,0.85) !important;
}
html[data-skin="gameboy"] #lxjQrBox,
html[data-skin="gameboy"] #batchScanQr,
html[data-skin="gameboy"] #lxjQrImg,
html[data-skin="gameboy"] #batchScanQrImg {
  background: #e8f0c8 !important;
  border: 2px solid #0f380f;
}
html[data-skin="gameboy"] img[style*="background:#fff"] {
  background: #e8f0c8 !important;
}

/* ---------- 滚动条 / 选区 / 过渡 ---------- */
html[data-skin="gameboy"] ::-webkit-scrollbar-thumb {
  background: #4a7043;
  border-radius: 0px;
}
html[data-skin="gameboy"] ::-webkit-scrollbar-thumb:hover {
  background: #8bac0f;
}
html[data-skin="gameboy"] ::selection {
  background: #8bac0f;
  color: #0f380f;
}
html[data-skin="gameboy"] .btn,
html[data-skin="gameboy"] .card,
html[data-skin="gameboy"] .stat-card,
html[data-skin="gameboy"] .acc-card,
html[data-skin="gameboy"] .admin-tab,
html[data-skin="gameboy"] .pagination-bar button,
html[data-skin="gameboy"] input,
html[data-skin="gameboy"] select,
html[data-skin="gameboy"] textarea {
  transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s;
}

/* ---------- 动效保护：系统减弱动效时关闭过渡与动画 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="gameboy"] * {
    transition: none !important;
  }
  html[data-skin="gameboy"] body {
    animation: none;
  }
}
/* ===== 吉特暗夜 (github-dark) ===== */
/*SKIN {"id":"github-dark","name":"吉特暗夜","colors":["#0d1117","#2f81f7","#e6edf3"]}*/
/* ============================================================
   吉特暗夜 · GitHub Dark — 克制工程感暗色皮肤（直角 2px）
   底 #0d1117 / 卡 #161b22 / 文 #e6edf3
   工程蓝 #2f81f7 × 暗紫 #a371f7 点缀，克制工程感、直角 2px
   全部规则 scope 于 html[data-skin="github-dark"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="github-dark"] {
  --bg: #0d1117;
  --surface: #161b22;
  --card: #161b22;
  --border: #30363d;
  --border-light: #484f58;
  --text: #e6edf3;
  --text-secondary: #b6c2cf;
  --text-muted: #7d8590;
  --accent: #2f81f7;
  --accent-hover: #5c9bff;
  --accent-subtle: rgba(47, 129, 247, 0.10);
  --success: #3fb950;
  --success-subtle: rgba(63, 185, 80, 0.12);
  --error: #f85149;
  --error-subtle: rgba(248, 81, 73, 0.12);
  --warning: #d29922;
  --warning-subtle: rgba(210, 153, 34, 0.12);
  --info: #58a6ff;
  --row-alt: #10161d;
  --log-bg: #0a0d12;
  --btn-disabled-bg: #21262d;
  --shadow-1: 0 1px 3px rgba(1, 3, 6, 0.55);
  --shadow-2: 0 2px 10px rgba(1, 3, 6, 0.55);
  --shadow-3: 0 10px 36px rgba(1, 3, 6, 0.65);
  --on-accent: #0a0c10;
  background: #0d1117;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="github-dark"][data-theme="dark"] {
  --bg: #0d1117;
  --surface: #161b22;
  --card: #161b22;
  --border: #30363d;
  --border-light: #484f58;
  --text: #e6edf3;
  --text-secondary: #b6c2cf;
  --text-muted: #7d8590;
  --accent: #2f81f7;
  --accent-hover: #5c9bff;
  --accent-subtle: rgba(47, 129, 247, 0.10);
  --success: #3fb950;
  --success-subtle: rgba(63, 185, 80, 0.12);
  --error: #f85149;
  --error-subtle: rgba(248, 81, 73, 0.12);
  --warning: #d29922;
  --warning-subtle: rgba(210, 153, 34, 0.12);
  --info: #58a6ff;
  --row-alt: #10161d;
  --log-bg: #0a0d12;
  --btn-disabled-bg: #21262d;
  --shadow-1: 0 1px 3px rgba(1, 3, 6, 0.55);
  --shadow-2: 0 2px 10px rgba(1, 3, 6, 0.55);
  --shadow-3: 0 10px 36px rgba(1, 3, 6, 0.65);
  --on-accent: #0a0c10;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="github-dark"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：近黑底 radial，弱化的工程蓝辉光 ---- */
html[data-skin="github-dark"] body {
  background:
    radial-gradient(1200px 700px at 50% -18%, rgba(47, 129, 247, 0.07), transparent 62%),
    radial-gradient(900px 540px at 12% 20%, rgba(163, 113, 247, 0.04), transparent 60%),
    radial-gradient(1000px 640px at 90% 78%, rgba(63, 185, 80, 0.03), transparent 62%),
    radial-gradient(1100px 620px at 50% 118%, rgba(22, 27, 34, 0.55), transparent 65%),
    #0d1117;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="github-dark"] ::selection {
  background: rgba(47, 129, 247, 0.30);
  color: #e8f0fe;
}
html[data-skin="github-dark"] ::-webkit-scrollbar-thumb {
  background: #30363d;
  border-radius: 4px;
}
html[data-skin="github-dark"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(47, 129, 247, 0.5);
}
html[data-skin="github-dark"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="github-dark"] img {
  filter: brightness(0.95) saturate(1.1);
}

/* ---- 6. 头部：克制蓝紫渐变字 ---- */
html[data-skin="github-dark"] .header {
  border-color: #30363d;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(47, 129, 247, 0.14);
}
html[data-skin="github-dark"] .header h1 {
  background: linear-gradient(90deg, #58a6ff, #a371f7);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(47, 129, 247, 0.15));
}
html[data-skin="github-dark"] .card-title {
  color: #5c9bff;
}

/* ---- 7. 卡片族：近黑工程卡 + hover 边框泛蓝光 ---- */
html[data-skin="github-dark"] .card,
html[data-skin="github-dark"] .stat-card,
html[data-skin="github-dark"] .admin-panel,
html[data-skin="github-dark"] .acc-card,
html[data-skin="github-dark"] .batch-group,
html[data-skin="github-dark"] .batch-result-item,
html[data-skin="github-dark"] .notice-panel,
html[data-skin="github-dark"] .notice-toast {
  background: #161b22;
  border: 1px solid #30363d;
}
html[data-skin="github-dark"] .card:hover,
html[data-skin="github-dark"] .stat-card:hover {
  border-color: rgba(47, 129, 247, 0.5);
  box-shadow: 0 0 18px rgba(47, 129, 247, 0.08), var(--shadow-2);
}
html[data-skin="github-dark"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：工程蓝克制按钮 ---- */
html[data-skin="github-dark"] .btn,
html[data-skin="github-dark"] .batch-btn,
html[data-skin="github-dark"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="github-dark"] .btn-primary {
  background: linear-gradient(135deg, #2f81f7, #1f6feb);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(47, 129, 247, 0.16), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="github-dark"] .btn-primary:hover {
  background: linear-gradient(135deg, #5c9bff, #2f81f7);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(47, 129, 247, 0.31), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="github-dark"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #6e7681;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="github-dark"] .btn-secondary {
  background: #161b22;
  color: var(--text-secondary);
  border: 1px solid #484f58;
}
html[data-skin="github-dark"] .btn-secondary:hover {
  background: #1c2630;
  color: #2f81f7;
  border-color: rgba(47, 129, 247, 0.5);
  box-shadow: 0 0 12px rgba(47, 129, 247, 0.2);
}
html[data-skin="github-dark"] .btn-danger {
  background: rgba(248, 81, 73, 0.12);
  color: #ff7b72;
  border: 1px solid rgba(248, 81, 73, 0.35);
}
html[data-skin="github-dark"] .btn-danger:hover {
  background: rgba(248, 81, 73, 0.2);
  box-shadow: 0 0 14px rgba(248, 81, 73, 0.3);
}
html[data-skin="github-dark"] .btn:disabled {
  color: #6e7681;
}

/* ---- 9. 输入族：近黑底聚焦蓝描边 ---- */
html[data-skin="github-dark"] input[type="text"],
html[data-skin="github-dark"] input[type="password"],
html[data-skin="github-dark"] input[type="number"],
html[data-skin="github-dark"] input[type="date"],
html[data-skin="github-dark"] input[type="time"],
html[data-skin="github-dark"] textarea,
html[data-skin="github-dark"] select,
html[data-skin="github-dark"] .auth-input,
html[data-skin="github-dark"] .admin-table input,
html[data-skin="github-dark"] #reservationGame,
html[data-skin="github-dark"] #modalGameName {
  background: #0d1117;
  border: 1px solid #30363d;
  color: var(--text);
}
html[data-skin="github-dark"] input[type="text"]:focus,
html[data-skin="github-dark"] input[type="password"]:focus,
html[data-skin="github-dark"] input[type="number"]:focus,
html[data-skin="github-dark"] textarea:focus,
html[data-skin="github-dark"] select:focus,
html[data-skin="github-dark"] .auth-input:focus,
html[data-skin="github-dark"] .admin-table input:focus,
html[data-skin="github-dark"] #reservationGame:focus,
html[data-skin="github-dark"] #modalGameName:focus {
  outline: none;
  border-color: #2f81f7;
  box-shadow: 0 0 0 3px rgba(47, 129, 247, 0.14), 0 0 14px rgba(47, 129, 247, 0.18);
}
html[data-skin="github-dark"] select option,
html[data-skin="github-dark"] #reservationGame option,
html[data-skin="github-dark"] #modalGameName option {
  background: #0a0d12;
  color: var(--text);
}
html[data-skin="github-dark"] input[type="checkbox"] {
  accent-color: #2f81f7;
}

/* ---- 10. 表格：暗表头 / 深色斑马纹 / 蓝行悬停 ---- */
html[data-skin="github-dark"] .admin-table th,
html[data-skin="github-dark"] .admin-table td,
html[data-skin="github-dark"] .log-table th,
html[data-skin="github-dark"] .log-table td {
  border-bottom: 1px solid #21262d;
}
html[data-skin="github-dark"] .admin-table th,
html[data-skin="github-dark"] .log-table th {
  background: #0d1117;
  border-bottom: 1px solid #30363d;
}
html[data-skin="github-dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="github-dark"] .log-table tbody tr:nth-child(even) td {
  background: #10161d;
}
html[data-skin="github-dark"] .admin-table tr:hover td,
html[data-skin="github-dark"] .log-table tr:hover td {
  background: rgba(47, 129, 247, 0.07);
}
html[data-skin="github-dark"] #batchAccountTable tbody tr:hover {
  background: rgba(47, 129, 247, 0.05);
}
html[data-skin="github-dark"] .batch-table-wrap {
  border-color: #21262d;
}

/* ---- 11. 管理 tab：激活工程蓝胶囊 ---- */
html[data-skin="github-dark"] .admin-tab {
  background: #0d1117;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="github-dark"] .admin-tab:hover {
  color: #e6edf3;
  border-color: #484f58;
}
html[data-skin="github-dark"] .admin-tab.active {
  background: linear-gradient(135deg, #2f81f7, #1f6feb);
  color: var(--on-accent);
  border-color: rgba(47, 129, 247, 0.6);
  box-shadow: 0 0 14px rgba(47, 129, 247, 0.16);
}

/* ---- 12. 日志区：终端观察窗 ---- */
html[data-skin="github-dark"] .log-box {
  background: #0a0d12;
  border: 1px solid #21262d;
  box-shadow: inset 0 0 24px rgba(47, 129, 247, 0.04);
}

/* ---- 13. 登录面板：工程浮岛卡（直角 2px）+ 蓝登录键 ---- */
html[data-skin="github-dark"] .auth-panel {
  background: #161b22;
  border: 1px solid #30363d;
  border-radius: 2px;
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(47, 129, 247, 0.08);
}
html[data-skin="github-dark"] .auth-btn {
  background: linear-gradient(135deg, #2f81f7, #1f6feb);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(47, 129, 247, 0.16);
}
html[data-skin="github-dark"] .auth-btn:hover {
  background: linear-gradient(135deg, #5c9bff, #2f81f7);
  box-shadow: 0 0 26px rgba(47, 129, 247, 0.31);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="github-dark"] .notice-panel {
  box-shadow: 0 8px 40px rgba(1, 3, 6, 0.65), 0 0 18px rgba(47, 129, 247, 0.10);
}
html[data-skin="github-dark"] .notice-dot {
  border-color: #161b22;
}
html[data-skin="github-dark"] .notice-toast {
  border-color: rgba(47, 129, 247, 0.55);
  border-left: 4px solid #2f81f7;
  box-shadow: 0 8px 30px rgba(1, 3, 6, 0.6), 0 0 18px rgba(47, 129, 247, 0.13);
}
html[data-skin="github-dark"] .notice-toast .t-head {
  background: rgba(47, 129, 247, 0.12);
  color: #2f81f7;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="github-dark"] .pagination-bar button {
  background: #161b22;
  border: 1px solid #30363d;
  color: var(--text);
}
html[data-skin="github-dark"] .pagination-bar button:hover {
  border-color: #2f81f7;
  color: #2f81f7;
  box-shadow: 0 0 10px rgba(47, 129, 247, 0.22);
}
html[data-skin="github-dark"] .points-badge {
  background: #d29922;
  color: #2e2005;
}
html[data-skin="github-dark"] .batch-result-item.ok {
  border-color: rgba(63, 185, 80, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补投影；内联白底二维码盒压成淡纸白 ---- */
html[data-skin="github-dark"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(1, 3, 6, 0.65), 0 0 24px rgba(47, 129, 247, 0.08) !important;
}
html[data-skin="github-dark"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #58a6ff, #a371f7) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="github-dark"] #lxjQrBox,
html[data-skin="github-dark"] #batchScanQr {
  background: #f0f3f6 !important;
  border: 1px solid rgba(47, 129, 247, 0.4);
}
html[data-skin="github-dark"] img[style*="background:#fff"] {
  background: #f0f3f6 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="github-dark"] * {
    transition: none !important;
  }
  html[data-skin="github-dark"] body {
    animation: none;
  }
}
/* ===== 吉特白纸 (github-light) ===== */
/*SKIN {"id":"github-light","name":"吉特白纸","colors":["#ffffff","#0969da","#1f2328"]}*/
/* 吉特白纸：纯白工程纸面 + 浅灰面板 + 近黑正文 + 工程蓝强调，直角 2px 极简克制 */

/* ---------- 变量重定义 ---------- */
html[data-skin="github-light"] {
  --bg: #ffffff;
  --surface: #f6f8fa;
  --card: #ffffff;
  --border: #d0d7de;
  --border-light: #afb8c1;
  --text: #1f2328;
  --text-secondary: #57606a;
  --text-muted: #656d76;
  --accent: #0969da;
  --accent-hover: #0550ae;
  --accent-subtle: rgba(9,105,218,0.10);
  --success: #1a7f37;
  --success-subtle: rgba(26,127,55,0.11);
  --error: #cf222e;
  --error-subtle: rgba(207,34,46,0.10);
  --warning: #9a6700;
  --warning-subtle: rgba(154,103,0,0.12);
  --info: #8250df;
  --radius: 2px;
  --radius-sm: 2px;
  --shadow-1: 0 1px 3px rgba(31,35,40,0.08);
  --shadow-2: 0 4px 14px rgba(31,35,40,0.11);
  --shadow-3: 0 10px 34px rgba(31,35,40,0.15);
  --row-alt: #f6f8fa;
  --log-bg: #f6f8fa;
  --btn-disabled-bg: #a9caf0;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="github-light"][data-theme="dark"] {
  --bg: #ffffff;
  --surface: #f6f8fa;
  --card: #ffffff;
  --border: #d0d7de;
  --border-light: #afb8c1;
  --text: #1f2328;
  --text-secondary: #57606a;
  --text-muted: #656d76;
  --accent: #0969da;
  --accent-hover: #0550ae;
  --accent-subtle: rgba(9,105,218,0.10);
  --success: #1a7f37;
  --success-subtle: rgba(26,127,55,0.11);
  --error: #cf222e;
  --error-subtle: rgba(207,34,46,0.10);
  --warning: #9a6700;
  --warning-subtle: rgba(154,103,0,0.12);
  --info: #8250df;
  --radius: 2px;
  --radius-sm: 2px;
  --shadow-1: 0 1px 3px rgba(31,35,40,0.08);
  --shadow-2: 0 4px 14px rgba(31,35,40,0.11);
  --shadow-3: 0 10px 34px rgba(31,35,40,0.15);
  --row-alt: #f6f8fa;
  --log-bg: #f6f8fa;
  --btn-disabled-bg: #a9caf0;
  color-scheme: light;
}

/* ---------- 页面底：浅色弥散渐变 ---------- */
html[data-skin="github-light"] body {
  background:
    radial-gradient(40rem 40rem at 8% -6%, rgba(9,105,218,0.05), transparent 60%),
    radial-gradient(36rem 36rem at 94% 14%, rgba(33,139,255,0.04), transparent 62%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(208,215,222,0.30), transparent 64%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fa 100%);
  background-attachment: fixed;
  color: #1f2328;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影 ---------- */
html[data-skin="github-light"] .card,
html[data-skin="github-light"] .stat-card,
html[data-skin="github-light"] .acc-card,
html[data-skin="github-light"] .auth-panel,
html[data-skin="github-light"] .admin-panel,
html[data-skin="github-light"] .config-panel,
html[data-skin="github-light"] .notice-panel,
html[data-skin="github-light"] .notice-toast,
html[data-skin="github-light"] .autocomplete-dropdown,
html[data-skin="github-light"] .batch-result-item,
html[data-skin="github-light"] .modal-box {
  background: #ffffff;
  border: 1px solid #d0d7de;
  box-shadow: 0 4px 16px rgba(31,35,40,0.10);
}
html[data-skin="github-light"] .card:hover,
html[data-skin="github-light"] .stat-card:hover {
  border-color: #afb8c1;
  box-shadow: 0 8px 24px rgba(31,35,40,0.16);
}
html[data-skin="github-light"] .card-title {
  color: #0969da;
}

/* ---------- 顶栏：半透明浅色毛玻璃 ---------- */
html[data-skin="github-light"] .header {
  background: rgba(255,255,255,0.8);
  border-bottom: 1px solid #d0d7de;
}
html[data-skin="github-light"] .header h1 {
  background: linear-gradient(120deg, #0969da, #218bff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="github-light"] .btn {
  border-radius: 2px;
  font-weight: 600;
}
html[data-skin="github-light"] .btn-primary,
html[data-skin="github-light"] .auth-btn,
html[data-skin="github-light"] .admin-tab.active {
  background: #0969da;
  color: #ffffff;
  border: 1px solid #0969da;
  box-shadow: 0 4px 12px rgba(9,105,218,0.22);
}
html[data-skin="github-light"] .btn-primary:hover,
html[data-skin="github-light"] .auth-btn:hover {
  background: #0550ae;
  border-color: #0550ae;
  box-shadow: 0 6px 16px rgba(5,80,174,0.3);
}
html[data-skin="github-light"] .btn-primary:disabled,
html[data-skin="github-light"] .pagination-bar button:disabled {
  background: #a9caf0;
  color: #ffffff;
  border-color: #a9caf0;
  box-shadow: none;
}
html[data-skin="github-light"] .btn-secondary,
html[data-skin="github-light"] .batch-btn,
html[data-skin="github-light"] .pagination-bar button,
html[data-skin="github-light"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #57606a;
  border: 1px solid #d0d7de;
}
html[data-skin="github-light"] .btn-secondary:hover,
html[data-skin="github-light"] .batch-btn:hover,
html[data-skin="github-light"] .pagination-bar button:hover {
  background: #f6f8fa;
  color: #0969da;
  border-color: #afb8c1;
}
html[data-skin="github-light"] .btn-danger {
  background: rgba(207,34,46,0.08);
  color: #cf222e;
  border: 1px solid rgba(207,34,46,0.22);
}
html[data-skin="github-light"] .btn-danger:hover {
  background: rgba(207,34,46,0.15);
}

/* ---------- 输入控件：聚焦主题色描边 ---------- */
html[data-skin="github-light"] input[type="text"],
html[data-skin="github-light"] input[type="password"],
html[data-skin="github-light"] input[type="number"],
html[data-skin="github-light"] textarea,
html[data-skin="github-light"] select,
html[data-skin="github-light"] .auth-input,
html[data-skin="github-light"] .admin-table input,
html[data-skin="github-light"] .config-row input {
  background: #ffffff;
  border: 1px solid #d0d7de;
  color: #1f2328;
}
html[data-skin="github-light"] input[type="text"],
html[data-skin="github-light"] input[type="password"],
html[data-skin="github-light"] input[type="number"],
html[data-skin="github-light"] textarea,
html[data-skin="github-light"] select,
html[data-skin="github-light"] .auth-input,
html[data-skin="github-light"] .admin-table input,
html[data-skin="github-light"] .config-row input,
html[data-skin="github-light"] #reservationGame,
html[data-skin="github-light"] #modalGameName {
  outline: none;
  border-color: #0969da;
  box-shadow: 0 0 0 3px rgba(9,105,218,0.13);
}
html[data-skin="github-light"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #1f2328;
}
html[data-skin="github-light"] input[type="checkbox"],
html[data-skin="github-light"] .acc-card-top .acc-check input {
  accent-color: #0969da;
}
html[data-skin="github-light"] ::placeholder {
  color: #8c959f;
}

/* ---------- 表格（管理表 + 日志表 + 批量表） ---------- */
html[data-skin="github-light"] .admin-table th,
html[data-skin="github-light"] .log-table th,
html[data-skin="github-light"] #batchAccountTable th,
html[data-skin="github-light"] #batchUnlockedTable th {
  color: #0550ae;
  background: #f6f8fa;
  border-bottom: 1px solid #d0d7de;
}
html[data-skin="github-light"] .admin-table td,
html[data-skin="github-light"] .log-table td {
  border-bottom: 1px solid #d0d7de;
}
html[data-skin="github-light"] .admin-table tr:hover td,
html[data-skin="github-light"] .log-table tr:hover td,
html[data-skin="github-light"] #batchAccountTable tbody tr:hover {
  background: rgba(9,105,218,0.05);
}
html[data-skin="github-light"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="github-light"] .log-table tbody tr:nth-child(even) td {
  background: #f6f8fa;
}

/* ---------- 日志区 ---------- */
html[data-skin="github-light"] .log-box {
  background: #f6f8fa;
  border: 1px solid #d0d7de;
}
html[data-skin="github-light"] .log-detail-pre {
  background: #f6f8fa;
  color: #1f2328;
}
html[data-skin="github-light"] .log-line.success {
  color: #1a7f37;
}
html[data-skin="github-light"] .log-line.fail {
  color: #cf222e;
}
html[data-skin="github-light"] .log-line.info {
  color: #8250df;
}
html[data-skin="github-light"] .log-line.skip {
  color: #9a6700;
}

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="github-light"] .badge-info {
  background: rgba(130,80,223,0.10);
  color: #8250df;
}
html[data-skin="github-light"] .badge-success {
  background: rgba(26,127,55,0.10);
  color: #1a7f37;
}
html[data-skin="github-light"] .badge-error {
  background: rgba(207,34,46,0.09);
  color: #cf222e;
}
html[data-skin="github-light"] .badge-warning {
  background: rgba(154,103,0,0.11);
  color: #9a6700;
}
html[data-skin="github-light"] .stat-num.blue {
  color: #8250df;
}
html[data-skin="github-light"] .stat-num.green {
  color: #1a7f37;
}
html[data-skin="github-light"] .stat-num.red {
  color: #cf222e;
}
html[data-skin="github-light"] .stat-num.yellow {
  color: #9a6700;
}
html[data-skin="github-light"] .debt-warning {
  background: rgba(207,34,46,0.08);
  border: 1px solid rgba(207,34,46,0.22);
  color: #cf222e;
}
html[data-skin="github-light"] .autocomplete-item.active,
html[data-skin="github-light"] .autocomplete-item:hover {
  background: rgba(9,105,218,0.07);
}
html[data-skin="github-light"] .admin-tab {
  background: #ffffff;
  color: #57606a;
  border: 1px solid #d0d7de;
}
html[data-skin="github-light"] .admin-tab:hover {
  border-color: #afb8c1;
  color: #0969da;
}

/* ---------- 通知铃 / 红点 ---------- */
html[data-skin="github-light"] .notice-bell,
html[data-skin="github-light"] .n-dot {
  color: #0969da;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="github-light"] #logDetailModal,
html[data-skin="github-light"] #pointsRecordsModal,
html[data-skin="github-light"] #batchScanModal {
  background: rgba(31,35,40,0.5);
}
html[data-skin="github-light"] #lxjQrBox,
html[data-skin="github-light"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #d0d7de;
}
html[data-skin="github-light"] #batchScanQrImg,
html[data-skin="github-light"] #batchScanQr img,
html[data-skin="github-light"] #lxjQrBox img,
html[data-skin="github-light"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="github-light"] ::-webkit-scrollbar-thumb {
  background: #c6ced6;
  border-radius: 6px;
}
html[data-skin="github-light"] ::-webkit-scrollbar-thumb:hover {
  background: #0969da;
}
html[data-skin="github-light"] ::selection {
  background: rgba(9,105,218,0.16);
  color: #1f2328;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="github-light"] .btn,
html[data-skin="github-light"] .card,
html[data-skin="github-light"] .stat-card,
html[data-skin="github-light"] .acc-card,
html[data-skin="github-light"] input,
html[data-skin="github-light"] select,
html[data-skin="github-light"] textarea,
html[data-skin="github-light"] .admin-tab,
html[data-skin="github-light"] .pagination-bar button,
html[data-skin="github-light"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ================================================== */
/* 夜间模式守卫：data-theme="dark" 时全部强制回浅色， */
/* 防止全局夜间样式残留刺眼（特异性 0,2,1+ 压过深色规则） */
/* ================================================== */

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影（强制回浅色） ---------- */
html[data-skin="github-light"][data-theme="dark"] .card,
html[data-skin="github-light"][data-theme="dark"] .stat-card,
html[data-skin="github-light"][data-theme="dark"] .acc-card,
html[data-skin="github-light"][data-theme="dark"] .auth-panel,
html[data-skin="github-light"][data-theme="dark"] .admin-panel,
html[data-skin="github-light"][data-theme="dark"] .config-panel,
html[data-skin="github-light"][data-theme="dark"] .notice-panel,
html[data-skin="github-light"][data-theme="dark"] .notice-toast,
html[data-skin="github-light"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="github-light"][data-theme="dark"] .batch-result-item,
html[data-skin="github-light"][data-theme="dark"] .modal-box {
  background: #ffffff;
  border: 1px solid #d0d7de;
  box-shadow: 0 4px 16px rgba(31,35,40,0.10);
}
html[data-skin="github-light"][data-theme="dark"] .card:hover,
html[data-skin="github-light"][data-theme="dark"] .stat-card:hover {
  border-color: #afb8c1;
  box-shadow: 0 8px 24px rgba(31,35,40,0.16);
}
html[data-skin="github-light"][data-theme="dark"] .card-title {
  color: #0969da;
}

/* ---------- 顶栏：半透明浅色毛玻璃（强制回浅色） ---------- */
html[data-skin="github-light"][data-theme="dark"] .header {
  background: rgba(255,255,255,0.8);
  border-bottom: 1px solid #d0d7de;
}
html[data-skin="github-light"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #0969da, #218bff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系（强制回浅色） ---------- */
html[data-skin="github-light"][data-theme="dark"] .btn {
  border-radius: 2px;
  font-weight: 600;
}
html[data-skin="github-light"][data-theme="dark"] .btn-primary,
html[data-skin="github-light"][data-theme="dark"] .auth-btn,
html[data-skin="github-light"][data-theme="dark"] .admin-tab.active {
  background: #0969da;
  color: #ffffff;
  border: 1px solid #0969da;
  box-shadow: 0 4px 12px rgba(9,105,218,0.22);
}
html[data-skin="github-light"][data-theme="dark"] .btn-primary:hover,
html[data-skin="github-light"][data-theme="dark"] .auth-btn:hover {
  background: #0550ae;
  border-color: #0550ae;
  box-shadow: 0 6px 16px rgba(5,80,174,0.3);
}
html[data-skin="github-light"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="github-light"][data-theme="dark"] .pagination-bar button:disabled {
  background: #a9caf0;
  color: #ffffff;
  border-color: #a9caf0;
  box-shadow: none;
}
html[data-skin="github-light"][data-theme="dark"] .btn-secondary,
html[data-skin="github-light"][data-theme="dark"] .batch-btn,
html[data-skin="github-light"][data-theme="dark"] .pagination-bar button,
html[data-skin="github-light"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #57606a;
  border: 1px solid #d0d7de;
}
html[data-skin="github-light"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="github-light"][data-theme="dark"] .batch-btn:hover,
html[data-skin="github-light"][data-theme="dark"] .pagination-bar button:hover {
  background: #f6f8fa;
  color: #0969da;
  border-color: #afb8c1;
}
html[data-skin="github-light"][data-theme="dark"] .btn-danger {
  background: rgba(207,34,46,0.08);
  color: #cf222e;
  border: 1px solid rgba(207,34,46,0.22);
}
html[data-skin="github-light"][data-theme="dark"] .btn-danger:hover {
  background: rgba(207,34,46,0.15);
}

/* ---------- 输入控件：聚焦主题色描边（强制回浅色） ---------- */
html[data-skin="github-light"][data-theme="dark"] input[type="text"],
html[data-skin="github-light"][data-theme="dark"] input[type="password"],
html[data-skin="github-light"][data-theme="dark"] input[type="number"],
html[data-skin="github-light"][data-theme="dark"] textarea,
html[data-skin="github-light"][data-theme="dark"] select,
html[data-skin="github-light"][data-theme="dark"] .auth-input,
html[data-skin="github-light"][data-theme="dark"] .admin-table input,
html[data-skin="github-light"][data-theme="dark"] .config-row input {
  background: #ffffff;
  border: 1px solid #d0d7de;
  color: #1f2328;
}
html[data-skin="github-light"][data-theme="dark"] input[type="text"],
html[data-skin="github-light"][data-theme="dark"] input[type="password"],
html[data-skin="github-light"][data-theme="dark"] input[type="number"],
html[data-skin="github-light"][data-theme="dark"] textarea,
html[data-skin="github-light"][data-theme="dark"] select,
html[data-skin="github-light"][data-theme="dark"] .auth-input,
html[data-skin="github-light"][data-theme="dark"] .admin-table input,
html[data-skin="github-light"][data-theme="dark"] .config-row input,
html[data-skin="github-light"][data-theme="dark"] #reservationGame,
html[data-skin="github-light"][data-theme="dark"] #modalGameName {
  outline: none;
  border-color: #0969da;
  box-shadow: 0 0 0 3px rgba(9,105,218,0.13);
}
html[data-skin="github-light"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #1f2328;
}
html[data-skin="github-light"][data-theme="dark"] input[type="checkbox"],
html[data-skin="github-light"][data-theme="dark"] .acc-card-top .acc-check input {
  accent-color: #0969da;
}
html[data-skin="github-light"][data-theme="dark"] ::placeholder {
  color: #8c959f;
}

/* ---------- 表格（管理表 + 日志表 + 批量表）（强制回浅色） ---------- */
html[data-skin="github-light"][data-theme="dark"] .admin-table th,
html[data-skin="github-light"][data-theme="dark"] .log-table th,
html[data-skin="github-light"][data-theme="dark"] #batchAccountTable th,
html[data-skin="github-light"][data-theme="dark"] #batchUnlockedTable th {
  color: #0550ae;
  background: #f6f8fa;
  border-bottom: 1px solid #d0d7de;
}
html[data-skin="github-light"][data-theme="dark"] .admin-table td,
html[data-skin="github-light"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #d0d7de;
}
html[data-skin="github-light"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="github-light"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="github-light"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(9,105,218,0.05);
}
html[data-skin="github-light"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="github-light"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #f6f8fa;
}

/* ---------- 日志区（强制回浅色） ---------- */
html[data-skin="github-light"][data-theme="dark"] .log-box {
  background: #f6f8fa;
  border: 1px solid #d0d7de;
}
html[data-skin="github-light"][data-theme="dark"] .log-detail-pre {
  background: #f6f8fa;
  color: #1f2328;
}
html[data-skin="github-light"][data-theme="dark"] .log-line.success {
  color: #1a7f37;
}
html[data-skin="github-light"][data-theme="dark"] .log-line.fail {
  color: #cf222e;
}
html[data-skin="github-light"][data-theme="dark"] .log-line.info {
  color: #8250df;
}
html[data-skin="github-light"][data-theme="dark"] .log-line.skip {
  color: #9a6700;
}

/* ---------- 徽标 / 状态 / 提示（强制回浅色） ---------- */
html[data-skin="github-light"][data-theme="dark"] .badge-info {
  background: rgba(130,80,223,0.10);
  color: #8250df;
}
html[data-skin="github-light"][data-theme="dark"] .badge-success {
  background: rgba(26,127,55,0.10);
  color: #1a7f37;
}
html[data-skin="github-light"][data-theme="dark"] .badge-error {
  background: rgba(207,34,46,0.09);
  color: #cf222e;
}
html[data-skin="github-light"][data-theme="dark"] .badge-warning {
  background: rgba(154,103,0,0.11);
  color: #9a6700;
}
html[data-skin="github-light"][data-theme="dark"] .stat-num.blue {
  color: #8250df;
}
html[data-skin="github-light"][data-theme="dark"] .stat-num.green {
  color: #1a7f37;
}
html[data-skin="github-light"][data-theme="dark"] .stat-num.red {
  color: #cf222e;
}
html[data-skin="github-light"][data-theme="dark"] .stat-num.yellow {
  color: #9a6700;
}
html[data-skin="github-light"][data-theme="dark"] .debt-warning {
  background: rgba(207,34,46,0.08);
  border: 1px solid rgba(207,34,46,0.22);
  color: #cf222e;
}
html[data-skin="github-light"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="github-light"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(9,105,218,0.07);
}
html[data-skin="github-light"][data-theme="dark"] .admin-tab {
  background: #ffffff;
  color: #57606a;
  border: 1px solid #d0d7de;
}
html[data-skin="github-light"][data-theme="dark"] .admin-tab:hover {
  border-color: #afb8c1;
  color: #0969da;
}

/* ---------- 通知铃 / 红点（强制回浅色） ---------- */
html[data-skin="github-light"][data-theme="dark"] .notice-bell,
html[data-skin="github-light"][data-theme="dark"] .n-dot {
  color: #0969da;
}

/* ---------- 弹窗遮罩 / 二维码盒（强制回浅色） ---------- */
html[data-skin="github-light"][data-theme="dark"] #logDetailModal,
html[data-skin="github-light"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="github-light"][data-theme="dark"] #batchScanModal {
  background: rgba(31,35,40,0.5);
}
html[data-skin="github-light"][data-theme="dark"] #lxjQrBox,
html[data-skin="github-light"][data-theme="dark"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #d0d7de;
}
html[data-skin="github-light"][data-theme="dark"] #batchScanQrImg,
html[data-skin="github-light"][data-theme="dark"] #batchScanQr img,
html[data-skin="github-light"][data-theme="dark"] #lxjQrBox img,
html[data-skin="github-light"][data-theme="dark"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区（强制回浅色） ---------- */
html[data-skin="github-light"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #c6ced6;
  border-radius: 6px;
}
html[data-skin="github-light"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #0969da;
}
html[data-skin="github-light"][data-theme="dark"] ::selection {
  background: rgba(9,105,218,0.16);
  color: #1f2328;
}

/* ---------- 全局过渡（强制回浅色） ---------- */
html[data-skin="github-light"][data-theme="dark"] .btn,
html[data-skin="github-light"][data-theme="dark"] .card,
html[data-skin="github-light"][data-theme="dark"] .stat-card,
html[data-skin="github-light"][data-theme="dark"] .acc-card,
html[data-skin="github-light"][data-theme="dark"] input,
html[data-skin="github-light"][data-theme="dark"] select,
html[data-skin="github-light"][data-theme="dark"] textarea,
html[data-skin="github-light"][data-theme="dark"] .admin-tab,
html[data-skin="github-light"][data-theme="dark"] .pagination-bar button,
html[data-skin="github-light"][data-theme="dark"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
/* ===== 冰川 (glacier) ===== */
/*SKIN {"id":"glacier","name":"冰川","colors":["#f2f7fb","#0e7490","#26323e"]}*/
/* ================================================================== */
/* [冰川] 冰蓝白底 + 纯白卡片冰蓝描边 + 青蓝偏灰强调 #0e7490          */
/* 清冷干净：极淡阴影 / 8px 圆角 / 聚焦淡蓝环                          */
/* ================================================================== */

/* ---------- 变量重定义 ---------- */
html[data-skin="glacier"] {
  --bg: #f2f7fb;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #d4e4f0;
  --border-light: #bcd6e8;
  --text: #26323e;
  --text-secondary: #4b5f70;
  --text-muted: #7a8fa0;
  --accent: #0e7490;
  --accent-hover: #155e75;
  --accent-subtle: rgba(14,116,144,0.09);
  --success: #0e8a6d;
  --success-subtle: rgba(14,138,109,0.09);
  --error: #d64560;
  --error-subtle: rgba(214,69,96,0.08);
  --warning: #b45309;
  --warning-subtle: rgba(180,83,9,0.09);
  --info: #2563eb;
  --radius: 8px;
  --radius-sm: 6px;
  --shadow-1: 0 1px 3px rgba(20,60,94,0.06);
  --shadow-2: 0 3px 10px rgba(20,60,94,0.07);
  --shadow-3: 0 8px 28px rgba(20,60,94,0.12);
  --row-alt: #eef5fa;
  --log-bg: #eaf2f8;
  --btn-disabled-bg: #9fc3d4;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="glacier"][data-theme="dark"] {
  --bg: #f2f7fb;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #d4e4f0;
  --border-light: #bcd6e8;
  --text: #26323e;
  --text-secondary: #4b5f70;
  --text-muted: #7a8fa0;
  --accent: #0e7490;
  --accent-hover: #155e75;
  --accent-subtle: rgba(14,116,144,0.09);
  --success: #0e8a6d;
  --success-subtle: rgba(14,138,109,0.09);
  --error: #d64560;
  --error-subtle: rgba(214,69,96,0.08);
  --warning: #b45309;
  --warning-subtle: rgba(180,83,9,0.09);
  --info: #2563eb;
  --row-alt: #eef5fa;
  --log-bg: #eaf2f8;
  --btn-disabled-bg: #9fc3d4;
  color-scheme: light;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="glacier"] * {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ---------- 页面底：冰蓝白 + 极淡蓝渐变弥散 ---------- */
html[data-skin="glacier"] body {
  background:
    radial-gradient(42rem 42rem at 10% -8%, rgba(147,197,253,0.20), transparent 62%),
    radial-gradient(38rem 38rem at 96% 12%, rgba(125,211,252,0.14), transparent 60%),
    radial-gradient(46rem 46rem at 50% 114%, rgba(186,230,253,0.18), transparent 64%),
    linear-gradient(180deg, #f2f7fb 0%, #f6fafd 100%);
  background-attachment: fixed;
  color: #26323e;
  min-height: 100vh;
}
/* 暗色模式下仍强制冰亮底 */
html[data-skin="glacier"][data-theme="dark"] body {
  background:
    radial-gradient(42rem 42rem at 10% -8%, rgba(147,197,253,0.20), transparent 62%),
    radial-gradient(38rem 38rem at 96% 12%, rgba(125,211,252,0.14), transparent 60%),
    radial-gradient(46rem 46rem at 50% 114%, rgba(186,230,253,0.18), transparent 64%),
    linear-gradient(180deg, #f2f7fb 0%, #f6fafd 100%);
  color: #26323e;
}

/* ---------- 卡片 / 面板：纯白 + 冰蓝描边 + 极淡影 ---------- */
html[data-skin="glacier"] .card,
html[data-skin="glacier"] .stat-card,
html[data-skin="glacier"] .acc-card,
html[data-skin="glacier"] .auth-panel,
html[data-skin="glacier"] .admin-panel,
html[data-skin="glacier"] .config-panel,
html[data-skin="glacier"] .notice-panel,
html[data-skin="glacier"] .notice-toast,
html[data-skin="glacier"] .autocomplete-dropdown,
html[data-skin="glacier"] .batch-result-item,
html[data-skin="glacier"] .modal-box {
  background: #ffffff;
  border: 1px solid #d4e4f0;
  box-shadow: 0 2px 10px rgba(20,60,94,0.06);
}
html[data-skin="glacier"] .card:hover,
html[data-skin="glacier"] .stat-card:hover {
  border-color: #bcd6e8;
  box-shadow: 0 6px 20px rgba(20,60,94,0.10);
}
html[data-skin="glacier"] .card-title {
  color: #0e7490;
}
html[data-skin="glacier"] .header {
  background: rgba(255,255,255,0.78);
  border-bottom: 1px solid #d4e4f0;
}
html[data-skin="glacier"] .header h1 {
  background: linear-gradient(120deg, #0e7490, #38bdf8);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="glacier"] .btn {
  border-radius: 8px;
  font-weight: 600;
}
html[data-skin="glacier"] .btn-primary,
html[data-skin="glacier"] .auth-btn,
html[data-skin="glacier"] .admin-tab.active {
  background: #0e7490;
  color: #ffffff;
  border: 1px solid #0e7490;
  box-shadow: 0 3px 10px rgba(14,116,144,0.22);
}
html[data-skin="glacier"] .btn-primary:hover,
html[data-skin="glacier"] .auth-btn:hover,
html[data-skin="glacier"] .btn-primary:active {
  background: #155e75;
  border-color: #155e75;
  box-shadow: 0 5px 14px rgba(21,94,117,0.28);
}
html[data-skin="glacier"] .btn-primary:disabled,
html[data-skin="glacier"] .pagination-bar button:disabled {
  background: #9fc3d4;
  color: #ffffff;
  border-color: #9fc3d4;
  box-shadow: none;
}
html[data-skin="glacier"] .btn-secondary,
html[data-skin="glacier"] .batch-btn,
html[data-skin="glacier"] .pagination-bar button,
html[data-skin="glacier"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #4b5f70;
  border: 1px solid #d4e4f0;
}
html[data-skin="glacier"] .btn-secondary:hover,
html[data-skin="glacier"] .batch-btn:hover,
html[data-skin="glacier"] .pagination-bar button:hover {
  background: #eef5fa;
  color: #0e7490;
  border-color: #bcd6e8;
}
html[data-skin="glacier"] .btn-danger {
  background: rgba(214,69,96,0.08);
  color: #d64560;
  border: 1px solid rgba(214,69,96,0.25);
}
html[data-skin="glacier"] .btn-danger:hover {
  background: rgba(214,69,96,0.16);
}
html[data-skin="glacier"] .admin-tab {
  background: #ffffff;
  color: #4b5f70;
  border: 1px solid #d4e4f0;
  border-radius: 8px;
}
html[data-skin="glacier"] .admin-tab:hover {
  border-color: #bcd6e8;
  color: #0e7490;
}

/* ---------- 输入控件：聚焦冰蓝描边 + 淡蓝环 ---------- */
html[data-skin="glacier"] input[type="text"],
html[data-skin="glacier"] input[type="password"],
html[data-skin="glacier"] input[type="number"],
html[data-skin="glacier"] textarea,
html[data-skin="glacier"] select,
html[data-skin="glacier"] .auth-input,
html[data-skin="glacier"] .admin-table input,
html[data-skin="glacier"] .config-row input {
  background: #ffffff;
  border: 1px solid #cfe1ee;
  color: #26323e;
  border-radius: 6px;
}
html[data-skin="glacier"] input[type="text"]:focus,
html[data-skin="glacier"] input[type="password"]:focus,
html[data-skin="glacier"] input[type="number"]:focus,
html[data-skin="glacier"] textarea:focus,
html[data-skin="glacier"] select:focus,
html[data-skin="glacier"] .auth-input:focus,
html[data-skin="glacier"] #reservationGame:focus,
html[data-skin="glacier"] #modalGameName:focus {
  outline: none;
  border-color: #0e7490;
  box-shadow: 0 0 0 3px rgba(14,116,144,0.13);
}
html[data-skin="glacier"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #f2f7fb inset;
  -webkit-text-fill-color: #26323e;
}
html[data-skin="glacier"] input[type="checkbox"],
html[data-skin="glacier"] .acc-check input {
  accent-color: #0e7490;
}
html[data-skin="glacier"] ::placeholder {
  color: #93a8b8;
}

/* ---------- 双表格 ---------- */
html[data-skin="glacier"] .admin-table th,
html[data-skin="glacier"] .log-table th,
html[data-skin="glacier"] #batchAccountTable th,
html[data-skin="glacier"] #batchUnlockedTable th {
  color: #155e75;
  background: #eef5fa;
  border-bottom: 1px solid #d4e4f0;
}
html[data-skin="glacier"] .admin-table td,
html[data-skin="glacier"] .log-table td {
  border-bottom: 1px solid #e3edf5;
}
html[data-skin="glacier"] .admin-table tr:hover td,
html[data-skin="glacier"] .log-table tr:hover td,
html[data-skin="glacier"] #batchAccountTable tbody tr:hover {
  background: rgba(14,116,144,0.05);
}
html[data-skin="glacier"] .log-table tbody tr:nth-child(even) td {
  background: #eef5fa;
}

/* ---------- 日志区 ---------- */
html[data-skin="glacier"] .log-box {
  background: #eaf2f8;
  border: 1px solid #d4e4f0;
}
html[data-skin="glacier"] .log-detail-pre {
  background: #eef5fa;
  color: #26323e;
}
html[data-skin="glacier"] .log-line.success { color: #0e8a6d; }
html[data-skin="glacier"] .log-line.fail { color: #d64560; }
html[data-skin="glacier"] .log-line.info { color: #2563eb; }
html[data-skin="glacier"] .log-line.skip { color: #b45309; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="glacier"] .badge-info { background: rgba(37,99,235,0.09); color: #2563eb; }
html[data-skin="glacier"] .badge-success { background: rgba(14,138,109,0.1); color: #0e8a6d; }
html[data-skin="glacier"] .badge-error { background: rgba(214,69,96,0.09); color: #d64560; }
html[data-skin="glacier"] .badge-warning { background: rgba(180,83,9,0.1); color: #b45309; }
html[data-skin="glacier"] .stat-num.blue { color: #2563eb; }
html[data-skin="glacier"] .stat-num.green { color: #0e8a6d; }
html[data-skin="glacier"] .stat-num.red { color: #d64560; }
html[data-skin="glacier"] .stat-num.yellow { color: #b45309; }
html[data-skin="glacier"] .debt-warning {
  background: rgba(214,69,96,0.08);
  border: 1px solid rgba(214,69,96,0.25);
  color: #d64560;
}
html[data-skin="glacier"] .autocomplete-item.active,
html[data-skin="glacier"] .autocomplete-item:hover {
  background: rgba(14,116,144,0.07);
}
html[data-skin="glacier"] .notice-item:hover {
  background: rgba(14,116,144,0.05);
}
html[data-skin="glacier"] .notice-bell,
html[data-skin="glacier"] .n-dot {
  color: #0e7490;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="glacier"] #logDetailModal,
html[data-skin="glacier"] #pointsRecordsModal,
html[data-skin="glacier"] #batchScanModal {
  background: rgba(38,50,62,0.45) !important;
}
html[data-skin="glacier"] #batchScanQr,
html[data-skin="glacier"] #lxjQrBox {
  background: #f4f9fd !important;
  border: 1px solid #d4e4f0;
}
html[data-skin="glacier"] #batchScanQrImg,
html[data-skin="glacier"] #batchScanQr img,
html[data-skin="glacier"] #lxjQrBox img,
html[data-skin="glacier"] #lxjQrBox canvas,
html[data-skin="glacier"] img[style*="background:#fff"],
html[data-skin="glacier"] img[style*="background: #fff"] {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="glacier"] ::-webkit-scrollbar-thumb {
  background: #bcd6e8;
  border-radius: 4px;
}
html[data-skin="glacier"] ::-webkit-scrollbar-thumb:hover {
  background: #0e7490;
}
html[data-skin="glacier"] ::selection {
  background: rgba(14,116,144,0.16);
  color: #26323e;
}

/* ---------- 暗色变体 data-theme="dark"：冰川夜航 ---------- */
/* 深冰川底 #101b26/#152230 + 冰蓝描边 #24384a + 冰蓝强调提亮 #38bdf8 */
html[data-skin="glacier"][data-theme="dark"] {
  --bg: #101b26;
  --surface: #152230;
  --card: #152230;
  --border: #24384a;
  --border-light: #33506a;
  --text: #d8e6f0;
  --text-secondary: #9fbccd;
  --text-muted: #6e8aa0;
  --accent: #38bdf8;
  --accent-hover: #7dd3fc;
  --accent-subtle: rgba(56,189,248,0.14);
  --success: #34d399;
  --success-subtle: rgba(52,211,153,0.14);
  --error: #fb7185;
  --error-subtle: rgba(251,113,133,0.12);
  --warning: #fbbf24;
  --warning-subtle: rgba(251,191,36,0.12);
  --info: #60a5fa;
  --radius: 8px;
  --radius-sm: 6px;
  --shadow-1: 0 1px 3px rgba(0,0,0,0.4);
  --shadow-2: 0 3px 10px rgba(0,0,0,0.45);
  --shadow-3: 0 8px 28px rgba(0,0,0,0.55);
  --row-alt: #182637;
  --log-bg: #111c2a;
  --btn-disabled-bg: #2c4a5e;
  color-scheme: dark;
}
/* 页面底：深冰川 + 极淡冰蓝极光弥散（压过同特异性但更早的浅色守卫） */
html[data-skin="glacier"][data-theme="dark"] body {
  background:
    radial-gradient(42rem 42rem at 10% -8%, rgba(56,189,248,0.10), transparent 62%),
    radial-gradient(38rem 38rem at 96% 12%, rgba(14,165,233,0.09), transparent 60%),
    radial-gradient(46rem 46rem at 50% 114%, rgba(20,50,80,0.35), transparent 64%),
    linear-gradient(180deg, #101b26 0%, #0d1720 100%);
  background-attachment: fixed;
  color: #d8e6f0;
  min-height: 100vh;
}
/* 卡片 / 面板：深冰川卡 + 冰蓝描边 */
html[data-skin="glacier"][data-theme="dark"] .card,
html[data-skin="glacier"][data-theme="dark"] .stat-card,
html[data-skin="glacier"][data-theme="dark"] .acc-card,
html[data-skin="glacier"][data-theme="dark"] .auth-panel,
html[data-skin="glacier"][data-theme="dark"] .admin-panel,
html[data-skin="glacier"][data-theme="dark"] .config-panel,
html[data-skin="glacier"][data-theme="dark"] .notice-panel,
html[data-skin="glacier"][data-theme="dark"] .notice-toast,
html[data-skin="glacier"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="glacier"][data-theme="dark"] .batch-result-item,
html[data-skin="glacier"][data-theme="dark"] .modal-box {
  background: #152230;
  border: 1px solid #24384a;
  box-shadow: 0 2px 10px rgba(0,0,0,0.4);
}
html[data-skin="glacier"][data-theme="dark"] .card:hover,
html[data-skin="glacier"][data-theme="dark"] .stat-card:hover {
  border-color: #33506a;
  box-shadow: 0 6px 20px rgba(0,0,0,0.5);
}
html[data-skin="glacier"][data-theme="dark"] .card-title {
  color: #38bdf8;
}
html[data-skin="glacier"][data-theme="dark"] .header {
  background: rgba(16,27,38,0.82);
  border-bottom: 1px solid #24384a;
}
html[data-skin="glacier"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #38bdf8, #7dd3fc);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* 按钮全系 */
html[data-skin="glacier"][data-theme="dark"] .btn {
  border-radius: 8px;
  font-weight: 600;
}
html[data-skin="glacier"][data-theme="dark"] .btn-primary,
html[data-skin="glacier"][data-theme="dark"] .auth-btn,
html[data-skin="glacier"][data-theme="dark"] .admin-tab.active {
  background: #38bdf8;
  color: #06202e;
  border: 1px solid #38bdf8;
  box-shadow: 0 3px 10px rgba(56,189,248,0.25);
}
html[data-skin="glacier"][data-theme="dark"] .btn-primary:hover,
html[data-skin="glacier"][data-theme="dark"] .auth-btn:hover,
html[data-skin="glacier"][data-theme="dark"] .btn-primary:active {
  background: #7dd3fc;
  border-color: #7dd3fc;
  box-shadow: 0 5px 14px rgba(56,189,248,0.32);
}
html[data-skin="glacier"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="glacier"][data-theme="dark"] .pagination-bar button:disabled {
  background: #2c4a5e;
  color: #6e8aa0;
  border-color: #2c4a5e;
  box-shadow: none;
}
html[data-skin="glacier"][data-theme="dark"] .btn-secondary,
html[data-skin="glacier"][data-theme="dark"] .batch-btn,
html[data-skin="glacier"][data-theme="dark"] .pagination-bar button,
html[data-skin="glacier"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #152230;
  color: #d8e6f0;
  border: 1px solid #24384a;
}
html[data-skin="glacier"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="glacier"][data-theme="dark"] .batch-btn:hover,
html[data-skin="glacier"][data-theme="dark"] .pagination-bar button:hover {
  background: #1c2d40;
  color: #38bdf8;
  border-color: #33506a;
}
html[data-skin="glacier"][data-theme="dark"] .btn-danger {
  background: rgba(251,113,133,0.12);
  color: #fb7185;
  border: 1px solid rgba(251,113,133,0.3);
}
html[data-skin="glacier"][data-theme="dark"] .btn-danger:hover {
  background: rgba(251,113,133,0.2);
}
html[data-skin="glacier"][data-theme="dark"] .admin-tab {
  background: #152230;
  color: #9fbccd;
  border: 1px solid #24384a;
  border-radius: 8px;
}
html[data-skin="glacier"][data-theme="dark"] .admin-tab:hover {
  border-color: #33506a;
  color: #38bdf8;
}
/* 输入控件：深底 + 聚焦冰蓝描边 */
html[data-skin="glacier"][data-theme="dark"] input[type="text"],
html[data-skin="glacier"][data-theme="dark"] input[type="password"],
html[data-skin="glacier"][data-theme="dark"] input[type="number"],
html[data-skin="glacier"][data-theme="dark"] textarea,
html[data-skin="glacier"][data-theme="dark"] select,
html[data-skin="glacier"][data-theme="dark"] .auth-input,
html[data-skin="glacier"][data-theme="dark"] .admin-table input,
html[data-skin="glacier"][data-theme="dark"] .config-row input {
  background: #101b26;
  border: 1px solid #24384a;
  color: #d8e6f0;
  border-radius: 6px;
}
html[data-skin="glacier"][data-theme="dark"] input[type="text"]:focus,
html[data-skin="glacier"][data-theme="dark"] input[type="password"]:focus,
html[data-skin="glacier"][data-theme="dark"] input[type="number"]:focus,
html[data-skin="glacier"][data-theme="dark"] textarea:focus,
html[data-skin="glacier"][data-theme="dark"] select:focus,
html[data-skin="glacier"][data-theme="dark"] .auth-input:focus,
html[data-skin="glacier"][data-theme="dark"] #reservationGame:focus,
html[data-skin="glacier"][data-theme="dark"] #modalGameName:focus {
  outline: none;
  border-color: #38bdf8;
  box-shadow: 0 0 0 3px rgba(56,189,248,0.18);
}
html[data-skin="glacier"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #101b26 inset;
  -webkit-text-fill-color: #d8e6f0;
}
html[data-skin="glacier"][data-theme="dark"] input[type="checkbox"],
html[data-skin="glacier"][data-theme="dark"] .acc-check input {
  accent-color: #38bdf8;
}
html[data-skin="glacier"][data-theme="dark"] ::placeholder {
  color: #6e8aa0;
}
/* 双表格 */
html[data-skin="glacier"][data-theme="dark"] .admin-table th,
html[data-skin="glacier"][data-theme="dark"] .log-table th,
html[data-skin="glacier"][data-theme="dark"] #batchAccountTable th,
html[data-skin="glacier"][data-theme="dark"] #batchUnlockedTable th {
  color: #7dd3fc;
  background: #182637;
  border-bottom: 1px solid #24384a;
}
html[data-skin="glacier"][data-theme="dark"] .admin-table td,
html[data-skin="glacier"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #1d2f40;
}
html[data-skin="glacier"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="glacier"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="glacier"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(56,189,248,0.07);
}
html[data-skin="glacier"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #182637;
}
/* 日志区 */
html[data-skin="glacier"][data-theme="dark"] .log-box {
  background: #111c2a;
  border: 1px solid #24384a;
}
html[data-skin="glacier"][data-theme="dark"] .log-detail-pre {
  background: #182637;
  color: #d8e6f0;
}
html[data-skin="glacier"][data-theme="dark"] .log-line.success { color: #34d399; }
html[data-skin="glacier"][data-theme="dark"] .log-line.fail { color: #fb7185; }
html[data-skin="glacier"][data-theme="dark"] .log-line.info { color: #60a5fa; }
html[data-skin="glacier"][data-theme="dark"] .log-line.skip { color: #fbbf24; }
/* 徽标 / 状态 / 提示 */
html[data-skin="glacier"][data-theme="dark"] .badge-info { background: rgba(96,165,250,0.14); color: #60a5fa; }
html[data-skin="glacier"][data-theme="dark"] .badge-success { background: rgba(52,211,153,0.14); color: #34d399; }
html[data-skin="glacier"][data-theme="dark"] .badge-error { background: rgba(251,113,133,0.14); color: #fb7185; }
html[data-skin="glacier"][data-theme="dark"] .badge-warning { background: rgba(251,191,36,0.14); color: #fbbf24; }
html[data-skin="glacier"][data-theme="dark"] .stat-num.blue { color: #60a5fa; }
html[data-skin="glacier"][data-theme="dark"] .stat-num.green { color: #34d399; }
html[data-skin="glacier"][data-theme="dark"] .stat-num.red { color: #fb7185; }
html[data-skin="glacier"][data-theme="dark"] .stat-num.yellow { color: #fbbf24; }
html[data-skin="glacier"][data-theme="dark"] .debt-warning {
  background: rgba(251,113,133,0.1);
  border: 1px solid rgba(251,113,133,0.3);
  color: #fb7185;
}
html[data-skin="glacier"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="glacier"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(56,189,248,0.1);
}
html[data-skin="glacier"][data-theme="dark"] .notice-item:hover {
  background: rgba(56,189,248,0.07);
}
html[data-skin="glacier"][data-theme="dark"] .notice-bell,
html[data-skin="glacier"][data-theme="dark"] .n-dot {
  color: #38bdf8;
}
/* 弹窗遮罩（二维码盒保持浅色底以便扫码，不另覆盖） */
html[data-skin="glacier"][data-theme="dark"] #logDetailModal,
html[data-skin="glacier"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="glacier"][data-theme="dark"] #batchScanModal {
  background: rgba(4,10,16,0.66) !important;
}
/* 滚动条 / 选区 */
html[data-skin="glacier"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #33506a;
  border-radius: 4px;
}
html[data-skin="glacier"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #38bdf8;
}
html[data-skin="glacier"][data-theme="dark"] ::selection {
  background: rgba(56,189,248,0.28);
  color: #eaf4fb;
}
/* ===== 玻璃拟态 (glass) ===== */
/*SKIN {"id":"glass","name":"玻璃拟态","colors":["#c7d2fe","#7c3aed","#1e293b"]}*/
/* 玻璃拟态：多彩弥散渐变底 + 白玻璃卡片(backdrop-blur) + 深板岩正文 + 紫罗兰强调 */

/* ---------- 变量重定义（浅色基底） ---------- */
html[data-skin="glass"] {
  --bg: #eef2ff;
  --surface: rgba(255,255,255,0.62);
  --card: rgba(255,255,255,0.62);
  --border: rgba(148,163,184,0.35);
  --border-light: rgba(148,163,184,0.5);
  --text: #1e293b;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --accent: #7c3aed;
  --accent-hover: #6d28d9;
  --accent-subtle: rgba(124,58,237,0.12);
  --success: #059669;
  --success-subtle: rgba(5,150,105,0.1);
  --error: #e11d48;
  --error-subtle: rgba(225,29,72,0.08);
  --warning: #d97706;
  --warning-subtle: rgba(217,119,6,0.1);
  --info: #2563eb;
  --radius: 16px;
  --radius-sm: 12px;
  --shadow-1: 0 1px 3px rgba(79,70,229,0.08);
  --shadow-2: 0 4px 14px rgba(79,70,229,0.12);
  --shadow-3: 0 12px 40px rgba(79,70,229,0.18);
  --row-alt: rgba(255,255,255,0.35);
  --log-bg: rgba(255,255,255,0.4);
  --btn-disabled-bg: #c4b5fd;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="glass"][data-theme="dark"] {
  --bg: #eef2ff;
  --surface: rgba(255,255,255,0.62);
  --card: rgba(255,255,255,0.62);
  --border: rgba(148,163,184,0.35);
  --border-light: rgba(148,163,184,0.5);
  --text: #1e293b;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --accent: #7c3aed;
  --accent-hover: #6d28d9;
  --accent-subtle: rgba(124,58,237,0.12);
  --success: #059669;
  --success-subtle: rgba(5,150,105,0.1);
  --error: #e11d48;
  --error-subtle: rgba(225,29,72,0.08);
  --warning: #d97706;
  --warning-subtle: rgba(217,119,6,0.1);
  --info: #2563eb;
  --row-alt: rgba(255,255,255,0.35);
  --log-bg: rgba(255,255,255,0.4);
  --btn-disabled-bg: #c4b5fd;
  color-scheme: light;
}

/* ---------- 页面背景：三团弥散渐变 ---------- */
html[data-skin="glass"] body {
  background:
    radial-gradient(42rem 42rem at 12% -8%, rgba(139,92,246,0.5), transparent 60%),
    radial-gradient(38rem 38rem at 88% 10%, rgba(236,72,153,0.4), transparent 60%),
    radial-gradient(46rem 46rem at 50% 110%, rgba(59,130,246,0.42), transparent 62%),
    linear-gradient(180deg, #eef2ff 0%, #f5f3ff 52%, #eff6ff 100%);
  background-attachment: fixed;
  color: #1e293b;
  min-height: 100vh;
}

/* ---------- 玻璃基底：卡片 / 面板 / 弹层 ---------- */
html[data-skin="glass"] .card,
html[data-skin="glass"] .stat-card,
html[data-skin="glass"] .acc-card,
html[data-skin="glass"] .auth-panel,
html[data-skin="glass"] .admin-panel,
html[data-skin="glass"] .config-panel,
html[data-skin="glass"] .notice-panel,
html[data-skin="glass"] .notice-toast,
html[data-skin="glass"] .autocomplete-dropdown,
html[data-skin="glass"] .batch-result-item {
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(255,255,255,0.55);
  box-shadow: 0 8px 32px rgba(79,70,229,0.14);
}
/* 支持 backdrop-filter 时切换为真毛玻璃 */
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html[data-skin="glass"] .card,
  html[data-skin="glass"] .stat-card,
  html[data-skin="glass"] .acc-card,
  html[data-skin="glass"] .auth-panel,
  html[data-skin="glass"] .admin-panel,
  html[data-skin="glass"] .config-panel,
  html[data-skin="glass"] .notice-panel,
  html[data-skin="glass"] .notice-toast,
  html[data-skin="glass"] .autocomplete-dropdown,
  html[data-skin="glass"] .batch-result-item {
    background: rgba(255,255,255,0.62);
    backdrop-filter: blur(18px) saturate(1.4);
    -webkit-backdrop-filter: blur(18px) saturate(1.4);
  }
}
html[data-skin="glass"] .card:hover,
html[data-skin="glass"] .stat-card:hover {
  border-color: rgba(255,255,255,0.8);
  box-shadow: 0 12px 40px rgba(124,58,237,0.2);
}

/* ---------- 头部 ---------- */
html[data-skin="glass"] .header {
  background: rgba(255,255,255,0.5);
  border-bottom: 1px solid rgba(255,255,255,0.55);
}
html[data-skin="glass"] .header h1 {
  background: linear-gradient(120deg, #7c3aed, #3b82f6 60%, #ec4899);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="glass"] .btn {
  border-radius: var(--radius-sm);
  font-weight: 600;
}
html[data-skin="glass"] .btn-primary,
html[data-skin="glass"] .auth-btn,
html[data-skin="glass"] .admin-tab.active {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.35);
  box-shadow: 0 4px 14px rgba(124,58,237,0.35);
}
html[data-skin="glass"] .btn-primary:hover,
html[data-skin="glass"] .auth-btn:hover {
  background: linear-gradient(135deg, #7c3aed, #6d28d9);
  box-shadow: 0 6px 18px rgba(124,58,237,0.45);
}
html[data-skin="glass"] .btn-primary:disabled,
html[data-skin="glass"] .pagination-bar button:disabled {
  background: var(--btn-disabled-bg);
  color: #ffffff;
  box-shadow: none;
}
html[data-skin="glass"] .btn-secondary,
html[data-skin="glass"] .batch-btn,
html[data-skin="glass"] .pagination-bar button,
html[data-skin="glass"] .auth-input + .btn,
html[data-skin="glass"] .notice-panel-head .n-clear {
  background: rgba(255,255,255,0.55);
  color: #475569;
  border: 1px solid rgba(255,255,255,0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
html[data-skin="glass"] .btn-secondary:hover,
html[data-skin="glass"] .batch-btn:hover,
html[data-skin="glass"] .pagination-bar button:hover {
  background: rgba(255,255,255,0.8);
  color: #7c3aed;
  border-color: rgba(124,58,237,0.4);
}
html[data-skin="glass"] .btn-danger {
  background: rgba(225,29,72,0.1);
  color: #e11d48;
  border: 1px solid rgba(225,29,72,0.25);
}
html[data-skin="glass"] .btn-danger:hover {
  background: rgba(225,29,72,0.18);
}

/* ---------- 输入控件 ---------- */
html[data-skin="glass"] input[type="text"],
html[data-skin="glass"] input[type="password"],
html[data-skin="glass"] input[type="number"],
html[data-skin="glass"] textarea,
html[data-skin="glass"] select,
html[data-skin="glass"] .auth-input,
html[data-skin="glass"] .admin-table input,
html[data-skin="glass"] .config-row input {
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(255,255,255,0.7);
  color: #1e293b;
  box-shadow: inset 0 1px 2px rgba(30,41,59,0.06);
}
html[data-skin="glass"] input[type="text"]:focus,
html[data-skin="glass"] input[type="password"]:focus,
html[data-skin="glass"] input[type="number"]:focus,
html[data-skin="glass"] textarea:focus,
html[data-skin="glass"] select:focus,
html[data-skin="glass"] .auth-input:focus,
html[data-skin="glass"] #reservationGame:focus,
html[data-skin="glass"] #modalGameName:focus {
  outline: none;
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124,58,237,0.18);
  background: rgba(255,255,255,0.78);
}
html[data-skin="glass"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #eef2ff inset;
  -webkit-text-fill-color: #1e293b;
}
html[data-skin="glass"] input[type="checkbox"],
html[data-skin="glass"] .acc-card-top .acc-check input {
  accent-color: #7c3aed;
}
html[data-skin="glass"] ::placeholder {
  color: #94a3b8;
}

/* ---------- 表格 ---------- */
html[data-skin="glass"] .admin-table th,
html[data-skin="glass"] .log-table th {
  color: #6d28d9;
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
html[data-skin="glass"] .admin-table tr:hover td,
html[data-skin="glass"] .log-table tr:hover td,
html[data-skin="glass"] #batchAccountTable tbody tr:hover {
  background: rgba(255,255,255,0.55);
}
html[data-skin="glass"] .log-table tbody tr:nth-child(even) td {
  background: rgba(255,255,255,0.3);
}

/* ---------- 日志区 ---------- */
html[data-skin="glass"] .log-box {
  background: rgba(255,255,255,0.4);
  border: 1px solid rgba(255,255,255,0.55);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
}
html[data-skin="glass"] .log-detail-pre {
  background: rgba(255,255,255,0.5);
  color: #1e293b;
}
html[data-skin="glass"] .log-line.success { color: #059669; }
html[data-skin="glass"] .log-line.fail { color: #e11d48; }
html[data-skin="glass"] .log-line.info { color: #2563eb; }
html[data-skin="glass"] .log-line.skip { color: #d97706; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="glass"] .badge-info { background: rgba(124,58,237,0.12); color: #7c3aed; }
html[data-skin="glass"] .badge-success { background: rgba(5,150,105,0.1); color: #059669; }
html[data-skin="glass"] .badge-error { background: rgba(225,29,72,0.08); color: #e11d48; }
html[data-skin="glass"] .badge-warning { background: rgba(217,119,6,0.1); color: #d97706; }
html[data-skin="glass"] .stat-num.blue { color: #2563eb; }
html[data-skin="glass"] .stat-num.green { color: #059669; }
html[data-skin="glass"] .stat-num.red { color: #e11d48; }
html[data-skin="glass"] .stat-num.yellow { color: #d97706; }
html[data-skin="glass"] .debt-warning {
  background: rgba(225,29,72,0.08);
  border: 1px solid rgba(225,29,72,0.25);
  color: #e11d48;
}
html[data-skin="glass"] .autocomplete-item.active,
html[data-skin="glass"] .autocomplete-item:hover {
  background: rgba(124,58,237,0.1);
}
html[data-skin="glass"] .admin-tab {
  background: rgba(255,255,255,0.5);
  color: #475569;
  border: 1px solid rgba(255,255,255,0.6);
}
html[data-skin="glass"] .admin-tab:hover {
  border-color: rgba(124,58,237,0.45);
  color: #7c3aed;
}
html[data-skin="glass"] .card-title { color: #7c3aed; }

/* ---------- 弹窗遮罩 / 滚动条 / 选区 ---------- */
html[data-skin="glass"] #logDetailModal {
  background: rgba(30,41,59,0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
html[data-skin="glass"] ::-webkit-scrollbar-thumb {
  background: rgba(148,163,184,0.55);
}
html[data-skin="glass"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(124,58,237,0.6);
}
html[data-skin="glass"] ::selection {
  background: rgba(124,58,237,0.25);
  color: #1e293b;
}

/* ---------- 暗色变体 data-theme="dark"：夜幕玻璃 ---------- */
/* 页面彩底渐变保持（深浅兼容），白玻璃换暗玻璃 rgba(15,23,42,.62)，backdrop-blur 保留 */
html[data-skin="glass"][data-theme="dark"] {
  --bg: #101828;
  --surface: rgba(15,23,42,0.62);
  --card: rgba(15,23,42,0.62);
  --border: rgba(255,255,255,0.14);
  --border-light: rgba(255,255,255,0.24);
  --text: #e8ecf4;
  --text-secondary: #aab8cc;
  --text-muted: #7e8ca3;
  --accent: #a78bfa;
  --accent-hover: #c4b5fd;
  --accent-subtle: rgba(167,139,250,0.2);
  --success: #34d399;
  --success-subtle: rgba(52,211,153,0.14);
  --error: #fb7185;
  --error-subtle: rgba(251,113,133,0.12);
  --warning: #fbbf24;
  --warning-subtle: rgba(251,191,36,0.12);
  --info: #60a5fa;
  --radius: 16px;
  --radius-sm: 12px;
  --shadow-1: 0 1px 3px rgba(0,0,0,0.4);
  --shadow-2: 0 4px 14px rgba(0,0,0,0.45);
  --shadow-3: 0 12px 40px rgba(0,0,0,0.55);
  --row-alt: rgba(255,255,255,0.06);
  --log-bg: rgba(15,23,42,0.55);
  --btn-disabled-bg: rgba(255,255,255,0.14);
  color-scheme: dark;
}
/* 页面渐变底保持不动，仅正文切夜色字 */
html[data-skin="glass"][data-theme="dark"] body {
  color: #e8ecf4;
}
/* 玻璃基底：白玻璃 → 暗玻璃（特异性高于上方条件块内规则，blur 保留） */
html[data-skin="glass"][data-theme="dark"] .card,
html[data-skin="glass"][data-theme="dark"] .stat-card,
html[data-skin="glass"][data-theme="dark"] .acc-card,
html[data-skin="glass"][data-theme="dark"] .auth-panel,
html[data-skin="glass"][data-theme="dark"] .admin-panel,
html[data-skin="glass"][data-theme="dark"] .config-panel,
html[data-skin="glass"][data-theme="dark"] .notice-panel,
html[data-skin="glass"][data-theme="dark"] .notice-toast,
html[data-skin="glass"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="glass"][data-theme="dark"] .batch-result-item {
  background: rgba(15,23,42,0.62);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 8px 32px rgba(0,0,0,0.4);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
}
html[data-skin="glass"][data-theme="dark"] .card:hover,
html[data-skin="glass"][data-theme="dark"] .stat-card:hover {
  border-color: rgba(255,255,255,0.26);
  box-shadow: 0 12px 40px rgba(0,0,0,0.5), 0 0 18px rgba(167,139,250,0.08);
}
html[data-skin="glass"][data-theme="dark"] .card-title { color: #a78bfa; }
/* 头部：暗玻璃 + 保留彩字渐变标题 */
html[data-skin="glass"][data-theme="dark"] .header {
  background: rgba(15,23,42,0.45);
  border-bottom: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
}
/* 按钮全系 */
html[data-skin="glass"][data-theme="dark"] .btn {
  border-radius: var(--radius-sm);
  font-weight: 600;
}
html[data-skin="glass"][data-theme="dark"] .btn-primary,
html[data-skin="glass"][data-theme="dark"] .auth-btn,
html[data-skin="glass"][data-theme="dark"] .admin-tab.active {
  background: linear-gradient(135deg, #a78bfa, #8b5cf6);
  color: #16112e;
  border: 1px solid rgba(255,255,255,0.28);
  box-shadow: 0 4px 14px rgba(139,92,246,0.4);
}
html[data-skin="glass"][data-theme="dark"] .btn-primary:hover,
html[data-skin="glass"][data-theme="dark"] .auth-btn:hover {
  background: linear-gradient(135deg, #c4b5fd, #a78bfa);
  box-shadow: 0 6px 18px rgba(167,139,250,0.5);
}
html[data-skin="glass"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="glass"][data-theme="dark"] .pagination-bar button:disabled {
  background: rgba(255,255,255,0.14);
  color: rgba(232,236,244,0.5);
  border-color: transparent;
  box-shadow: none;
}
html[data-skin="glass"][data-theme="dark"] .btn-secondary,
html[data-skin="glass"][data-theme="dark"] .batch-btn,
html[data-skin="glass"][data-theme="dark"] .pagination-bar button,
html[data-skin="glass"][data-theme="dark"] .auth-input + .btn,
html[data-skin="glass"][data-theme="dark"] .notice-panel-head .n-clear {
  background: rgba(15,23,42,0.45);
  color: #cdd6e4;
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
html[data-skin="glass"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="glass"][data-theme="dark"] .batch-btn:hover,
html[data-skin="glass"][data-theme="dark"] .pagination-bar button:hover {
  background: rgba(30,41,59,0.7);
  color: #c4b5fd;
  border-color: rgba(167,139,250,0.45);
}
html[data-skin="glass"][data-theme="dark"] .btn-danger {
  background: rgba(251,113,133,0.12);
  color: #fb7185;
  border: 1px solid rgba(251,113,133,0.3);
}
html[data-skin="glass"][data-theme="dark"] .btn-danger:hover {
  background: rgba(251,113,133,0.2);
}
/* 输入控件：暗玻璃 */
html[data-skin="glass"][data-theme="dark"] input[type="text"],
html[data-skin="glass"][data-theme="dark"] input[type="password"],
html[data-skin="glass"][data-theme="dark"] input[type="number"],
html[data-skin="glass"][data-theme="dark"] textarea,
html[data-skin="glass"][data-theme="dark"] select,
html[data-skin="glass"][data-theme="dark"] .auth-input,
html[data-skin="glass"][data-theme="dark"] .admin-table input,
html[data-skin="glass"][data-theme="dark"] .config-row input {
  background: rgba(15,23,42,0.45);
  border: 1px solid rgba(255,255,255,0.16);
  color: #e8ecf4;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
}
html[data-skin="glass"][data-theme="dark"] input[type="text"]:focus,
html[data-skin="glass"][data-theme="dark"] input[type="password"]:focus,
html[data-skin="glass"][data-theme="dark"] input[type="number"]:focus,
html[data-skin="glass"][data-theme="dark"] textarea:focus,
html[data-skin="glass"][data-theme="dark"] select:focus,
html[data-skin="glass"][data-theme="dark"] .auth-input:focus,
html[data-skin="glass"][data-theme="dark"] #reservationGame:focus,
html[data-skin="glass"][data-theme="dark"] #modalGameName:focus {
  outline: none;
  border-color: #a78bfa;
  box-shadow: 0 0 0 3px rgba(167,139,250,0.22);
  background: rgba(15,23,42,0.65);
}
html[data-skin="glass"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #16203a inset;
  -webkit-text-fill-color: #e8ecf4;
}
html[data-skin="glass"][data-theme="dark"] input[type="checkbox"],
html[data-skin="glass"][data-theme="dark"] .acc-card-top .acc-check input {
  accent-color: #a78bfa;
}
html[data-skin="glass"][data-theme="dark"] ::placeholder {
  color: #7e8ca3;
}
/* 表格 */
html[data-skin="glass"][data-theme="dark"] .admin-table th,
html[data-skin="glass"][data-theme="dark"] .log-table th {
  color: #c4b5fd;
  background: rgba(15,23,42,0.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
html[data-skin="glass"][data-theme="dark"] .admin-table td,
html[data-skin="glass"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
html[data-skin="glass"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="glass"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="glass"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(255,255,255,0.08);
}
html[data-skin="glass"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: rgba(255,255,255,0.04);
}
/* 日志区 */
html[data-skin="glass"][data-theme="dark"] .log-box {
  background: rgba(15,23,42,0.55);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
}
html[data-skin="glass"][data-theme="dark"] .log-detail-pre {
  background: rgba(15,23,42,0.65);
  color: #e8ecf4;
}
html[data-skin="glass"][data-theme="dark"] .log-line.success { color: #34d399; }
html[data-skin="glass"][data-theme="dark"] .log-line.fail { color: #fb7185; }
html[data-skin="glass"][data-theme="dark"] .log-line.info { color: #60a5fa; }
html[data-skin="glass"][data-theme="dark"] .log-line.skip { color: #fbbf24; }
/* 徽标 / 状态 / 提示 */
html[data-skin="glass"][data-theme="dark"] .badge-info { background: rgba(96,165,250,0.16); color: #60a5fa; }
html[data-skin="glass"][data-theme="dark"] .badge-success { background: rgba(52,211,153,0.14); color: #34d399; }
html[data-skin="glass"][data-theme="dark"] .badge-error { background: rgba(251,113,133,0.14); color: #fb7185; }
html[data-skin="glass"][data-theme="dark"] .badge-warning { background: rgba(251,191,36,0.14); color: #fbbf24; }
html[data-skin="glass"][data-theme="dark"] .stat-num.blue { color: #60a5fa; }
html[data-skin="glass"][data-theme="dark"] .stat-num.green { color: #34d399; }
html[data-skin="glass"][data-theme="dark"] .stat-num.red { color: #fb7185; }
html[data-skin="glass"][data-theme="dark"] .stat-num.yellow { color: #fbbf24; }
html[data-skin="glass"][data-theme="dark"] .debt-warning {
  background: rgba(251,113,133,0.1);
  border: 1px solid rgba(251,113,133,0.3);
  color: #fb7185;
}
html[data-skin="glass"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="glass"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(167,139,250,0.14);
}
html[data-skin="glass"][data-theme="dark"] .notice-item:hover {
  background: rgba(255,255,255,0.06);
}
html[data-skin="glass"][data-theme="dark"] .notice-bell,
html[data-skin="glass"][data-theme="dark"] .n-dot {
  color: #a78bfa;
}
html[data-skin="glass"][data-theme="dark"] .admin-tab {
  background: rgba(15,23,42,0.45);
  color: #aab8cc;
  border: 1px solid rgba(255,255,255,0.14);
}
html[data-skin="glass"][data-theme="dark"] .admin-tab:hover {
  border-color: rgba(167,139,250,0.5);
  color: #c4b5fd;
}
/* 弹窗遮罩 / 滚动条 / 选区（二维码图保持白底以便扫码，不另覆盖） */
html[data-skin="glass"][data-theme="dark"] #logDetailModal {
  background: rgba(2,6,23,0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
html[data-skin="glass"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.2);
}
html[data-skin="glass"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(167,139,250,0.65);
}
html[data-skin="glass"][data-theme="dark"] ::selection {
  background: rgba(167,139,250,0.35);
  color: #f3f0ff;
}
/* ===== 绿幕终端 (green-terminal) ===== */
/*SKIN {"id":"green-terminal","name":"绿幕终端","colors":["#0c160c", "#33ff66", "#c9e8c9"]}*/
/* 绿幕终端：经典绿幕磷光 + 全直角 + 等宽大写按钮 + 扫描线 */

/* ---------- 变量重定义 ---------- */
html[data-skin="green-terminal"] {
  --bg: #0c160c;
  --surface: #122012;
  --card: #122012;
  --border: #1e331e;
  --border-light: #2c4a2c;
  --text: #c9e8c9;
  --text-secondary: #a3cfa3;
  --text-muted: #6fa06f;
  --accent: #33ff66;
  --accent-hover: #70ff9d;
  --accent-subtle: rgba(51,255,102,0.11);
  --success: #33ff66;
  --success-subtle: rgba(51,255,102,0.1);
  --error: #ff6666;
  --error-subtle: rgba(255,102,102,0.1);
  --warning: #e8ff66;
  --warning-subtle: rgba(232,255,102,0.1);
  --info: #66ffee;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.7);
  --shadow-2: 0 2px 10px rgba(0,0,0,0.7);
  --shadow-3: 0 8px 30px rgba(0,0,0,0.85);
  --row-alt: #0e1a0e;
  --log-bg: #081008;
  --btn-disabled-bg: #162816;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="green-terminal"][data-theme="dark"] {
  --bg: #0c160c;
  --surface: #122012;
  --card: #122012;
  --border: #1e331e;
  --border-light: #2c4a2c;
  --text: #c9e8c9;
  --text-secondary: #a3cfa3;
  --text-muted: #6fa06f;
  --accent: #33ff66;
  --accent-hover: #70ff9d;
  --accent-subtle: rgba(51,255,102,0.11);
  --success: #33ff66;
  --success-subtle: rgba(51,255,102,0.1);
  --error: #ff6666;
  --error-subtle: rgba(255,102,102,0.1);
  --warning: #e8ff66;
  --warning-subtle: rgba(232,255,102,0.1);
  --info: #66ffee;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.7);
  --shadow-2: 0 2px 10px rgba(0,0,0,0.7);
  --shadow-3: 0 8px 30px rgba(0,0,0,0.85);
  --row-alt: #0e1a0e;
  --log-bg: #081008;
  --btn-disabled-bg: #162816;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* ---------- 页面底 + 扫描线（静态低透明度，不影响阅读） ---------- */
html[data-skin="green-terminal"] body {
  background: #0c160c;
  color: #c9e8c9;
  min-height: 100vh;
}
html[data-skin="green-terminal"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.05) 0px,
    rgba(255,255,255,0.05) 1px,
    transparent 1px,
    transparent 3px
  );
}

/* ---------- 卡片 / 面板 ---------- */
html[data-skin="green-terminal"] .card,
html[data-skin="green-terminal"] .stat-card,
html[data-skin="green-terminal"] .acc-card,
html[data-skin="green-terminal"] .auth-panel,
html[data-skin="green-terminal"] .admin-panel,
html[data-skin="green-terminal"] .config-panel,
html[data-skin="green-terminal"] .notice-panel,
html[data-skin="green-terminal"] .batch-result-item {
  background: #122012;
  border: 1px solid #1e331e;
  box-shadow: 0 2px 10px rgba(0,0,0,0.7);
}
html[data-skin="green-terminal"] .card:hover,
html[data-skin="green-terminal"] .stat-card:hover {
  border-color: #33ff66;
  box-shadow: 0 0 0 1px #33ff66, 0 8px 30px rgba(0,0,0,0.85);
}
html[data-skin="green-terminal"] .card-title {
  color: #33ff66;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
html[data-skin="green-terminal"] .header {
  background: #0c160c;
  border-bottom: 1px solid #1e331e;
}
html[data-skin="green-terminal"] .header h1 {
  color: #33ff66;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-shadow: 0 0 12px rgba(51,255,102,0.45);
}


/* ---------- 按钮全系 ---------- */
html[data-skin="green-terminal"] .btn {
  border-radius: 0px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
html[data-skin="green-terminal"] .btn-primary,
html[data-skin="green-terminal"] .auth-btn,
html[data-skin="green-terminal"] .admin-tab.active {
  background: #33ff66;
  color: #0c160c;
  border: 1px solid #33ff66;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(51,255,102,0.3);
}
html[data-skin="green-terminal"] .btn-primary:hover,
html[data-skin="green-terminal"] .auth-btn:hover {
  background: #70ff9d;
  border-color: #70ff9d;
  box-shadow: 0 0 18px rgba(51,255,102,0.45);
}
html[data-skin="green-terminal"] .btn-primary:disabled,
html[data-skin="green-terminal"] .pagination-bar button:disabled {
  background: #162816;
  color: #6fa06f;
  border-color: #1e331e;
  box-shadow: none;
}
html[data-skin="green-terminal"] .btn-secondary,
html[data-skin="green-terminal"] .batch-btn,
html[data-skin="green-terminal"] .pagination-bar button,
html[data-skin="green-terminal"] .notice-panel-head .n-clear {
  background: #122012;
  color: #c9e8c9;
  border: 1px solid #2c4a2c;
  border-radius: 0px;
}
html[data-skin="green-terminal"] .btn-secondary:hover,
html[data-skin="green-terminal"] .batch-btn:hover,
html[data-skin="green-terminal"] .pagination-bar button:hover {
  background: #122012;
  color: #33ff66;
  border-color: #33ff66;
}
html[data-skin="green-terminal"] .btn-danger {
  background: rgba(255,102,102,0.15);
  color: #ff6666;
  border: 1px solid #ff6666;
  border-radius: 0px;
}
html[data-skin="green-terminal"] .btn-danger:hover {
  background: rgba(255,102,102,0.28);
}

/* ---------- 输入控件：深底 + 强调描边聚焦 ---------- */
html[data-skin="green-terminal"] input[type="text"],
html[data-skin="green-terminal"] input[type="password"],
html[data-skin="green-terminal"] input[type="number"],
html[data-skin="green-terminal"] textarea,
html[data-skin="green-terminal"] select,
html[data-skin="green-terminal"] .auth-input,
html[data-skin="green-terminal"] .admin-table input,
html[data-skin="green-terminal"] .config-row input {
  background: #081008;
  border: 1px solid #1e331e;
  color: #c9e8c9;
  border-radius: 0px;
}
html[data-skin="green-terminal"] input[type="text"]:focus,
html[data-skin="green-terminal"] input[type="password"]:focus,
html[data-skin="green-terminal"] input[type="number"]:focus,
html[data-skin="green-terminal"] textarea:focus,
html[data-skin="green-terminal"] select:focus,
html[data-skin="green-terminal"] .auth-input:focus,
html[data-skin="green-terminal"] #reservationGame:focus,
html[data-skin="green-terminal"] #modalGameName:focus {
  outline: none;
  border-color: #33ff66;
  box-shadow: 0 0 0 1px #33ff66, 0 0 8px rgba(51,255,102,0.2);
}
html[data-skin="green-terminal"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #081008 inset;
  -webkit-text-fill-color: #c9e8c9;
  caret-color: #33ff66;
}
html[data-skin="green-terminal"] input[type="checkbox"],
html[data-skin="green-terminal"] .acc-card-top .acc-check input {
  accent-color: #33ff66;
}
html[data-skin="green-terminal"] ::placeholder {
  color: #6fa06f;
}

/* ---------- 双表格 ---------- */
html[data-skin="green-terminal"] .admin-table th,
html[data-skin="green-terminal"] .log-table th {
  color: #33ff66;
  background: #081008;
  border-bottom: 1px solid #1e331e;
}
html[data-skin="green-terminal"] .admin-table td,
html[data-skin="green-terminal"] .log-table td {
  border-bottom: 1px solid #182a18;
}
html[data-skin="green-terminal"] .admin-table tr:hover td,
html[data-skin="green-terminal"] .log-table tr:hover td,
html[data-skin="green-terminal"] #batchAccountTable tbody tr:hover {
  background: rgba(51,255,102,0.06);
}
html[data-skin="green-terminal"] .log-table tbody tr:nth-child(even) td {
  background: #0e1a0e;
}

/* ---------- 日志区 ---------- */
html[data-skin="green-terminal"] .log-box {
  background: #081008;
  border: 1px solid #1e331e;
}
html[data-skin="green-terminal"] .log-detail-pre {
  background: #0e1a0e;
  color: #c9e8c9;
  border: 1px solid #182a18;
}
html[data-skin="green-terminal"] .log-line.success { color: #33ff66; }
html[data-skin="green-terminal"] .log-line.fail { color: #ff6666; }
html[data-skin="green-terminal"] .log-line.info { color: #66ffee; }
html[data-skin="green-terminal"] .log-line.skip { color: #e8ff66; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="green-terminal"] .badge-info { background: rgba(102,255,238,0.1); color: #66ffee; }
html[data-skin="green-terminal"] .badge-success { background: rgba(51,255,102,0.1); color: #33ff66; }
html[data-skin="green-terminal"] .badge-error { background: rgba(255,102,102,0.1); color: #ff6666; }
html[data-skin="green-terminal"] .badge-warning { background: rgba(232,255,102,0.1); color: #e8ff66; }
html[data-skin="green-terminal"] .stat-num.blue { color: #66ffee; }
html[data-skin="green-terminal"] .stat-num.green { color: #33ff66; }
html[data-skin="green-terminal"] .stat-num.red { color: #ff6666; }
html[data-skin="green-terminal"] .stat-num.yellow { color: #e8ff66; }
html[data-skin="green-terminal"] .debt-warning {
  background: rgba(255,102,102,0.1);
  border: 1px solid #ff6666;
  color: #ff6666;
  border-radius: 0px;
}
html[data-skin="green-terminal"] .autocomplete-dropdown {
  background: #122012;
  border: 1px solid #1e331e;
  border-radius: 0px;
}
html[data-skin="green-terminal"] .autocomplete-item.active,
html[data-skin="green-terminal"] .autocomplete-item:hover {
  background: rgba(51,255,102,0.11);
  color: #33ff66;
}
html[data-skin="green-terminal"] .admin-tab {
  background: #122012;
  color: #a3cfa3;
  border: 1px solid #1e331e;
  border-radius: 0px;
}
html[data-skin="green-terminal"] .admin-tab:hover {
  border-color: #33ff66;
  color: #33ff66;
}
html[data-skin="green-terminal"] .notice-toast {
  background: #122012;
  border: 1px solid #33ff66;
  border-left: 4px solid #33ff66;
  border-radius: 0px;
}
html[data-skin="green-terminal"] .notice-item:hover {
  background: rgba(51,255,102,0.06);
}
html[data-skin="green-terminal"] .notice-bell,
html[data-skin="green-terminal"] .n-dot {
  color: #33ff66;
}

/* ---------- 弹窗遮罩 / 二维码盒淡纸白（保扫码对比度） ---------- */
html[data-skin="green-terminal"] #logDetailModal,
html[data-skin="green-terminal"] #pointsRecordsModal,
html[data-skin="green-terminal"] #batchScanModal {
  background: rgba(0,0,0,0.85) !important;
}
html[data-skin="green-terminal"] #lxjQrBox,
html[data-skin="green-terminal"] #batchScanQr,
html[data-skin="green-terminal"] #lxjQrImg,
html[data-skin="green-terminal"] #batchScanQrImg {
  background: #d9f2dd !important;
  border: 1px solid rgba(51,255,102,0.4);
}
html[data-skin="green-terminal"] img[style*="background:#fff"] {
  background: #d9f2dd !important;
}

/* ---------- 滚动条 / 选区 / 过渡 ---------- */
html[data-skin="green-terminal"] ::-webkit-scrollbar-thumb {
  background: #1e331e;
  border-radius: 0px;
}
html[data-skin="green-terminal"] ::-webkit-scrollbar-thumb:hover {
  background: #33ff66;
}
html[data-skin="green-terminal"] ::selection {
  background: #33ff66;
  color: #0c160c;
}
html[data-skin="green-terminal"] .btn,
html[data-skin="green-terminal"] .card,
html[data-skin="green-terminal"] .stat-card,
html[data-skin="green-terminal"] .acc-card,
html[data-skin="green-terminal"] .admin-tab,
html[data-skin="green-terminal"] .pagination-bar button,
html[data-skin="green-terminal"] input,
html[data-skin="green-terminal"] select,
html[data-skin="green-terminal"] textarea {
  transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s;
}

/* ---------- 动效保护：系统减弱动效时关闭过渡与动画 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="green-terminal"] * {
    transition: none !important;
  }
  html[data-skin="green-terminal"] body {
    animation: none;
  }
}
/* ===== 复古盒带 (gruvbox-dark) ===== */
/*SKIN {"id":"gruvbox-dark","name":"复古盒带","colors":["#282828","#fabd2f","#fbf1c7"]}*/
/* ============================================================
   复古盒带 · Gruvbox Dark — 暖黄土复古暗色皮肤（复古圆角）
   底 #282828 / 卡 #32302f / 文 #fbf1c7
   暖沙黄 #fabd2f × 复古橙 #fe8019 点缀，复古圆角
   全部规则 scope 于 html[data-skin="gruvbox-dark"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="gruvbox-dark"] {
  --bg: #282828;
  --surface: #32302f;
  --card: #32302f;
  --border: #504945;
  --border-light: #665c54;
  --text: #fbf1c7;
  --text-secondary: #ebdbb2;
  --text-muted: #928374;
  --accent: #fabd2f;
  --accent-hover: #ffd25e;
  --accent-subtle: rgba(250, 189, 47, 0.10);
  --success: #b8bb26;
  --success-subtle: rgba(184, 187, 38, 0.12);
  --error: #fb4934;
  --error-subtle: rgba(251, 73, 52, 0.12);
  --warning: #d79921;
  --warning-subtle: rgba(215, 153, 33, 0.12);
  --info: #83a598;
  --row-alt: #2c2a26;
  --log-bg: #1d2021;
  --btn-disabled-bg: #403a33;
  --shadow-1: 0 1px 3px rgba(8, 7, 5, 0.55);
  --shadow-2: 0 2px 10px rgba(8, 7, 5, 0.55);
  --shadow-3: 0 10px 36px rgba(8, 7, 5, 0.65);
  --on-accent: #1d2021;
  background: #282828;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="gruvbox-dark"][data-theme="dark"] {
  --bg: #282828;
  --surface: #32302f;
  --card: #32302f;
  --border: #504945;
  --border-light: #665c54;
  --text: #fbf1c7;
  --text-secondary: #ebdbb2;
  --text-muted: #928374;
  --accent: #fabd2f;
  --accent-hover: #ffd25e;
  --accent-subtle: rgba(250, 189, 47, 0.10);
  --success: #b8bb26;
  --success-subtle: rgba(184, 187, 38, 0.12);
  --error: #fb4934;
  --error-subtle: rgba(251, 73, 52, 0.12);
  --warning: #d79921;
  --warning-subtle: rgba(215, 153, 33, 0.12);
  --info: #83a598;
  --row-alt: #2c2a26;
  --log-bg: #1d2021;
  --btn-disabled-bg: #403a33;
  --shadow-1: 0 1px 3px rgba(8, 7, 5, 0.55);
  --shadow-2: 0 2px 10px rgba(8, 7, 5, 0.55);
  --shadow-3: 0 10px 36px rgba(8, 7, 5, 0.65);
  --on-accent: #1d2021;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="gruvbox-dark"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：暖土色 radial，老式显像管的暖光 ---- */
html[data-skin="gruvbox-dark"] body {
  background:
    radial-gradient(1200px 700px at 50% -18%, rgba(250, 189, 47, 0.08), transparent 62%),
    radial-gradient(900px 540px at 12% 20%, rgba(254, 128, 25, 0.05), transparent 60%),
    radial-gradient(1000px 640px at 90% 78%, rgba(184, 187, 38, 0.04), transparent 62%),
    radial-gradient(1100px 620px at 50% 118%, rgba(80, 73, 69, 0.4), transparent 65%),
    #282828;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="gruvbox-dark"] ::selection {
  background: rgba(250, 189, 47, 0.30);
  color: #fdf3d9;
}
html[data-skin="gruvbox-dark"] ::-webkit-scrollbar-thumb {
  background: #504945;
  border-radius: 6px;
}
html[data-skin="gruvbox-dark"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(250, 189, 47, 0.5);
}
html[data-skin="gruvbox-dark"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="gruvbox-dark"] img {
  filter: brightness(0.95) saturate(1.1);
}

/* ---- 6. 头部：暖黄→复古橙渐变字 ---- */
html[data-skin="gruvbox-dark"] .header {
  border-color: #504945;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(250, 189, 47, 0.14);
}
html[data-skin="gruvbox-dark"] .header h1 {
  background: linear-gradient(90deg, #fabd2f, #fe8019);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(250, 189, 47, 0.3));
}
html[data-skin="gruvbox-dark"] .card-title {
  color: #ffd25e;
}

/* ---- 7. 卡片族：暖褐卡 + hover 边框泛黄光 ---- */
html[data-skin="gruvbox-dark"] .card,
html[data-skin="gruvbox-dark"] .stat-card,
html[data-skin="gruvbox-dark"] .admin-panel,
html[data-skin="gruvbox-dark"] .acc-card,
html[data-skin="gruvbox-dark"] .batch-group,
html[data-skin="gruvbox-dark"] .batch-result-item,
html[data-skin="gruvbox-dark"] .notice-panel,
html[data-skin="gruvbox-dark"] .notice-toast {
  background: #32302f;
  border: 1px solid #504945;
}
html[data-skin="gruvbox-dark"] .card:hover,
html[data-skin="gruvbox-dark"] .stat-card:hover {
  border-color: rgba(250, 189, 47, 0.5);
  box-shadow: 0 0 18px rgba(250, 189, 47, 0.12), var(--shadow-2);
}
html[data-skin="gruvbox-dark"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：暖沙黄复古按钮 ---- */
html[data-skin="gruvbox-dark"] .btn,
html[data-skin="gruvbox-dark"] .batch-btn,
html[data-skin="gruvbox-dark"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="gruvbox-dark"] .btn-primary {
  background: linear-gradient(135deg, #fabd2f, #d9a426);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(250, 189, 47, 0.28), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="gruvbox-dark"] .btn-primary:hover {
  background: linear-gradient(135deg, #ffd25e, #e6b437);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(250, 189, 47, 0.43000000000000005), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="gruvbox-dark"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #928374;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="gruvbox-dark"] .btn-secondary {
  background: #32302f;
  color: var(--text-secondary);
  border: 1px solid #665c54;
}
html[data-skin="gruvbox-dark"] .btn-secondary:hover {
  background: #3c3836;
  color: #fabd2f;
  border-color: rgba(250, 189, 47, 0.5);
  box-shadow: 0 0 12px rgba(250, 189, 47, 0.2);
}
html[data-skin="gruvbox-dark"] .btn-danger {
  background: rgba(251, 73, 52, 0.12);
  color: #ff8a7e;
  border: 1px solid rgba(251, 73, 52, 0.35);
}
html[data-skin="gruvbox-dark"] .btn-danger:hover {
  background: rgba(251, 73, 52, 0.2);
  box-shadow: 0 0 14px rgba(251, 73, 52, 0.3);
}
html[data-skin="gruvbox-dark"] .btn:disabled {
  color: #928374;
}

/* ---- 9. 输入族：暖褐底聚焦黄描边 ---- */
html[data-skin="gruvbox-dark"] input[type="text"],
html[data-skin="gruvbox-dark"] input[type="password"],
html[data-skin="gruvbox-dark"] input[type="number"],
html[data-skin="gruvbox-dark"] input[type="date"],
html[data-skin="gruvbox-dark"] input[type="time"],
html[data-skin="gruvbox-dark"] textarea,
html[data-skin="gruvbox-dark"] select,
html[data-skin="gruvbox-dark"] .auth-input,
html[data-skin="gruvbox-dark"] .admin-table input,
html[data-skin="gruvbox-dark"] #reservationGame,
html[data-skin="gruvbox-dark"] #modalGameName {
  background: #262320;
  border: 1px solid #504945;
  color: var(--text);
}
html[data-skin="gruvbox-dark"] input[type="text"]:focus,
html[data-skin="gruvbox-dark"] input[type="password"]:focus,
html[data-skin="gruvbox-dark"] input[type="number"]:focus,
html[data-skin="gruvbox-dark"] textarea:focus,
html[data-skin="gruvbox-dark"] select:focus,
html[data-skin="gruvbox-dark"] .auth-input:focus,
html[data-skin="gruvbox-dark"] .admin-table input:focus,
html[data-skin="gruvbox-dark"] #reservationGame:focus,
html[data-skin="gruvbox-dark"] #modalGameName:focus {
  outline: none;
  border-color: #fabd2f;
  box-shadow: 0 0 0 3px rgba(250, 189, 47, 0.14), 0 0 14px rgba(250, 189, 47, 0.18);
}
html[data-skin="gruvbox-dark"] select option,
html[data-skin="gruvbox-dark"] #reservationGame option,
html[data-skin="gruvbox-dark"] #modalGameName option {
  background: #1d2021;
  color: var(--text);
}
html[data-skin="gruvbox-dark"] input[type="checkbox"] {
  accent-color: #fabd2f;
}

/* ---- 10. 表格：暗表头 / 复古斑马纹 / 黄行悬停 ---- */
html[data-skin="gruvbox-dark"] .admin-table th,
html[data-skin="gruvbox-dark"] .admin-table td,
html[data-skin="gruvbox-dark"] .log-table th,
html[data-skin="gruvbox-dark"] .log-table td {
  border-bottom: 1px solid #3d3833;
}
html[data-skin="gruvbox-dark"] .admin-table th,
html[data-skin="gruvbox-dark"] .log-table th {
  background: #282828;
  border-bottom: 1px solid #504945;
}
html[data-skin="gruvbox-dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="gruvbox-dark"] .log-table tbody tr:nth-child(even) td {
  background: #2c2a26;
}
html[data-skin="gruvbox-dark"] .admin-table tr:hover td,
html[data-skin="gruvbox-dark"] .log-table tr:hover td {
  background: rgba(250, 189, 47, 0.07);
}
html[data-skin="gruvbox-dark"] #batchAccountTable tbody tr:hover {
  background: rgba(250, 189, 47, 0.05);
}
html[data-skin="gruvbox-dark"] .batch-table-wrap {
  border-color: #3d3833;
}

/* ---- 11. 管理 tab：激活黄橙胶囊 ---- */
html[data-skin="gruvbox-dark"] .admin-tab {
  background: #262320;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="gruvbox-dark"] .admin-tab:hover {
  color: #fbf1c7;
  border-color: #665c54;
}
html[data-skin="gruvbox-dark"] .admin-tab.active {
  background: linear-gradient(135deg, #fabd2f, #fe8019);
  color: var(--on-accent);
  border-color: rgba(250, 189, 47, 0.6);
  box-shadow: 0 0 14px rgba(250, 189, 47, 0.28);
}

/* ---- 12. 日志区：磁带观察窗 ---- */
html[data-skin="gruvbox-dark"] .log-box {
  background: #1d2021;
  border: 1px solid #3d3833;
  box-shadow: inset 0 0 24px rgba(250, 189, 47, 0.04);
}

/* ---- 13. 登录面板：复古浮岛卡（复古圆角）+ 黄登录键 ---- */
html[data-skin="gruvbox-dark"] .auth-panel {
  background: #32302f;
  border: 1px solid #504945;
  border-radius: 10px;
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(250, 189, 47, 0.08);
}
html[data-skin="gruvbox-dark"] .auth-btn {
  background: linear-gradient(135deg, #fabd2f, #d9a426);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(250, 189, 47, 0.28);
}
html[data-skin="gruvbox-dark"] .auth-btn:hover {
  background: linear-gradient(135deg, #ffd25e, #e6b437);
  box-shadow: 0 0 26px rgba(250, 189, 47, 0.43000000000000005);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="gruvbox-dark"] .notice-panel {
  box-shadow: 0 8px 40px rgba(8, 7, 5, 0.65), 0 0 18px rgba(250, 189, 47, 0.10);
}
html[data-skin="gruvbox-dark"] .notice-dot {
  border-color: #32302f;
}
html[data-skin="gruvbox-dark"] .notice-toast {
  border-color: rgba(250, 189, 47, 0.55);
  border-left: 4px solid #fabd2f;
  box-shadow: 0 8px 30px rgba(8, 7, 5, 0.6), 0 0 18px rgba(250, 189, 47, 0.13);
}
html[data-skin="gruvbox-dark"] .notice-toast .t-head {
  background: rgba(250, 189, 47, 0.12);
  color: #fabd2f;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="gruvbox-dark"] .pagination-bar button {
  background: #32302f;
  border: 1px solid #504945;
  color: var(--text);
}
html[data-skin="gruvbox-dark"] .pagination-bar button:hover {
  border-color: #fabd2f;
  color: #fabd2f;
  box-shadow: 0 0 10px rgba(250, 189, 47, 0.22);
}
html[data-skin="gruvbox-dark"] .points-badge {
  background: #d79921;
  color: #2f2506;
}
html[data-skin="gruvbox-dark"] .batch-result-item.ok {
  border-color: rgba(184, 187, 38, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补投影；内联白底二维码盒压成淡纸白 ---- */
html[data-skin="gruvbox-dark"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(8, 7, 5, 0.65), 0 0 24px rgba(250, 189, 47, 0.08) !important;
}
html[data-skin="gruvbox-dark"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #fabd2f, #fe8019) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="gruvbox-dark"] #lxjQrBox,
html[data-skin="gruvbox-dark"] #batchScanQr {
  background: #f4ecd8 !important;
  border: 1px solid rgba(250, 189, 47, 0.4);
}
html[data-skin="gruvbox-dark"] img[style*="background:#fff"] {
  background: #f4ecd8 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="gruvbox-dark"] * {
    transition: none !important;
  }
  html[data-skin="gruvbox-dark"] body {
    animation: none;
  }
}
/* ===== 复古昼盘 (gruvbox-light) ===== */
/*SKIN {"id":"gruvbox-light","name":"复古昼盘","colors":["#fbf1c7","#b57614","#3c3836"]}*/
/* 复古昼盘：gruvbox-light 暖黄纸底 + 米黄卡面 + 深炭正文 + 沙金强调，复古绿 #427b58 点缀 */

/* ---------- 变量重定义 ---------- */
html[data-skin="gruvbox-light"] {
  --bg: #fbf1c7;
  --surface: #f2e5bc;
  --card: #f2e5bc;
  --border: #d5c4a1;
  --border-light: #bda87c;
  --text: #3c3836;
  --text-secondary: #665c54;
  --text-muted: #928374;
  --accent: #b57614;
  --accent-hover: #966010;
  --accent-subtle: rgba(181,118,20,0.10);
  --success: #427b58;
  --success-subtle: rgba(66,123,88,0.11);
  --error: #9d0006;
  --error-subtle: rgba(157,0,6,0.10);
  --warning: #d79921;
  --warning-subtle: rgba(215,153,33,0.12);
  --info: #076678;
  --radius: 8px;
  --radius-sm: 6px;
  --shadow-1: 0 1px 3px rgba(60,56,54,0.08);
  --shadow-2: 0 4px 14px rgba(60,56,54,0.11);
  --shadow-3: 0 10px 34px rgba(60,56,54,0.15);
  --row-alt: #f4e9c6;
  --log-bg: #f3e7c1;
  --btn-disabled-bg: #e1c8a1;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="gruvbox-light"][data-theme="dark"] {
  --bg: #fbf1c7;
  --surface: #f2e5bc;
  --card: #f2e5bc;
  --border: #d5c4a1;
  --border-light: #bda87c;
  --text: #3c3836;
  --text-secondary: #665c54;
  --text-muted: #928374;
  --accent: #b57614;
  --accent-hover: #966010;
  --accent-subtle: rgba(181,118,20,0.10);
  --success: #427b58;
  --success-subtle: rgba(66,123,88,0.11);
  --error: #9d0006;
  --error-subtle: rgba(157,0,6,0.10);
  --warning: #d79921;
  --warning-subtle: rgba(215,153,33,0.12);
  --info: #076678;
  --radius: 8px;
  --radius-sm: 6px;
  --shadow-1: 0 1px 3px rgba(60,56,54,0.08);
  --shadow-2: 0 4px 14px rgba(60,56,54,0.11);
  --shadow-3: 0 10px 34px rgba(60,56,54,0.15);
  --row-alt: #f4e9c6;
  --log-bg: #f3e7c1;
  --btn-disabled-bg: #e1c8a1;
  color-scheme: light;
}

/* ---------- 页面底：浅色弥散渐变 ---------- */
html[data-skin="gruvbox-light"] body {
  background:
    radial-gradient(40rem 40rem at 8% -6%, rgba(215,153,33,0.12), transparent 60%),
    radial-gradient(36rem 36rem at 94% 14%, rgba(175,58,3,0.06), transparent 62%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(189,168,124,0.16), transparent 64%),
    linear-gradient(180deg, #fbf1c7 0%, #f7edc8 100%);
  background-attachment: fixed;
  color: #3c3836;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影 ---------- */
html[data-skin="gruvbox-light"] .card,
html[data-skin="gruvbox-light"] .stat-card,
html[data-skin="gruvbox-light"] .acc-card,
html[data-skin="gruvbox-light"] .auth-panel,
html[data-skin="gruvbox-light"] .admin-panel,
html[data-skin="gruvbox-light"] .config-panel,
html[data-skin="gruvbox-light"] .notice-panel,
html[data-skin="gruvbox-light"] .notice-toast,
html[data-skin="gruvbox-light"] .autocomplete-dropdown,
html[data-skin="gruvbox-light"] .batch-result-item,
html[data-skin="gruvbox-light"] .modal-box {
  background: #f2e5bc;
  border: 1px solid #d5c4a1;
  box-shadow: 0 4px 16px rgba(60,56,54,0.10);
}
html[data-skin="gruvbox-light"] .card:hover,
html[data-skin="gruvbox-light"] .stat-card:hover {
  border-color: #bda87c;
  box-shadow: 0 8px 24px rgba(60,56,54,0.16);
}
html[data-skin="gruvbox-light"] .card-title {
  color: #b57614;
}

/* ---------- 顶栏：半透明浅色毛玻璃 ---------- */
html[data-skin="gruvbox-light"] .header {
  background: rgba(251,241,199,0.82);
  border-bottom: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"] .header h1 {
  background: linear-gradient(120deg, #b57614, #af3a03);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="gruvbox-light"] .btn {
  border-radius: 6px;
  font-weight: 600;
}
html[data-skin="gruvbox-light"] .btn-primary,
html[data-skin="gruvbox-light"] .auth-btn,
html[data-skin="gruvbox-light"] .admin-tab.active {
  background: #b57614;
  color: #ffffff;
  border: 1px solid #b57614;
  box-shadow: 0 4px 12px rgba(181,118,20,0.22);
}
html[data-skin="gruvbox-light"] .btn-primary:hover,
html[data-skin="gruvbox-light"] .auth-btn:hover {
  background: #966010;
  border-color: #966010;
  box-shadow: 0 6px 16px rgba(150,96,16,0.3);
}
html[data-skin="gruvbox-light"] .btn-primary:disabled,
html[data-skin="gruvbox-light"] .pagination-bar button:disabled {
  background: #e1c8a1;
  color: #ffffff;
  border-color: #e1c8a1;
  box-shadow: none;
}
html[data-skin="gruvbox-light"] .btn-secondary,
html[data-skin="gruvbox-light"] .batch-btn,
html[data-skin="gruvbox-light"] .pagination-bar button,
html[data-skin="gruvbox-light"] .notice-panel-head .n-clear {
  background: #f2e5bc;
  color: #665c54;
  border: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"] .btn-secondary:hover,
html[data-skin="gruvbox-light"] .batch-btn:hover,
html[data-skin="gruvbox-light"] .pagination-bar button:hover {
  background: #f9f2da;
  color: #b57614;
  border-color: #bda87c;
}
html[data-skin="gruvbox-light"] .btn-danger {
  background: rgba(157,0,6,0.08);
  color: #9d0006;
  border: 1px solid rgba(157,0,6,0.22);
}
html[data-skin="gruvbox-light"] .btn-danger:hover {
  background: rgba(157,0,6,0.15);
}

/* ---------- 输入控件：聚焦主题色描边 ---------- */
html[data-skin="gruvbox-light"] input[type="text"],
html[data-skin="gruvbox-light"] input[type="password"],
html[data-skin="gruvbox-light"] input[type="number"],
html[data-skin="gruvbox-light"] textarea,
html[data-skin="gruvbox-light"] select,
html[data-skin="gruvbox-light"] .auth-input,
html[data-skin="gruvbox-light"] .admin-table input,
html[data-skin="gruvbox-light"] .config-row input {
  background: #fdf9ea;
  border: 1px solid #c9b992;
  color: #3c3836;
}
html[data-skin="gruvbox-light"] input[type="text"],
html[data-skin="gruvbox-light"] input[type="password"],
html[data-skin="gruvbox-light"] input[type="number"],
html[data-skin="gruvbox-light"] textarea,
html[data-skin="gruvbox-light"] select,
html[data-skin="gruvbox-light"] .auth-input,
html[data-skin="gruvbox-light"] .admin-table input,
html[data-skin="gruvbox-light"] .config-row input,
html[data-skin="gruvbox-light"] #reservationGame,
html[data-skin="gruvbox-light"] #modalGameName {
  outline: none;
  border-color: #b57614;
  box-shadow: 0 0 0 3px rgba(181,118,20,0.13);
}
html[data-skin="gruvbox-light"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fdf9ea inset;
  -webkit-text-fill-color: #3c3836;
}
html[data-skin="gruvbox-light"] input[type="checkbox"],
html[data-skin="gruvbox-light"] .acc-card-top .acc-check input {
  accent-color: #b57614;
}
html[data-skin="gruvbox-light"] ::placeholder {
  color: #a89878;
}

/* ---------- 表格（管理表 + 日志表 + 批量表） ---------- */
html[data-skin="gruvbox-light"] .admin-table th,
html[data-skin="gruvbox-light"] .log-table th,
html[data-skin="gruvbox-light"] #batchAccountTable th,
html[data-skin="gruvbox-light"] #batchUnlockedTable th {
  color: #966010;
  background: #f4e9c6;
  border-bottom: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"] .admin-table td,
html[data-skin="gruvbox-light"] .log-table td {
  border-bottom: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"] .admin-table tr:hover td,
html[data-skin="gruvbox-light"] .log-table tr:hover td,
html[data-skin="gruvbox-light"] #batchAccountTable tbody tr:hover {
  background: rgba(181,118,20,0.05);
}
html[data-skin="gruvbox-light"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="gruvbox-light"] .log-table tbody tr:nth-child(even) td {
  background: #f4e9c6;
}

/* ---------- 日志区 ---------- */
html[data-skin="gruvbox-light"] .log-box {
  background: #f3e7c1;
  border: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"] .log-detail-pre {
  background: #f4e9c6;
  color: #3c3836;
}
html[data-skin="gruvbox-light"] .log-line.success {
  color: #427b58;
}
html[data-skin="gruvbox-light"] .log-line.fail {
  color: #9d0006;
}
html[data-skin="gruvbox-light"] .log-line.info {
  color: #076678;
}
html[data-skin="gruvbox-light"] .log-line.skip {
  color: #d79921;
}

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="gruvbox-light"] .badge-info {
  background: rgba(7,102,120,0.10);
  color: #076678;
}
html[data-skin="gruvbox-light"] .badge-success {
  background: rgba(66,123,88,0.10);
  color: #427b58;
}
html[data-skin="gruvbox-light"] .badge-error {
  background: rgba(157,0,6,0.09);
  color: #9d0006;
}
html[data-skin="gruvbox-light"] .badge-warning {
  background: rgba(215,153,33,0.11);
  color: #d79921;
}
html[data-skin="gruvbox-light"] .stat-num.blue {
  color: #076678;
}
html[data-skin="gruvbox-light"] .stat-num.green {
  color: #427b58;
}
html[data-skin="gruvbox-light"] .stat-num.red {
  color: #9d0006;
}
html[data-skin="gruvbox-light"] .stat-num.yellow {
  color: #d79921;
}
html[data-skin="gruvbox-light"] .debt-warning {
  background: rgba(157,0,6,0.08);
  border: 1px solid rgba(157,0,6,0.22);
  color: #9d0006;
}
html[data-skin="gruvbox-light"] .autocomplete-item.active,
html[data-skin="gruvbox-light"] .autocomplete-item:hover {
  background: rgba(181,118,20,0.07);
}
html[data-skin="gruvbox-light"] .admin-tab {
  background: #f2e5bc;
  color: #665c54;
  border: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"] .admin-tab:hover {
  border-color: #bda87c;
  color: #b57614;
}

/* ---------- 通知铃 / 红点 ---------- */
html[data-skin="gruvbox-light"] .notice-bell,
html[data-skin="gruvbox-light"] .n-dot {
  color: #b57614;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="gruvbox-light"] #logDetailModal,
html[data-skin="gruvbox-light"] #pointsRecordsModal,
html[data-skin="gruvbox-light"] #batchScanModal {
  background: rgba(60,56,54,0.5);
}
html[data-skin="gruvbox-light"] #lxjQrBox,
html[data-skin="gruvbox-light"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"] #batchScanQrImg,
html[data-skin="gruvbox-light"] #batchScanQr img,
html[data-skin="gruvbox-light"] #lxjQrBox img,
html[data-skin="gruvbox-light"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="gruvbox-light"] ::-webkit-scrollbar-thumb {
  background: #c8b48e;
  border-radius: 6px;
}
html[data-skin="gruvbox-light"] ::-webkit-scrollbar-thumb:hover {
  background: #b57614;
}
html[data-skin="gruvbox-light"] ::selection {
  background: rgba(181,118,20,0.16);
  color: #3c3836;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="gruvbox-light"] .btn,
html[data-skin="gruvbox-light"] .card,
html[data-skin="gruvbox-light"] .stat-card,
html[data-skin="gruvbox-light"] .acc-card,
html[data-skin="gruvbox-light"] input,
html[data-skin="gruvbox-light"] select,
html[data-skin="gruvbox-light"] textarea,
html[data-skin="gruvbox-light"] .admin-tab,
html[data-skin="gruvbox-light"] .pagination-bar button,
html[data-skin="gruvbox-light"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ================================================== */
/* 夜间模式守卫：data-theme="dark" 时全部强制回浅色， */
/* 防止全局夜间样式残留刺眼（特异性 0,2,1+ 压过深色规则） */
/* ================================================== */

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影（强制回浅色） ---------- */
html[data-skin="gruvbox-light"][data-theme="dark"] .card,
html[data-skin="gruvbox-light"][data-theme="dark"] .stat-card,
html[data-skin="gruvbox-light"][data-theme="dark"] .acc-card,
html[data-skin="gruvbox-light"][data-theme="dark"] .auth-panel,
html[data-skin="gruvbox-light"][data-theme="dark"] .admin-panel,
html[data-skin="gruvbox-light"][data-theme="dark"] .config-panel,
html[data-skin="gruvbox-light"][data-theme="dark"] .notice-panel,
html[data-skin="gruvbox-light"][data-theme="dark"] .notice-toast,
html[data-skin="gruvbox-light"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="gruvbox-light"][data-theme="dark"] .batch-result-item,
html[data-skin="gruvbox-light"][data-theme="dark"] .modal-box {
  background: #f2e5bc;
  border: 1px solid #d5c4a1;
  box-shadow: 0 4px 16px rgba(60,56,54,0.10);
}
html[data-skin="gruvbox-light"][data-theme="dark"] .card:hover,
html[data-skin="gruvbox-light"][data-theme="dark"] .stat-card:hover {
  border-color: #bda87c;
  box-shadow: 0 8px 24px rgba(60,56,54,0.16);
}
html[data-skin="gruvbox-light"][data-theme="dark"] .card-title {
  color: #b57614;
}

/* ---------- 顶栏：半透明浅色毛玻璃（强制回浅色） ---------- */
html[data-skin="gruvbox-light"][data-theme="dark"] .header {
  background: rgba(251,241,199,0.82);
  border-bottom: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #b57614, #af3a03);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系（强制回浅色） ---------- */
html[data-skin="gruvbox-light"][data-theme="dark"] .btn {
  border-radius: 6px;
  font-weight: 600;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .btn-primary,
html[data-skin="gruvbox-light"][data-theme="dark"] .auth-btn,
html[data-skin="gruvbox-light"][data-theme="dark"] .admin-tab.active {
  background: #b57614;
  color: #ffffff;
  border: 1px solid #b57614;
  box-shadow: 0 4px 12px rgba(181,118,20,0.22);
}
html[data-skin="gruvbox-light"][data-theme="dark"] .btn-primary:hover,
html[data-skin="gruvbox-light"][data-theme="dark"] .auth-btn:hover {
  background: #966010;
  border-color: #966010;
  box-shadow: 0 6px 16px rgba(150,96,16,0.3);
}
html[data-skin="gruvbox-light"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="gruvbox-light"][data-theme="dark"] .pagination-bar button:disabled {
  background: #e1c8a1;
  color: #ffffff;
  border-color: #e1c8a1;
  box-shadow: none;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .btn-secondary,
html[data-skin="gruvbox-light"][data-theme="dark"] .batch-btn,
html[data-skin="gruvbox-light"][data-theme="dark"] .pagination-bar button,
html[data-skin="gruvbox-light"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #f2e5bc;
  color: #665c54;
  border: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="gruvbox-light"][data-theme="dark"] .batch-btn:hover,
html[data-skin="gruvbox-light"][data-theme="dark"] .pagination-bar button:hover {
  background: #f9f2da;
  color: #b57614;
  border-color: #bda87c;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .btn-danger {
  background: rgba(157,0,6,0.08);
  color: #9d0006;
  border: 1px solid rgba(157,0,6,0.22);
}
html[data-skin="gruvbox-light"][data-theme="dark"] .btn-danger:hover {
  background: rgba(157,0,6,0.15);
}

/* ---------- 输入控件：聚焦主题色描边（强制回浅色） ---------- */
html[data-skin="gruvbox-light"][data-theme="dark"] input[type="text"],
html[data-skin="gruvbox-light"][data-theme="dark"] input[type="password"],
html[data-skin="gruvbox-light"][data-theme="dark"] input[type="number"],
html[data-skin="gruvbox-light"][data-theme="dark"] textarea,
html[data-skin="gruvbox-light"][data-theme="dark"] select,
html[data-skin="gruvbox-light"][data-theme="dark"] .auth-input,
html[data-skin="gruvbox-light"][data-theme="dark"] .admin-table input,
html[data-skin="gruvbox-light"][data-theme="dark"] .config-row input {
  background: #fdf9ea;
  border: 1px solid #c9b992;
  color: #3c3836;
}
html[data-skin="gruvbox-light"][data-theme="dark"] input[type="text"],
html[data-skin="gruvbox-light"][data-theme="dark"] input[type="password"],
html[data-skin="gruvbox-light"][data-theme="dark"] input[type="number"],
html[data-skin="gruvbox-light"][data-theme="dark"] textarea,
html[data-skin="gruvbox-light"][data-theme="dark"] select,
html[data-skin="gruvbox-light"][data-theme="dark"] .auth-input,
html[data-skin="gruvbox-light"][data-theme="dark"] .admin-table input,
html[data-skin="gruvbox-light"][data-theme="dark"] .config-row input,
html[data-skin="gruvbox-light"][data-theme="dark"] #reservationGame,
html[data-skin="gruvbox-light"][data-theme="dark"] #modalGameName {
  outline: none;
  border-color: #b57614;
  box-shadow: 0 0 0 3px rgba(181,118,20,0.13);
}
html[data-skin="gruvbox-light"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fdf9ea inset;
  -webkit-text-fill-color: #3c3836;
}
html[data-skin="gruvbox-light"][data-theme="dark"] input[type="checkbox"],
html[data-skin="gruvbox-light"][data-theme="dark"] .acc-card-top .acc-check input {
  accent-color: #b57614;
}
html[data-skin="gruvbox-light"][data-theme="dark"] ::placeholder {
  color: #a89878;
}

/* ---------- 表格（管理表 + 日志表 + 批量表）（强制回浅色） ---------- */
html[data-skin="gruvbox-light"][data-theme="dark"] .admin-table th,
html[data-skin="gruvbox-light"][data-theme="dark"] .log-table th,
html[data-skin="gruvbox-light"][data-theme="dark"] #batchAccountTable th,
html[data-skin="gruvbox-light"][data-theme="dark"] #batchUnlockedTable th {
  color: #966010;
  background: #f4e9c6;
  border-bottom: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .admin-table td,
html[data-skin="gruvbox-light"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="gruvbox-light"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="gruvbox-light"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(181,118,20,0.05);
}
html[data-skin="gruvbox-light"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="gruvbox-light"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #f4e9c6;
}

/* ---------- 日志区（强制回浅色） ---------- */
html[data-skin="gruvbox-light"][data-theme="dark"] .log-box {
  background: #f3e7c1;
  border: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .log-detail-pre {
  background: #f4e9c6;
  color: #3c3836;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .log-line.success {
  color: #427b58;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .log-line.fail {
  color: #9d0006;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .log-line.info {
  color: #076678;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .log-line.skip {
  color: #d79921;
}

/* ---------- 徽标 / 状态 / 提示（强制回浅色） ---------- */
html[data-skin="gruvbox-light"][data-theme="dark"] .badge-info {
  background: rgba(7,102,120,0.10);
  color: #076678;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .badge-success {
  background: rgba(66,123,88,0.10);
  color: #427b58;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .badge-error {
  background: rgba(157,0,6,0.09);
  color: #9d0006;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .badge-warning {
  background: rgba(215,153,33,0.11);
  color: #d79921;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .stat-num.blue {
  color: #076678;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .stat-num.green {
  color: #427b58;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .stat-num.red {
  color: #9d0006;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .stat-num.yellow {
  color: #d79921;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .debt-warning {
  background: rgba(157,0,6,0.08);
  border: 1px solid rgba(157,0,6,0.22);
  color: #9d0006;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="gruvbox-light"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(181,118,20,0.07);
}
html[data-skin="gruvbox-light"][data-theme="dark"] .admin-tab {
  background: #f2e5bc;
  color: #665c54;
  border: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"][data-theme="dark"] .admin-tab:hover {
  border-color: #bda87c;
  color: #b57614;
}

/* ---------- 通知铃 / 红点（强制回浅色） ---------- */
html[data-skin="gruvbox-light"][data-theme="dark"] .notice-bell,
html[data-skin="gruvbox-light"][data-theme="dark"] .n-dot {
  color: #b57614;
}

/* ---------- 弹窗遮罩 / 二维码盒（强制回浅色） ---------- */
html[data-skin="gruvbox-light"][data-theme="dark"] #logDetailModal,
html[data-skin="gruvbox-light"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="gruvbox-light"][data-theme="dark"] #batchScanModal {
  background: rgba(60,56,54,0.5);
}
html[data-skin="gruvbox-light"][data-theme="dark"] #lxjQrBox,
html[data-skin="gruvbox-light"][data-theme="dark"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #d5c4a1;
}
html[data-skin="gruvbox-light"][data-theme="dark"] #batchScanQrImg,
html[data-skin="gruvbox-light"][data-theme="dark"] #batchScanQr img,
html[data-skin="gruvbox-light"][data-theme="dark"] #lxjQrBox img,
html[data-skin="gruvbox-light"][data-theme="dark"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区（强制回浅色） ---------- */
html[data-skin="gruvbox-light"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #c8b48e;
  border-radius: 6px;
}
html[data-skin="gruvbox-light"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #b57614;
}
html[data-skin="gruvbox-light"][data-theme="dark"] ::selection {
  background: rgba(181,118,20,0.16);
  color: #3c3836;
}

/* ---------- 全局过渡（强制回浅色） ---------- */
html[data-skin="gruvbox-light"][data-theme="dark"] .btn,
html[data-skin="gruvbox-light"][data-theme="dark"] .card,
html[data-skin="gruvbox-light"][data-theme="dark"] .stat-card,
html[data-skin="gruvbox-light"][data-theme="dark"] .acc-card,
html[data-skin="gruvbox-light"][data-theme="dark"] input,
html[data-skin="gruvbox-light"][data-theme="dark"] select,
html[data-skin="gruvbox-light"][data-theme="dark"] textarea,
html[data-skin="gruvbox-light"][data-theme="dark"] .admin-tab,
html[data-skin="gruvbox-light"][data-theme="dark"] .pagination-bar button,
html[data-skin="gruvbox-light"][data-theme="dark"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
/* ===== 墨韵 (ink) ===== */
/*SKIN {"id":"ink","name":"墨韵","colors":["#f7f4ee","#c0392b","#2b2926"]}*/
/* ================================================================== */
/* [墨韵] 中国风水墨：宣纸白底 + 淡墨描边 + 墨黑正文 + 朱砂印红强调    */
/* 文人纸卷感：楷/宋标题、方角按钮（4px）、朱砂底白字、淡墨表格线      */
/* ================================================================== */

/* ---------- 变量重定义 ---------- */
html[data-skin="ink"] {
  --bg: #f7f4ee;
  --surface: #fffdf8;
  --card: #fffdf8;
  --border: #d8d2c4;
  --border-light: #c8c0ae;
  --text: #2b2926;
  --text-secondary: #55504a;
  --text-muted: #8a8378;
  --accent: #c0392b;
  --accent-hover: #96281b;
  --accent-subtle: rgba(192,57,43,0.08);
  --success: #4a7a52;
  --success-subtle: rgba(74,122,82,0.1);
  --error: #b03a2e;
  --error-subtle: rgba(176,58,46,0.08);
  --warning: #a8762a;
  --warning-subtle: rgba(168,118,42,0.1);
  --info: #34568b;
  --radius: 4px;
  --radius-sm: 3px;
  --shadow-1: 0 1px 3px rgba(60,50,40,0.08);
  --shadow-2: 0 3px 10px rgba(60,50,40,0.08);
  --shadow-3: 0 8px 28px rgba(60,50,40,0.14);
  --row-alt: #f5f1e8;
  --log-bg: #f2eee4;
  --btn-disabled-bg: #cbb8ac;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="ink"][data-theme="dark"] {
  --bg: #f7f4ee;
  --surface: #fffdf8;
  --card: #fffdf8;
  --border: #d8d2c4;
  --border-light: #c8c0ae;
  --text: #2b2926;
  --text-secondary: #55504a;
  --text-muted: #8a8378;
  --accent: #c0392b;
  --accent-hover: #96281b;
  --accent-subtle: rgba(192,57,43,0.08);
  --success: #4a7a52;
  --success-subtle: rgba(74,122,82,0.1);
  --error: #b03a2e;
  --error-subtle: rgba(176,58,46,0.08);
  --warning: #a8762a;
  --warning-subtle: rgba(168,118,42,0.1);
  --info: #34568b;
  --row-alt: #f5f1e8;
  --log-bg: #f2eee4;
  --btn-disabled-bg: #cbb8ac;
  color-scheme: light;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="ink"] * {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ---------- 页面底：宣纸白 + 极淡纸纹感渐变 ---------- */
html[data-skin="ink"] body {
  background:
    radial-gradient(40rem 30rem at 12% 0%, rgba(216,210,196,0.28), transparent 58%),
    radial-gradient(44rem 34rem at 90% 100%, rgba(216,210,196,0.22), transparent 60%),
    linear-gradient(180deg, #f7f4ee 0%, #f4f0e7 52%, #f6f2ea 100%);
  background-attachment: fixed;
  color: #2b2926;
  min-height: 100vh;
}
/* 暗色模式下仍强制宣纸底 */
html[data-skin="ink"][data-theme="dark"] body {
  background:
    radial-gradient(40rem 30rem at 12% 0%, rgba(216,210,196,0.28), transparent 58%),
    radial-gradient(44rem 34rem at 90% 100%, rgba(216,210,196,0.22), transparent 60%),
    linear-gradient(180deg, #f7f4ee 0%, #f4f0e7 52%, #f6f2ea 100%);
  color: #2b2926;
}

/* ---------- 标题墨色：楷体/宋体栈 ---------- */
html[data-skin="ink"] .header h1,
html[data-skin="ink"] .card-title,
html[data-skin="ink"] .admin-title {
  font-family: "KaiTi", "STKaiti", "SimSun", serif;
  color: #2b2926;
  letter-spacing: 0.06em;
}
html[data-skin="ink"] .header h1 {
  background: none;
  background-image: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #2b2926;
}
html[data-skin="ink"] h2[style*="linear-gradient"] {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #2b2926 !important;
  color: #2b2926 !important;
  font-family: "KaiTi", "STKaiti", "SimSun", serif;
}

/* ---------- 卡片 / 面板：宣纸卡 + 淡墨描边 ---------- */
html[data-skin="ink"] .card,
html[data-skin="ink"] .stat-card,
html[data-skin="ink"] .acc-card,
html[data-skin="ink"] .auth-panel,
html[data-skin="ink"] .admin-panel,
html[data-skin="ink"] .config-panel,
html[data-skin="ink"] .notice-panel,
html[data-skin="ink"] .notice-toast,
html[data-skin="ink"] .autocomplete-dropdown,
html[data-skin="ink"] .batch-result-item,
html[data-skin="ink"] .modal-box {
  background: #fffdf8;
  border: 1px solid #d8d2c4;
  box-shadow: 0 2px 8px rgba(60,50,40,0.07);
}
html[data-skin="ink"] .card:hover,
html[data-skin="ink"] .stat-card:hover {
  border-color: #c8c0ae;
  box-shadow: 0 5px 18px rgba(60,50,40,0.12);
}
html[data-skin="ink"] .card-title {
  border-bottom: 1px solid #e5dfd2;
}
html[data-skin="ink"] .header {
  background: rgba(255,253,248,0.82);
  border-bottom: 1px solid #d8d2c4;
}

/* ---------- 按钮全系：方角 + 朱砂底白字 ---------- */
html[data-skin="ink"] .btn {
  border-radius: 4px;
  font-weight: 600;
}
html[data-skin="ink"] .btn-primary,
html[data-skin="ink"] .auth-btn,
html[data-skin="ink"] .admin-tab.active {
  background: #c0392b;
  color: #fdf6f0;
  border: 1px solid #c0392b;
  box-shadow: 0 2px 8px rgba(192,57,43,0.24);
}
html[data-skin="ink"] .btn-primary:hover,
html[data-skin="ink"] .auth-btn:hover,
html[data-skin="ink"] .btn-primary:active {
  background: #96281b;
  border-color: #96281b;
  box-shadow: 0 4px 12px rgba(150,40,27,0.3);
}
html[data-skin="ink"] .btn-primary:disabled,
html[data-skin="ink"] .pagination-bar button:disabled {
  background: #cbb8ac;
  color: #fffdf8;
  border-color: #cbb8ac;
  box-shadow: none;
}
html[data-skin="ink"] .btn-secondary,
html[data-skin="ink"] .batch-btn,
html[data-skin="ink"] .pagination-bar button,
html[data-skin="ink"] .notice-panel-head .n-clear {
  background: #fffdf8;
  color: #55504a;
  border: 1px solid #d8d2c4;
}
html[data-skin="ink"] .btn-secondary:hover,
html[data-skin="ink"] .batch-btn:hover,
html[data-skin="ink"] .pagination-bar button:hover {
  background: #f5f1e8;
  color: #c0392b;
  border-color: #c8c0ae;
}
html[data-skin="ink"] .btn-danger {
  background: rgba(176,58,46,0.08);
  color: #b03a2e;
  border: 1px solid rgba(176,58,46,0.3);
}
html[data-skin="ink"] .btn-danger:hover {
  background: rgba(176,58,46,0.16);
}
html[data-skin="ink"] .admin-tab {
  background: #fffdf8;
  color: #55504a;
  border: 1px solid #d8d2c4;
  border-radius: 4px;
}
html[data-skin="ink"] .admin-tab:hover {
  border-color: #c8c0ae;
  color: #c0392b;
}

/* ---------- 输入控件：聚焦朱砂描边 ---------- */
html[data-skin="ink"] input[type="text"],
html[data-skin="ink"] input[type="password"],
html[data-skin="ink"] input[type="number"],
html[data-skin="ink"] textarea,
html[data-skin="ink"] select,
html[data-skin="ink"] .auth-input,
html[data-skin="ink"] .admin-table input,
html[data-skin="ink"] .config-row input {
  background: #fffdf8;
  border: 1px solid #d0c9b8;
  color: #2b2926;
  border-radius: 4px;
}
html[data-skin="ink"] input[type="text"]:focus,
html[data-skin="ink"] input[type="password"]:focus,
html[data-skin="ink"] input[type="number"]:focus,
html[data-skin="ink"] textarea:focus,
html[data-skin="ink"] select:focus,
html[data-skin="ink"] .auth-input:focus,
html[data-skin="ink"] #reservationGame:focus,
html[data-skin="ink"] #modalGameName:focus {
  outline: none;
  border-color: #c0392b;
  box-shadow: 0 0 0 3px rgba(192,57,43,0.12);
}
html[data-skin="ink"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #f7f4ee inset;
  -webkit-text-fill-color: #2b2926;
}
html[data-skin="ink"] input[type="checkbox"],
html[data-skin="ink"] .acc-check input {
  accent-color: #c0392b;
}
html[data-skin="ink"] ::placeholder {
  color: #a89e8d;
}

/* ---------- 双表格：淡墨线 ---------- */
html[data-skin="ink"] .admin-table th,
html[data-skin="ink"] .log-table th,
html[data-skin="ink"] #batchAccountTable th,
html[data-skin="ink"] #batchUnlockedTable th {
  color: #55504a;
  background: #f5f1e8;
  border-bottom: 1px solid #c8c0ae;
}
html[data-skin="ink"] .admin-table td,
html[data-skin="ink"] .log-table td {
  border-bottom: 1px solid #e5dfd2;
}
html[data-skin="ink"] .admin-table tr:hover td,
html[data-skin="ink"] .log-table tr:hover td,
html[data-skin="ink"] #batchAccountTable tbody tr:hover {
  background: rgba(192,57,43,0.04);
}
html[data-skin="ink"] .log-table tbody tr:nth-child(even) td {
  background: #f5f1e8;
}

/* ---------- 日志区 ---------- */
html[data-skin="ink"] .log-box {
  background: #f2eee4;
  border: 1px solid #d8d2c4;
}
html[data-skin="ink"] .log-detail-pre {
  background: #f5f1e8;
  color: #2b2926;
}
html[data-skin="ink"] .log-line.success { color: #4a7a52; }
html[data-skin="ink"] .log-line.fail { color: #b03a2e; }
html[data-skin="ink"] .log-line.info { color: #34568b; }
html[data-skin="ink"] .log-line.skip { color: #a8762a; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="ink"] .badge-info { background: rgba(52,86,139,0.09); color: #34568b; }
html[data-skin="ink"] .badge-success { background: rgba(74,122,82,0.1); color: #4a7a52; }
html[data-skin="ink"] .badge-error { background: rgba(176,58,46,0.09); color: #b03a2e; }
html[data-skin="ink"] .badge-warning { background: rgba(168,118,42,0.1); color: #a8762a; }
html[data-skin="ink"] .stat-num.blue { color: #34568b; }
html[data-skin="ink"] .stat-num.green { color: #4a7a52; }
html[data-skin="ink"] .stat-num.red { color: #b03a2e; }
html[data-skin="ink"] .stat-num.yellow { color: #a8762a; }
html[data-skin="ink"] .debt-warning {
  background: rgba(176,58,46,0.08);
  border: 1px solid rgba(176,58,46,0.3);
  color: #b03a2e;
}
html[data-skin="ink"] .autocomplete-item.active,
html[data-skin="ink"] .autocomplete-item:hover {
  background: rgba(192,57,43,0.06);
}
html[data-skin="ink"] .notice-item:hover {
  background: rgba(192,57,43,0.05);
}
html[data-skin="ink"] .notice-bell,
html[data-skin="ink"] .n-dot {
  color: #c0392b;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="ink"] #logDetailModal,
html[data-skin="ink"] #pointsRecordsModal,
html[data-skin="ink"] #batchScanModal {
  background: rgba(43,41,38,0.5) !important;
}
html[data-skin="ink"] #batchScanQr,
html[data-skin="ink"] #lxjQrBox {
  background: #fbf8f1 !important;
  border: 1px solid #d8d2c4;
}
html[data-skin="ink"] #batchScanQrImg,
html[data-skin="ink"] #batchScanQr img,
html[data-skin="ink"] #lxjQrBox img,
html[data-skin="ink"] #lxjQrBox canvas,
html[data-skin="ink"] img[style*="background:#fff"],
html[data-skin="ink"] img[style*="background: #fff"] {
  background: #fffdf8 !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="ink"] ::-webkit-scrollbar-thumb {
  background: #c8c0ae;
  border-radius: 3px;
}
html[data-skin="ink"] ::-webkit-scrollbar-thumb:hover {
  background: #c0392b;
}
html[data-skin="ink"] ::selection {
  background: rgba(192,57,43,0.15);
  color: #2b2926;
}

/* ---------- 暗色变体 data-theme="dark"：夜宣纸 ---------- */
/* 玄墨底 #1b1815/#242019 + 淡墨描边 #38322a + 宣纸字 #eae4d6 + 朱砂提亮 #e05545 */
html[data-skin="ink"][data-theme="dark"] {
  --bg: #1b1815;
  --surface: #242019;
  --card: #242019;
  --border: #38322a;
  --border-light: #463e32;
  --text: #eae4d6;
  --text-secondary: #beb39c;
  --text-muted: #8f8674;
  --accent: #e05545;
  --accent-hover: #ec6b5b;
  --accent-subtle: rgba(224,85,69,0.14);
  --success: #6fae7c;
  --success-subtle: rgba(111,174,124,0.14);
  --error: #ef6a5a;
  --error-subtle: rgba(239,106,90,0.12);
  --warning: #d4a373;
  --warning-subtle: rgba(212,163,115,0.14);
  --info: #6b9bd1;
  --radius: 4px;
  --radius-sm: 3px;
  --shadow-1: 0 1px 3px rgba(0,0,0,0.45);
  --shadow-2: 0 3px 10px rgba(0,0,0,0.5);
  --shadow-3: 0 8px 28px rgba(0,0,0,0.6);
  --row-alt: #201c15;
  --log-bg: #171410;
  --btn-disabled-bg: #4a4034;
  color-scheme: dark;
}
/* 页面底：玄墨夜纸 + 淡墨/朱砂微光（压过同特异性但更早的浅色守卫） */
html[data-skin="ink"][data-theme="dark"] body {
  background:
    radial-gradient(40rem 30rem at 12% 0%, rgba(224,85,69,0.05), transparent 58%),
    radial-gradient(44rem 34rem at 90% 100%, rgba(120,105,80,0.14), transparent 60%),
    linear-gradient(180deg, #1b1815 0%, #181512 52%, #1b1815 100%);
  background-attachment: fixed;
  color: #eae4d6;
  min-height: 100vh;
}
/* 标题：楷/宋栈保留，夜宣纸字色 #f0e8d8 */
html[data-skin="ink"][data-theme="dark"] .header h1,
html[data-skin="ink"][data-theme="dark"] .card-title,
html[data-skin="ink"][data-theme="dark"] .admin-title {
  font-family: "KaiTi", "STKaiti", "SimSun", serif;
  color: #f0e8d8;
  letter-spacing: 0.06em;
}
html[data-skin="ink"][data-theme="dark"] .header h1 {
  background: none;
  background-image: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #f0e8d8;
}
html[data-skin="ink"][data-theme="dark"] h2[style*="linear-gradient"] {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #f0e8d8 !important;
  color: #f0e8d8 !important;
  font-family: "KaiTi", "STKaiti", "SimSun", serif;
}
/* 卡片 / 面板：夜宣纸卡 + 淡墨描边 */
html[data-skin="ink"][data-theme="dark"] .card,
html[data-skin="ink"][data-theme="dark"] .stat-card,
html[data-skin="ink"][data-theme="dark"] .acc-card,
html[data-skin="ink"][data-theme="dark"] .auth-panel,
html[data-skin="ink"][data-theme="dark"] .admin-panel,
html[data-skin="ink"][data-theme="dark"] .config-panel,
html[data-skin="ink"][data-theme="dark"] .notice-panel,
html[data-skin="ink"][data-theme="dark"] .notice-toast,
html[data-skin="ink"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="ink"][data-theme="dark"] .batch-result-item,
html[data-skin="ink"][data-theme="dark"] .modal-box {
  background: #242019;
  border: 1px solid #38322a;
  box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
html[data-skin="ink"][data-theme="dark"] .card:hover,
html[data-skin="ink"][data-theme="dark"] .stat-card:hover {
  border-color: #463e32;
  box-shadow: 0 5px 18px rgba(0,0,0,0.5);
}
html[data-skin="ink"][data-theme="dark"] .card-title {
  border-bottom: 1px solid #38322a;
}
html[data-skin="ink"][data-theme="dark"] .header {
  background: rgba(27,24,21,0.85);
  border-bottom: 1px solid #38322a;
}
/* 按钮全系：方角 + 朱砂印红 */
html[data-skin="ink"][data-theme="dark"] .btn {
  border-radius: 4px;
  font-weight: 600;
}
html[data-skin="ink"][data-theme="dark"] .btn-primary,
html[data-skin="ink"][data-theme="dark"] .auth-btn,
html[data-skin="ink"][data-theme="dark"] .admin-tab.active {
  background: #e05545;
  color: #201310;
  border: 1px solid #e05545;
  box-shadow: 0 2px 8px rgba(224,85,69,0.28);
}
html[data-skin="ink"][data-theme="dark"] .btn-primary:hover,
html[data-skin="ink"][data-theme="dark"] .auth-btn:hover,
html[data-skin="ink"][data-theme="dark"] .btn-primary:active {
  background: #ec6b5b;
  border-color: #ec6b5b;
  box-shadow: 0 4px 12px rgba(224,85,69,0.36);
}
html[data-skin="ink"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="ink"][data-theme="dark"] .pagination-bar button:disabled {
  background: #4a4034;
  color: #8f8674;
  border-color: #4a4034;
  box-shadow: none;
}
html[data-skin="ink"][data-theme="dark"] .btn-secondary,
html[data-skin="ink"][data-theme="dark"] .batch-btn,
html[data-skin="ink"][data-theme="dark"] .pagination-bar button,
html[data-skin="ink"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #242019;
  color: #eae4d6;
  border: 1px solid #38322a;
}
html[data-skin="ink"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="ink"][data-theme="dark"] .batch-btn:hover,
html[data-skin="ink"][data-theme="dark"] .pagination-bar button:hover {
  background: #2c271f;
  color: #e05545;
  border-color: #463e32;
}
html[data-skin="ink"][data-theme="dark"] .btn-danger {
  background: rgba(239,106,90,0.12);
  color: #ef6a5a;
  border: 1px solid rgba(239,106,90,0.32);
}
html[data-skin="ink"][data-theme="dark"] .btn-danger:hover {
  background: rgba(239,106,90,0.2);
}
html[data-skin="ink"][data-theme="dark"] .admin-tab {
  background: #242019;
  color: #beb39c;
  border: 1px solid #38322a;
  border-radius: 4px;
}
html[data-skin="ink"][data-theme="dark"] .admin-tab:hover {
  border-color: #463e32;
  color: #e05545;
}
/* 输入控件：聚焦朱砂描边 */
html[data-skin="ink"][data-theme="dark"] input[type="text"],
html[data-skin="ink"][data-theme="dark"] input[type="password"],
html[data-skin="ink"][data-theme="dark"] input[type="number"],
html[data-skin="ink"][data-theme="dark"] textarea,
html[data-skin="ink"][data-theme="dark"] select,
html[data-skin="ink"][data-theme="dark"] .auth-input,
html[data-skin="ink"][data-theme="dark"] .admin-table input,
html[data-skin="ink"][data-theme="dark"] .config-row input {
  background: #1b1815;
  border: 1px solid #38322a;
  color: #eae4d6;
  border-radius: 4px;
}
html[data-skin="ink"][data-theme="dark"] input[type="text"]:focus,
html[data-skin="ink"][data-theme="dark"] input[type="password"]:focus,
html[data-skin="ink"][data-theme="dark"] input[type="number"]:focus,
html[data-skin="ink"][data-theme="dark"] textarea:focus,
html[data-skin="ink"][data-theme="dark"] select:focus,
html[data-skin="ink"][data-theme="dark"] .auth-input:focus,
html[data-skin="ink"][data-theme="dark"] #reservationGame:focus,
html[data-skin="ink"][data-theme="dark"] #modalGameName:focus {
  outline: none;
  border-color: #e05545;
  box-shadow: 0 0 0 3px rgba(224,85,69,0.18);
}
html[data-skin="ink"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #1b1815 inset;
  -webkit-text-fill-color: #eae4d6;
}
html[data-skin="ink"][data-theme="dark"] input[type="checkbox"],
html[data-skin="ink"][data-theme="dark"] .acc-check input {
  accent-color: #e05545;
}
html[data-skin="ink"][data-theme="dark"] ::placeholder {
  color: #8f8674;
}
/* 双表格：淡墨线 */
html[data-skin="ink"][data-theme="dark"] .admin-table th,
html[data-skin="ink"][data-theme="dark"] .log-table th,
html[data-skin="ink"][data-theme="dark"] #batchAccountTable th,
html[data-skin="ink"][data-theme="dark"] #batchUnlockedTable th {
  color: #beb39c;
  background: #201c15;
  border-bottom: 1px solid #38322a;
}
html[data-skin="ink"][data-theme="dark"] .admin-table td,
html[data-skin="ink"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #2e2921;
}
html[data-skin="ink"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="ink"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="ink"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(224,85,69,0.07);
}
html[data-skin="ink"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #201c15;
}
/* 日志区 */
html[data-skin="ink"][data-theme="dark"] .log-box {
  background: #171410;
  border: 1px solid #38322a;
}
html[data-skin="ink"][data-theme="dark"] .log-detail-pre {
  background: #201c15;
  color: #eae4d6;
}
html[data-skin="ink"][data-theme="dark"] .log-line.success { color: #6fae7c; }
html[data-skin="ink"][data-theme="dark"] .log-line.fail { color: #ef6a5a; }
html[data-skin="ink"][data-theme="dark"] .log-line.info { color: #6b9bd1; }
html[data-skin="ink"][data-theme="dark"] .log-line.skip { color: #d4a373; }
/* 徽标 / 状态 / 提示 */
html[data-skin="ink"][data-theme="dark"] .badge-info { background: rgba(107,155,209,0.14); color: #6b9bd1; }
html[data-skin="ink"][data-theme="dark"] .badge-success { background: rgba(111,174,124,0.14); color: #6fae7c; }
html[data-skin="ink"][data-theme="dark"] .badge-error { background: rgba(239,106,90,0.14); color: #ef6a5a; }
html[data-skin="ink"][data-theme="dark"] .badge-warning { background: rgba(212,163,115,0.14); color: #d4a373; }
html[data-skin="ink"][data-theme="dark"] .stat-num.blue { color: #6b9bd1; }
html[data-skin="ink"][data-theme="dark"] .stat-num.green { color: #6fae7c; }
html[data-skin="ink"][data-theme="dark"] .stat-num.red { color: #ef6a5a; }
html[data-skin="ink"][data-theme="dark"] .stat-num.yellow { color: #d4a373; }
html[data-skin="ink"][data-theme="dark"] .debt-warning {
  background: rgba(239,106,90,0.1);
  border: 1px solid rgba(239,106,90,0.32);
  color: #ef6a5a;
}
html[data-skin="ink"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="ink"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(224,85,69,0.09);
}
html[data-skin="ink"][data-theme="dark"] .notice-item:hover {
  background: rgba(224,85,69,0.07);
}
html[data-skin="ink"][data-theme="dark"] .notice-bell,
html[data-skin="ink"][data-theme="dark"] .n-dot {
  color: #e05545;
}
/* 弹窗遮罩（二维码盒保持浅底以便扫码，不另覆盖） */
html[data-skin="ink"][data-theme="dark"] #logDetailModal,
html[data-skin="ink"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="ink"][data-theme="dark"] #batchScanModal {
  background: rgba(10,8,6,0.66) !important;
}
/* 滚动条 / 选区 */
html[data-skin="ink"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #463e32;
  border-radius: 3px;
}
html[data-skin="ink"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #e05545;
}
html[data-skin="ink"][data-theme="dark"] ::selection {
  background: rgba(224,85,69,0.3);
  color: #f0e8d8;
}
/* ===== 神奈川 (kanagawa) ===== */
/*SKIN {"id":"kanagawa","name":"神奈川","colors":["#1f1f28","#7e9cd8","#dcd7ba"]}*/
/* ============================================================
   神奈川 · Kanagawa — 和风浪蓝暗色皮肤
   底 #1f1f28 / 卡 #2a2a37 / 文 #dcd7ba
   浪蓝 #7e9cd8 × 樱粉 #d27e99 点缀，日式和风
   全部规则 scope 于 html[data-skin="kanagawa"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="kanagawa"] {
  --bg: #1f1f28;
  --surface: #2a2a37;
  --card: #2a2a37;
  --border: #363646;
  --border-light: #54546d;
  --text: #dcd7ba;
  --text-secondary: #c8c093;
  --text-muted: #727169;
  --accent: #7e9cd8;
  --accent-hover: #9db8e8;
  --accent-subtle: rgba(126, 156, 216, 0.10);
  --success: #98bb6c;
  --success-subtle: rgba(152, 187, 108, 0.12);
  --error: #e46876;
  --error-subtle: rgba(228, 104, 118, 0.12);
  --warning: #ffa066;
  --warning-subtle: rgba(255, 160, 102, 0.12);
  --info: #7aa89f;
  --row-alt: #24242f;
  --log-bg: #16161d;
  --btn-disabled-bg: #3a3a4c;
  --shadow-1: 0 1px 3px rgba(7, 7, 12, 0.55);
  --shadow-2: 0 2px 10px rgba(7, 7, 12, 0.55);
  --shadow-3: 0 10px 36px rgba(7, 7, 12, 0.65);
  --on-accent: #16161d;
  background: #1f1f28;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="kanagawa"][data-theme="dark"] {
  --bg: #1f1f28;
  --surface: #2a2a37;
  --card: #2a2a37;
  --border: #363646;
  --border-light: #54546d;
  --text: #dcd7ba;
  --text-secondary: #c8c093;
  --text-muted: #727169;
  --accent: #7e9cd8;
  --accent-hover: #9db8e8;
  --accent-subtle: rgba(126, 156, 216, 0.10);
  --success: #98bb6c;
  --success-subtle: rgba(152, 187, 108, 0.12);
  --error: #e46876;
  --error-subtle: rgba(228, 104, 118, 0.12);
  --warning: #ffa066;
  --warning-subtle: rgba(255, 160, 102, 0.12);
  --info: #7aa89f;
  --row-alt: #24242f;
  --log-bg: #16161d;
  --btn-disabled-bg: #3a3a4c;
  --shadow-1: 0 1px 3px rgba(7, 7, 12, 0.55);
  --shadow-2: 0 2px 10px rgba(7, 7, 12, 0.55);
  --shadow-3: 0 10px 36px rgba(7, 7, 12, 0.65);
  --on-accent: #16161d;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="kanagawa"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：墨蓝夜色 radial，浪尖泛起的微光 ---- */
html[data-skin="kanagawa"] body {
  background:
    radial-gradient(1200px 700px at 50% -18%, rgba(126, 156, 216, 0.09), transparent 62%),
    radial-gradient(900px 540px at 12% 20%, rgba(210, 126, 153, 0.06), transparent 60%),
    radial-gradient(1000px 640px at 90% 78%, rgba(122, 168, 159, 0.04), transparent 62%),
    radial-gradient(1100px 620px at 50% 118%, rgba(54, 54, 70, 0.45), transparent 65%),
    #1f1f28;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="kanagawa"] ::selection {
  background: rgba(126, 156, 216, 0.30);
  color: #eceadf;
}
html[data-skin="kanagawa"] ::-webkit-scrollbar-thumb {
  background: #363646;
  border-radius: 8px;
}
html[data-skin="kanagawa"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(126, 156, 216, 0.5);
}
html[data-skin="kanagawa"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="kanagawa"] img {
  filter: brightness(0.95) saturate(1.1);
}

/* ---- 6. 头部：浪蓝→樱粉渐变字 ---- */
html[data-skin="kanagawa"] .header {
  border-color: #363646;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(126, 156, 216, 0.14);
}
html[data-skin="kanagawa"] .header h1 {
  background: linear-gradient(90deg, #7e9cd8, #d27e99);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(126, 156, 216, 0.3));
}
html[data-skin="kanagawa"] .card-title {
  color: #9db8e8;
}

/* ---- 7. 卡片族：墨色卡 + hover 边框泛浪蓝光 ---- */
html[data-skin="kanagawa"] .card,
html[data-skin="kanagawa"] .stat-card,
html[data-skin="kanagawa"] .admin-panel,
html[data-skin="kanagawa"] .acc-card,
html[data-skin="kanagawa"] .batch-group,
html[data-skin="kanagawa"] .batch-result-item,
html[data-skin="kanagawa"] .notice-panel,
html[data-skin="kanagawa"] .notice-toast {
  background: #2a2a37;
  border: 1px solid #363646;
}
html[data-skin="kanagawa"] .card:hover,
html[data-skin="kanagawa"] .stat-card:hover {
  border-color: rgba(126, 156, 216, 0.5);
  box-shadow: 0 0 18px rgba(126, 156, 216, 0.12), var(--shadow-2);
}
html[data-skin="kanagawa"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：浪蓝和风按钮 ---- */
html[data-skin="kanagawa"] .btn,
html[data-skin="kanagawa"] .batch-btn,
html[data-skin="kanagawa"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="kanagawa"] .btn-primary {
  background: linear-gradient(135deg, #7e9cd8, #5f83c4);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(126, 156, 216, 0.26), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="kanagawa"] .btn-primary:hover {
  background: linear-gradient(135deg, #9db8e8, #6f92cf);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(126, 156, 216, 0.41000000000000003), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="kanagawa"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #727169;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="kanagawa"] .btn-secondary {
  background: #2a2a37;
  color: var(--text-secondary);
  border: 1px solid #54546d;
}
html[data-skin="kanagawa"] .btn-secondary:hover {
  background: #31313f;
  color: #7e9cd8;
  border-color: rgba(126, 156, 216, 0.5);
  box-shadow: 0 0 12px rgba(126, 156, 216, 0.2);
}
html[data-skin="kanagawa"] .btn-danger {
  background: rgba(228, 104, 118, 0.12);
  color: #eb8f9a;
  border: 1px solid rgba(228, 104, 118, 0.35);
}
html[data-skin="kanagawa"] .btn-danger:hover {
  background: rgba(228, 104, 118, 0.2);
  box-shadow: 0 0 14px rgba(228, 104, 118, 0.3);
}
html[data-skin="kanagawa"] .btn:disabled {
  color: #727169;
}

/* ---- 9. 输入族：墨底聚焦浪蓝描边 ---- */
html[data-skin="kanagawa"] input[type="text"],
html[data-skin="kanagawa"] input[type="password"],
html[data-skin="kanagawa"] input[type="number"],
html[data-skin="kanagawa"] input[type="date"],
html[data-skin="kanagawa"] input[type="time"],
html[data-skin="kanagawa"] textarea,
html[data-skin="kanagawa"] select,
html[data-skin="kanagawa"] .auth-input,
html[data-skin="kanagawa"] .admin-table input,
html[data-skin="kanagawa"] #reservationGame,
html[data-skin="kanagawa"] #modalGameName {
  background: #23232e;
  border: 1px solid #363646;
  color: var(--text);
}
html[data-skin="kanagawa"] input[type="text"]:focus,
html[data-skin="kanagawa"] input[type="password"]:focus,
html[data-skin="kanagawa"] input[type="number"]:focus,
html[data-skin="kanagawa"] textarea:focus,
html[data-skin="kanagawa"] select:focus,
html[data-skin="kanagawa"] .auth-input:focus,
html[data-skin="kanagawa"] .admin-table input:focus,
html[data-skin="kanagawa"] #reservationGame:focus,
html[data-skin="kanagawa"] #modalGameName:focus {
  outline: none;
  border-color: #7e9cd8;
  box-shadow: 0 0 0 3px rgba(126, 156, 216, 0.14), 0 0 14px rgba(126, 156, 216, 0.18);
}
html[data-skin="kanagawa"] select option,
html[data-skin="kanagawa"] #reservationGame option,
html[data-skin="kanagawa"] #modalGameName option {
  background: #16161d;
  color: var(--text);
}
html[data-skin="kanagawa"] input[type="checkbox"] {
  accent-color: #7e9cd8;
}

/* ---- 10. 表格：暗表头 / 墨色斑马纹 / 浪蓝行悬停 ---- */
html[data-skin="kanagawa"] .admin-table th,
html[data-skin="kanagawa"] .admin-table td,
html[data-skin="kanagawa"] .log-table th,
html[data-skin="kanagawa"] .log-table td {
  border-bottom: 1px solid #2d2d3a;
}
html[data-skin="kanagawa"] .admin-table th,
html[data-skin="kanagawa"] .log-table th {
  background: #1f1f28;
  border-bottom: 1px solid #363646;
}
html[data-skin="kanagawa"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="kanagawa"] .log-table tbody tr:nth-child(even) td {
  background: #24242f;
}
html[data-skin="kanagawa"] .admin-table tr:hover td,
html[data-skin="kanagawa"] .log-table tr:hover td {
  background: rgba(126, 156, 216, 0.07);
}
html[data-skin="kanagawa"] #batchAccountTable tbody tr:hover {
  background: rgba(126, 156, 216, 0.05);
}
html[data-skin="kanagawa"] .batch-table-wrap {
  border-color: #2d2d3a;
}

/* ---- 11. 管理 tab：激活浪蓝胶囊 ---- */
html[data-skin="kanagawa"] .admin-tab {
  background: #23232e;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="kanagawa"] .admin-tab:hover {
  color: #dcd7ba;
  border-color: #54546d;
}
html[data-skin="kanagawa"] .admin-tab.active {
  background: linear-gradient(135deg, #7e9cd8, #7aa89f);
  color: var(--on-accent);
  border-color: rgba(126, 156, 216, 0.6);
  box-shadow: 0 0 14px rgba(126, 156, 216, 0.26);
}

/* ---- 12. 日志区：障子观察窗 ---- */
html[data-skin="kanagawa"] .log-box {
  background: #16161d;
  border: 1px solid #2d2d3a;
  box-shadow: inset 0 0 24px rgba(126, 156, 216, 0.04);
}

/* ---- 13. 登录面板：和风浮岛卡 + 浪蓝登录键 ---- */
html[data-skin="kanagawa"] .auth-panel {
  background: #2a2a37;
  border: 1px solid #363646;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(126, 156, 216, 0.08);
}
html[data-skin="kanagawa"] .auth-btn {
  background: linear-gradient(135deg, #7e9cd8, #5f83c4);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(126, 156, 216, 0.26);
}
html[data-skin="kanagawa"] .auth-btn:hover {
  background: linear-gradient(135deg, #9db8e8, #6f92cf);
  box-shadow: 0 0 26px rgba(126, 156, 216, 0.41000000000000003);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="kanagawa"] .notice-panel {
  box-shadow: 0 8px 40px rgba(7, 7, 12, 0.65), 0 0 18px rgba(126, 156, 216, 0.10);
}
html[data-skin="kanagawa"] .notice-dot {
  border-color: #2a2a37;
}
html[data-skin="kanagawa"] .notice-toast {
  border-color: rgba(126, 156, 216, 0.55);
  border-left: 4px solid #7e9cd8;
  box-shadow: 0 8px 30px rgba(7, 7, 12, 0.6), 0 0 18px rgba(126, 156, 216, 0.13);
}
html[data-skin="kanagawa"] .notice-toast .t-head {
  background: rgba(126, 156, 216, 0.12);
  color: #7e9cd8;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="kanagawa"] .pagination-bar button {
  background: #2a2a37;
  border: 1px solid #363646;
  color: var(--text);
}
html[data-skin="kanagawa"] .pagination-bar button:hover {
  border-color: #7e9cd8;
  color: #7e9cd8;
  box-shadow: 0 0 10px rgba(126, 156, 216, 0.22);
}
html[data-skin="kanagawa"] .points-badge {
  background: #ffa066;
  color: #3a2610;
}
html[data-skin="kanagawa"] .batch-result-item.ok {
  border-color: rgba(152, 187, 108, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补投影；内联白底二维码盒压成淡纸白 ---- */
html[data-skin="kanagawa"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(7, 7, 12, 0.65), 0 0 24px rgba(126, 156, 216, 0.08) !important;
}
html[data-skin="kanagawa"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #7e9cd8, #d27e99) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="kanagawa"] #lxjQrBox,
html[data-skin="kanagawa"] #batchScanQr {
  background: #f2eee3 !important;
  border: 1px solid rgba(126, 156, 216, 0.4);
}
html[data-skin="kanagawa"] img[style*="background:#fff"] {
  background: #f2eee3 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="kanagawa"] * {
    transition: none !important;
  }
  html[data-skin="kanagawa"] body {
    animation: none;
  }
}
/* ===== 薰衣草 (lavender-field) ===== */
/*SKIN {"id":"lavender-field","name":"薰衣草","colors":["#f6f4fd","#7c5cff","#3a3357"]}*/
/* 薰衣草：紫罗兰田野淡紫底 + 纯白卡片 + 深紫夜正文 + 鲜紫罗兰强调，花田暮色柔和 */

/* ---------- 变量重定义 ---------- */
html[data-skin="lavender-field"] {
  --bg: #f6f4fd;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #ddd6f3;
  --border-light: #c4b9ee;
  --text: #3a3357;
  --text-secondary: #5a5178;
  --text-muted: #8b83ad;
  --accent: #7c5cff;
  --accent-hover: #6846ea;
  --accent-subtle: rgba(124,92,255,0.10);
  --success: #2fa47a;
  --success-subtle: rgba(47,164,122,0.11);
  --error: #dd5474;
  --error-subtle: rgba(221,84,116,0.10);
  --warning: #d9972b;
  --warning-subtle: rgba(217,151,43,0.12);
  --info: #9b59d0;
  --radius: 12px;
  --radius-sm: 9px;
  --shadow-1: 0 1px 3px rgba(124,92,255,0.08);
  --shadow-2: 0 4px 14px rgba(124,92,255,0.11);
  --shadow-3: 0 10px 34px rgba(124,92,255,0.15);
  --row-alt: #f3f0fc;
  --log-bg: #f1eefb;
  --btn-disabled-bg: #cbbeff;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="lavender-field"][data-theme="dark"] {
  --bg: #f6f4fd;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #ddd6f3;
  --border-light: #c4b9ee;
  --text: #3a3357;
  --text-secondary: #5a5178;
  --text-muted: #8b83ad;
  --accent: #7c5cff;
  --accent-hover: #6846ea;
  --accent-subtle: rgba(124,92,255,0.10);
  --success: #2fa47a;
  --success-subtle: rgba(47,164,122,0.11);
  --error: #dd5474;
  --error-subtle: rgba(221,84,116,0.10);
  --warning: #d9972b;
  --warning-subtle: rgba(217,151,43,0.12);
  --info: #9b59d0;
  --radius: 12px;
  --radius-sm: 9px;
  --shadow-1: 0 1px 3px rgba(124,92,255,0.08);
  --shadow-2: 0 4px 14px rgba(124,92,255,0.11);
  --shadow-3: 0 10px 34px rgba(124,92,255,0.15);
  --row-alt: #f3f0fc;
  --log-bg: #f1eefb;
  --btn-disabled-bg: #cbbeff;
  color-scheme: light;
}

/* ---------- 页面底：浅色弥散渐变 ---------- */
html[data-skin="lavender-field"] body {
  background:
    radial-gradient(40rem 40rem at 8% -6%, rgba(167,139,250,0.16), transparent 60%),
    radial-gradient(36rem 36rem at 94% 14%, rgba(124,92,255,0.09), transparent 62%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(196,185,238,0.20), transparent 64%),
    linear-gradient(180deg, #f6f4fd 0%, #f8f6fe 100%);
  background-attachment: fixed;
  color: #3a3357;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影 ---------- */
html[data-skin="lavender-field"] .card,
html[data-skin="lavender-field"] .stat-card,
html[data-skin="lavender-field"] .acc-card,
html[data-skin="lavender-field"] .auth-panel,
html[data-skin="lavender-field"] .admin-panel,
html[data-skin="lavender-field"] .config-panel,
html[data-skin="lavender-field"] .notice-panel,
html[data-skin="lavender-field"] .notice-toast,
html[data-skin="lavender-field"] .autocomplete-dropdown,
html[data-skin="lavender-field"] .batch-result-item,
html[data-skin="lavender-field"] .modal-box {
  background: #ffffff;
  border: 1px solid #ddd6f3;
  box-shadow: 0 4px 16px rgba(124,92,255,0.10);
}
html[data-skin="lavender-field"] .card:hover,
html[data-skin="lavender-field"] .stat-card:hover {
  border-color: #c4b9ee;
  box-shadow: 0 8px 24px rgba(124,92,255,0.16);
}
html[data-skin="lavender-field"] .card-title {
  color: #7c5cff;
}

/* ---------- 顶栏：半透明浅色毛玻璃 ---------- */
html[data-skin="lavender-field"] .header {
  background: rgba(255,255,255,0.8);
  border-bottom: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"] .header h1 {
  background: linear-gradient(120deg, #7c5cff, #a78bfa);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="lavender-field"] .btn {
  border-radius: 9px;
  font-weight: 600;
}
html[data-skin="lavender-field"] .btn-primary,
html[data-skin="lavender-field"] .auth-btn,
html[data-skin="lavender-field"] .admin-tab.active {
  background: #7c5cff;
  color: #ffffff;
  border: 1px solid #7c5cff;
  box-shadow: 0 4px 12px rgba(124,92,255,0.22);
}
html[data-skin="lavender-field"] .btn-primary:hover,
html[data-skin="lavender-field"] .auth-btn:hover {
  background: #6846ea;
  border-color: #6846ea;
  box-shadow: 0 6px 16px rgba(104,70,234,0.3);
}
html[data-skin="lavender-field"] .btn-primary:disabled,
html[data-skin="lavender-field"] .pagination-bar button:disabled {
  background: #cbbeff;
  color: #ffffff;
  border-color: #cbbeff;
  box-shadow: none;
}
html[data-skin="lavender-field"] .btn-secondary,
html[data-skin="lavender-field"] .batch-btn,
html[data-skin="lavender-field"] .pagination-bar button,
html[data-skin="lavender-field"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #5a5178;
  border: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"] .btn-secondary:hover,
html[data-skin="lavender-field"] .batch-btn:hover,
html[data-skin="lavender-field"] .pagination-bar button:hover {
  background: #f6f4fd;
  color: #7c5cff;
  border-color: #c4b9ee;
}
html[data-skin="lavender-field"] .btn-danger {
  background: rgba(221,84,116,0.08);
  color: #dd5474;
  border: 1px solid rgba(221,84,116,0.22);
}
html[data-skin="lavender-field"] .btn-danger:hover {
  background: rgba(221,84,116,0.15);
}

/* ---------- 输入控件：聚焦主题色描边 ---------- */
html[data-skin="lavender-field"] input[type="text"],
html[data-skin="lavender-field"] input[type="password"],
html[data-skin="lavender-field"] input[type="number"],
html[data-skin="lavender-field"] textarea,
html[data-skin="lavender-field"] select,
html[data-skin="lavender-field"] .auth-input,
html[data-skin="lavender-field"] .admin-table input,
html[data-skin="lavender-field"] .config-row input {
  background: #ffffff;
  border: 1px solid #d5cbf1;
  color: #3a3357;
}
html[data-skin="lavender-field"] input[type="text"],
html[data-skin="lavender-field"] input[type="password"],
html[data-skin="lavender-field"] input[type="number"],
html[data-skin="lavender-field"] textarea,
html[data-skin="lavender-field"] select,
html[data-skin="lavender-field"] .auth-input,
html[data-skin="lavender-field"] .admin-table input,
html[data-skin="lavender-field"] .config-row input,
html[data-skin="lavender-field"] #reservationGame,
html[data-skin="lavender-field"] #modalGameName {
  outline: none;
  border-color: #7c5cff;
  box-shadow: 0 0 0 3px rgba(124,92,255,0.13);
}
html[data-skin="lavender-field"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #3a3357;
}
html[data-skin="lavender-field"] input[type="checkbox"],
html[data-skin="lavender-field"] .acc-card-top .acc-check input {
  accent-color: #7c5cff;
}
html[data-skin="lavender-field"] ::placeholder {
  color: #ada4cc;
}

/* ---------- 表格（管理表 + 日志表 + 批量表） ---------- */
html[data-skin="lavender-field"] .admin-table th,
html[data-skin="lavender-field"] .log-table th,
html[data-skin="lavender-field"] #batchAccountTable th,
html[data-skin="lavender-field"] #batchUnlockedTable th {
  color: #6846ea;
  background: #f3f0fc;
  border-bottom: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"] .admin-table td,
html[data-skin="lavender-field"] .log-table td {
  border-bottom: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"] .admin-table tr:hover td,
html[data-skin="lavender-field"] .log-table tr:hover td,
html[data-skin="lavender-field"] #batchAccountTable tbody tr:hover {
  background: rgba(124,92,255,0.05);
}
html[data-skin="lavender-field"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="lavender-field"] .log-table tbody tr:nth-child(even) td {
  background: #f3f0fc;
}

/* ---------- 日志区 ---------- */
html[data-skin="lavender-field"] .log-box {
  background: #f1eefb;
  border: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"] .log-detail-pre {
  background: #f3f0fc;
  color: #3a3357;
}
html[data-skin="lavender-field"] .log-line.success {
  color: #2fa47a;
}
html[data-skin="lavender-field"] .log-line.fail {
  color: #dd5474;
}
html[data-skin="lavender-field"] .log-line.info {
  color: #9b59d0;
}
html[data-skin="lavender-field"] .log-line.skip {
  color: #d9972b;
}

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="lavender-field"] .badge-info {
  background: rgba(155,89,208,0.10);
  color: #9b59d0;
}
html[data-skin="lavender-field"] .badge-success {
  background: rgba(47,164,122,0.10);
  color: #2fa47a;
}
html[data-skin="lavender-field"] .badge-error {
  background: rgba(221,84,116,0.09);
  color: #dd5474;
}
html[data-skin="lavender-field"] .badge-warning {
  background: rgba(217,151,43,0.11);
  color: #d9972b;
}
html[data-skin="lavender-field"] .stat-num.blue {
  color: #9b59d0;
}
html[data-skin="lavender-field"] .stat-num.green {
  color: #2fa47a;
}
html[data-skin="lavender-field"] .stat-num.red {
  color: #dd5474;
}
html[data-skin="lavender-field"] .stat-num.yellow {
  color: #d9972b;
}
html[data-skin="lavender-field"] .debt-warning {
  background: rgba(221,84,116,0.08);
  border: 1px solid rgba(221,84,116,0.22);
  color: #dd5474;
}
html[data-skin="lavender-field"] .autocomplete-item.active,
html[data-skin="lavender-field"] .autocomplete-item:hover {
  background: rgba(124,92,255,0.07);
}
html[data-skin="lavender-field"] .admin-tab {
  background: #ffffff;
  color: #5a5178;
  border: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"] .admin-tab:hover {
  border-color: #c4b9ee;
  color: #7c5cff;
}

/* ---------- 通知铃 / 红点 ---------- */
html[data-skin="lavender-field"] .notice-bell,
html[data-skin="lavender-field"] .n-dot {
  color: #7c5cff;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="lavender-field"] #logDetailModal,
html[data-skin="lavender-field"] #pointsRecordsModal,
html[data-skin="lavender-field"] #batchScanModal {
  background: rgba(58,51,87,0.5);
}
html[data-skin="lavender-field"] #lxjQrBox,
html[data-skin="lavender-field"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"] #batchScanQrImg,
html[data-skin="lavender-field"] #batchScanQr img,
html[data-skin="lavender-field"] #lxjQrBox img,
html[data-skin="lavender-field"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="lavender-field"] ::-webkit-scrollbar-thumb {
  background: #c4b9ee;
  border-radius: 6px;
}
html[data-skin="lavender-field"] ::-webkit-scrollbar-thumb:hover {
  background: #7c5cff;
}
html[data-skin="lavender-field"] ::selection {
  background: rgba(124,92,255,0.16);
  color: #3a3357;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="lavender-field"] .btn,
html[data-skin="lavender-field"] .card,
html[data-skin="lavender-field"] .stat-card,
html[data-skin="lavender-field"] .acc-card,
html[data-skin="lavender-field"] input,
html[data-skin="lavender-field"] select,
html[data-skin="lavender-field"] textarea,
html[data-skin="lavender-field"] .admin-tab,
html[data-skin="lavender-field"] .pagination-bar button,
html[data-skin="lavender-field"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ================================================== */
/* 夜间模式守卫：data-theme="dark" 时全部强制回浅色， */
/* 防止全局夜间样式残留刺眼（特异性 0,2,1+ 压过深色规则） */
/* ================================================== */

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影（强制回浅色） ---------- */
html[data-skin="lavender-field"][data-theme="dark"] .card,
html[data-skin="lavender-field"][data-theme="dark"] .stat-card,
html[data-skin="lavender-field"][data-theme="dark"] .acc-card,
html[data-skin="lavender-field"][data-theme="dark"] .auth-panel,
html[data-skin="lavender-field"][data-theme="dark"] .admin-panel,
html[data-skin="lavender-field"][data-theme="dark"] .config-panel,
html[data-skin="lavender-field"][data-theme="dark"] .notice-panel,
html[data-skin="lavender-field"][data-theme="dark"] .notice-toast,
html[data-skin="lavender-field"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="lavender-field"][data-theme="dark"] .batch-result-item,
html[data-skin="lavender-field"][data-theme="dark"] .modal-box {
  background: #ffffff;
  border: 1px solid #ddd6f3;
  box-shadow: 0 4px 16px rgba(124,92,255,0.10);
}
html[data-skin="lavender-field"][data-theme="dark"] .card:hover,
html[data-skin="lavender-field"][data-theme="dark"] .stat-card:hover {
  border-color: #c4b9ee;
  box-shadow: 0 8px 24px rgba(124,92,255,0.16);
}
html[data-skin="lavender-field"][data-theme="dark"] .card-title {
  color: #7c5cff;
}

/* ---------- 顶栏：半透明浅色毛玻璃（强制回浅色） ---------- */
html[data-skin="lavender-field"][data-theme="dark"] .header {
  background: rgba(255,255,255,0.8);
  border-bottom: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #7c5cff, #a78bfa);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系（强制回浅色） ---------- */
html[data-skin="lavender-field"][data-theme="dark"] .btn {
  border-radius: 9px;
  font-weight: 600;
}
html[data-skin="lavender-field"][data-theme="dark"] .btn-primary,
html[data-skin="lavender-field"][data-theme="dark"] .auth-btn,
html[data-skin="lavender-field"][data-theme="dark"] .admin-tab.active {
  background: #7c5cff;
  color: #ffffff;
  border: 1px solid #7c5cff;
  box-shadow: 0 4px 12px rgba(124,92,255,0.22);
}
html[data-skin="lavender-field"][data-theme="dark"] .btn-primary:hover,
html[data-skin="lavender-field"][data-theme="dark"] .auth-btn:hover {
  background: #6846ea;
  border-color: #6846ea;
  box-shadow: 0 6px 16px rgba(104,70,234,0.3);
}
html[data-skin="lavender-field"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="lavender-field"][data-theme="dark"] .pagination-bar button:disabled {
  background: #cbbeff;
  color: #ffffff;
  border-color: #cbbeff;
  box-shadow: none;
}
html[data-skin="lavender-field"][data-theme="dark"] .btn-secondary,
html[data-skin="lavender-field"][data-theme="dark"] .batch-btn,
html[data-skin="lavender-field"][data-theme="dark"] .pagination-bar button,
html[data-skin="lavender-field"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #5a5178;
  border: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="lavender-field"][data-theme="dark"] .batch-btn:hover,
html[data-skin="lavender-field"][data-theme="dark"] .pagination-bar button:hover {
  background: #f6f4fd;
  color: #7c5cff;
  border-color: #c4b9ee;
}
html[data-skin="lavender-field"][data-theme="dark"] .btn-danger {
  background: rgba(221,84,116,0.08);
  color: #dd5474;
  border: 1px solid rgba(221,84,116,0.22);
}
html[data-skin="lavender-field"][data-theme="dark"] .btn-danger:hover {
  background: rgba(221,84,116,0.15);
}

/* ---------- 输入控件：聚焦主题色描边（强制回浅色） ---------- */
html[data-skin="lavender-field"][data-theme="dark"] input[type="text"],
html[data-skin="lavender-field"][data-theme="dark"] input[type="password"],
html[data-skin="lavender-field"][data-theme="dark"] input[type="number"],
html[data-skin="lavender-field"][data-theme="dark"] textarea,
html[data-skin="lavender-field"][data-theme="dark"] select,
html[data-skin="lavender-field"][data-theme="dark"] .auth-input,
html[data-skin="lavender-field"][data-theme="dark"] .admin-table input,
html[data-skin="lavender-field"][data-theme="dark"] .config-row input {
  background: #ffffff;
  border: 1px solid #d5cbf1;
  color: #3a3357;
}
html[data-skin="lavender-field"][data-theme="dark"] input[type="text"],
html[data-skin="lavender-field"][data-theme="dark"] input[type="password"],
html[data-skin="lavender-field"][data-theme="dark"] input[type="number"],
html[data-skin="lavender-field"][data-theme="dark"] textarea,
html[data-skin="lavender-field"][data-theme="dark"] select,
html[data-skin="lavender-field"][data-theme="dark"] .auth-input,
html[data-skin="lavender-field"][data-theme="dark"] .admin-table input,
html[data-skin="lavender-field"][data-theme="dark"] .config-row input,
html[data-skin="lavender-field"][data-theme="dark"] #reservationGame,
html[data-skin="lavender-field"][data-theme="dark"] #modalGameName {
  outline: none;
  border-color: #7c5cff;
  box-shadow: 0 0 0 3px rgba(124,92,255,0.13);
}
html[data-skin="lavender-field"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #3a3357;
}
html[data-skin="lavender-field"][data-theme="dark"] input[type="checkbox"],
html[data-skin="lavender-field"][data-theme="dark"] .acc-card-top .acc-check input {
  accent-color: #7c5cff;
}
html[data-skin="lavender-field"][data-theme="dark"] ::placeholder {
  color: #ada4cc;
}

/* ---------- 表格（管理表 + 日志表 + 批量表）（强制回浅色） ---------- */
html[data-skin="lavender-field"][data-theme="dark"] .admin-table th,
html[data-skin="lavender-field"][data-theme="dark"] .log-table th,
html[data-skin="lavender-field"][data-theme="dark"] #batchAccountTable th,
html[data-skin="lavender-field"][data-theme="dark"] #batchUnlockedTable th {
  color: #6846ea;
  background: #f3f0fc;
  border-bottom: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"][data-theme="dark"] .admin-table td,
html[data-skin="lavender-field"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="lavender-field"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="lavender-field"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(124,92,255,0.05);
}
html[data-skin="lavender-field"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="lavender-field"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #f3f0fc;
}

/* ---------- 日志区（强制回浅色） ---------- */
html[data-skin="lavender-field"][data-theme="dark"] .log-box {
  background: #f1eefb;
  border: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"][data-theme="dark"] .log-detail-pre {
  background: #f3f0fc;
  color: #3a3357;
}
html[data-skin="lavender-field"][data-theme="dark"] .log-line.success {
  color: #2fa47a;
}
html[data-skin="lavender-field"][data-theme="dark"] .log-line.fail {
  color: #dd5474;
}
html[data-skin="lavender-field"][data-theme="dark"] .log-line.info {
  color: #9b59d0;
}
html[data-skin="lavender-field"][data-theme="dark"] .log-line.skip {
  color: #d9972b;
}

/* ---------- 徽标 / 状态 / 提示（强制回浅色） ---------- */
html[data-skin="lavender-field"][data-theme="dark"] .badge-info {
  background: rgba(155,89,208,0.10);
  color: #9b59d0;
}
html[data-skin="lavender-field"][data-theme="dark"] .badge-success {
  background: rgba(47,164,122,0.10);
  color: #2fa47a;
}
html[data-skin="lavender-field"][data-theme="dark"] .badge-error {
  background: rgba(221,84,116,0.09);
  color: #dd5474;
}
html[data-skin="lavender-field"][data-theme="dark"] .badge-warning {
  background: rgba(217,151,43,0.11);
  color: #d9972b;
}
html[data-skin="lavender-field"][data-theme="dark"] .stat-num.blue {
  color: #9b59d0;
}
html[data-skin="lavender-field"][data-theme="dark"] .stat-num.green {
  color: #2fa47a;
}
html[data-skin="lavender-field"][data-theme="dark"] .stat-num.red {
  color: #dd5474;
}
html[data-skin="lavender-field"][data-theme="dark"] .stat-num.yellow {
  color: #d9972b;
}
html[data-skin="lavender-field"][data-theme="dark"] .debt-warning {
  background: rgba(221,84,116,0.08);
  border: 1px solid rgba(221,84,116,0.22);
  color: #dd5474;
}
html[data-skin="lavender-field"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="lavender-field"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(124,92,255,0.07);
}
html[data-skin="lavender-field"][data-theme="dark"] .admin-tab {
  background: #ffffff;
  color: #5a5178;
  border: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"][data-theme="dark"] .admin-tab:hover {
  border-color: #c4b9ee;
  color: #7c5cff;
}

/* ---------- 通知铃 / 红点（强制回浅色） ---------- */
html[data-skin="lavender-field"][data-theme="dark"] .notice-bell,
html[data-skin="lavender-field"][data-theme="dark"] .n-dot {
  color: #7c5cff;
}

/* ---------- 弹窗遮罩 / 二维码盒（强制回浅色） ---------- */
html[data-skin="lavender-field"][data-theme="dark"] #logDetailModal,
html[data-skin="lavender-field"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="lavender-field"][data-theme="dark"] #batchScanModal {
  background: rgba(58,51,87,0.5);
}
html[data-skin="lavender-field"][data-theme="dark"] #lxjQrBox,
html[data-skin="lavender-field"][data-theme="dark"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #ddd6f3;
}
html[data-skin="lavender-field"][data-theme="dark"] #batchScanQrImg,
html[data-skin="lavender-field"][data-theme="dark"] #batchScanQr img,
html[data-skin="lavender-field"][data-theme="dark"] #lxjQrBox img,
html[data-skin="lavender-field"][data-theme="dark"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区（强制回浅色） ---------- */
html[data-skin="lavender-field"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #c4b9ee;
  border-radius: 6px;
}
html[data-skin="lavender-field"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #7c5cff;
}
html[data-skin="lavender-field"][data-theme="dark"] ::selection {
  background: rgba(124,92,255,0.16);
  color: #3a3357;
}

/* ---------- 全局过渡（强制回浅色） ---------- */
html[data-skin="lavender-field"][data-theme="dark"] .btn,
html[data-skin="lavender-field"][data-theme="dark"] .card,
html[data-skin="lavender-field"][data-theme="dark"] .stat-card,
html[data-skin="lavender-field"][data-theme="dark"] .acc-card,
html[data-skin="lavender-field"][data-theme="dark"] input,
html[data-skin="lavender-field"][data-theme="dark"] select,
html[data-skin="lavender-field"][data-theme="dark"] textarea,
html[data-skin="lavender-field"][data-theme="dark"] .admin-tab,
html[data-skin="lavender-field"][data-theme="dark"] .pagination-bar button,
html[data-skin="lavender-field"][data-theme="dark"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
/* ===== 熔岩 (magma) ===== */
/*SKIN {"id":"magma","name":"熔岩","colors":["#120a07","#ff5a1f","#f5e3d7"]}*/
/* ============================================================
   熔岩 · Magma — 火山炽热深色皮肤
   底 #120a07 / 卡 #1e120d / 文 #f5e3d7
   熔岩强调：橙 #ff5a1f → 金橙 #ffae00 渐变
   全部规则 scope 于 html[data-skin="magma"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="magma"] {
  --bg: #120a07;
  --surface: #1e120d;
  --card: #1e120d;
  --border: #3a2117;
  --border-light: #553020;
  --text: #f5e3d7;
  --text-secondary: #d8b29b;
  --text-muted: #a17c64;
  --accent: #ff5a1f;
  --accent-hover: #ffae00;
  --accent-subtle: rgba(255, 90, 31, 0.14);
  --success: #aede4e;
  --success-subtle: rgba(174, 222, 78, 0.12);
  --error: #ff4d33;
  --error-subtle: rgba(255, 77, 51, 0.13);
  --warning: #ffae00;
  --warning-subtle: rgba(255, 174, 0, 0.13);
  --info: #ff9d5c;
  --row-alt: #251610;
  --log-bg: #170d09;
  --btn-disabled-bg: #4a2a1a;
  --shadow-1: 0 1px 3px rgba(0, 0, 0, 0.5);
  --shadow-2: 0 2px 10px rgba(0, 0, 0, 0.55);
  --shadow-3: 0 10px 36px rgba(0, 0, 0, 0.65);
  --on-accent: #230d03;
  background: #120a07;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="magma"][data-theme="dark"] {
  --bg: #120a07;
  --surface: #1e120d;
  --card: #1e120d;
  --border: #3a2117;
  --border-light: #553020;
  --text: #f5e3d7;
  --text-secondary: #d8b29b;
  --text-muted: #a17c64;
  --accent: #ff5a1f;
  --accent-hover: #ffae00;
  --accent-subtle: rgba(255, 90, 31, 0.14);
  --success: #aede4e;
  --success-subtle: rgba(174, 222, 78, 0.12);
  --error: #ff4d33;
  --error-subtle: rgba(255, 77, 51, 0.13);
  --warning: #ffae00;
  --warning-subtle: rgba(255, 174, 0, 0.13);
  --info: #ff9d5c;
  --row-alt: #251610;
  --log-bg: #170d09;
  --btn-disabled-bg: #4a2a1a;
  --shadow-1: 0 1px 3px rgba(0, 0, 0, 0.5);
  --shadow-2: 0 2px 10px rgba(0, 0, 0, 0.55);
  --shadow-3: 0 10px 36px rgba(0, 0, 0, 0.65);
  --on-accent: #230d03;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="magma"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：深炭黑底 + 两团暗红熔岩氛围光 ---- */
html[data-skin="magma"] body {
  background:
    radial-gradient(1100px 560px at 14% -10%, rgba(255, 90, 31, 0.10), transparent 60%),
    radial-gradient(950px 620px at 86% 108%, rgba(150, 30, 8, 0.15), transparent 62%),
    #120a07;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="magma"] ::selection {
  background: rgba(255, 90, 31, 0.35);
  color: #fff2e2;
}
html[data-skin="magma"] ::-webkit-scrollbar-thumb {
  background: #3f2517;
  border-radius: 8px;
}
html[data-skin="magma"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 90, 31, 0.55);
}
html[data-skin="magma"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="magma"] img {
  filter: brightness(0.96) saturate(1.08);
}

/* ---- 6. 头部：熔岩橙→金橙渐变字 ---- */
html[data-skin="magma"] .header {
  border-color: #3a2117;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(255, 90, 31, 0.15);
}
html[data-skin="magma"] .header h1 {
  background: linear-gradient(90deg, #ff5a1f, #ffae00);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(255, 90, 31, 0.35));
}
html[data-skin="magma"] .card-title {
  color: #e8a06c;
}

/* ---- 7. 卡片族：暗红棕卡 + hover 炽热橙描边 ---- */
html[data-skin="magma"] .card,
html[data-skin="magma"] .stat-card,
html[data-skin="magma"] .admin-panel,
html[data-skin="magma"] .acc-card,
html[data-skin="magma"] .batch-group,
html[data-skin="magma"] .batch-result-item,
html[data-skin="magma"] .notice-panel,
html[data-skin="magma"] .notice-toast {
  background: #1e120d;
  border: 1px solid #3a2117;
}
html[data-skin="magma"] .card:hover,
html[data-skin="magma"] .stat-card:hover {
  border-color: rgba(255, 90, 31, 0.55);
  box-shadow: 0 0 18px rgba(255, 90, 31, 0.16), var(--shadow-2);
}
html[data-skin="magma"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：主按钮熔岩橙红渐变 + 炽热发光 ---- */
html[data-skin="magma"] .btn,
html[data-skin="magma"] .batch-btn,
html[data-skin="magma"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="magma"] .btn-primary {
  background: linear-gradient(135deg, #ff5a1f, #ffae00);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(255, 90, 31, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="magma"] .btn-primary:hover {
  background: linear-gradient(135deg, #ff7a33, #ffbe2e);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(255, 120, 40, 0.55), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="magma"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #b08a70;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="magma"] .btn-secondary {
  background: #1e120d;
  color: var(--text-secondary);
  border: 1px solid #553020;
}
html[data-skin="magma"] .btn-secondary:hover {
  background: #2a1810;
  color: #ffae00;
  border-color: rgba(255, 174, 0, 0.55);
  box-shadow: 0 0 12px rgba(255, 174, 0, 0.2);
}
html[data-skin="magma"] .btn-danger {
  background: rgba(255, 77, 51, 0.12);
  color: #ff6a4d;
  border: 1px solid rgba(255, 77, 51, 0.35);
}
html[data-skin="magma"] .btn-danger:hover {
  background: rgba(255, 77, 51, 0.2);
  box-shadow: 0 0 14px rgba(255, 77, 51, 0.3);
}
html[data-skin="magma"] .btn:disabled {
  color: #b08a70;
}

/* ---- 9. 输入族：深炭底聚焦橙描边发光 ---- */
html[data-skin="magma"] input[type="text"],
html[data-skin="magma"] input[type="password"],
html[data-skin="magma"] input[type="number"],
html[data-skin="magma"] input[type="date"],
html[data-skin="magma"] input[type="time"],
html[data-skin="magma"] textarea,
html[data-skin="magma"] select,
html[data-skin="magma"] .auth-input,
html[data-skin="magma"] .admin-table input,
html[data-skin="magma"] #reservationGame,
html[data-skin="magma"] #modalGameName {
  background: #170e09;
  border: 1px solid #3f2517;
  color: var(--text);
}
html[data-skin="magma"] input[type="text"]:focus,
html[data-skin="magma"] input[type="password"]:focus,
html[data-skin="magma"] input[type="number"]:focus,
html[data-skin="magma"] textarea:focus,
html[data-skin="magma"] select:focus,
html[data-skin="magma"] .auth-input:focus,
html[data-skin="magma"] .admin-table input:focus,
html[data-skin="magma"] #reservationGame:focus,
html[data-skin="magma"] #modalGameName:focus {
  outline: none;
  border-color: #ff5a1f;
  box-shadow: 0 0 0 3px rgba(255, 90, 31, 0.16), 0 0 14px rgba(255, 90, 31, 0.22);
}
html[data-skin="magma"] select option,
html[data-skin="magma"] #reservationGame option,
html[data-skin="magma"] #modalGameName option {
  background: #170d09;
  color: var(--text);
}
html[data-skin="magma"] input[type="checkbox"] {
  accent-color: #ff5a1f;
}

/* ---- 10. 表格：暗表头 / 熔岩斑马纹 / 橙热行悬停 ---- */
html[data-skin="magma"] .admin-table th,
html[data-skin="magma"] .admin-table td,
html[data-skin="magma"] .log-table th,
html[data-skin="magma"] .log-table td {
  border-bottom: 1px solid #2c1a10;
}
html[data-skin="magma"] .admin-table th,
html[data-skin="magma"] .log-table th {
  background: #120a07;
  border-bottom: 1px solid #3f2517;
}
html[data-skin="magma"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="magma"] .log-table tbody tr:nth-child(even) td {
  background: #251610;
}
html[data-skin="magma"] .admin-table tr:hover td,
html[data-skin="magma"] .log-table tr:hover td {
  background: rgba(255, 90, 31, 0.08);
}
html[data-skin="magma"] #batchAccountTable tbody tr:hover {
  background: rgba(255, 90, 31, 0.06);
}
html[data-skin="magma"] .batch-table-wrap {
  border-color: #2c1a10;
}

/* ---- 11. 管理 tab：激活熔岩渐变胶囊 ---- */
html[data-skin="magma"] .admin-tab {
  background: #170e09;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="magma"] .admin-tab:hover {
  color: #f5e3d7;
  border-color: #553020;
}
html[data-skin="magma"] .admin-tab.active {
  background: linear-gradient(135deg, #ff5a1f, #ffae00);
  color: var(--on-accent);
  border-color: rgba(255, 174, 0, 0.6);
  box-shadow: 0 0 14px rgba(255, 90, 31, 0.35);
}

/* ---- 12. 日志区：火山岩洞终端窗 ---- */
html[data-skin="magma"] .log-box {
  background: #170d09;
  border: 1px solid #2c1a10;
  box-shadow: inset 0 0 24px rgba(255, 90, 31, 0.04);
}

/* ---- 13. 登录面板：熔岩卡 + 橙红登录键 ---- */
html[data-skin="magma"] .auth-panel {
  background: #1e120d;
  border: 1px solid #3a2117;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(255, 90, 31, 0.10);
}
html[data-skin="magma"] .auth-btn {
  background: linear-gradient(135deg, #ff5a1f, #ffae00);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(255, 90, 31, 0.35);
}
html[data-skin="magma"] .auth-btn:hover {
  background: linear-gradient(135deg, #ff7a33, #ffbe2e);
  box-shadow: 0 0 26px rgba(255, 120, 40, 0.5);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="magma"] .notice-panel {
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.65), 0 0 18px rgba(255, 90, 31, 0.10);
}
html[data-skin="magma"] .notice-dot {
  border-color: #1e120d;
}
html[data-skin="magma"] .notice-toast {
  border-color: rgba(255, 174, 0, 0.55);
  border-left: 4px solid #ffae00;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6), 0 0 18px rgba(255, 174, 0, 0.14);
}
html[data-skin="magma"] .notice-toast .t-head {
  background: rgba(255, 174, 0, 0.12);
  color: #ffae00;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="magma"] .pagination-bar button {
  background: #1e120d;
  border: 1px solid #3f2517;
  color: var(--text);
}
html[data-skin="magma"] .pagination-bar button:hover {
  border-color: #ffae00;
  color: #ffae00;
  box-shadow: 0 0 10px rgba(255, 174, 0, 0.22);
}
html[data-skin="magma"] .points-badge {
  background: #ffae00;
  color: #231300;
}
html[data-skin="magma"] .batch-result-item.ok {
  border-color: rgba(174, 222, 78, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补熔岩投影；内联白底二维码盒压成暖纸白 ---- */
html[data-skin="magma"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.65), 0 0 24px rgba(255, 90, 31, 0.10) !important;
}
html[data-skin="magma"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #ff5a1f, #ffae00) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="magma"] #lxjQrBox,
html[data-skin="magma"] #batchScanQr {
  background: #f7ecdf !important;
  border: 1px solid rgba(255, 90, 31, 0.4);
}
html[data-skin="magma"] img[style*="background:#fff"] {
  background: #f7ecdf !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="magma"] * {
    transition: none !important;
  }
  html[data-skin="magma"] body {
    animation: none;
  }
}
/* ===== 抹茶 (matcha) ===== */
/*SKIN {"id":"matcha","name":"抹茶","colors":["#eef3e6","#7fa653","#33422a"]}*/
/* 抹茶 · Matcha — 抹茶绿奶浅色皮肤，茶筅圆角，安静少动效 */
/* 暗色守卫双写：html[data-theme="dark"] 下强制回浅色，不随暗色主题变脸 */

/* ---------- 变量重定义 ---------- */
html[data-skin="matcha"] {
  --bg: #eef3e6;
  --surface: #f8fcf2;
  --card: #f8fcf2;
  --border: #d3e0c0;
  --border-light: #bccf9f;
  --text: #33422a;
  --text-secondary: #5d7048;
  --text-muted: #8ba078;
  --accent: #7fa653;
  --accent-hover: #688c40;
  --accent-subtle: rgba(127,166,83,0.12);
  --success: #4f9e63;
  --success-subtle: rgba(79,158,99,0.10);
  --error: #c95f5f;
  --error-subtle: rgba(201,95,95,0.08);
  --warning: #c99a3f;
  --warning-subtle: rgba(201,154,63,0.10);
  --info: #6a9ec0;
  --radius: 14px;
  --radius-sm: 10px;
  --shadow-1: 0 1px 3px rgba(95,120,60,0.08);
  --shadow-2: 0 4px 14px rgba(95,120,60,0.10);
  --shadow-3: 0 10px 34px rgba(95,120,60,0.14);
  --row-alt: #f3f8ea;
  --log-bg: #e9f1dd;
  --btn-disabled-bg: #cddcb2;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="matcha"][data-theme="dark"] {
  --bg: #eef3e6;
  --surface: #f8fcf2;
  --card: #f8fcf2;
  --border: #d3e0c0;
  --border-light: #bccf9f;
  --text: #33422a;
  --text-secondary: #5d7048;
  --text-muted: #8ba078;
  --accent: #7fa653;
  --accent-hover: #688c40;
  --accent-subtle: rgba(127,166,83,0.12);
  --success: #4f9e63;
  --success-subtle: rgba(79,158,99,0.10);
  --error: #c95f5f;
  --error-subtle: rgba(201,95,95,0.08);
  --warning: #c99a3f;
  --warning-subtle: rgba(201,154,63,0.10);
  --info: #6a9ec0;
  --radius: 14px;
  --radius-sm: 10px;
  --row-alt: #f3f8ea;
  --log-bg: #e9f1dd;
  --btn-disabled-bg: #cddcb2;
  color-scheme: light;
}

/* ---------- 页面底：抹茶绿奶弥散，静 ---------- */
html[data-skin="matcha"] body {
  background:
    radial-gradient(42rem 40rem at 10% -8%, rgba(152,185,106,0.18), transparent 60%),
    radial-gradient(38rem 36rem at 92% 14%, rgba(127,166,83,0.10), transparent 62%),
    radial-gradient(46rem 44rem at 50% 114%, rgba(211,224,192,0.4), transparent 64%),
    linear-gradient(180deg, #eef3e6 0%, #f5f9ec 100%);
  background-attachment: fixed;
  color: #33422a;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：奶白茶席 ---------- */
html[data-skin="matcha"] .card,
html[data-skin="matcha"] .stat-card,
html[data-skin="matcha"] .acc-card,
html[data-skin="matcha"] .auth-panel,
html[data-skin="matcha"] .admin-panel,
html[data-skin="matcha"] .config-panel,
html[data-skin="matcha"] .notice-panel,
html[data-skin="matcha"] .notice-toast,
html[data-skin="matcha"] .autocomplete-dropdown,
html[data-skin="matcha"] .batch-result-item {
  background: #f8fcf2;
  border: 1px solid #d3e0c0;
  box-shadow: 0 4px 16px rgba(95,120,60,0.08);
}
html[data-skin="matcha"] .card:hover,
html[data-skin="matcha"] .stat-card:hover {
  border-color: #bccf9f;
  box-shadow: 0 8px 24px rgba(95,120,60,0.12);
}
html[data-skin="matcha"] .card-title { color: #5c7f3a; }
html[data-skin="matcha"] .header {
  background: rgba(248,252,242,0.78);
  border-bottom: 1px solid #d3e0c0;
}
html[data-skin="matcha"] .header h1 {
  background: linear-gradient(120deg, #6f9a49, #8bb060);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系：茶筅圆角 ---------- */
html[data-skin="matcha"] .btn {
  border-radius: 10px;
  font-weight: 600;
}
html[data-skin="matcha"] .btn-primary,
html[data-skin="matcha"] .auth-btn,
html[data-skin="matcha"] .admin-tab.active {
  background: #7fa653;
  color: #263018;
  border: 1px solid #7fa653;
  box-shadow: 0 4px 12px rgba(127,166,83,0.22);
}
html[data-skin="matcha"] .btn-primary:hover,
html[data-skin="matcha"] .auth-btn:hover {
  background: #6f9444;
  border-color: #6f9444;
  box-shadow: 0 6px 16px rgba(111,148,68,0.28);
}
html[data-skin="matcha"] .btn-primary:disabled,
html[data-skin="matcha"] .pagination-bar button:disabled {
  background: #cddcb2;
  color: #f8fcf2;
  border-color: #cddcb2;
  box-shadow: none;
}
html[data-skin="matcha"] .btn-secondary,
html[data-skin="matcha"] .batch-btn,
html[data-skin="matcha"] .pagination-bar button,
html[data-skin="matcha"] .notice-panel-head .n-clear {
  background: #f8fcf2;
  color: #5d7048;
  border: 1px solid #d3e0c0;
}
html[data-skin="matcha"] .btn-secondary:hover,
html[data-skin="matcha"] .batch-btn:hover,
html[data-skin="matcha"] .pagination-bar button:hover {
  background: #eef3e6;
  color: #5c7f3a;
  border-color: #bccf9f;
}
html[data-skin="matcha"] .btn-danger {
  background: rgba(201,95,95,0.08);
  color: #c95f5f;
  border: 1px solid rgba(201,95,95,0.22);
}
html[data-skin="matcha"] .btn-danger:hover {
  background: rgba(201,95,95,0.15);
}

/* ---------- 输入控件：聚焦抹茶描边 ---------- */
html[data-skin="matcha"] input[type="text"],
html[data-skin="matcha"] input[type="password"],
html[data-skin="matcha"] input[type="number"],
html[data-skin="matcha"] textarea,
html[data-skin="matcha"] select,
html[data-skin="matcha"] .auth-input,
html[data-skin="matcha"] .admin-table input,
html[data-skin="matcha"] .config-row input,
html[data-skin="matcha"] #reservationGame,
html[data-skin="matcha"] #modalGameName {
  background: #ffffff;
  border: 1px solid #c8d8ae;
  color: #33422a;
}
html[data-skin="matcha"] input[type="text"]:focus,
html[data-skin="matcha"] input[type="password"]:focus,
html[data-skin="matcha"] input[type="number"]:focus,
html[data-skin="matcha"] textarea:focus,
html[data-skin="matcha"] select:focus,
html[data-skin="matcha"] .auth-input:focus,
html[data-skin="matcha"] #reservationGame:focus,
html[data-skin="matcha"] #modalGameName:focus {
  outline: none;
  border-color: #7fa653;
  box-shadow: 0 0 0 3px rgba(127,166,83,0.14);
}
html[data-skin="matcha"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #f8fcf2 inset;
  -webkit-text-fill-color: #33422a;
}
html[data-skin="matcha"] input[type="checkbox"],
html[data-skin="matcha"] .acc-card-top .acc-check input {
  accent-color: #7fa653;
}
html[data-skin="matcha"] ::placeholder {
  color: #a9bd8e;
}

/* ---------- 表格 ---------- */
html[data-skin="matcha"] .admin-table th,
html[data-skin="matcha"] .log-table th {
  color: #5c7f3a;
  background: #f3f8ea;
}
html[data-skin="matcha"] .admin-table tr:hover td,
html[data-skin="matcha"] .log-table tr:hover td,
html[data-skin="matcha"] #batchAccountTable tbody tr:hover {
  background: rgba(127,166,83,0.06);
}
html[data-skin="matcha"] .log-table tbody tr:nth-child(even) td {
  background: #f3f8ea;
}

/* ---------- 日志区 ---------- */
html[data-skin="matcha"] .log-box {
  background: #e9f1dd;
  border: 1px solid #d3e0c0;
}
html[data-skin="matcha"] .log-detail-pre {
  background: #f3f8ea;
  color: #33422a;
}
html[data-skin="matcha"] .log-line.success { color: #4f9e63; }
html[data-skin="matcha"] .log-line.fail { color: #c95f5f; }
html[data-skin="matcha"] .log-line.info { color: #6a9ec0; }
html[data-skin="matcha"] .log-line.skip { color: #c99a3f; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="matcha"] .badge-info { background: rgba(106,158,192,0.1); color: #6a9ec0; }
html[data-skin="matcha"] .badge-success { background: rgba(79,158,99,0.1); color: #4f9e63; }
html[data-skin="matcha"] .badge-error { background: rgba(201,95,95,0.08); color: #c95f5f; }
html[data-skin="matcha"] .badge-warning { background: rgba(201,154,63,0.1); color: #c99a3f; }
html[data-skin="matcha"] .stat-num.blue { color: #6a9ec0; }
html[data-skin="matcha"] .stat-num.green { color: #4f9e63; }
html[data-skin="matcha"] .stat-num.red { color: #c95f5f; }
html[data-skin="matcha"] .stat-num.yellow { color: #c99a3f; }
html[data-skin="matcha"] .debt-warning {
  background: rgba(201,95,95,0.08);
  border: 1px solid rgba(201,95,95,0.22);
  color: #c95f5f;
}
html[data-skin="matcha"] .autocomplete-item.active,
html[data-skin="matcha"] .autocomplete-item:hover {
  background: rgba(127,166,83,0.08);
}
html[data-skin="matcha"] .admin-tab {
  background: #f8fcf2;
  color: #5d7048;
  border: 1px solid #d3e0c0;
}
html[data-skin="matcha"] .admin-tab:hover {
  border-color: #bccf9f;
  color: #5c7f3a;
}

/* ---------- 弹窗遮罩 / 滚动条 / 选区 / 二维码盒保白 ---------- */
html[data-skin="matcha"] #logDetailModal {
  background: rgba(51,66,42,0.45);
}
html[data-skin="matcha"] ::-webkit-scrollbar-thumb {
  background: #bccf9f;
}
html[data-skin="matcha"] ::-webkit-scrollbar-thumb:hover {
  background: #7fa653;
}
html[data-skin="matcha"] ::selection {
  background: rgba(127,166,83,0.18);
  color: #33422a;
}
html[data-skin="matcha"] #lxjQrBox,
html[data-skin="matcha"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #d3e0c0;
}

/* ---------- 暗色守卫补丁：data-theme="dark" 下整套关键面强制回浅色 ---------- */
html[data-skin="matcha"][data-theme="dark"] body {
  background:
    radial-gradient(42rem 40rem at 10% -8%, rgba(152,185,106,0.18), transparent 60%),
    radial-gradient(38rem 36rem at 92% 14%, rgba(127,166,83,0.10), transparent 62%),
    radial-gradient(46rem 44rem at 50% 114%, rgba(211,224,192,0.4), transparent 64%),
    linear-gradient(180deg, #eef3e6 0%, #f5f9ec 100%);
  background-attachment: fixed;
  color: #33422a;
  min-height: 100vh;
}
html[data-skin="matcha"][data-theme="dark"] .card,
html[data-skin="matcha"][data-theme="dark"] .stat-card,
html[data-skin="matcha"][data-theme="dark"] .acc-card,
html[data-skin="matcha"][data-theme="dark"] .auth-panel,
html[data-skin="matcha"][data-theme="dark"] .admin-panel,
html[data-skin="matcha"][data-theme="dark"] .config-panel,
html[data-skin="matcha"][data-theme="dark"] .notice-panel,
html[data-skin="matcha"][data-theme="dark"] .notice-toast,
html[data-skin="matcha"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="matcha"][data-theme="dark"] .batch-result-item {
  background: #f8fcf2;
  border: 1px solid #d3e0c0;
  box-shadow: 0 4px 16px rgba(95,120,60,0.08);
}
html[data-skin="matcha"][data-theme="dark"] .card:hover,
html[data-skin="matcha"][data-theme="dark"] .stat-card:hover {
  border-color: #bccf9f;
  box-shadow: 0 8px 24px rgba(95,120,60,0.12);
}
html[data-skin="matcha"][data-theme="dark"] .card-title { color: #5c7f3a; }
html[data-skin="matcha"][data-theme="dark"] .header {
  background: rgba(248,252,242,0.78);
  border-bottom: 1px solid #d3e0c0;
}
html[data-skin="matcha"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #6f9a49, #8bb060);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html[data-skin="matcha"][data-theme="dark"] .btn-primary,
html[data-skin="matcha"][data-theme="dark"] .auth-btn,
html[data-skin="matcha"][data-theme="dark"] .admin-tab.active {
  background: #7fa653;
  color: #263018;
  border: 1px solid #7fa653;
  box-shadow: 0 4px 12px rgba(127,166,83,0.22);
}
html[data-skin="matcha"][data-theme="dark"] .btn-secondary,
html[data-skin="matcha"][data-theme="dark"] .batch-btn,
html[data-skin="matcha"][data-theme="dark"] .pagination-bar button {
  background: #f8fcf2;
  color: #5d7048;
  border: 1px solid #d3e0c0;
}
html[data-skin="matcha"][data-theme="dark"] input[type="text"],
html[data-skin="matcha"][data-theme="dark"] input[type="password"],
html[data-skin="matcha"][data-theme="dark"] input[type="number"],
html[data-skin="matcha"][data-theme="dark"] textarea,
html[data-skin="matcha"][data-theme="dark"] select,
html[data-skin="matcha"][data-theme="dark"] .auth-input {
  background: #ffffff;
  border: 1px solid #c8d8ae;
  color: #33422a;
}
html[data-skin="matcha"][data-theme="dark"] .admin-table th,
html[data-skin="matcha"][data-theme="dark"] .log-table th {
  color: #5c7f3a;
  background: #f3f8ea;
}
html[data-skin="matcha"][data-theme="dark"] .log-box {
  background: #e9f1dd;
  border: 1px solid #d3e0c0;
}
html[data-skin="matcha"][data-theme="dark"] #logDetailModal {
  background: rgba(51,66,42,0.45);
}
html[data-skin="matcha"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #bccf9f;
}
html[data-skin="matcha"][data-theme="dark"] ::selection {
  background: rgba(127,166,83,0.18);
  color: #33422a;
}

/* ---------- 动效保护 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="matcha"] * {
    transition: none !important;
  }
  html[data-skin="matcha"] body {
    animation: none;
  }
}
/* ===== 矩阵 (matrix) ===== */
/*SKIN {"id":"matrix","name":"矩阵","colors":["#0a0f0a", "#00ff41", "#b8d8b8"]}*/
/* 矩阵：极暗绿黑磷光屏 + 纯绿单色荧光 + 等宽字体 + 扫描线 */

/* ---------- 变量重定义 ---------- */
html[data-skin="matrix"] {
  --bg: #0a0f0a;
  --surface: #0f1a0f;
  --card: #0f1a0f;
  --border: #1a2e1a;
  --border-light: #234023;
  --text: #b8d8b8;
  --text-secondary: #8fae8f;
  --text-muted: #5d7d5d;
  --accent: #00ff41;
  --accent-hover: #59ff8a;
  --accent-subtle: rgba(0,255,65,0.1);
  --success: #00ff41;
  --success-subtle: rgba(0,255,65,0.1);
  --error: #ff5c5c;
  --error-subtle: rgba(255,92,92,0.1);
  --warning: #d4ff4d;
  --warning-subtle: rgba(212,255,77,0.1);
  --info: #4dffd2;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.7);
  --shadow-2: 0 2px 10px rgba(0,0,0,0.7);
  --shadow-3: 0 8px 30px rgba(0,0,0,0.85);
  --row-alt: #0c140c;
  --log-bg: #070b07;
  --btn-disabled-bg: #162416;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="matrix"][data-theme="dark"] {
  --bg: #0a0f0a;
  --surface: #0f1a0f;
  --card: #0f1a0f;
  --border: #1a2e1a;
  --border-light: #234023;
  --text: #b8d8b8;
  --text-secondary: #8fae8f;
  --text-muted: #5d7d5d;
  --accent: #00ff41;
  --accent-hover: #59ff8a;
  --accent-subtle: rgba(0,255,65,0.1);
  --success: #00ff41;
  --success-subtle: rgba(0,255,65,0.1);
  --error: #ff5c5c;
  --error-subtle: rgba(255,92,92,0.1);
  --warning: #d4ff4d;
  --warning-subtle: rgba(212,255,77,0.1);
  --info: #4dffd2;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.7);
  --shadow-2: 0 2px 10px rgba(0,0,0,0.7);
  --shadow-3: 0 8px 30px rgba(0,0,0,0.85);
  --row-alt: #0c140c;
  --log-bg: #070b07;
  --btn-disabled-bg: #162416;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* ---------- 页面底 + 扫描线（静态低透明度，不影响阅读） ---------- */
html[data-skin="matrix"] body {
  background: #0a0f0a;
  color: #b8d8b8;
  min-height: 100vh;
}
html[data-skin="matrix"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.05) 0px,
    rgba(255,255,255,0.05) 1px,
    transparent 1px,
    transparent 3px
  );
}

/* ---------- 卡片 / 面板 ---------- */
html[data-skin="matrix"] .card,
html[data-skin="matrix"] .stat-card,
html[data-skin="matrix"] .acc-card,
html[data-skin="matrix"] .auth-panel,
html[data-skin="matrix"] .admin-panel,
html[data-skin="matrix"] .config-panel,
html[data-skin="matrix"] .notice-panel,
html[data-skin="matrix"] .batch-result-item {
  background: #0f1a0f;
  border: 1px solid #1a2e1a;
  box-shadow: 0 2px 10px rgba(0,0,0,0.7);
}
html[data-skin="matrix"] .card:hover,
html[data-skin="matrix"] .stat-card:hover {
  border-color: #00ff41;
  box-shadow: 0 0 0 1px #00ff41, 0 8px 30px rgba(0,0,0,0.85);
}
html[data-skin="matrix"] .card-title {
  color: #00ff41;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
html[data-skin="matrix"] .header {
  background: #0a0f0a;
  border-bottom: 1px solid #1a2e1a;
}
html[data-skin="matrix"] .header h1 {
  color: #00ff41;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-shadow: 0 0 12px rgba(0,255,65,0.45);
}


/* ---------- 按钮全系 ---------- */
html[data-skin="matrix"] .btn {
  border-radius: 0px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
html[data-skin="matrix"] .btn-primary,
html[data-skin="matrix"] .auth-btn,
html[data-skin="matrix"] .admin-tab.active {
  background: #00ff41;
  color: #0a0f0a;
  border: 1px solid #00ff41;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(0,255,65,0.3);
}
html[data-skin="matrix"] .btn-primary:hover,
html[data-skin="matrix"] .auth-btn:hover {
  background: #59ff8a;
  border-color: #59ff8a;
  box-shadow: 0 0 18px rgba(0,255,65,0.45);
}
html[data-skin="matrix"] .btn-primary:disabled,
html[data-skin="matrix"] .pagination-bar button:disabled {
  background: #162416;
  color: #5d7d5d;
  border-color: #1a2e1a;
  box-shadow: none;
}
html[data-skin="matrix"] .btn-secondary,
html[data-skin="matrix"] .batch-btn,
html[data-skin="matrix"] .pagination-bar button,
html[data-skin="matrix"] .notice-panel-head .n-clear {
  background: #0f1a0f;
  color: #b8d8b8;
  border: 1px solid #234023;
  border-radius: 0px;
}
html[data-skin="matrix"] .btn-secondary:hover,
html[data-skin="matrix"] .batch-btn:hover,
html[data-skin="matrix"] .pagination-bar button:hover {
  background: #0f1a0f;
  color: #00ff41;
  border-color: #00ff41;
}
html[data-skin="matrix"] .btn-danger {
  background: rgba(255,92,92,0.15);
  color: #ff5c5c;
  border: 1px solid #ff5c5c;
  border-radius: 0px;
}
html[data-skin="matrix"] .btn-danger:hover {
  background: rgba(255,92,92,0.28);
}

/* ---------- 输入控件：深底 + 强调描边聚焦 ---------- */
html[data-skin="matrix"] input[type="text"],
html[data-skin="matrix"] input[type="password"],
html[data-skin="matrix"] input[type="number"],
html[data-skin="matrix"] textarea,
html[data-skin="matrix"] select,
html[data-skin="matrix"] .auth-input,
html[data-skin="matrix"] .admin-table input,
html[data-skin="matrix"] .config-row input {
  background: #070b07;
  border: 1px solid #1a2e1a;
  color: #b8d8b8;
  border-radius: 0px;
}
html[data-skin="matrix"] input[type="text"]:focus,
html[data-skin="matrix"] input[type="password"]:focus,
html[data-skin="matrix"] input[type="number"]:focus,
html[data-skin="matrix"] textarea:focus,
html[data-skin="matrix"] select:focus,
html[data-skin="matrix"] .auth-input:focus,
html[data-skin="matrix"] #reservationGame:focus,
html[data-skin="matrix"] #modalGameName:focus {
  outline: none;
  border-color: #00ff41;
  box-shadow: 0 0 0 1px #00ff41, 0 0 8px rgba(0,255,65,0.2);
}
html[data-skin="matrix"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #070b07 inset;
  -webkit-text-fill-color: #b8d8b8;
  caret-color: #00ff41;
}
html[data-skin="matrix"] input[type="checkbox"],
html[data-skin="matrix"] .acc-card-top .acc-check input {
  accent-color: #00ff41;
}
html[data-skin="matrix"] ::placeholder {
  color: #5d7d5d;
}

/* ---------- 双表格 ---------- */
html[data-skin="matrix"] .admin-table th,
html[data-skin="matrix"] .log-table th {
  color: #00ff41;
  background: #070b07;
  border-bottom: 1px solid #1a2e1a;
}
html[data-skin="matrix"] .admin-table td,
html[data-skin="matrix"] .log-table td {
  border-bottom: 1px solid #142414;
}
html[data-skin="matrix"] .admin-table tr:hover td,
html[data-skin="matrix"] .log-table tr:hover td,
html[data-skin="matrix"] #batchAccountTable tbody tr:hover {
  background: rgba(0,255,65,0.06);
}
html[data-skin="matrix"] .log-table tbody tr:nth-child(even) td {
  background: #0c140c;
}

/* ---------- 日志区 ---------- */
html[data-skin="matrix"] .log-box {
  background: #070b07;
  border: 1px solid #1a2e1a;
}
html[data-skin="matrix"] .log-detail-pre {
  background: #0c140c;
  color: #b8d8b8;
  border: 1px solid #142414;
}
html[data-skin="matrix"] .log-line.success { color: #00ff41; }
html[data-skin="matrix"] .log-line.fail { color: #ff5c5c; }
html[data-skin="matrix"] .log-line.info { color: #4dffd2; }
html[data-skin="matrix"] .log-line.skip { color: #d4ff4d; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="matrix"] .badge-info { background: rgba(77,255,210,0.1); color: #4dffd2; }
html[data-skin="matrix"] .badge-success { background: rgba(0,255,65,0.1); color: #00ff41; }
html[data-skin="matrix"] .badge-error { background: rgba(255,92,92,0.1); color: #ff5c5c; }
html[data-skin="matrix"] .badge-warning { background: rgba(212,255,77,0.1); color: #d4ff4d; }
html[data-skin="matrix"] .stat-num.blue { color: #4dffd2; }
html[data-skin="matrix"] .stat-num.green { color: #00ff41; }
html[data-skin="matrix"] .stat-num.red { color: #ff5c5c; }
html[data-skin="matrix"] .stat-num.yellow { color: #d4ff4d; }
html[data-skin="matrix"] .debt-warning {
  background: rgba(255,92,92,0.1);
  border: 1px solid #ff5c5c;
  color: #ff5c5c;
  border-radius: 0px;
}
html[data-skin="matrix"] .autocomplete-dropdown {
  background: #0f1a0f;
  border: 1px solid #1a2e1a;
  border-radius: 0px;
}
html[data-skin="matrix"] .autocomplete-item.active,
html[data-skin="matrix"] .autocomplete-item:hover {
  background: rgba(0,255,65,0.1);
  color: #00ff41;
}
html[data-skin="matrix"] .admin-tab {
  background: #0f1a0f;
  color: #8fae8f;
  border: 1px solid #1a2e1a;
  border-radius: 0px;
}
html[data-skin="matrix"] .admin-tab:hover {
  border-color: #00ff41;
  color: #00ff41;
}
html[data-skin="matrix"] .notice-toast {
  background: #0f1a0f;
  border: 1px solid #00ff41;
  border-left: 4px solid #00ff41;
  border-radius: 0px;
}
html[data-skin="matrix"] .notice-item:hover {
  background: rgba(0,255,65,0.06);
}
html[data-skin="matrix"] .notice-bell,
html[data-skin="matrix"] .n-dot {
  color: #00ff41;
}

/* ---------- 弹窗遮罩 / 二维码盒淡纸白（保扫码对比度） ---------- */
html[data-skin="matrix"] #logDetailModal,
html[data-skin="matrix"] #pointsRecordsModal,
html[data-skin="matrix"] #batchScanModal {
  background: rgba(0,0,0,0.85) !important;
}
html[data-skin="matrix"] #lxjQrBox,
html[data-skin="matrix"] #batchScanQr,
html[data-skin="matrix"] #lxjQrImg,
html[data-skin="matrix"] #batchScanQrImg {
  background: #d9ecd9 !important;
  border: 1px solid rgba(0,255,65,0.4);
}
html[data-skin="matrix"] img[style*="background:#fff"] {
  background: #d9ecd9 !important;
}

/* ---------- 滚动条 / 选区 / 过渡 ---------- */
html[data-skin="matrix"] ::-webkit-scrollbar-thumb {
  background: #1a2e1a;
  border-radius: 0px;
}
html[data-skin="matrix"] ::-webkit-scrollbar-thumb:hover {
  background: #00ff41;
}
html[data-skin="matrix"] ::selection {
  background: #00ff41;
  color: #0a0f0a;
}
html[data-skin="matrix"] .btn,
html[data-skin="matrix"] .card,
html[data-skin="matrix"] .stat-card,
html[data-skin="matrix"] .acc-card,
html[data-skin="matrix"] .admin-tab,
html[data-skin="matrix"] .pagination-bar button,
html[data-skin="matrix"] input,
html[data-skin="matrix"] select,
html[data-skin="matrix"] textarea {
  transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s;
}

/* ---------- 动效保护：系统减弱动效时关闭过渡与动画 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="matrix"] * {
    transition: none !important;
  }
  html[data-skin="matrix"] body {
    animation: none;
  }
}
/* ===== 午夜蓝调 (midnight-oil) ===== */
/*SKIN {"id":"midnight-oil","name":"午夜蓝调","colors":["#0d1226","#5c7cfa","#dde4f5"]}*/
/* ============================================================
   午夜蓝调 · Midnight Oil — 爵士俱乐部深色皮肤
   底 #0d1226 / 卡 #151c36 / 文 #dde4f5
   蓝调 #5c7cfa × 萨克斯金 #e0b354 点缀，舞台追光 radial
   全部规则 scope 于 html[data-skin="midnight-oil"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="midnight-oil"] {
  --bg: #0d1226;
  --surface: #151c36;
  --card: #151c36;
  --border: #273358;
  --border-light: #364678;
  --text: #dde4f5;
  --text-secondary: #a8b4d8;
  --text-muted: #7484ac;
  --accent: #5c7cfa;
  --accent-hover: #7c96ff;
  --accent-subtle: rgba(92, 124, 250, 0.12);
  --success: #4fc98e;
  --success-subtle: rgba(79, 201, 142, 0.12);
  --error: #f06a7e;
  --error-subtle: rgba(240, 106, 126, 0.12);
  --warning: #e0b354;
  --warning-subtle: rgba(224, 179, 84, 0.12);
  --info: #5fb8d9;
  --radius: 10px;
  --radius-sm: 8px;
  --row-alt: #1a2342;
  --log-bg: #0a0f1e;
  --btn-disabled-bg: #243058;
  --shadow-1: 0 1px 3px rgba(2, 4, 12, 0.55);
  --shadow-2: 0 2px 10px rgba(2, 4, 12, 0.55);
  --shadow-3: 0 10px 36px rgba(2, 4, 12, 0.65);
  --on-accent: #0a1030;
  background: #0d1226;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿暗色变量组） ---- */
html[data-skin="midnight-oil"][data-theme="dark"] {
  --bg: #0d1226;
  --surface: #151c36;
  --card: #151c36;
  --border: #273358;
  --border-light: #364678;
  --text: #dde4f5;
  --text-secondary: #a8b4d8;
  --text-muted: #7484ac;
  --accent: #5c7cfa;
  --accent-hover: #7c96ff;
  --accent-subtle: rgba(92, 124, 250, 0.12);
  --success: #4fc98e;
  --success-subtle: rgba(79, 201, 142, 0.12);
  --error: #f06a7e;
  --error-subtle: rgba(240, 106, 126, 0.12);
  --warning: #e0b354;
  --warning-subtle: rgba(224, 179, 84, 0.12);
  --info: #5fb8d9;
  --radius: 10px;
  --radius-sm: 8px;
  --row-alt: #1a2342;
  --log-bg: #0a0f1e;
  --btn-disabled-bg: #243058;
  --shadow-1: 0 1px 3px rgba(2, 4, 12, 0.55);
  --shadow-2: 0 2px 10px rgba(2, 4, 12, 0.55);
  --shadow-3: 0 10px 36px rgba(2, 4, 12, 0.65);
  --on-accent: #0a1030;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="midnight-oil"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：午夜舞台，一束萨克斯金追光 ---- */
html[data-skin="midnight-oil"] body {
  background:
    radial-gradient(1000px 620px at 50% -18%, rgba(92, 124, 250, 0.12), transparent 62%),
    radial-gradient(760px 480px at 82% 30%, rgba(224, 179, 84, 0.06), transparent 60%),
    radial-gradient(700px 460px at 12% 70%, rgba(95, 184, 217, 0.06), transparent 62%),
    radial-gradient(1100px 640px at 50% 118%, rgba(30, 45, 110, 0.28), transparent 66%),
    #0d1226;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="midnight-oil"] ::selection {
  background: rgba(92, 124, 250, 0.30);
  color: #e8eeff;
}
html[data-skin="midnight-oil"] ::-webkit-scrollbar-thumb {
  background: #2f3c66;
  border-radius: 8px;
}
html[data-skin="midnight-oil"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(92, 124, 250, 0.55);
}
html[data-skin="midnight-oil"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="midnight-oil"] img {
  filter: brightness(0.95) saturate(1.08);
}

/* ---- 6. 头部：蓝调→萨克斯金渐变字 ---- */
html[data-skin="midnight-oil"] .header {
  border-color: #273358;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(92, 124, 250, 0.14);
}
html[data-skin="midnight-oil"] .header h1 {
  background: linear-gradient(90deg, #8f9fff, #5c7cfa, #e0b354);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(92, 124, 250, 0.30));
}
html[data-skin="midnight-oil"] .card-title {
  color: #8fa8e8;
}

/* ---- 7. 卡片族：夜场深蓝卡 + hover 蓝光描边 ---- */
html[data-skin="midnight-oil"] .card,
html[data-skin="midnight-oil"] .stat-card,
html[data-skin="midnight-oil"] .admin-panel,
html[data-skin="midnight-oil"] .acc-card,
html[data-skin="midnight-oil"] .batch-group,
html[data-skin="midnight-oil"] .batch-result-item,
html[data-skin="midnight-oil"] .notice-panel,
html[data-skin="midnight-oil"] .notice-toast {
  background: #151c36;
  border: 1px solid #273358;
}
html[data-skin="midnight-oil"] .card:hover,
html[data-skin="midnight-oil"] .stat-card:hover {
  border-color: rgba(92, 124, 250, 0.5);
  box-shadow: 0 0 18px rgba(92, 124, 250, 0.15), var(--shadow-2);
}
html[data-skin="midnight-oil"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：蓝调主按钮 ---- */
html[data-skin="midnight-oil"] .btn,
html[data-skin="midnight-oil"] .batch-btn,
html[data-skin="midnight-oil"] .pagination-bar button {
  border-radius: var(--radius-sm);
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="midnight-oil"] .btn-primary {
  background: linear-gradient(135deg, #5c7cfa, #4059d9);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(92, 124, 250, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}
html[data-skin="midnight-oil"] .btn-primary:hover {
  background: linear-gradient(135deg, #7c96ff, #5c7cfa);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(92, 124, 250, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}
html[data-skin="midnight-oil"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #5f6f9e;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="midnight-oil"] .btn-secondary {
  background: #151c36;
  color: var(--text-secondary);
  border: 1px solid #364678;
}
html[data-skin="midnight-oil"] .btn-secondary:hover {
  background: #1a2344;
  color: #7c96ff;
  border-color: rgba(92, 124, 250, 0.5);
  box-shadow: 0 0 12px rgba(92, 124, 250, 0.2);
}
html[data-skin="midnight-oil"] .btn-danger {
  background: rgba(240, 106, 126, 0.12);
  color: #f68e9e;
  border: 1px solid rgba(240, 106, 126, 0.35);
}
html[data-skin="midnight-oil"] .btn-danger:hover {
  background: rgba(240, 106, 126, 0.2);
  box-shadow: 0 0 14px rgba(240, 106, 126, 0.3);
}
html[data-skin="midnight-oil"] .btn:disabled {
  color: #5f6f9e;
}

/* ---- 9. 输入族：深夜底聚焦蓝调描边 ---- */
html[data-skin="midnight-oil"] input[type="text"],
html[data-skin="midnight-oil"] input[type="password"],
html[data-skin="midnight-oil"] input[type="number"],
html[data-skin="midnight-oil"] input[type="date"],
html[data-skin="midnight-oil"] input[type="time"],
html[data-skin="midnight-oil"] textarea,
html[data-skin="midnight-oil"] select,
html[data-skin="midnight-oil"] .auth-input,
html[data-skin="midnight-oil"] .admin-table input,
html[data-skin="midnight-oil"] #reservationGame,
html[data-skin="midnight-oil"] #modalGameName {
  background: #111834;
  border: 1px solid #2f3c66;
  color: var(--text);
}
html[data-skin="midnight-oil"] input[type="text"]:focus,
html[data-skin="midnight-oil"] input[type="password"]:focus,
html[data-skin="midnight-oil"] input[type="number"]:focus,
html[data-skin="midnight-oil"] textarea:focus,
html[data-skin="midnight-oil"] select:focus,
html[data-skin="midnight-oil"] .auth-input:focus,
html[data-skin="midnight-oil"] .admin-table input:focus,
html[data-skin="midnight-oil"] #reservationGame:focus,
html[data-skin="midnight-oil"] #modalGameName:focus {
  outline: none;
  border-color: #5c7cfa;
  box-shadow: 0 0 0 3px rgba(92, 124, 250, 0.15), 0 0 14px rgba(92, 124, 250, 0.18);
}
html[data-skin="midnight-oil"] select option,
html[data-skin="midnight-oil"] #reservationGame option,
html[data-skin="midnight-oil"] #modalGameName option {
  background: #0a0f1e;
  color: var(--text);
}
html[data-skin="midnight-oil"] input[type="checkbox"] {
  accent-color: #5c7cfa;
}

/* ---- 10. 表格：深表头 / 午夜斑马纹 / 蓝调行悬停 ---- */
html[data-skin="midnight-oil"] .admin-table th,
html[data-skin="midnight-oil"] .admin-table td,
html[data-skin="midnight-oil"] .log-table th,
html[data-skin="midnight-oil"] .log-table td {
  border-bottom: 1px solid #1e2748;
}
html[data-skin="midnight-oil"] .admin-table th,
html[data-skin="midnight-oil"] .log-table th {
  background: #0d1226;
  border-bottom: 1px solid #364678;
}
html[data-skin="midnight-oil"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="midnight-oil"] .log-table tbody tr:nth-child(even) td {
  background: #1a2342;
}
html[data-skin="midnight-oil"] .admin-table tr:hover td,
html[data-skin="midnight-oil"] .log-table tr:hover td {
  background: rgba(92, 124, 250, 0.08);
}
html[data-skin="midnight-oil"] #batchAccountTable tbody tr:hover {
  background: rgba(92, 124, 250, 0.05);
}
html[data-skin="midnight-oil"] .batch-table-wrap {
  border-color: #1e2748;
}

/* ---- 11. 管理 tab：激活蓝调胶囊 ---- */
html[data-skin="midnight-oil"] .admin-tab {
  background: #111834;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="midnight-oil"] .admin-tab:hover {
  color: #dde4f5;
  border-color: #364678;
}
html[data-skin="midnight-oil"] .admin-tab.active {
  background: linear-gradient(135deg, #5c7cfa, #8f9fff);
  color: var(--on-accent);
  border-color: rgba(92, 124, 250, 0.6);
  box-shadow: 0 0 14px rgba(92, 124, 250, 0.35);
}

/* ---- 12. 日志区：后台谱架观察窗 ---- */
html[data-skin="midnight-oil"] .log-box {
  background: #0a0f1e;
  border: 1px solid #202a50;
  box-shadow: inset 0 0 24px rgba(92, 124, 250, 0.05);
}

/* ---- 13. 登录面板：俱乐部包厢卡 + 蓝调登录键 ---- */
html[data-skin="midnight-oil"] .auth-panel {
  background: #151c36;
  border: 1px solid #273358;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(92, 124, 250, 0.08);
}
html[data-skin="midnight-oil"] .auth-btn {
  background: linear-gradient(135deg, #5c7cfa, #4059d9);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(92, 124, 250, 0.35);
}
html[data-skin="midnight-oil"] .auth-btn:hover {
  background: linear-gradient(135deg, #7c96ff, #5c7cfa);
  box-shadow: 0 0 26px rgba(92, 124, 250, 0.5);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="midnight-oil"] .notice-panel {
  box-shadow: 0 8px 40px rgba(2, 4, 12, 0.65), 0 0 18px rgba(224, 179, 84, 0.08);
}
html[data-skin="midnight-oil"] .notice-dot {
  border-color: #151c36;
}
html[data-skin="midnight-oil"] .notice-toast {
  border-color: rgba(92, 124, 250, 0.55);
  border-left: 4px solid #5c7cfa;
  box-shadow: 0 8px 30px rgba(2, 4, 12, 0.6), 0 0 18px rgba(92, 124, 250, 0.13);
}
html[data-skin="midnight-oil"] .notice-toast .t-head {
  background: rgba(92, 124, 250, 0.14);
  color: #8f9fff;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="midnight-oil"] .pagination-bar button {
  background: #151c36;
  border: 1px solid #2f3c66;
  color: var(--text);
}
html[data-skin="midnight-oil"] .pagination-bar button:hover {
  border-color: #5c7cfa;
  color: #7c96ff;
  box-shadow: 0 0 10px rgba(92, 124, 250, 0.22);
}
html[data-skin="midnight-oil"] .points-badge {
  background: #e0b354;
  color: #33230a;
}
html[data-skin="midnight-oil"] .batch-result-item.ok {
  border-color: rgba(79, 201, 142, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补夜场投影；内联白底二维码盒压成蓝纸白 ---- */
html[data-skin="midnight-oil"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(2, 4, 12, 0.65), 0 0 24px rgba(92, 124, 250, 0.08) !important;
}
html[data-skin="midnight-oil"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #8f9fff, #5c7cfa, #e0b354) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="midnight-oil"] #lxjQrBox,
html[data-skin="midnight-oil"] #batchScanQr {
  background: #eef2fd !important;
  border: 1px solid rgba(92, 124, 250, 0.4);
}
html[data-skin="midnight-oil"] img[style*="background:#fff"] {
  background: #eef2fd !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="midnight-oil"] * {
    transition: none !important;
  }
  html[data-skin="midnight-oil"] body {
    animation: none;
  }
}
/* ===== 薄荷 (mint-fresh) ===== */
/*SKIN {"id":"mint-fresh","name":"薄荷","colors":["#f2fbf6","#10b981","#1f3d2f"]}*/
/* 薄荷：清晨薄荷绿白底 + 纯白卡片 + 深松绿正文 + 翡翠绿强调，圆角 12px 清新透气 */

/* ---------- 变量重定义 ---------- */
html[data-skin="mint-fresh"] {
  --bg: #f2fbf6;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #cfe9dc;
  --border-light: #a9d8c2;
  --text: #1f3d2f;
  --text-secondary: #456a55;
  --text-muted: #7ba890;
  --accent: #10b981;
  --accent-hover: #059669;
  --accent-subtle: rgba(16,185,129,0.10);
  --success: #0d9488;
  --success-subtle: rgba(13,148,136,0.11);
  --error: #e05561;
  --error-subtle: rgba(224,85,97,0.10);
  --warning: #d99a2b;
  --warning-subtle: rgba(217,154,43,0.12);
  --info: #3f7fe0;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow-1: 0 1px 3px rgba(16,185,129,0.08);
  --shadow-2: 0 4px 14px rgba(16,185,129,0.11);
  --shadow-3: 0 10px 34px rgba(16,185,129,0.15);
  --row-alt: #eef9f3;
  --log-bg: #ecf8f1;
  --btn-disabled-bg: #9fe3cd;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="mint-fresh"][data-theme="dark"] {
  --bg: #f2fbf6;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #cfe9dc;
  --border-light: #a9d8c2;
  --text: #1f3d2f;
  --text-secondary: #456a55;
  --text-muted: #7ba890;
  --accent: #10b981;
  --accent-hover: #059669;
  --accent-subtle: rgba(16,185,129,0.10);
  --success: #0d9488;
  --success-subtle: rgba(13,148,136,0.11);
  --error: #e05561;
  --error-subtle: rgba(224,85,97,0.10);
  --warning: #d99a2b;
  --warning-subtle: rgba(217,154,43,0.12);
  --info: #3f7fe0;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow-1: 0 1px 3px rgba(16,185,129,0.08);
  --shadow-2: 0 4px 14px rgba(16,185,129,0.11);
  --shadow-3: 0 10px 34px rgba(16,185,129,0.15);
  --row-alt: #eef9f3;
  --log-bg: #ecf8f1;
  --btn-disabled-bg: #9fe3cd;
  color-scheme: light;
}

/* ---------- 页面底：浅色弥散渐变 ---------- */
html[data-skin="mint-fresh"] body {
  background:
    radial-gradient(40rem 40rem at 8% -6%, rgba(52,211,153,0.16), transparent 60%),
    radial-gradient(36rem 36rem at 94% 14%, rgba(16,185,129,0.09), transparent 62%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(167,216,194,0.20), transparent 64%),
    linear-gradient(180deg, #f2fbf6 0%, #f4fcf8 100%);
  background-attachment: fixed;
  color: #1f3d2f;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影 ---------- */
html[data-skin="mint-fresh"] .card,
html[data-skin="mint-fresh"] .stat-card,
html[data-skin="mint-fresh"] .acc-card,
html[data-skin="mint-fresh"] .auth-panel,
html[data-skin="mint-fresh"] .admin-panel,
html[data-skin="mint-fresh"] .config-panel,
html[data-skin="mint-fresh"] .notice-panel,
html[data-skin="mint-fresh"] .notice-toast,
html[data-skin="mint-fresh"] .autocomplete-dropdown,
html[data-skin="mint-fresh"] .batch-result-item,
html[data-skin="mint-fresh"] .modal-box {
  background: #ffffff;
  border: 1px solid #cfe9dc;
  box-shadow: 0 4px 16px rgba(16,185,129,0.10);
}
html[data-skin="mint-fresh"] .card:hover,
html[data-skin="mint-fresh"] .stat-card:hover {
  border-color: #a9d8c2;
  box-shadow: 0 8px 24px rgba(16,185,129,0.16);
}
html[data-skin="mint-fresh"] .card-title {
  color: #10b981;
}

/* ---------- 顶栏：半透明浅色毛玻璃 ---------- */
html[data-skin="mint-fresh"] .header {
  background: rgba(255,255,255,0.8);
  border-bottom: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"] .header h1 {
  background: linear-gradient(120deg, #10b981, #34d399);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="mint-fresh"] .btn {
  border-radius: 8px;
  font-weight: 600;
}
html[data-skin="mint-fresh"] .btn-primary,
html[data-skin="mint-fresh"] .auth-btn,
html[data-skin="mint-fresh"] .admin-tab.active {
  background: #10b981;
  color: #ffffff;
  border: 1px solid #10b981;
  box-shadow: 0 4px 12px rgba(16,185,129,0.22);
}
html[data-skin="mint-fresh"] .btn-primary:hover,
html[data-skin="mint-fresh"] .auth-btn:hover {
  background: #059669;
  border-color: #059669;
  box-shadow: 0 6px 16px rgba(5,150,105,0.3);
}
html[data-skin="mint-fresh"] .btn-primary:disabled,
html[data-skin="mint-fresh"] .pagination-bar button:disabled {
  background: #9fe3cd;
  color: #ffffff;
  border-color: #9fe3cd;
  box-shadow: none;
}
html[data-skin="mint-fresh"] .btn-secondary,
html[data-skin="mint-fresh"] .batch-btn,
html[data-skin="mint-fresh"] .pagination-bar button,
html[data-skin="mint-fresh"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #456a55;
  border: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"] .btn-secondary:hover,
html[data-skin="mint-fresh"] .batch-btn:hover,
html[data-skin="mint-fresh"] .pagination-bar button:hover {
  background: #f2fbf6;
  color: #10b981;
  border-color: #a9d8c2;
}
html[data-skin="mint-fresh"] .btn-danger {
  background: rgba(224,85,97,0.08);
  color: #e05561;
  border: 1px solid rgba(224,85,97,0.22);
}
html[data-skin="mint-fresh"] .btn-danger:hover {
  background: rgba(224,85,97,0.15);
}

/* ---------- 输入控件：聚焦主题色描边 ---------- */
html[data-skin="mint-fresh"] input[type="text"],
html[data-skin="mint-fresh"] input[type="password"],
html[data-skin="mint-fresh"] input[type="number"],
html[data-skin="mint-fresh"] textarea,
html[data-skin="mint-fresh"] select,
html[data-skin="mint-fresh"] .auth-input,
html[data-skin="mint-fresh"] .admin-table input,
html[data-skin="mint-fresh"] .config-row input {
  background: #ffffff;
  border: 1px solid #c4e5d4;
  color: #1f3d2f;
}
html[data-skin="mint-fresh"] input[type="text"],
html[data-skin="mint-fresh"] input[type="password"],
html[data-skin="mint-fresh"] input[type="number"],
html[data-skin="mint-fresh"] textarea,
html[data-skin="mint-fresh"] select,
html[data-skin="mint-fresh"] .auth-input,
html[data-skin="mint-fresh"] .admin-table input,
html[data-skin="mint-fresh"] .config-row input,
html[data-skin="mint-fresh"] #reservationGame,
html[data-skin="mint-fresh"] #modalGameName {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16,185,129,0.13);
}
html[data-skin="mint-fresh"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #1f3d2f;
}
html[data-skin="mint-fresh"] input[type="checkbox"],
html[data-skin="mint-fresh"] .acc-card-top .acc-check input {
  accent-color: #10b981;
}
html[data-skin="mint-fresh"] ::placeholder {
  color: #9dc0ae;
}

/* ---------- 表格（管理表 + 日志表 + 批量表） ---------- */
html[data-skin="mint-fresh"] .admin-table th,
html[data-skin="mint-fresh"] .log-table th,
html[data-skin="mint-fresh"] #batchAccountTable th,
html[data-skin="mint-fresh"] #batchUnlockedTable th {
  color: #059669;
  background: #eef9f3;
  border-bottom: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"] .admin-table td,
html[data-skin="mint-fresh"] .log-table td {
  border-bottom: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"] .admin-table tr:hover td,
html[data-skin="mint-fresh"] .log-table tr:hover td,
html[data-skin="mint-fresh"] #batchAccountTable tbody tr:hover {
  background: rgba(16,185,129,0.05);
}
html[data-skin="mint-fresh"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="mint-fresh"] .log-table tbody tr:nth-child(even) td {
  background: #eef9f3;
}

/* ---------- 日志区 ---------- */
html[data-skin="mint-fresh"] .log-box {
  background: #ecf8f1;
  border: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"] .log-detail-pre {
  background: #eef9f3;
  color: #1f3d2f;
}
html[data-skin="mint-fresh"] .log-line.success {
  color: #0d9488;
}
html[data-skin="mint-fresh"] .log-line.fail {
  color: #e05561;
}
html[data-skin="mint-fresh"] .log-line.info {
  color: #3f7fe0;
}
html[data-skin="mint-fresh"] .log-line.skip {
  color: #d99a2b;
}

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="mint-fresh"] .badge-info {
  background: rgba(63,127,224,0.10);
  color: #3f7fe0;
}
html[data-skin="mint-fresh"] .badge-success {
  background: rgba(13,148,136,0.10);
  color: #0d9488;
}
html[data-skin="mint-fresh"] .badge-error {
  background: rgba(224,85,97,0.09);
  color: #e05561;
}
html[data-skin="mint-fresh"] .badge-warning {
  background: rgba(217,154,43,0.11);
  color: #d99a2b;
}
html[data-skin="mint-fresh"] .stat-num.blue {
  color: #3f7fe0;
}
html[data-skin="mint-fresh"] .stat-num.green {
  color: #0d9488;
}
html[data-skin="mint-fresh"] .stat-num.red {
  color: #e05561;
}
html[data-skin="mint-fresh"] .stat-num.yellow {
  color: #d99a2b;
}
html[data-skin="mint-fresh"] .debt-warning {
  background: rgba(224,85,97,0.08);
  border: 1px solid rgba(224,85,97,0.22);
  color: #e05561;
}
html[data-skin="mint-fresh"] .autocomplete-item.active,
html[data-skin="mint-fresh"] .autocomplete-item:hover {
  background: rgba(16,185,129,0.07);
}
html[data-skin="mint-fresh"] .admin-tab {
  background: #ffffff;
  color: #456a55;
  border: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"] .admin-tab:hover {
  border-color: #a9d8c2;
  color: #10b981;
}

/* ---------- 通知铃 / 红点 ---------- */
html[data-skin="mint-fresh"] .notice-bell,
html[data-skin="mint-fresh"] .n-dot {
  color: #10b981;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="mint-fresh"] #logDetailModal,
html[data-skin="mint-fresh"] #pointsRecordsModal,
html[data-skin="mint-fresh"] #batchScanModal {
  background: rgba(31,61,47,0.45);
}
html[data-skin="mint-fresh"] #lxjQrBox,
html[data-skin="mint-fresh"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"] #batchScanQrImg,
html[data-skin="mint-fresh"] #batchScanQr img,
html[data-skin="mint-fresh"] #lxjQrBox img,
html[data-skin="mint-fresh"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="mint-fresh"] ::-webkit-scrollbar-thumb {
  background: #a9d8c2;
  border-radius: 6px;
}
html[data-skin="mint-fresh"] ::-webkit-scrollbar-thumb:hover {
  background: #10b981;
}
html[data-skin="mint-fresh"] ::selection {
  background: rgba(16,185,129,0.16);
  color: #1f3d2f;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="mint-fresh"] .btn,
html[data-skin="mint-fresh"] .card,
html[data-skin="mint-fresh"] .stat-card,
html[data-skin="mint-fresh"] .acc-card,
html[data-skin="mint-fresh"] input,
html[data-skin="mint-fresh"] select,
html[data-skin="mint-fresh"] textarea,
html[data-skin="mint-fresh"] .admin-tab,
html[data-skin="mint-fresh"] .pagination-bar button,
html[data-skin="mint-fresh"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ================================================== */
/* 夜间模式守卫：data-theme="dark" 时全部强制回浅色， */
/* 防止全局夜间样式残留刺眼（特异性 0,2,1+ 压过深色规则） */
/* ================================================== */

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影（强制回浅色） ---------- */
html[data-skin="mint-fresh"][data-theme="dark"] .card,
html[data-skin="mint-fresh"][data-theme="dark"] .stat-card,
html[data-skin="mint-fresh"][data-theme="dark"] .acc-card,
html[data-skin="mint-fresh"][data-theme="dark"] .auth-panel,
html[data-skin="mint-fresh"][data-theme="dark"] .admin-panel,
html[data-skin="mint-fresh"][data-theme="dark"] .config-panel,
html[data-skin="mint-fresh"][data-theme="dark"] .notice-panel,
html[data-skin="mint-fresh"][data-theme="dark"] .notice-toast,
html[data-skin="mint-fresh"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="mint-fresh"][data-theme="dark"] .batch-result-item,
html[data-skin="mint-fresh"][data-theme="dark"] .modal-box {
  background: #ffffff;
  border: 1px solid #cfe9dc;
  box-shadow: 0 4px 16px rgba(16,185,129,0.10);
}
html[data-skin="mint-fresh"][data-theme="dark"] .card:hover,
html[data-skin="mint-fresh"][data-theme="dark"] .stat-card:hover {
  border-color: #a9d8c2;
  box-shadow: 0 8px 24px rgba(16,185,129,0.16);
}
html[data-skin="mint-fresh"][data-theme="dark"] .card-title {
  color: #10b981;
}

/* ---------- 顶栏：半透明浅色毛玻璃（强制回浅色） ---------- */
html[data-skin="mint-fresh"][data-theme="dark"] .header {
  background: rgba(255,255,255,0.8);
  border-bottom: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #10b981, #34d399);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系（强制回浅色） ---------- */
html[data-skin="mint-fresh"][data-theme="dark"] .btn {
  border-radius: 8px;
  font-weight: 600;
}
html[data-skin="mint-fresh"][data-theme="dark"] .btn-primary,
html[data-skin="mint-fresh"][data-theme="dark"] .auth-btn,
html[data-skin="mint-fresh"][data-theme="dark"] .admin-tab.active {
  background: #10b981;
  color: #ffffff;
  border: 1px solid #10b981;
  box-shadow: 0 4px 12px rgba(16,185,129,0.22);
}
html[data-skin="mint-fresh"][data-theme="dark"] .btn-primary:hover,
html[data-skin="mint-fresh"][data-theme="dark"] .auth-btn:hover {
  background: #059669;
  border-color: #059669;
  box-shadow: 0 6px 16px rgba(5,150,105,0.3);
}
html[data-skin="mint-fresh"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="mint-fresh"][data-theme="dark"] .pagination-bar button:disabled {
  background: #9fe3cd;
  color: #ffffff;
  border-color: #9fe3cd;
  box-shadow: none;
}
html[data-skin="mint-fresh"][data-theme="dark"] .btn-secondary,
html[data-skin="mint-fresh"][data-theme="dark"] .batch-btn,
html[data-skin="mint-fresh"][data-theme="dark"] .pagination-bar button,
html[data-skin="mint-fresh"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #456a55;
  border: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="mint-fresh"][data-theme="dark"] .batch-btn:hover,
html[data-skin="mint-fresh"][data-theme="dark"] .pagination-bar button:hover {
  background: #f2fbf6;
  color: #10b981;
  border-color: #a9d8c2;
}
html[data-skin="mint-fresh"][data-theme="dark"] .btn-danger {
  background: rgba(224,85,97,0.08);
  color: #e05561;
  border: 1px solid rgba(224,85,97,0.22);
}
html[data-skin="mint-fresh"][data-theme="dark"] .btn-danger:hover {
  background: rgba(224,85,97,0.15);
}

/* ---------- 输入控件：聚焦主题色描边（强制回浅色） ---------- */
html[data-skin="mint-fresh"][data-theme="dark"] input[type="text"],
html[data-skin="mint-fresh"][data-theme="dark"] input[type="password"],
html[data-skin="mint-fresh"][data-theme="dark"] input[type="number"],
html[data-skin="mint-fresh"][data-theme="dark"] textarea,
html[data-skin="mint-fresh"][data-theme="dark"] select,
html[data-skin="mint-fresh"][data-theme="dark"] .auth-input,
html[data-skin="mint-fresh"][data-theme="dark"] .admin-table input,
html[data-skin="mint-fresh"][data-theme="dark"] .config-row input {
  background: #ffffff;
  border: 1px solid #c4e5d4;
  color: #1f3d2f;
}
html[data-skin="mint-fresh"][data-theme="dark"] input[type="text"],
html[data-skin="mint-fresh"][data-theme="dark"] input[type="password"],
html[data-skin="mint-fresh"][data-theme="dark"] input[type="number"],
html[data-skin="mint-fresh"][data-theme="dark"] textarea,
html[data-skin="mint-fresh"][data-theme="dark"] select,
html[data-skin="mint-fresh"][data-theme="dark"] .auth-input,
html[data-skin="mint-fresh"][data-theme="dark"] .admin-table input,
html[data-skin="mint-fresh"][data-theme="dark"] .config-row input,
html[data-skin="mint-fresh"][data-theme="dark"] #reservationGame,
html[data-skin="mint-fresh"][data-theme="dark"] #modalGameName {
  outline: none;
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16,185,129,0.13);
}
html[data-skin="mint-fresh"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #1f3d2f;
}
html[data-skin="mint-fresh"][data-theme="dark"] input[type="checkbox"],
html[data-skin="mint-fresh"][data-theme="dark"] .acc-card-top .acc-check input {
  accent-color: #10b981;
}
html[data-skin="mint-fresh"][data-theme="dark"] ::placeholder {
  color: #9dc0ae;
}

/* ---------- 表格（管理表 + 日志表 + 批量表）（强制回浅色） ---------- */
html[data-skin="mint-fresh"][data-theme="dark"] .admin-table th,
html[data-skin="mint-fresh"][data-theme="dark"] .log-table th,
html[data-skin="mint-fresh"][data-theme="dark"] #batchAccountTable th,
html[data-skin="mint-fresh"][data-theme="dark"] #batchUnlockedTable th {
  color: #059669;
  background: #eef9f3;
  border-bottom: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"][data-theme="dark"] .admin-table td,
html[data-skin="mint-fresh"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="mint-fresh"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="mint-fresh"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(16,185,129,0.05);
}
html[data-skin="mint-fresh"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="mint-fresh"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #eef9f3;
}

/* ---------- 日志区（强制回浅色） ---------- */
html[data-skin="mint-fresh"][data-theme="dark"] .log-box {
  background: #ecf8f1;
  border: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"][data-theme="dark"] .log-detail-pre {
  background: #eef9f3;
  color: #1f3d2f;
}
html[data-skin="mint-fresh"][data-theme="dark"] .log-line.success {
  color: #0d9488;
}
html[data-skin="mint-fresh"][data-theme="dark"] .log-line.fail {
  color: #e05561;
}
html[data-skin="mint-fresh"][data-theme="dark"] .log-line.info {
  color: #3f7fe0;
}
html[data-skin="mint-fresh"][data-theme="dark"] .log-line.skip {
  color: #d99a2b;
}

/* ---------- 徽标 / 状态 / 提示（强制回浅色） ---------- */
html[data-skin="mint-fresh"][data-theme="dark"] .badge-info {
  background: rgba(63,127,224,0.10);
  color: #3f7fe0;
}
html[data-skin="mint-fresh"][data-theme="dark"] .badge-success {
  background: rgba(13,148,136,0.10);
  color: #0d9488;
}
html[data-skin="mint-fresh"][data-theme="dark"] .badge-error {
  background: rgba(224,85,97,0.09);
  color: #e05561;
}
html[data-skin="mint-fresh"][data-theme="dark"] .badge-warning {
  background: rgba(217,154,43,0.11);
  color: #d99a2b;
}
html[data-skin="mint-fresh"][data-theme="dark"] .stat-num.blue {
  color: #3f7fe0;
}
html[data-skin="mint-fresh"][data-theme="dark"] .stat-num.green {
  color: #0d9488;
}
html[data-skin="mint-fresh"][data-theme="dark"] .stat-num.red {
  color: #e05561;
}
html[data-skin="mint-fresh"][data-theme="dark"] .stat-num.yellow {
  color: #d99a2b;
}
html[data-skin="mint-fresh"][data-theme="dark"] .debt-warning {
  background: rgba(224,85,97,0.08);
  border: 1px solid rgba(224,85,97,0.22);
  color: #e05561;
}
html[data-skin="mint-fresh"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="mint-fresh"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(16,185,129,0.07);
}
html[data-skin="mint-fresh"][data-theme="dark"] .admin-tab {
  background: #ffffff;
  color: #456a55;
  border: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"][data-theme="dark"] .admin-tab:hover {
  border-color: #a9d8c2;
  color: #10b981;
}

/* ---------- 通知铃 / 红点（强制回浅色） ---------- */
html[data-skin="mint-fresh"][data-theme="dark"] .notice-bell,
html[data-skin="mint-fresh"][data-theme="dark"] .n-dot {
  color: #10b981;
}

/* ---------- 弹窗遮罩 / 二维码盒（强制回浅色） ---------- */
html[data-skin="mint-fresh"][data-theme="dark"] #logDetailModal,
html[data-skin="mint-fresh"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="mint-fresh"][data-theme="dark"] #batchScanModal {
  background: rgba(31,61,47,0.45);
}
html[data-skin="mint-fresh"][data-theme="dark"] #lxjQrBox,
html[data-skin="mint-fresh"][data-theme="dark"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #cfe9dc;
}
html[data-skin="mint-fresh"][data-theme="dark"] #batchScanQrImg,
html[data-skin="mint-fresh"][data-theme="dark"] #batchScanQr img,
html[data-skin="mint-fresh"][data-theme="dark"] #lxjQrBox img,
html[data-skin="mint-fresh"][data-theme="dark"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区（强制回浅色） ---------- */
html[data-skin="mint-fresh"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #a9d8c2;
  border-radius: 6px;
}
html[data-skin="mint-fresh"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #10b981;
}
html[data-skin="mint-fresh"][data-theme="dark"] ::selection {
  background: rgba(16,185,129,0.16);
  color: #1f3d2f;
}

/* ---------- 全局过渡（强制回浅色） ---------- */
html[data-skin="mint-fresh"][data-theme="dark"] .btn,
html[data-skin="mint-fresh"][data-theme="dark"] .card,
html[data-skin="mint-fresh"][data-theme="dark"] .stat-card,
html[data-skin="mint-fresh"][data-theme="dark"] .acc-card,
html[data-skin="mint-fresh"][data-theme="dark"] input,
html[data-skin="mint-fresh"][data-theme="dark"] select,
html[data-skin="mint-fresh"][data-theme="dark"] textarea,
html[data-skin="mint-fresh"][data-theme="dark"] .admin-tab,
html[data-skin="mint-fresh"][data-theme="dark"] .pagination-bar button,
html[data-skin="mint-fresh"][data-theme="dark"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
/* ===== 奶咖 (mocha) ===== */
/*SKIN {"id":"mocha","name":"奶咖","colors":["#f3ece4","#8b5e3c","#43342a"]}*/
/* ================================================================== */
/* [奶咖] 奶咖色系：奶油底 #f3ece4 + 奶白卡片 + 咖啡棕强调 #8b5e3c    */
/* 温暖咖啡馆感：12px 圆角 / 淡暖影 / 聚焦棕描边                       */
/* ================================================================== */

/* ---------- 变量重定义 ---------- */
html[data-skin="mocha"] {
  --bg: #f3ece4;
  --surface: #faf6f0;
  --card: #faf6f0;
  --border: #e5d9cb;
  --border-light: #d8c7b4;
  --text: #43342a;
  --text-secondary: #6b5546;
  --text-muted: #9c8574;
  --accent: #8b5e3c;
  --accent-hover: #6f4a30;
  --accent-subtle: rgba(139,94,60,0.1);
  --success: #5f7a4e;
  --success-subtle: rgba(95,122,78,0.1);
  --error: #b5544a;
  --error-subtle: rgba(181,84,74,0.09);
  --warning: #b07d3f;
  --warning-subtle: rgba(176,125,63,0.1);
  --info: #5b7a9d;
  --radius: 12px;
  --radius-sm: 9px;
  --shadow-1: 0 1px 3px rgba(120,90,60,0.08);
  --shadow-2: 0 3px 12px rgba(120,90,60,0.1);
  --shadow-3: 0 10px 30px rgba(120,90,60,0.16);
  --row-alt: #f5efe7;
  --log-bg: #f1e9de;
  --btn-disabled-bg: #cbb7a4;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="mocha"][data-theme="dark"] {
  --bg: #f3ece4;
  --surface: #faf6f0;
  --card: #faf6f0;
  --border: #e5d9cb;
  --border-light: #d8c7b4;
  --text: #43342a;
  --text-secondary: #6b5546;
  --text-muted: #9c8574;
  --accent: #8b5e3c;
  --accent-hover: #6f4a30;
  --accent-subtle: rgba(139,94,60,0.1);
  --success: #5f7a4e;
  --success-subtle: rgba(95,122,78,0.1);
  --error: #b5544a;
  --error-subtle: rgba(181,84,74,0.09);
  --warning: #b07d3f;
  --warning-subtle: rgba(176,125,63,0.1);
  --info: #5b7a9d;
  --row-alt: #f5efe7;
  --log-bg: #f1e9de;
  --btn-disabled-bg: #cbb7a4;
  color-scheme: light;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="mocha"] * {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ---------- 页面底：奶咖白 + 暖光弥散 ---------- */
html[data-skin="mocha"] body {
  background:
    radial-gradient(42rem 42rem at 8% -6%, rgba(222,196,168,0.30), transparent 62%),
    radial-gradient(38rem 38rem at 95% 16%, rgba(210,178,146,0.20), transparent 60%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(228,206,182,0.26), transparent 64%),
    linear-gradient(180deg, #f3ece4 0%, #f6f0e8 100%);
  background-attachment: fixed;
  color: #43342a;
  min-height: 100vh;
}
/* 暗色模式下仍强制奶咖底 */
html[data-skin="mocha"][data-theme="dark"] body {
  background:
    radial-gradient(42rem 42rem at 8% -6%, rgba(222,196,168,0.30), transparent 62%),
    radial-gradient(38rem 38rem at 95% 16%, rgba(210,178,146,0.20), transparent 60%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(228,206,182,0.26), transparent 64%),
    linear-gradient(180deg, #f3ece4 0%, #f6f0e8 100%);
  color: #43342a;
}

/* ---------- 卡片 / 面板：奶白卡 + 暖棕描边 + 淡暖影 ---------- */
html[data-skin="mocha"] .card,
html[data-skin="mocha"] .stat-card,
html[data-skin="mocha"] .acc-card,
html[data-skin="mocha"] .auth-panel,
html[data-skin="mocha"] .admin-panel,
html[data-skin="mocha"] .config-panel,
html[data-skin="mocha"] .notice-panel,
html[data-skin="mocha"] .notice-toast,
html[data-skin="mocha"] .autocomplete-dropdown,
html[data-skin="mocha"] .batch-result-item,
html[data-skin="mocha"] .modal-box {
  background: #faf6f0;
  border: 1px solid #e5d9cb;
  box-shadow: 0 4px 14px rgba(120,90,60,0.09);
}
html[data-skin="mocha"] .card:hover,
html[data-skin="mocha"] .stat-card:hover {
  border-color: #d8c7b4;
  box-shadow: 0 8px 22px rgba(120,90,60,0.14);
}
html[data-skin="mocha"] .card-title {
  color: #8b5e3c;
}
html[data-skin="mocha"] .header {
  background: rgba(250,246,240,0.8);
  border-bottom: 1px solid #e5d9cb;
}
html[data-skin="mocha"] .header h1 {
  background: linear-gradient(120deg, #8b5e3c, #c08552);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="mocha"] .btn {
  border-radius: 12px;
  font-weight: 600;
}
html[data-skin="mocha"] .btn-primary,
html[data-skin="mocha"] .auth-btn,
html[data-skin="mocha"] .admin-tab.active {
  background: #8b5e3c;
  color: #fdf9f4;
  border: 1px solid #8b5e3c;
  box-shadow: 0 4px 12px rgba(139,94,60,0.26);
}
html[data-skin="mocha"] .btn-primary:hover,
html[data-skin="mocha"] .auth-btn:hover,
html[data-skin="mocha"] .btn-primary:active {
  background: #6f4a30;
  border-color: #6f4a30;
  box-shadow: 0 6px 16px rgba(111,74,48,0.32);
}
html[data-skin="mocha"] .btn-primary:disabled,
html[data-skin="mocha"] .pagination-bar button:disabled {
  background: #cbb7a4;
  color: #fdf9f4;
  border-color: #cbb7a4;
  box-shadow: none;
}
html[data-skin="mocha"] .btn-secondary,
html[data-skin="mocha"] .batch-btn,
html[data-skin="mocha"] .pagination-bar button,
html[data-skin="mocha"] .notice-panel-head .n-clear {
  background: #faf6f0;
  color: #6b5546;
  border: 1px solid #e5d9cb;
}
html[data-skin="mocha"] .btn-secondary:hover,
html[data-skin="mocha"] .batch-btn:hover,
html[data-skin="mocha"] .pagination-bar button:hover {
  background: #f5efe7;
  color: #8b5e3c;
  border-color: #d8c7b4;
}
html[data-skin="mocha"] .btn-danger {
  background: rgba(181,84,74,0.09);
  color: #b5544a;
  border: 1px solid rgba(181,84,74,0.26);
}
html[data-skin="mocha"] .btn-danger:hover {
  background: rgba(181,84,74,0.17);
}
html[data-skin="mocha"] .admin-tab {
  background: #faf6f0;
  color: #6b5546;
  border: 1px solid #e5d9cb;
  border-radius: 10px;
}
html[data-skin="mocha"] .admin-tab:hover {
  border-color: #d8c7b4;
  color: #8b5e3c;
}

/* ---------- 输入控件：聚焦棕描边 ---------- */
html[data-skin="mocha"] input[type="text"],
html[data-skin="mocha"] input[type="password"],
html[data-skin="mocha"] input[type="number"],
html[data-skin="mocha"] textarea,
html[data-skin="mocha"] select,
html[data-skin="mocha"] .auth-input,
html[data-skin="mocha"] .admin-table input,
html[data-skin="mocha"] .config-row input {
  background: #fffdfb;
  border: 1px solid #e0d2c0;
  color: #43342a;
  border-radius: 9px;
}
html[data-skin="mocha"] input[type="text"]:focus,
html[data-skin="mocha"] input[type="password"]:focus,
html[data-skin="mocha"] input[type="number"]:focus,
html[data-skin="mocha"] textarea:focus,
html[data-skin="mocha"] select:focus,
html[data-skin="mocha"] .auth-input:focus,
html[data-skin="mocha"] #reservationGame:focus,
html[data-skin="mocha"] #modalGameName:focus {
  outline: none;
  border-color: #8b5e3c;
  box-shadow: 0 0 0 3px rgba(139,94,60,0.14);
}
html[data-skin="mocha"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #f3ece4 inset;
  -webkit-text-fill-color: #43342a;
}
html[data-skin="mocha"] input[type="checkbox"],
html[data-skin="mocha"] .acc-check input {
  accent-color: #8b5e3c;
}
html[data-skin="mocha"] ::placeholder {
  color: #b09a86;
}

/* ---------- 双表格 ---------- */
html[data-skin="mocha"] .admin-table th,
html[data-skin="mocha"] .log-table th,
html[data-skin="mocha"] #batchAccountTable th,
html[data-skin="mocha"] #batchUnlockedTable th {
  color: #6f4a30;
  background: #f5efe7;
  border-bottom: 1px solid #e5d9cb;
}
html[data-skin="mocha"] .admin-table td,
html[data-skin="mocha"] .log-table td {
  border-bottom: 1px solid #ece1d3;
}
html[data-skin="mocha"] .admin-table tr:hover td,
html[data-skin="mocha"] .log-table tr:hover td,
html[data-skin="mocha"] #batchAccountTable tbody tr:hover {
  background: rgba(139,94,60,0.05);
}
html[data-skin="mocha"] .log-table tbody tr:nth-child(even) td {
  background: #f5efe7;
}

/* ---------- 日志区 ---------- */
html[data-skin="mocha"] .log-box {
  background: #f1e9de;
  border: 1px solid #e5d9cb;
}
html[data-skin="mocha"] .log-detail-pre {
  background: #f5efe7;
  color: #43342a;
}
html[data-skin="mocha"] .log-line.success { color: #5f7a4e; }
html[data-skin="mocha"] .log-line.fail { color: #b5544a; }
html[data-skin="mocha"] .log-line.info { color: #5b7a9d; }
html[data-skin="mocha"] .log-line.skip { color: #b07d3f; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="mocha"] .badge-info { background: rgba(91,122,157,0.1); color: #5b7a9d; }
html[data-skin="mocha"] .badge-success { background: rgba(95,122,78,0.11); color: #5f7a4e; }
html[data-skin="mocha"] .badge-error { background: rgba(181,84,74,0.1); color: #b5544a; }
html[data-skin="mocha"] .badge-warning { background: rgba(176,125,63,0.11); color: #b07d3f; }
html[data-skin="mocha"] .stat-num.blue { color: #5b7a9d; }
html[data-skin="mocha"] .stat-num.green { color: #5f7a4e; }
html[data-skin="mocha"] .stat-num.red { color: #b5544a; }
html[data-skin="mocha"] .stat-num.yellow { color: #b07d3f; }
html[data-skin="mocha"] .debt-warning {
  background: rgba(181,84,74,0.09);
  border: 1px solid rgba(181,84,74,0.26);
  color: #b5544a;
}
html[data-skin="mocha"] .autocomplete-item.active,
html[data-skin="mocha"] .autocomplete-item:hover {
  background: rgba(139,94,60,0.08);
}
html[data-skin="mocha"] .notice-item:hover {
  background: rgba(139,94,60,0.06);
}
html[data-skin="mocha"] .notice-bell,
html[data-skin="mocha"] .n-dot {
  color: #8b5e3c;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="mocha"] #logDetailModal,
html[data-skin="mocha"] #pointsRecordsModal,
html[data-skin="mocha"] #batchScanModal {
  background: rgba(67,52,42,0.48) !important;
}
html[data-skin="mocha"] #batchScanQr,
html[data-skin="mocha"] #lxjQrBox {
  background: #faf5ec !important;
  border: 1px solid #e5d9cb;
}
html[data-skin="mocha"] #batchScanQrImg,
html[data-skin="mocha"] #batchScanQr img,
html[data-skin="mocha"] #lxjQrBox img,
html[data-skin="mocha"] #lxjQrBox canvas,
html[data-skin="mocha"] img[style*="background:#fff"],
html[data-skin="mocha"] img[style*="background: #fff"] {
  background: #faf6f0 !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="mocha"] ::-webkit-scrollbar-thumb {
  background: #d8c7b4;
  border-radius: 5px;
}
html[data-skin="mocha"] ::-webkit-scrollbar-thumb:hover {
  background: #8b5e3c;
}
html[data-skin="mocha"] ::selection {
  background: rgba(139,94,60,0.16);
  color: #43342a;
}

/* ---------- 暗色变体 data-theme="dark"：深夜咖啡馆 ---------- */
/* 咖啡黑底 #1d1611/#261d15 + 深棕描边 #3b2e23 + 奶沫字 #ecdfd2 + 咖啡棕提亮 #c08552 */
html[data-skin="mocha"][data-theme="dark"] {
  --bg: #1d1611;
  --surface: #261d15;
  --card: #261d15;
  --border: #3b2e23;
  --border-light: #4a3a2c;
  --text: #ecdfd2;
  --text-secondary: #c2ab94;
  --text-muted: #95806b;
  --accent: #c08552;
  --accent-hover: #d19a66;
  --accent-subtle: rgba(192,133,82,0.16);
  --success: #8fae76;
  --success-subtle: rgba(143,174,118,0.14);
  --error: #e08577;
  --error-subtle: rgba(224,133,119,0.12);
  --warning: #d9a967;
  --warning-subtle: rgba(217,169,103,0.14);
  --info: #86a7c9;
  --radius: 12px;
  --radius-sm: 9px;
  --shadow-1: 0 1px 3px rgba(0,0,0,0.4);
  --shadow-2: 0 3px 12px rgba(0,0,0,0.45);
  --shadow-3: 0 10px 30px rgba(0,0,0,0.55);
  --row-alt: #221a12;
  --log-bg: #191310;
  --btn-disabled-bg: #45362a;
  color-scheme: dark;
}
/* 页面底：咖啡黑 + 暖灯微光（压过同特异性但更早的浅色守卫） */
html[data-skin="mocha"][data-theme="dark"] body {
  background:
    radial-gradient(42rem 42rem at 8% -6%, rgba(192,133,82,0.1), transparent 62%),
    radial-gradient(38rem 38rem at 95% 16%, rgba(150,100,60,0.1), transparent 60%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(90,60,40,0.25), transparent 64%),
    linear-gradient(180deg, #1d1611 0%, #191310 100%);
  background-attachment: fixed;
  color: #ecdfd2;
  min-height: 100vh;
}
/* 卡片 / 面板：深咖卡 + 暖棕描边 */
html[data-skin="mocha"][data-theme="dark"] .card,
html[data-skin="mocha"][data-theme="dark"] .stat-card,
html[data-skin="mocha"][data-theme="dark"] .acc-card,
html[data-skin="mocha"][data-theme="dark"] .auth-panel,
html[data-skin="mocha"][data-theme="dark"] .admin-panel,
html[data-skin="mocha"][data-theme="dark"] .config-panel,
html[data-skin="mocha"][data-theme="dark"] .notice-panel,
html[data-skin="mocha"][data-theme="dark"] .notice-toast,
html[data-skin="mocha"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="mocha"][data-theme="dark"] .batch-result-item,
html[data-skin="mocha"][data-theme="dark"] .modal-box {
  background: #261d15;
  border: 1px solid #3b2e23;
  box-shadow: 0 4px 14px rgba(0,0,0,0.4);
}
html[data-skin="mocha"][data-theme="dark"] .card:hover,
html[data-skin="mocha"][data-theme="dark"] .stat-card:hover {
  border-color: #4a3a2c;
  box-shadow: 0 8px 22px rgba(0,0,0,0.5);
}
html[data-skin="mocha"][data-theme="dark"] .card-title {
  color: #c08552;
}
html[data-skin="mocha"][data-theme="dark"] .header {
  background: rgba(29,22,17,0.85);
  border-bottom: 1px solid #3b2e23;
}
html[data-skin="mocha"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #c08552, #e0b084);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* 按钮全系 */
html[data-skin="mocha"][data-theme="dark"] .btn {
  border-radius: 12px;
  font-weight: 600;
}
html[data-skin="mocha"][data-theme="dark"] .btn-primary,
html[data-skin="mocha"][data-theme="dark"] .auth-btn,
html[data-skin="mocha"][data-theme="dark"] .admin-tab.active {
  background: #c08552;
  color: #241307;
  border: 1px solid #c08552;
  box-shadow: 0 4px 12px rgba(192,133,82,0.26);
}
html[data-skin="mocha"][data-theme="dark"] .btn-primary:hover,
html[data-skin="mocha"][data-theme="dark"] .auth-btn:hover,
html[data-skin="mocha"][data-theme="dark"] .btn-primary:active {
  background: #d19a66;
  border-color: #d19a66;
  box-shadow: 0 6px 16px rgba(192,133,82,0.34);
}
html[data-skin="mocha"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="mocha"][data-theme="dark"] .pagination-bar button:disabled {
  background: #45362a;
  color: #95806b;
  border-color: #45362a;
  box-shadow: none;
}
html[data-skin="mocha"][data-theme="dark"] .btn-secondary,
html[data-skin="mocha"][data-theme="dark"] .batch-btn,
html[data-skin="mocha"][data-theme="dark"] .pagination-bar button,
html[data-skin="mocha"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #261d15;
  color: #ecdfd2;
  border: 1px solid #3b2e23;
}
html[data-skin="mocha"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="mocha"][data-theme="dark"] .batch-btn:hover,
html[data-skin="mocha"][data-theme="dark"] .pagination-bar button:hover {
  background: #2f241a;
  color: #c08552;
  border-color: #4a3a2c;
}
html[data-skin="mocha"][data-theme="dark"] .btn-danger {
  background: rgba(224,133,119,0.12);
  color: #e08577;
  border: 1px solid rgba(224,133,119,0.3);
}
html[data-skin="mocha"][data-theme="dark"] .btn-danger:hover {
  background: rgba(224,133,119,0.2);
}
html[data-skin="mocha"][data-theme="dark"] .admin-tab {
  background: #261d15;
  color: #c2ab94;
  border: 1px solid #3b2e23;
  border-radius: 10px;
}
html[data-skin="mocha"][data-theme="dark"] .admin-tab:hover {
  border-color: #4a3a2c;
  color: #c08552;
}
/* 输入控件：聚焦棕描边 */
html[data-skin="mocha"][data-theme="dark"] input[type="text"],
html[data-skin="mocha"][data-theme="dark"] input[type="password"],
html[data-skin="mocha"][data-theme="dark"] input[type="number"],
html[data-skin="mocha"][data-theme="dark"] textarea,
html[data-skin="mocha"][data-theme="dark"] select,
html[data-skin="mocha"][data-theme="dark"] .auth-input,
html[data-skin="mocha"][data-theme="dark"] .admin-table input,
html[data-skin="mocha"][data-theme="dark"] .config-row input {
  background: #1d1611;
  border: 1px solid #3b2e23;
  color: #ecdfd2;
  border-radius: 9px;
}
html[data-skin="mocha"][data-theme="dark"] input[type="text"]:focus,
html[data-skin="mocha"][data-theme="dark"] input[type="password"]:focus,
html[data-skin="mocha"][data-theme="dark"] input[type="number"]:focus,
html[data-skin="mocha"][data-theme="dark"] textarea:focus,
html[data-skin="mocha"][data-theme="dark"] select:focus,
html[data-skin="mocha"][data-theme="dark"] .auth-input:focus,
html[data-skin="mocha"][data-theme="dark"] #reservationGame:focus,
html[data-skin="mocha"][data-theme="dark"] #modalGameName:focus {
  outline: none;
  border-color: #c08552;
  box-shadow: 0 0 0 3px rgba(192,133,82,0.2);
}
html[data-skin="mocha"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #1d1611 inset;
  -webkit-text-fill-color: #ecdfd2;
}
html[data-skin="mocha"][data-theme="dark"] input[type="checkbox"],
html[data-skin="mocha"][data-theme="dark"] .acc-check input {
  accent-color: #c08552;
}
html[data-skin="mocha"][data-theme="dark"] ::placeholder {
  color: #95806b;
}
/* 双表格 */
html[data-skin="mocha"][data-theme="dark"] .admin-table th,
html[data-skin="mocha"][data-theme="dark"] .log-table th,
html[data-skin="mocha"][data-theme="dark"] #batchAccountTable th,
html[data-skin="mocha"][data-theme="dark"] #batchUnlockedTable th {
  color: #d19a66;
  background: #221a12;
  border-bottom: 1px solid #3b2e23;
}
html[data-skin="mocha"][data-theme="dark"] .admin-table td,
html[data-skin="mocha"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #2f241a;
}
html[data-skin="mocha"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="mocha"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="mocha"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(192,133,82,0.08);
}
html[data-skin="mocha"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #221a12;
}
/* 日志区 */
html[data-skin="mocha"][data-theme="dark"] .log-box {
  background: #191310;
  border: 1px solid #3b2e23;
}
html[data-skin="mocha"][data-theme="dark"] .log-detail-pre {
  background: #221a12;
  color: #ecdfd2;
}
html[data-skin="mocha"][data-theme="dark"] .log-line.success { color: #8fae76; }
html[data-skin="mocha"][data-theme="dark"] .log-line.fail { color: #e08577; }
html[data-skin="mocha"][data-theme="dark"] .log-line.info { color: #86a7c9; }
html[data-skin="mocha"][data-theme="dark"] .log-line.skip { color: #d9a967; }
/* 徽标 / 状态 / 提示 */
html[data-skin="mocha"][data-theme="dark"] .badge-info { background: rgba(134,167,201,0.14); color: #86a7c9; }
html[data-skin="mocha"][data-theme="dark"] .badge-success { background: rgba(143,174,118,0.14); color: #8fae76; }
html[data-skin="mocha"][data-theme="dark"] .badge-error { background: rgba(224,133,119,0.14); color: #e08577; }
html[data-skin="mocha"][data-theme="dark"] .badge-warning { background: rgba(217,169,103,0.14); color: #d9a967; }
html[data-skin="mocha"][data-theme="dark"] .stat-num.blue { color: #86a7c9; }
html[data-skin="mocha"][data-theme="dark"] .stat-num.green { color: #8fae76; }
html[data-skin="mocha"][data-theme="dark"] .stat-num.red { color: #e08577; }
html[data-skin="mocha"][data-theme="dark"] .stat-num.yellow { color: #d9a967; }
html[data-skin="mocha"][data-theme="dark"] .debt-warning {
  background: rgba(224,133,119,0.1);
  border: 1px solid rgba(224,133,119,0.3);
  color: #e08577;
}
html[data-skin="mocha"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="mocha"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(192,133,82,0.1);
}
html[data-skin="mocha"][data-theme="dark"] .notice-item:hover {
  background: rgba(192,133,82,0.08);
}
html[data-skin="mocha"][data-theme="dark"] .notice-bell,
html[data-skin="mocha"][data-theme="dark"] .n-dot {
  color: #c08552;
}
/* 弹窗遮罩（二维码盒保持浅底以便扫码，不另覆盖） */
html[data-skin="mocha"][data-theme="dark"] #logDetailModal,
html[data-skin="mocha"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="mocha"][data-theme="dark"] #batchScanModal {
  background: rgba(12,8,5,0.64) !important;
}
/* 滚动条 / 选区 */
html[data-skin="mocha"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #4a3a2c;
  border-radius: 5px;
}
html[data-skin="mocha"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #c08552;
}
html[data-skin="mocha"][data-theme="dark"] ::selection {
  background: rgba(192,133,82,0.3);
  color: #f4e9dc;
}
/* ===== 极简白 (mono) ===== */
/*SKIN {"id":"mono","name":"极简白","colors":["#ffffff","#0f766e","#111111"]}*/
/* ================================================================ */
/* [UI v1 极简白] 覆盖层：只追加、不改前文；后写规则赢。              */
/* 方向：纯白底/近黑字/单一墨绿强调/小圆角/无阴影/1px细边框/紧凑排版 */
/* ================================================================ */
html[data-skin="mono"]{
  --bg:#fafafa; --surface:#ffffff; --card:#ffffff;
  --border:#e5e5e5; --border-light:#d4d4d4;
  --text:#171717; --text-secondary:#525252; --text-muted:#6f6f6f;
  --accent:#0f766e; --accent-hover:#115e59; --accent-subtle:rgba(15,118,110,0.08);
  --success:#15803d; --success-subtle:rgba(21,128,61,0.08);
  --error:#dc2626; --error-subtle:rgba(220,38,38,0.06);
  --warning:#b45309; --warning-subtle:rgba(180,83,9,0.08);
  --info:#1d4ed8;
  --radius:4px; --radius-sm:3px;
  --space-1:6px; --space-2:12px; --space-3:20px;
  --shadow-1:none; --shadow-2:none; --shadow-3:0 4px 24px rgba(0,0,0,0.12);
  --row-alt:#fafafa; --log-bg:#f5f5f5; --btn-disabled-bg:#a3a3a3;
}
/* 系统字体栈、去负字距 */
html[data-skin="mono"] body{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'PingFang SC','Microsoft YaHei',sans-serif; letter-spacing:0;}
/* 去渐变字：页头标题改纯色 */
html[data-skin="mono"] .header h1{background:none; background-image:none; -webkit-background-clip:border-box; background-clip:border-box; -webkit-text-fill-color:currentColor; color:var(--text);}
/* 去渐变字：两个内联渐变 h2（HTML 字节不可动，用属性选择器+important 压制） */
html[data-skin="mono"] h2[style*=linear-gradient]{background:none !important; background-image:none !important; -webkit-background-clip:border-box !important; background-clip:border-box !important; -webkit-text-fill-color:var(--text) !important; color:var(--text) !important;}
/* 控件收敛：小圆角、去浮起、去位移 */
html[data-skin="mono"] .btn{padding:8px 16px; border-radius:var(--radius-sm); font-weight:500; letter-spacing:0;}
html[data-skin="mono"] .btn-primary:hover,
html[data-skin="mono"] .btn-primary:active{transform:none; box-shadow:none;}
html[data-skin="mono"] .card:hover{box-shadow:none;}
html[data-skin="mono"] .stat-card:hover{transform:none; box-shadow:none;}
html[data-skin="mono"] .stat-card::before{height:2px; opacity:1;}
html[data-skin="mono"] .admin-tab{border-radius:var(--radius-sm);}
html[data-skin="mono"] .badge,
html[data-skin="mono"] .points-badge{border-radius:3px;}
/* 硬编码青色 hover → 墨绿低透明 */
html[data-skin="mono"] #batchAccountTable tbody tr:hover{background:rgba(15,118,110,0.04);}
html[data-skin="mono"] .admin-table tr:hover td,
html[data-skin="mono"] .log-table tr:hover td{background:rgba(15,118,110,0.045);}
/* 输入件紧凑 + focus 光晕 3px 收为 2px */
html[data-skin="mono"] textarea{padding:10px 12px;}
html[data-skin="mono"] input[type=text],
html[data-skin="mono"] input[type=password],
html[data-skin="mono"] input[type=number]{padding:7px 11px;}
html[data-skin="mono"] input[type=text]:focus,
html[data-skin="mono"] input[type=password]:focus,
html[data-skin="mono"] input[type=number]:focus,
html[data-skin="mono"] textarea:focus,
html[data-skin="mono"] #reservationGame:focus,
html[data-skin="mono"] #modalGameName:focus{box-shadow:0 0 0 2px var(--accent-subtle);}
html[data-skin="mono"] ::selection{background:rgba(15,118,110,0.14);}

/* ================================================================ */
/* [暗色变体] data-theme="dark"：碳黑极简（面 #141414/#1c1c1c）       */
/* 墨绿强调提亮 #2dd4bf；无阴影/1px 细边/紧凑设计语言保持不变          */
/* ================================================================ */
html[data-skin="mono"][data-theme="dark"]{
  --bg:#141414; --surface:#1c1c1c; --card:#1c1c1c;
  --border:#2e2e2e; --border-light:#3a3a3a;
  --text:#e5e5e5; --text-secondary:#b3b3b3; --text-muted:#8a8a8a;
  --accent:#2dd4bf; --accent-hover:#5eead4; --accent-subtle:rgba(45,212,191,0.12);
  --success:#4ade80; --success-subtle:rgba(74,222,128,0.12);
  --error:#f87171; --error-subtle:rgba(248,113,113,0.12);
  --warning:#fbbf24; --warning-subtle:rgba(251,191,36,0.12);
  --info:#60a5fa;
  --row-alt:#181818; --log-bg:#111111; --btn-disabled-bg:#333333;
  color-scheme:dark;
}
html[data-skin="mono"][data-theme="dark"] body{background:var(--bg); color:var(--text);}
html[data-skin="mono"][data-theme="dark"] .header{background:rgba(20,20,20,0.92); border-bottom:1px solid #2e2e2e;}
html[data-skin="mono"][data-theme="dark"] .header h1{background:none; background-image:none; -webkit-background-clip:border-box; background-clip:border-box; -webkit-text-fill-color:#f5f5f5; color:#f5f5f5;}
html[data-skin="mono"][data-theme="dark"] h2[style*=linear-gradient]{background:none !important; background-image:none !important; -webkit-background-clip:border-box !important; background-clip:border-box !important; -webkit-text-fill-color:#f5f5f5 !important; color:#f5f5f5 !important;}
html[data-skin="mono"][data-theme="dark"] .card,
html[data-skin="mono"][data-theme="dark"] .stat-card,
html[data-skin="mono"][data-theme="dark"] .acc-card,
html[data-skin="mono"][data-theme="dark"] .auth-panel,
html[data-skin="mono"][data-theme="dark"] .admin-panel,
html[data-skin="mono"][data-theme="dark"] .config-panel,
html[data-skin="mono"][data-theme="dark"] .notice-panel,
html[data-skin="mono"][data-theme="dark"] .notice-toast,
html[data-skin="mono"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="mono"][data-theme="dark"] .batch-result-item,
html[data-skin="mono"][data-theme="dark"] .modal-box{background:#1c1c1c; border:1px solid #2e2e2e; box-shadow:none;}
html[data-skin="mono"][data-theme="dark"] .card:hover,
html[data-skin="mono"][data-theme="dark"] .stat-card:hover{box-shadow:none; border-color:#3a3a3a; transform:none;}
html[data-skin="mono"][data-theme="dark"] .card-title{color:#f5f5f5; border-bottom:1px solid #2e2e2e;}
html[data-skin="mono"][data-theme="dark"] .stat-card::before{background:#2dd4bf; height:2px; opacity:1;}
html[data-skin="mono"][data-theme="dark"] .btn-primary,
html[data-skin="mono"][data-theme="dark"] .auth-btn,
html[data-skin="mono"][data-theme="dark"] .admin-tab.active{background:#2dd4bf; color:#10201d; border:1px solid #2dd4bf;}
html[data-skin="mono"][data-theme="dark"] .btn-primary:hover,
html[data-skin="mono"][data-theme="dark"] .auth-btn:hover,
html[data-skin="mono"][data-theme="dark"] .btn-primary:active{background:#5eead4; border-color:#5eead4; transform:none; box-shadow:none;}
html[data-skin="mono"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="mono"][data-theme="dark"] .pagination-bar button:disabled{background:#333333; color:#8a8a8a; border-color:#333333; box-shadow:none;}
html[data-skin="mono"][data-theme="dark"] .btn-secondary,
html[data-skin="mono"][data-theme="dark"] .batch-btn,
html[data-skin="mono"][data-theme="dark"] .pagination-bar button{background:#1c1c1c; color:#e5e5e5; border:1px solid #3a3a3a;}
html[data-skin="mono"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="mono"][data-theme="dark"] .batch-btn:hover,
html[data-skin="mono"][data-theme="dark"] .pagination-bar button:hover{background:#262626; color:#2dd4bf; border-color:#3a3a3a;}
html[data-skin="mono"][data-theme="dark"] .btn-danger{background:rgba(248,113,113,0.1); color:#f87171; border:1px solid rgba(248,113,113,0.3);}
html[data-skin="mono"][data-theme="dark"] .btn-danger:hover{background:rgba(248,113,113,0.18);}
html[data-skin="mono"][data-theme="dark"] .admin-tab{background:#1c1c1c; color:#b3b3b3; border:1px solid #2e2e2e; border-radius:var(--radius-sm);}
html[data-skin="mono"][data-theme="dark"] .admin-tab:hover{border-color:#3a3a3a; color:#2dd4bf;}
html[data-skin="mono"][data-theme="dark"] textarea,
html[data-skin="mono"][data-theme="dark"] input[type=text],
html[data-skin="mono"][data-theme="dark"] input[type=password],
html[data-skin="mono"][data-theme="dark"] input[type=number],
html[data-skin="mono"][data-theme="dark"] select,
html[data-skin="mono"][data-theme="dark"] .auth-input,
html[data-skin="mono"][data-theme="dark"] .admin-table input,
html[data-skin="mono"][data-theme="dark"] .config-row input{background:#141414; border:1px solid #2e2e2e; color:#e5e5e5; border-radius:var(--radius-sm);}
html[data-skin="mono"][data-theme="dark"] input[type=text]:focus,
html[data-skin="mono"][data-theme="dark"] input[type=password]:focus,
html[data-skin="mono"][data-theme="dark"] input[type=number]:focus,
html[data-skin="mono"][data-theme="dark"] textarea:focus,
html[data-skin="mono"][data-theme="dark"] select:focus,
html[data-skin="mono"][data-theme="dark"] .auth-input:focus,
html[data-skin="mono"][data-theme="dark"] #reservationGame:focus,
html[data-skin="mono"][data-theme="dark"] #modalGameName:focus{outline:none; border-color:#2dd4bf; box-shadow:0 0 0 2px rgba(45,212,191,0.2);}
html[data-skin="mono"][data-theme="dark"] input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #141414 inset; -webkit-text-fill-color:#e5e5e5;}
html[data-skin="mono"][data-theme="dark"] input[type=checkbox],
html[data-skin="mono"][data-theme="dark"] .acc-check input{accent-color:#2dd4bf;}
html[data-skin="mono"][data-theme="dark"] ::placeholder{color:#8a8a8a;}
html[data-skin="mono"][data-theme="dark"] .admin-table th,
html[data-skin="mono"][data-theme="dark"] .log-table th,
html[data-skin="mono"][data-theme="dark"] #batchAccountTable th,
html[data-skin="mono"][data-theme="dark"] #batchUnlockedTable th{background:#141414; color:#8a8a8a; font-weight:600; border-bottom:1px solid #2e2e2e;}
html[data-skin="mono"][data-theme="dark"] .admin-table td,
html[data-skin="mono"][data-theme="dark"] .log-table td{border-bottom:1px solid #262626;}
html[data-skin="mono"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="mono"][data-theme="dark"] .log-table tbody tr:nth-child(even) td{background:#181818;}
html[data-skin="mono"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="mono"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="mono"][data-theme="dark"] #batchAccountTable tbody tr:hover{background:rgba(45,212,191,0.06);}
html[data-skin="mono"][data-theme="dark"] .log-box{background:#111111; border:1px solid #2e2e2e;}
html[data-skin="mono"][data-theme="dark"] .log-detail-pre{background:#181818; color:#e5e5e5;}
html[data-skin="mono"][data-theme="dark"] .log-line.success{color:#4ade80;}
html[data-skin="mono"][data-theme="dark"] .log-line.fail{color:#f87171;}
html[data-skin="mono"][data-theme="dark"] .log-line.info{color:#60a5fa;}
html[data-skin="mono"][data-theme="dark"] .log-line.skip{color:#fbbf24;}
html[data-skin="mono"][data-theme="dark"] .badge,
html[data-skin="mono"][data-theme="dark"] .points-badge{border-radius:3px;}
html[data-skin="mono"][data-theme="dark"] .badge-info{background:rgba(96,165,250,0.14); color:#60a5fa;}
html[data-skin="mono"][data-theme="dark"] .badge-success{background:rgba(74,222,128,0.14); color:#4ade80;}
html[data-skin="mono"][data-theme="dark"] .badge-error{background:rgba(248,113,113,0.14); color:#f87171;}
html[data-skin="mono"][data-theme="dark"] .badge-warning{background:rgba(251,191,36,0.14); color:#fbbf24;}
html[data-skin="mono"][data-theme="dark"] .stat-num.blue{color:#60a5fa;}
html[data-skin="mono"][data-theme="dark"] .stat-num.green{color:#4ade80;}
html[data-skin="mono"][data-theme="dark"] .stat-num.red{color:#f87171;}
html[data-skin="mono"][data-theme="dark"] .stat-num.yellow{color:#fbbf24;}
html[data-skin="mono"][data-theme="dark"] .debt-warning{background:rgba(248,113,113,0.1); border:1px solid rgba(248,113,113,0.3); color:#f87171;}
html[data-skin="mono"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="mono"][data-theme="dark"] .autocomplete-item:hover{background:rgba(45,212,191,0.08);}
html[data-skin="mono"][data-theme="dark"] .notice-item:hover{background:rgba(45,212,191,0.06);}
html[data-skin="mono"][data-theme="dark"] .notice-bell,
html[data-skin="mono"][data-theme="dark"] .n-dot{color:#2dd4bf;}
html[data-skin="mono"][data-theme="dark"] #logDetailModal,
html[data-skin="mono"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="mono"][data-theme="dark"] #batchScanModal{background:rgba(0,0,0,0.62) !important;}
html[data-skin="mono"][data-theme="dark"] ::-webkit-scrollbar-thumb{background:#3a3a3a; border-radius:2px;}
html[data-skin="mono"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover{background:#2dd4bf;}
html[data-skin="mono"][data-theme="dark"] ::selection{background:rgba(45,212,191,0.28); color:#f5f5f5;}
/* ===== 墨奈 (monokai) ===== */
/*SKIN {"id":"monokai","name":"墨奈","colors":["#272822", "#a6e22e", "#f8f8f2"]}*/
/* 墨奈：经典编辑器配色 + 黄绿主强调 + 粉黄橙紫点缀 + 极淡扫描线 */

/* ---------- 变量重定义 ---------- */
html[data-skin="monokai"] {
  --bg: #272822;
  --surface: #32332c;
  --card: #32332c;
  --border: #49483e;
  --border-light: #5e5c50;
  --text: #f8f8f2;
  --text-secondary: #c4c4b6;
  --text-muted: #9a9886;
  --accent: #a6e22e;
  --accent-hover: #c6f548;
  --accent-subtle: rgba(166,226,46,0.13);
  --success: #a6e22e;
  --success-subtle: rgba(166,226,46,0.12);
  --error: #f92672;
  --error-subtle: rgba(249,38,114,0.12);
  --warning: #e6db74;
  --warning-subtle: rgba(230,219,116,0.1);
  --info: #66d9ef;
  --radius: 3px;
  --radius-sm: 2px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.4);
  --shadow-2: 0 2px 10px rgba(0,0,0,0.5);
  --shadow-3: 0 8px 28px rgba(0,0,0,0.65);
  --row-alt: #2c2d26;
  --log-bg: #1f201a;
  --btn-disabled-bg: #3e3f36;
  color-scheme: dark;
}

/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="monokai"][data-theme="dark"] {
  --bg: #272822;
  --surface: #32332c;
  --card: #32332c;
  --border: #49483e;
  --border-light: #5e5c50;
  --text: #f8f8f2;
  --text-secondary: #c4c4b6;
  --text-muted: #9a9886;
  --accent: #a6e22e;
  --accent-hover: #c6f548;
  --accent-subtle: rgba(166,226,46,0.13);
  --success: #a6e22e;
  --success-subtle: rgba(166,226,46,0.12);
  --error: #f92672;
  --error-subtle: rgba(249,38,114,0.12);
  --warning: #e6db74;
  --warning-subtle: rgba(230,219,116,0.1);
  --info: #66d9ef;
  --radius: 3px;
  --radius-sm: 2px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.4);
  --shadow-2: 0 2px 10px rgba(0,0,0,0.5);
  --shadow-3: 0 8px 28px rgba(0,0,0,0.65);
  --row-alt: #2c2d26;
  --log-bg: #1f201a;
  --btn-disabled-bg: #3e3f36;
  color-scheme: dark;
}

/* ---------- 页面底 + 扫描线（静态低透明度，不影响阅读） ---------- */
html[data-skin="monokai"] body {
  background: #272822;
  color: #f8f8f2;
  min-height: 100vh;
}
html[data-skin="monokai"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.025) 0px,
    rgba(255,255,255,0.025) 1px,
    transparent 1px,
    transparent 3px
  );
}

/* ---------- 卡片 / 面板 ---------- */
html[data-skin="monokai"] .card,
html[data-skin="monokai"] .stat-card,
html[data-skin="monokai"] .acc-card,
html[data-skin="monokai"] .auth-panel,
html[data-skin="monokai"] .admin-panel,
html[data-skin="monokai"] .config-panel,
html[data-skin="monokai"] .notice-panel,
html[data-skin="monokai"] .batch-result-item {
  background: #32332c;
  border: 1px solid #49483e;
  box-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
html[data-skin="monokai"] .card:hover,
html[data-skin="monokai"] .stat-card:hover {
  border-color: #a6e22e;
  box-shadow: 0 0 0 1px #a6e22e, 0 8px 28px rgba(0,0,0,0.65);
}
html[data-skin="monokai"] .card-title {
  color: #a6e22e;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
html[data-skin="monokai"] .header {
  background: #272822;
  border-bottom: 1px solid #49483e;
}
html[data-skin="monokai"] .header h1 {
  background: linear-gradient(90deg, #a6e22e, #e6db74);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
  letter-spacing: 0.04em;
}


/* ---------- 按钮全系 ---------- */
html[data-skin="monokai"] .btn {
  border-radius: 3px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
html[data-skin="monokai"] .btn-primary,
html[data-skin="monokai"] .auth-btn,
html[data-skin="monokai"] .admin-tab.active {
  background: #a6e22e;
  color: #272822;
  border: 1px solid #a6e22e;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(166,226,46,0.3);
}
html[data-skin="monokai"] .btn-primary:hover,
html[data-skin="monokai"] .auth-btn:hover {
  background: #c6f548;
  border-color: #c6f548;
  box-shadow: 0 0 18px rgba(166,226,46,0.45);
}
html[data-skin="monokai"] .btn-primary:disabled,
html[data-skin="monokai"] .pagination-bar button:disabled {
  background: #3e3f36;
  color: #9a9886;
  border-color: #49483e;
  box-shadow: none;
}
html[data-skin="monokai"] .btn-secondary,
html[data-skin="monokai"] .batch-btn,
html[data-skin="monokai"] .pagination-bar button,
html[data-skin="monokai"] .notice-panel-head .n-clear {
  background: #32332c;
  color: #f8f8f2;
  border: 1px solid #5e5c50;
  border-radius: 3px;
}
html[data-skin="monokai"] .btn-secondary:hover,
html[data-skin="monokai"] .batch-btn:hover,
html[data-skin="monokai"] .pagination-bar button:hover {
  background: #32332c;
  color: #a6e22e;
  border-color: #a6e22e;
}
html[data-skin="monokai"] .btn-danger {
  background: rgba(249,38,114,0.15);
  color: #f92672;
  border: 1px solid #f92672;
  border-radius: 3px;
}
html[data-skin="monokai"] .btn-danger:hover {
  background: rgba(249,38,114,0.28);
}

/* ---------- 输入控件：深底 + 强调描边聚焦 ---------- */
html[data-skin="monokai"] input[type="text"],
html[data-skin="monokai"] input[type="password"],
html[data-skin="monokai"] input[type="number"],
html[data-skin="monokai"] textarea,
html[data-skin="monokai"] select,
html[data-skin="monokai"] .auth-input,
html[data-skin="monokai"] .admin-table input,
html[data-skin="monokai"] .config-row input {
  background: #1f201a;
  border: 1px solid #49483e;
  color: #f8f8f2;
  border-radius: 3px;
}
html[data-skin="monokai"] input[type="text"]:focus,
html[data-skin="monokai"] input[type="password"]:focus,
html[data-skin="monokai"] input[type="number"]:focus,
html[data-skin="monokai"] textarea:focus,
html[data-skin="monokai"] select:focus,
html[data-skin="monokai"] .auth-input:focus,
html[data-skin="monokai"] #reservationGame:focus,
html[data-skin="monokai"] #modalGameName:focus {
  outline: none;
  border-color: #a6e22e;
  box-shadow: 0 0 0 1px #a6e22e, 0 0 8px rgba(166,226,46,0.22);
}
html[data-skin="monokai"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #1f201a inset;
  -webkit-text-fill-color: #f8f8f2;
  caret-color: #a6e22e;
}
html[data-skin="monokai"] input[type="checkbox"],
html[data-skin="monokai"] .acc-card-top .acc-check input {
  accent-color: #a6e22e;
}
html[data-skin="monokai"] ::placeholder {
  color: #9a9886;
}

/* ---------- 双表格 ---------- */
html[data-skin="monokai"] .admin-table th,
html[data-skin="monokai"] .log-table th {
  color: #a6e22e;
  background: #1f201a;
  border-bottom: 1px solid #49483e;
}
html[data-skin="monokai"] .admin-table td,
html[data-skin="monokai"] .log-table td {
  border-bottom: 1px solid #3e3d34;
}
html[data-skin="monokai"] .admin-table tr:hover td,
html[data-skin="monokai"] .log-table tr:hover td,
html[data-skin="monokai"] #batchAccountTable tbody tr:hover {
  background: rgba(166,226,46,0.07);
}
html[data-skin="monokai"] .log-table tbody tr:nth-child(even) td {
  background: #2c2d26;
}

/* ---------- 日志区 ---------- */
html[data-skin="monokai"] .log-box {
  background: #1f201a;
  border: 1px solid #49483e;
}
html[data-skin="monokai"] .log-detail-pre {
  background: #2c2d26;
  color: #f8f8f2;
  border: 1px solid #3e3d34;
}
html[data-skin="monokai"] .log-line.success { color: #a6e22e; }
html[data-skin="monokai"] .log-line.fail { color: #f92672; }
html[data-skin="monokai"] .log-line.info { color: #66d9ef; }
html[data-skin="monokai"] .log-line.skip { color: #e6db74; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="monokai"] .badge-info { background: rgba(102,217,239,0.12); color: #66d9ef; }
html[data-skin="monokai"] .badge-success { background: rgba(166,226,46,0.12); color: #a6e22e; }
html[data-skin="monokai"] .badge-error { background: rgba(249,38,114,0.12); color: #f92672; }
html[data-skin="monokai"] .badge-warning { background: rgba(230,219,116,0.1); color: #e6db74; }
html[data-skin="monokai"] .stat-num.blue { color: #66d9ef; }
html[data-skin="monokai"] .stat-num.green { color: #a6e22e; }
html[data-skin="monokai"] .stat-num.red { color: #f92672; }
html[data-skin="monokai"] .stat-num.yellow { color: #e6db74; }
html[data-skin="monokai"] .debt-warning {
  background: rgba(249,38,114,0.12);
  border: 1px solid #f92672;
  color: #f92672;
  border-radius: 3px;
}
html[data-skin="monokai"] .autocomplete-dropdown {
  background: #32332c;
  border: 1px solid #49483e;
  border-radius: 3px;
}
html[data-skin="monokai"] .autocomplete-item.active,
html[data-skin="monokai"] .autocomplete-item:hover {
  background: rgba(166,226,46,0.13);
  color: #a6e22e;
}
html[data-skin="monokai"] .admin-tab {
  background: #32332c;
  color: #c4c4b6;
  border: 1px solid #49483e;
  border-radius: 3px;
}
html[data-skin="monokai"] .admin-tab:hover {
  border-color: #a6e22e;
  color: #a6e22e;
}
html[data-skin="monokai"] .notice-toast {
  background: #32332c;
  border: 1px solid #a6e22e;
  border-left: 4px solid #a6e22e;
  border-radius: 3px;
}
html[data-skin="monokai"] .notice-item:hover {
  background: rgba(166,226,46,0.07);
}
html[data-skin="monokai"] .notice-bell,
html[data-skin="monokai"] .n-dot {
  color: #a6e22e;
}

/* ---------- 弹窗遮罩 / 二维码盒淡纸白（保扫码对比度） ---------- */
html[data-skin="monokai"] #logDetailModal,
html[data-skin="monokai"] #pointsRecordsModal,
html[data-skin="monokai"] #batchScanModal {
  background: rgba(12,12,8,0.78) !important;
}
html[data-skin="monokai"] #lxjQrBox,
html[data-skin="monokai"] #batchScanQr,
html[data-skin="monokai"] #lxjQrImg,
html[data-skin="monokai"] #batchScanQrImg {
  background: #f5f2e9 !important;
  border: 1px solid rgba(166,226,46,0.5);
}
html[data-skin="monokai"] img[style*="background:#fff"] {
  background: #f5f2e9 !important;
}

/* ---------- 滚动条 / 选区 / 过渡 ---------- */
html[data-skin="monokai"] ::-webkit-scrollbar-thumb {
  background: #49483e;
  border-radius: 3px;
}
html[data-skin="monokai"] ::-webkit-scrollbar-thumb:hover {
  background: #a6e22e;
}
html[data-skin="monokai"] ::selection {
  background: #a6e22e;
  color: #272822;
}
html[data-skin="monokai"] .btn,
html[data-skin="monokai"] .card,
html[data-skin="monokai"] .stat-card,
html[data-skin="monokai"] .acc-card,
html[data-skin="monokai"] .admin-tab,
html[data-skin="monokai"] .pagination-bar button,
html[data-skin="monokai"] input,
html[data-skin="monokai"] select,
html[data-skin="monokai"] textarea {
  transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s;
}

/* ---------- 动效保护：系统减弱动效时关闭过渡与动画 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="monokai"] * {
    transition: none !important;
  }
  html[data-skin="monokai"] body {
    animation: none;
  }
}
/* ===== 霓虹夜 (neon) ===== */
/*SKIN {"id":"neon","name":"霓虹夜","colors":["#0b0f1a","#00e5ff","#e5e7eb"]}*/
/* ============================================================
   霓虹夜 · Neon Night — 赛博夜店深色皮肤
   底 #0b0f1a / 卡 #111827 / 文 #e5e7eb
   双霓虹强调：青 #00e5ff × 品红 #ff2e88
   全部规则 scope 于 html[data-skin="neon"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="neon"] {
  --bg: #0b0f1a;
  --surface: #111827;
  --card: #111827;
  --border: #202b41;
  --border-light: #2c3a58;
  --text: #e5e7eb;
  --text-secondary: #a7b2c7;
  --text-muted: #74839d;
  --accent: #00e5ff;
  --accent-hover: #5cecff;
  --accent-subtle: rgba(0, 229, 255, 0.10);
  --success: #00e28a;
  --success-subtle: rgba(0, 226, 138, 0.10);
  --error: #ff4d78;
  --error-subtle: rgba(255, 46, 136, 0.10);
  --warning: #ffb340;
  --warning-subtle: rgba(255, 179, 64, 0.12);
  --info: #38bdf8;
  --row-alt: #0e1524;
  --log-bg: #080d18;
  --btn-disabled-bg: #1c2740;
  --shadow-1: 0 1px 3px rgba(0, 0, 0, 0.55);
  --shadow-2: 0 2px 10px rgba(0, 0, 0, 0.55);
  --shadow-3: 0 10px 36px rgba(0, 0, 0, 0.65);
  --on-accent: #04121b;
  background: #0b0f1a;
  color-scheme: dark;
}

/* ---- 2. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="neon"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 3. body：深黑蓝底 + 微弱青/品红氛围光 ---- */
html[data-skin="neon"] body {
  background:
    radial-gradient(1100px 520px at 18% -12%, rgba(0, 229, 255, 0.07), transparent 62%),
    radial-gradient(900px 480px at 88% -6%, rgba(255, 46, 136, 0.07), transparent 60%),
    radial-gradient(1200px 700px at 50% 118%, rgba(0, 229, 255, 0.05), transparent 65%),
    #0b0f1a;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 4. 选区 / 滚动条 / 图片 ---- */
html[data-skin="neon"] ::selection {
  background: rgba(0, 229, 255, 0.35);
  color: #f2feff;
}
html[data-skin="neon"] ::-webkit-scrollbar-thumb {
  background: #24304a;
  border-radius: 8px;
}
html[data-skin="neon"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 229, 255, 0.5);
}
html[data-skin="neon"] img {
  filter: brightness(0.92) saturate(1.05);
}

/* ---- 5. 头部：标题品红→青渐变霓虹字 ---- */
html[data-skin="neon"] .header {
  border-color: #202b41;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(0, 229, 255, 0.18);
}
html[data-skin="neon"] .header h1 {
  background: linear-gradient(90deg, #ff2e88, #00e5ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.35));
}
html[data-skin="neon"] .card-title {
  color: #6fd8e8;
}

/* ---- 6. 卡片族：深卡 + hover 青光描边 ---- */
html[data-skin="neon"] .card,
html[data-skin="neon"] .stat-card,
html[data-skin="neon"] .admin-panel,
html[data-skin="neon"] .acc-card,
html[data-skin="neon"] .batch-group,
html[data-skin="neon"] .batch-result-item,
html[data-skin="neon"] .notice-panel,
html[data-skin="neon"] .notice-toast {
  background: #111827;
  border: 1px solid #202b41;
}
html[data-skin="neon"] .card:hover,
html[data-skin="neon"] .stat-card:hover {
  border-color: rgba(0, 229, 255, 0.55);
  box-shadow: 0 0 18px rgba(0, 229, 255, 0.18), var(--shadow-2);
}
html[data-skin="neon"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 7. 按钮族：主按钮青霓虹发光，品红危险键 ---- */
html[data-skin="neon"] .btn,
html[data-skin="neon"] .batch-btn,
html[data-skin="neon"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="neon"] .btn-primary {
  background: linear-gradient(135deg, #00e5ff, #00b7d4);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(0, 229, 255, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}
html[data-skin="neon"] .btn-primary:hover {
  background: linear-gradient(135deg, #5cecff, #00d0ee);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(0, 229, 255, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.25);
}
html[data-skin="neon"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #5d6b82;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="neon"] .btn-secondary {
  background: #111827;
  color: var(--text-secondary);
  border: 1px solid #2c3a58;
}
html[data-skin="neon"] .btn-secondary:hover {
  background: #16213a;
  color: #00e5ff;
  border-color: rgba(0, 229, 255, 0.55);
  box-shadow: 0 0 12px rgba(0, 229, 255, 0.22);
}
html[data-skin="neon"] .btn-danger {
  background: rgba(255, 46, 136, 0.12);
  color: #ff5c9d;
  border: 1px solid rgba(255, 46, 136, 0.35);
}
html[data-skin="neon"] .btn-danger:hover {
  background: rgba(255, 46, 136, 0.2);
  box-shadow: 0 0 14px rgba(255, 46, 136, 0.35);
}
html[data-skin="neon"] .btn:disabled {
  color: #5d6b82;
}

/* ---- 8. 输入族：深底青描边聚焦发光 ---- */
html[data-skin="neon"] input[type="text"],
html[data-skin="neon"] input[type="password"],
html[data-skin="neon"] input[type="number"],
html[data-skin="neon"] input[type="date"],
html[data-skin="neon"] input[type="time"],
html[data-skin="neon"] textarea,
html[data-skin="neon"] .auth-input,
html[data-skin="neon"] .admin-table input,
html[data-skin="neon"] #reservationGame,
html[data-skin="neon"] #modalGameName {
  background: #0d1424;
  border: 1px solid #24304a;
  color: var(--text);
}
html[data-skin="neon"] input[type="text"]:focus,
html[data-skin="neon"] input[type="password"]:focus,
html[data-skin="neon"] input[type="number"]:focus,
html[data-skin="neon"] textarea:focus,
html[data-skin="neon"] .auth-input:focus,
html[data-skin="neon"] .admin-table input:focus,
html[data-skin="neon"] #reservationGame:focus,
html[data-skin="neon"] #modalGameName:focus {
  outline: none;
  border-color: #00e5ff;
  box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.15), 0 0 14px rgba(0, 229, 255, 0.22);
}
html[data-skin="neon"] input[type="checkbox"] {
  accent-color: #00e5ff;
}

/* ---- 9. 表格：深表头 / 斑马纹 / 霓虹行悬停 ---- */
html[data-skin="neon"] .admin-table th,
html[data-skin="neon"] .admin-table td,
html[data-skin="neon"] .log-table th,
html[data-skin="neon"] .log-table td {
  border-bottom: 1px solid #1a2438;
}
html[data-skin="neon"] .admin-table th,
html[data-skin="neon"] .log-table th {
  background: #0b0f1a;
  border-bottom: 1px solid #24304a;
}
html[data-skin="neon"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="neon"] .log-table tbody tr:nth-child(even) td {
  background: #0e1524;
}
html[data-skin="neon"] .admin-table tr:hover td,
html[data-skin="neon"] .log-table tr:hover td {
  background: rgba(0, 229, 255, 0.06);
}
html[data-skin="neon"] .batch-table-wrap {
  border-color: #1a2438;
}

/* ---- 10. 管理 tab：激活键青色胶囊发光 ---- */
html[data-skin="neon"] .admin-tab {
  background: #0d1424;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="neon"] .admin-tab:hover {
  color: #e5e7eb;
  border-color: #2c3a58;
}
html[data-skin="neon"] .admin-tab.active {
  background: linear-gradient(135deg, #00e5ff, #00b7d4);
  color: var(--on-accent);
  border-color: #00e5ff;
  box-shadow: 0 0 14px rgba(0, 229, 255, 0.4);
}

/* ---- 11. 日志区：纯黑监重视窗 ---- */
html[data-skin="neon"] .log-box {
  background: #080d18;
  border: 1px solid #1c2740;
  box-shadow: inset 0 0 24px rgba(0, 229, 255, 0.04);
}

/* ---- 12. 登录面板：霓虹边卡 + 品红登录键 ---- */
html[data-skin="neon"] .auth-panel {
  background: #111827;
  border: 1px solid #202b41;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 24px rgba(255, 46, 136, 0.08);
}
html[data-skin="neon"] .auth-btn {
  background: #d6116a;
  color: #ffffff;
  box-shadow: 0 0 18px rgba(255, 46, 136, 0.35);
}
html[data-skin="neon"] .auth-btn:hover {
  background: #e0146b;
  box-shadow: 0 0 26px rgba(255, 46, 136, 0.5);
}

/* ---- 13. 通知面板 / 弹出 toast ---- */
html[data-skin="neon"] .notice-panel {
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6), 0 0 18px rgba(0, 229, 255, 0.12);
}
html[data-skin="neon"] .notice-dot {
  border-color: #0b0f1a;
}
html[data-skin="neon"] .notice-toast {
  border-color: rgba(0, 229, 255, 0.6);
  border-left: 4px solid #00e5ff;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6), 0 0 18px rgba(0, 229, 255, 0.15);
}
html[data-skin="neon"] .notice-toast .t-head {
  background: rgba(0, 229, 255, 0.12);
  color: #00e5ff;
}

/* ---- 14. 分页 / 徽标 / 杂项 ---- */
html[data-skin="neon"] .pagination-bar button {
  background: #111827;
  border: 1px solid #24304a;
  color: var(--text);
}
html[data-skin="neon"] .pagination-bar button:hover {
  border-color: #00e5ff;
  color: #00e5ff;
  box-shadow: 0 0 10px rgba(0, 229, 255, 0.25);
}
html[data-skin="neon"] .points-badge {
  background: #ffb340;
  color: #241300;
}
html[data-skin="neon"] .batch-result-item.ok {
  border-color: rgba(0, 226, 138, 0.4);
}

/* ---- 15. 弹窗卡：内联 var(--card) 自动继承深色，补霓虹投影；内联白底二维码盒压制 ---- */
html[data-skin="neon"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6), 0 0 24px rgba(0, 229, 255, 0.10) !important;
}
html[data-skin="neon"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #ff2e88, #00e5ff) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="neon"] #lxjQrBox,
html[data-skin="neon"] #batchScanQr {
  background: #dcf3f8 !important;
  border: 1px solid rgba(0, 229, 255, 0.35);
}
html[data-skin="neon"] img[style*="background:#fff"] {
  background: #e8f6fa !important;
}
/* ===== 极北晨光 (nord-light) ===== */
/*SKIN {"id":"nord-light","name":"极北晨光","colors":["#eceff4","#5e81ac","#2e3440"]}*/
/* 极北晨光：Nord 雪原晨光底 + 纯白卡面 + 极夜深蓝正文 + 冰峡蓝强调，清冷通透 */

/* ---------- 变量重定义 ---------- */
html[data-skin="nord-light"] {
  --bg: #eceff4;
  --surface: #e5e9f0;
  --card: #ffffff;
  --border: #d8dee9;
  --border-light: #bcc6d8;
  --text: #2e3440;
  --text-secondary: #4c566a;
  --text-muted: #7b88a1;
  --accent: #5e81ac;
  --accent-hover: #4c6a90;
  --accent-subtle: rgba(94,129,172,0.10);
  --success: #2e8b57;
  --success-subtle: rgba(46,139,87,0.11);
  --error: #bf616a;
  --error-subtle: rgba(191,97,106,0.10);
  --warning: #b5852b;
  --warning-subtle: rgba(181,133,43,0.12);
  --info: #4d9b99;
  --radius: 10px;
  --radius-sm: 7px;
  --shadow-1: 0 1px 3px rgba(76,86,106,0.08);
  --shadow-2: 0 4px 14px rgba(76,86,106,0.11);
  --shadow-3: 0 10px 34px rgba(76,86,106,0.15);
  --row-alt: #f3f6fa;
  --log-bg: #eef2f7;
  --btn-disabled-bg: #beccde;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="nord-light"][data-theme="dark"] {
  --bg: #eceff4;
  --surface: #e5e9f0;
  --card: #ffffff;
  --border: #d8dee9;
  --border-light: #bcc6d8;
  --text: #2e3440;
  --text-secondary: #4c566a;
  --text-muted: #7b88a1;
  --accent: #5e81ac;
  --accent-hover: #4c6a90;
  --accent-subtle: rgba(94,129,172,0.10);
  --success: #2e8b57;
  --success-subtle: rgba(46,139,87,0.11);
  --error: #bf616a;
  --error-subtle: rgba(191,97,106,0.10);
  --warning: #b5852b;
  --warning-subtle: rgba(181,133,43,0.12);
  --info: #4d9b99;
  --radius: 10px;
  --radius-sm: 7px;
  --shadow-1: 0 1px 3px rgba(76,86,106,0.08);
  --shadow-2: 0 4px 14px rgba(76,86,106,0.11);
  --shadow-3: 0 10px 34px rgba(76,86,106,0.15);
  --row-alt: #f3f6fa;
  --log-bg: #eef2f7;
  --btn-disabled-bg: #beccde;
  color-scheme: light;
}

/* ---------- 页面底：浅色弥散渐变 ---------- */
html[data-skin="nord-light"] body {
  background:
    radial-gradient(40rem 40rem at 8% -6%, rgba(129,161,193,0.16), transparent 60%),
    radial-gradient(36rem 36rem at 94% 14%, rgba(94,129,172,0.09), transparent 62%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(136,152,180,0.12), transparent 64%),
    linear-gradient(180deg, #eceff4 0%, #f0f3f8 100%);
  background-attachment: fixed;
  color: #2e3440;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影 ---------- */
html[data-skin="nord-light"] .card,
html[data-skin="nord-light"] .stat-card,
html[data-skin="nord-light"] .acc-card,
html[data-skin="nord-light"] .auth-panel,
html[data-skin="nord-light"] .admin-panel,
html[data-skin="nord-light"] .config-panel,
html[data-skin="nord-light"] .notice-panel,
html[data-skin="nord-light"] .notice-toast,
html[data-skin="nord-light"] .autocomplete-dropdown,
html[data-skin="nord-light"] .batch-result-item,
html[data-skin="nord-light"] .modal-box {
  background: #ffffff;
  border: 1px solid #d8dee9;
  box-shadow: 0 4px 16px rgba(76,86,106,0.10);
}
html[data-skin="nord-light"] .card:hover,
html[data-skin="nord-light"] .stat-card:hover {
  border-color: #bcc6d8;
  box-shadow: 0 8px 24px rgba(76,86,106,0.16);
}
html[data-skin="nord-light"] .card-title {
  color: #5e81ac;
}

/* ---------- 顶栏：半透明浅色毛玻璃 ---------- */
html[data-skin="nord-light"] .header {
  background: rgba(236,239,244,0.82);
  border-bottom: 1px solid #d8dee9;
}
html[data-skin="nord-light"] .header h1 {
  background: linear-gradient(120deg, #5e81ac, #81a1c1);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="nord-light"] .btn {
  border-radius: 7px;
  font-weight: 600;
}
html[data-skin="nord-light"] .btn-primary,
html[data-skin="nord-light"] .auth-btn,
html[data-skin="nord-light"] .admin-tab.active {
  background: #5e81ac;
  color: #ffffff;
  border: 1px solid #5e81ac;
  box-shadow: 0 4px 12px rgba(94,129,172,0.22);
}
html[data-skin="nord-light"] .btn-primary:hover,
html[data-skin="nord-light"] .auth-btn:hover {
  background: #4c6a90;
  border-color: #4c6a90;
  box-shadow: 0 6px 16px rgba(76,106,144,0.3);
}
html[data-skin="nord-light"] .btn-primary:disabled,
html[data-skin="nord-light"] .pagination-bar button:disabled {
  background: #beccde;
  color: #ffffff;
  border-color: #beccde;
  box-shadow: none;
}
html[data-skin="nord-light"] .btn-secondary,
html[data-skin="nord-light"] .batch-btn,
html[data-skin="nord-light"] .pagination-bar button,
html[data-skin="nord-light"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #4c566a;
  border: 1px solid #d8dee9;
}
html[data-skin="nord-light"] .btn-secondary:hover,
html[data-skin="nord-light"] .batch-btn:hover,
html[data-skin="nord-light"] .pagination-bar button:hover {
  background: #f3f6fa;
  color: #5e81ac;
  border-color: #bcc6d8;
}
html[data-skin="nord-light"] .btn-danger {
  background: rgba(191,97,106,0.08);
  color: #bf616a;
  border: 1px solid rgba(191,97,106,0.22);
}
html[data-skin="nord-light"] .btn-danger:hover {
  background: rgba(191,97,106,0.15);
}

/* ---------- 输入控件：聚焦主题色描边 ---------- */
html[data-skin="nord-light"] input[type="text"],
html[data-skin="nord-light"] input[type="password"],
html[data-skin="nord-light"] input[type="number"],
html[data-skin="nord-light"] textarea,
html[data-skin="nord-light"] select,
html[data-skin="nord-light"] .auth-input,
html[data-skin="nord-light"] .admin-table input,
html[data-skin="nord-light"] .config-row input {
  background: #ffffff;
  border: 1px solid #cdd7e5;
  color: #2e3440;
}
html[data-skin="nord-light"] input[type="text"],
html[data-skin="nord-light"] input[type="password"],
html[data-skin="nord-light"] input[type="number"],
html[data-skin="nord-light"] textarea,
html[data-skin="nord-light"] select,
html[data-skin="nord-light"] .auth-input,
html[data-skin="nord-light"] .admin-table input,
html[data-skin="nord-light"] .config-row input,
html[data-skin="nord-light"] #reservationGame,
html[data-skin="nord-light"] #modalGameName {
  outline: none;
  border-color: #5e81ac;
  box-shadow: 0 0 0 3px rgba(94,129,172,0.13);
}
html[data-skin="nord-light"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #2e3440;
}
html[data-skin="nord-light"] input[type="checkbox"],
html[data-skin="nord-light"] .acc-card-top .acc-check input {
  accent-color: #5e81ac;
}
html[data-skin="nord-light"] ::placeholder {
  color: #a0aabd;
}

/* ---------- 表格（管理表 + 日志表 + 批量表） ---------- */
html[data-skin="nord-light"] .admin-table th,
html[data-skin="nord-light"] .log-table th,
html[data-skin="nord-light"] #batchAccountTable th,
html[data-skin="nord-light"] #batchUnlockedTable th {
  color: #4c6a90;
  background: #f3f6fa;
  border-bottom: 1px solid #d8dee9;
}
html[data-skin="nord-light"] .admin-table td,
html[data-skin="nord-light"] .log-table td {
  border-bottom: 1px solid #d8dee9;
}
html[data-skin="nord-light"] .admin-table tr:hover td,
html[data-skin="nord-light"] .log-table tr:hover td,
html[data-skin="nord-light"] #batchAccountTable tbody tr:hover {
  background: rgba(94,129,172,0.05);
}
html[data-skin="nord-light"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="nord-light"] .log-table tbody tr:nth-child(even) td {
  background: #f3f6fa;
}

/* ---------- 日志区 ---------- */
html[data-skin="nord-light"] .log-box {
  background: #eef2f7;
  border: 1px solid #d8dee9;
}
html[data-skin="nord-light"] .log-detail-pre {
  background: #f3f6fa;
  color: #2e3440;
}
html[data-skin="nord-light"] .log-line.success {
  color: #2e8b57;
}
html[data-skin="nord-light"] .log-line.fail {
  color: #bf616a;
}
html[data-skin="nord-light"] .log-line.info {
  color: #4d9b99;
}
html[data-skin="nord-light"] .log-line.skip {
  color: #b5852b;
}

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="nord-light"] .badge-info {
  background: rgba(77,155,153,0.10);
  color: #4d9b99;
}
html[data-skin="nord-light"] .badge-success {
  background: rgba(46,139,87,0.10);
  color: #2e8b57;
}
html[data-skin="nord-light"] .badge-error {
  background: rgba(191,97,106,0.09);
  color: #bf616a;
}
html[data-skin="nord-light"] .badge-warning {
  background: rgba(181,133,43,0.11);
  color: #b5852b;
}
html[data-skin="nord-light"] .stat-num.blue {
  color: #4d9b99;
}
html[data-skin="nord-light"] .stat-num.green {
  color: #2e8b57;
}
html[data-skin="nord-light"] .stat-num.red {
  color: #bf616a;
}
html[data-skin="nord-light"] .stat-num.yellow {
  color: #b5852b;
}
html[data-skin="nord-light"] .debt-warning {
  background: rgba(191,97,106,0.08);
  border: 1px solid rgba(191,97,106,0.22);
  color: #bf616a;
}
html[data-skin="nord-light"] .autocomplete-item.active,
html[data-skin="nord-light"] .autocomplete-item:hover {
  background: rgba(94,129,172,0.07);
}
html[data-skin="nord-light"] .admin-tab {
  background: #ffffff;
  color: #4c566a;
  border: 1px solid #d8dee9;
}
html[data-skin="nord-light"] .admin-tab:hover {
  border-color: #bcc6d8;
  color: #5e81ac;
}

/* ---------- 通知铃 / 红点 ---------- */
html[data-skin="nord-light"] .notice-bell,
html[data-skin="nord-light"] .n-dot {
  color: #5e81ac;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="nord-light"] #logDetailModal,
html[data-skin="nord-light"] #pointsRecordsModal,
html[data-skin="nord-light"] #batchScanModal {
  background: rgba(46,52,64,0.5);
}
html[data-skin="nord-light"] #lxjQrBox,
html[data-skin="nord-light"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #d8dee9;
}
html[data-skin="nord-light"] #batchScanQrImg,
html[data-skin="nord-light"] #batchScanQr img,
html[data-skin="nord-light"] #lxjQrBox img,
html[data-skin="nord-light"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="nord-light"] ::-webkit-scrollbar-thumb {
  background: #bcc6d8;
  border-radius: 6px;
}
html[data-skin="nord-light"] ::-webkit-scrollbar-thumb:hover {
  background: #5e81ac;
}
html[data-skin="nord-light"] ::selection {
  background: rgba(94,129,172,0.16);
  color: #2e3440;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="nord-light"] .btn,
html[data-skin="nord-light"] .card,
html[data-skin="nord-light"] .stat-card,
html[data-skin="nord-light"] .acc-card,
html[data-skin="nord-light"] input,
html[data-skin="nord-light"] select,
html[data-skin="nord-light"] textarea,
html[data-skin="nord-light"] .admin-tab,
html[data-skin="nord-light"] .pagination-bar button,
html[data-skin="nord-light"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ================================================== */
/* 夜间模式守卫：data-theme="dark" 时全部强制回浅色， */
/* 防止全局夜间样式残留刺眼（特异性 0,2,1+ 压过深色规则） */
/* ================================================== */

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影（强制回浅色） ---------- */
html[data-skin="nord-light"][data-theme="dark"] .card,
html[data-skin="nord-light"][data-theme="dark"] .stat-card,
html[data-skin="nord-light"][data-theme="dark"] .acc-card,
html[data-skin="nord-light"][data-theme="dark"] .auth-panel,
html[data-skin="nord-light"][data-theme="dark"] .admin-panel,
html[data-skin="nord-light"][data-theme="dark"] .config-panel,
html[data-skin="nord-light"][data-theme="dark"] .notice-panel,
html[data-skin="nord-light"][data-theme="dark"] .notice-toast,
html[data-skin="nord-light"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="nord-light"][data-theme="dark"] .batch-result-item,
html[data-skin="nord-light"][data-theme="dark"] .modal-box {
  background: #ffffff;
  border: 1px solid #d8dee9;
  box-shadow: 0 4px 16px rgba(76,86,106,0.10);
}
html[data-skin="nord-light"][data-theme="dark"] .card:hover,
html[data-skin="nord-light"][data-theme="dark"] .stat-card:hover {
  border-color: #bcc6d8;
  box-shadow: 0 8px 24px rgba(76,86,106,0.16);
}
html[data-skin="nord-light"][data-theme="dark"] .card-title {
  color: #5e81ac;
}

/* ---------- 顶栏：半透明浅色毛玻璃（强制回浅色） ---------- */
html[data-skin="nord-light"][data-theme="dark"] .header {
  background: rgba(236,239,244,0.82);
  border-bottom: 1px solid #d8dee9;
}
html[data-skin="nord-light"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #5e81ac, #81a1c1);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系（强制回浅色） ---------- */
html[data-skin="nord-light"][data-theme="dark"] .btn {
  border-radius: 7px;
  font-weight: 600;
}
html[data-skin="nord-light"][data-theme="dark"] .btn-primary,
html[data-skin="nord-light"][data-theme="dark"] .auth-btn,
html[data-skin="nord-light"][data-theme="dark"] .admin-tab.active {
  background: #5e81ac;
  color: #ffffff;
  border: 1px solid #5e81ac;
  box-shadow: 0 4px 12px rgba(94,129,172,0.22);
}
html[data-skin="nord-light"][data-theme="dark"] .btn-primary:hover,
html[data-skin="nord-light"][data-theme="dark"] .auth-btn:hover {
  background: #4c6a90;
  border-color: #4c6a90;
  box-shadow: 0 6px 16px rgba(76,106,144,0.3);
}
html[data-skin="nord-light"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="nord-light"][data-theme="dark"] .pagination-bar button:disabled {
  background: #beccde;
  color: #ffffff;
  border-color: #beccde;
  box-shadow: none;
}
html[data-skin="nord-light"][data-theme="dark"] .btn-secondary,
html[data-skin="nord-light"][data-theme="dark"] .batch-btn,
html[data-skin="nord-light"][data-theme="dark"] .pagination-bar button,
html[data-skin="nord-light"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #4c566a;
  border: 1px solid #d8dee9;
}
html[data-skin="nord-light"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="nord-light"][data-theme="dark"] .batch-btn:hover,
html[data-skin="nord-light"][data-theme="dark"] .pagination-bar button:hover {
  background: #f3f6fa;
  color: #5e81ac;
  border-color: #bcc6d8;
}
html[data-skin="nord-light"][data-theme="dark"] .btn-danger {
  background: rgba(191,97,106,0.08);
  color: #bf616a;
  border: 1px solid rgba(191,97,106,0.22);
}
html[data-skin="nord-light"][data-theme="dark"] .btn-danger:hover {
  background: rgba(191,97,106,0.15);
}

/* ---------- 输入控件：聚焦主题色描边（强制回浅色） ---------- */
html[data-skin="nord-light"][data-theme="dark"] input[type="text"],
html[data-skin="nord-light"][data-theme="dark"] input[type="password"],
html[data-skin="nord-light"][data-theme="dark"] input[type="number"],
html[data-skin="nord-light"][data-theme="dark"] textarea,
html[data-skin="nord-light"][data-theme="dark"] select,
html[data-skin="nord-light"][data-theme="dark"] .auth-input,
html[data-skin="nord-light"][data-theme="dark"] .admin-table input,
html[data-skin="nord-light"][data-theme="dark"] .config-row input {
  background: #ffffff;
  border: 1px solid #cdd7e5;
  color: #2e3440;
}
html[data-skin="nord-light"][data-theme="dark"] input[type="text"],
html[data-skin="nord-light"][data-theme="dark"] input[type="password"],
html[data-skin="nord-light"][data-theme="dark"] input[type="number"],
html[data-skin="nord-light"][data-theme="dark"] textarea,
html[data-skin="nord-light"][data-theme="dark"] select,
html[data-skin="nord-light"][data-theme="dark"] .auth-input,
html[data-skin="nord-light"][data-theme="dark"] .admin-table input,
html[data-skin="nord-light"][data-theme="dark"] .config-row input,
html[data-skin="nord-light"][data-theme="dark"] #reservationGame,
html[data-skin="nord-light"][data-theme="dark"] #modalGameName {
  outline: none;
  border-color: #5e81ac;
  box-shadow: 0 0 0 3px rgba(94,129,172,0.13);
}
html[data-skin="nord-light"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #2e3440;
}
html[data-skin="nord-light"][data-theme="dark"] input[type="checkbox"],
html[data-skin="nord-light"][data-theme="dark"] .acc-card-top .acc-check input {
  accent-color: #5e81ac;
}
html[data-skin="nord-light"][data-theme="dark"] ::placeholder {
  color: #a0aabd;
}

/* ---------- 表格（管理表 + 日志表 + 批量表）（强制回浅色） ---------- */
html[data-skin="nord-light"][data-theme="dark"] .admin-table th,
html[data-skin="nord-light"][data-theme="dark"] .log-table th,
html[data-skin="nord-light"][data-theme="dark"] #batchAccountTable th,
html[data-skin="nord-light"][data-theme="dark"] #batchUnlockedTable th {
  color: #4c6a90;
  background: #f3f6fa;
  border-bottom: 1px solid #d8dee9;
}
html[data-skin="nord-light"][data-theme="dark"] .admin-table td,
html[data-skin="nord-light"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #d8dee9;
}
html[data-skin="nord-light"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="nord-light"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="nord-light"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(94,129,172,0.05);
}
html[data-skin="nord-light"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="nord-light"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #f3f6fa;
}

/* ---------- 日志区（强制回浅色） ---------- */
html[data-skin="nord-light"][data-theme="dark"] .log-box {
  background: #eef2f7;
  border: 1px solid #d8dee9;
}
html[data-skin="nord-light"][data-theme="dark"] .log-detail-pre {
  background: #f3f6fa;
  color: #2e3440;
}
html[data-skin="nord-light"][data-theme="dark"] .log-line.success {
  color: #2e8b57;
}
html[data-skin="nord-light"][data-theme="dark"] .log-line.fail {
  color: #bf616a;
}
html[data-skin="nord-light"][data-theme="dark"] .log-line.info {
  color: #4d9b99;
}
html[data-skin="nord-light"][data-theme="dark"] .log-line.skip {
  color: #b5852b;
}

/* ---------- 徽标 / 状态 / 提示（强制回浅色） ---------- */
html[data-skin="nord-light"][data-theme="dark"] .badge-info {
  background: rgba(77,155,153,0.10);
  color: #4d9b99;
}
html[data-skin="nord-light"][data-theme="dark"] .badge-success {
  background: rgba(46,139,87,0.10);
  color: #2e8b57;
}
html[data-skin="nord-light"][data-theme="dark"] .badge-error {
  background: rgba(191,97,106,0.09);
  color: #bf616a;
}
html[data-skin="nord-light"][data-theme="dark"] .badge-warning {
  background: rgba(181,133,43,0.11);
  color: #b5852b;
}
html[data-skin="nord-light"][data-theme="dark"] .stat-num.blue {
  color: #4d9b99;
}
html[data-skin="nord-light"][data-theme="dark"] .stat-num.green {
  color: #2e8b57;
}
html[data-skin="nord-light"][data-theme="dark"] .stat-num.red {
  color: #bf616a;
}
html[data-skin="nord-light"][data-theme="dark"] .stat-num.yellow {
  color: #b5852b;
}
html[data-skin="nord-light"][data-theme="dark"] .debt-warning {
  background: rgba(191,97,106,0.08);
  border: 1px solid rgba(191,97,106,0.22);
  color: #bf616a;
}
html[data-skin="nord-light"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="nord-light"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(94,129,172,0.07);
}
html[data-skin="nord-light"][data-theme="dark"] .admin-tab {
  background: #ffffff;
  color: #4c566a;
  border: 1px solid #d8dee9;
}
html[data-skin="nord-light"][data-theme="dark"] .admin-tab:hover {
  border-color: #bcc6d8;
  color: #5e81ac;
}

/* ---------- 通知铃 / 红点（强制回浅色） ---------- */
html[data-skin="nord-light"][data-theme="dark"] .notice-bell,
html[data-skin="nord-light"][data-theme="dark"] .n-dot {
  color: #5e81ac;
}

/* ---------- 弹窗遮罩 / 二维码盒（强制回浅色） ---------- */
html[data-skin="nord-light"][data-theme="dark"] #logDetailModal,
html[data-skin="nord-light"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="nord-light"][data-theme="dark"] #batchScanModal {
  background: rgba(46,52,64,0.5);
}
html[data-skin="nord-light"][data-theme="dark"] #lxjQrBox,
html[data-skin="nord-light"][data-theme="dark"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #d8dee9;
}
html[data-skin="nord-light"][data-theme="dark"] #batchScanQrImg,
html[data-skin="nord-light"][data-theme="dark"] #batchScanQr img,
html[data-skin="nord-light"][data-theme="dark"] #lxjQrBox img,
html[data-skin="nord-light"][data-theme="dark"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区（强制回浅色） ---------- */
html[data-skin="nord-light"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #bcc6d8;
  border-radius: 6px;
}
html[data-skin="nord-light"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #5e81ac;
}
html[data-skin="nord-light"][data-theme="dark"] ::selection {
  background: rgba(94,129,172,0.16);
  color: #2e3440;
}

/* ---------- 全局过渡（强制回浅色） ---------- */
html[data-skin="nord-light"][data-theme="dark"] .btn,
html[data-skin="nord-light"][data-theme="dark"] .card,
html[data-skin="nord-light"][data-theme="dark"] .stat-card,
html[data-skin="nord-light"][data-theme="dark"] .acc-card,
html[data-skin="nord-light"][data-theme="dark"] input,
html[data-skin="nord-light"][data-theme="dark"] select,
html[data-skin="nord-light"][data-theme="dark"] textarea,
html[data-skin="nord-light"][data-theme="dark"] .admin-tab,
html[data-skin="nord-light"][data-theme="dark"] .pagination-bar button,
html[data-skin="nord-light"][data-theme="dark"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
/* ===== 极北 (nord) ===== */
/*SKIN {"id":"nord","name":"极北","colors":["#2e3440","#88c0d0","#eceff4"]}*/
/* ============================================================
   极北 · Nord — 雪原冷霜暗色皮肤
   底 #2e3440 / 卡 #3b4252 / 文 #eceff4
   冷霜蓝 #88c0d0 × 雾蓝 #81a1c1 点缀，雪国安静
   全部规则 scope 于 html[data-skin="nord"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="nord"] {
  --bg: #2e3440;
  --surface: #3b4252;
  --card: #3b4252;
  --border: #4c566a;
  --border-light: #616e88;
  --text: #eceff4;
  --text-secondary: #d8dee9;
  --text-muted: #7b88a1;
  --accent: #88c0d0;
  --accent-hover: #a8d5e0;
  --accent-subtle: rgba(136, 192, 208, 0.10);
  --success: #a3be8c;
  --success-subtle: rgba(163, 190, 140, 0.12);
  --error: #bf616a;
  --error-subtle: rgba(191, 97, 106, 0.12);
  --warning: #ebcb8b;
  --warning-subtle: rgba(235, 203, 139, 0.12);
  --info: #81a1c1;
  --row-alt: #353d4b;
  --log-bg: #272c36;
  --btn-disabled-bg: #434c5e;
  --shadow-1: 0 1px 3px rgba(16, 20, 28, 0.55);
  --shadow-2: 0 2px 10px rgba(16, 20, 28, 0.55);
  --shadow-3: 0 10px 36px rgba(16, 20, 28, 0.65);
  --on-accent: #21262e;
  background: #2e3440;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="nord"][data-theme="dark"] {
  --bg: #2e3440;
  --surface: #3b4252;
  --card: #3b4252;
  --border: #4c566a;
  --border-light: #616e88;
  --text: #eceff4;
  --text-secondary: #d8dee9;
  --text-muted: #7b88a1;
  --accent: #88c0d0;
  --accent-hover: #a8d5e0;
  --accent-subtle: rgba(136, 192, 208, 0.10);
  --success: #a3be8c;
  --success-subtle: rgba(163, 190, 140, 0.12);
  --error: #bf616a;
  --error-subtle: rgba(191, 97, 106, 0.12);
  --warning: #ebcb8b;
  --warning-subtle: rgba(235, 203, 139, 0.12);
  --info: #81a1c1;
  --row-alt: #353d4b;
  --log-bg: #272c36;
  --btn-disabled-bg: #434c5e;
  --shadow-1: 0 1px 3px rgba(16, 20, 28, 0.55);
  --shadow-2: 0 2px 10px rgba(16, 20, 28, 0.55);
  --shadow-3: 0 10px 36px rgba(16, 20, 28, 0.65);
  --on-accent: #21262e;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="nord"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：雪原薄雾 radial，极地冷光 ---- */
html[data-skin="nord"] body {
  background:
    radial-gradient(1200px 700px at 50% -18%, rgba(136, 192, 208, 0.09), transparent 62%),
    radial-gradient(900px 540px at 12% 20%, rgba(129, 161, 193, 0.05), transparent 60%),
    radial-gradient(1000px 640px at 90% 78%, rgba(180, 142, 173, 0.04), transparent 62%),
    radial-gradient(1100px 620px at 50% 118%, rgba(59, 66, 82, 0.5), transparent 65%),
    #2e3440;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="nord"] ::selection {
  background: rgba(136, 192, 208, 0.30);
  color: #eef4f6;
}
html[data-skin="nord"] ::-webkit-scrollbar-thumb {
  background: #4c566a;
  border-radius: 8px;
}
html[data-skin="nord"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(136, 192, 208, 0.5);
}
html[data-skin="nord"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="nord"] img {
  filter: brightness(0.95) saturate(1.1);
}

/* ---- 6. 头部：霜蓝→雾蓝渐变字 ---- */
html[data-skin="nord"] .header {
  border-color: #4c566a;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(136, 192, 208, 0.14);
}
html[data-skin="nord"] .header h1 {
  background: linear-gradient(90deg, #88c0d0, #81a1c1);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(136, 192, 208, 0.18));
}
html[data-skin="nord"] .card-title {
  color: #a8d5e0;
}

/* ---- 7. 卡片族：雪岩蓝灰卡 + hover 边框泛霜光 ---- */
html[data-skin="nord"] .card,
html[data-skin="nord"] .stat-card,
html[data-skin="nord"] .admin-panel,
html[data-skin="nord"] .acc-card,
html[data-skin="nord"] .batch-group,
html[data-skin="nord"] .batch-result-item,
html[data-skin="nord"] .notice-panel,
html[data-skin="nord"] .notice-toast {
  background: #3b4252;
  border: 1px solid #4c566a;
}
html[data-skin="nord"] .card:hover,
html[data-skin="nord"] .stat-card:hover {
  border-color: rgba(136, 192, 208, 0.5);
  box-shadow: 0 0 18px rgba(136, 192, 208, 0.1), var(--shadow-2);
}
html[data-skin="nord"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：冷霜蓝安静按钮 ---- */
html[data-skin="nord"] .btn,
html[data-skin="nord"] .batch-btn,
html[data-skin="nord"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="nord"] .btn-primary {
  background: linear-gradient(135deg, #88c0d0, #5f9fb3);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(136, 192, 208, 0.22), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="nord"] .btn-primary:hover {
  background: linear-gradient(135deg, #a8d5e0, #79b8c9);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(136, 192, 208, 0.37), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="nord"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #7b88a1;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="nord"] .btn-secondary {
  background: #3b4252;
  color: var(--text-secondary);
  border: 1px solid #616e88;
}
html[data-skin="nord"] .btn-secondary:hover {
  background: #434c5e;
  color: #88c0d0;
  border-color: rgba(136, 192, 208, 0.5);
  box-shadow: 0 0 12px rgba(136, 192, 208, 0.2);
}
html[data-skin="nord"] .btn-danger {
  background: rgba(191, 97, 106, 0.12);
  color: #d08790;
  border: 1px solid rgba(191, 97, 106, 0.35);
}
html[data-skin="nord"] .btn-danger:hover {
  background: rgba(191, 97, 106, 0.2);
  box-shadow: 0 0 14px rgba(191, 97, 106, 0.3);
}
html[data-skin="nord"] .btn:disabled {
  color: #7b88a1;
}

/* ---- 9. 输入族：冻土底聚焦霜蓝描边 ---- */
html[data-skin="nord"] input[type="text"],
html[data-skin="nord"] input[type="password"],
html[data-skin="nord"] input[type="number"],
html[data-skin="nord"] input[type="date"],
html[data-skin="nord"] input[type="time"],
html[data-skin="nord"] textarea,
html[data-skin="nord"] select,
html[data-skin="nord"] .auth-input,
html[data-skin="nord"] .admin-table input,
html[data-skin="nord"] #reservationGame,
html[data-skin="nord"] #modalGameName {
  background: #333b4a;
  border: 1px solid #4c566a;
  color: var(--text);
}
html[data-skin="nord"] input[type="text"]:focus,
html[data-skin="nord"] input[type="password"]:focus,
html[data-skin="nord"] input[type="number"]:focus,
html[data-skin="nord"] textarea:focus,
html[data-skin="nord"] select:focus,
html[data-skin="nord"] .auth-input:focus,
html[data-skin="nord"] .admin-table input:focus,
html[data-skin="nord"] #reservationGame:focus,
html[data-skin="nord"] #modalGameName:focus {
  outline: none;
  border-color: #88c0d0;
  box-shadow: 0 0 0 3px rgba(136, 192, 208, 0.14), 0 0 14px rgba(136, 192, 208, 0.18);
}
html[data-skin="nord"] select option,
html[data-skin="nord"] #reservationGame option,
html[data-skin="nord"] #modalGameName option {
  background: #272c36;
  color: var(--text);
}
html[data-skin="nord"] input[type="checkbox"] {
  accent-color: #88c0d0;
}

/* ---- 10. 表格：暗表头 / 雪层斑马纹 / 霜蓝行悬停 ---- */
html[data-skin="nord"] .admin-table th,
html[data-skin="nord"] .admin-table td,
html[data-skin="nord"] .log-table th,
html[data-skin="nord"] .log-table td {
  border-bottom: 1px solid #404857;
}
html[data-skin="nord"] .admin-table th,
html[data-skin="nord"] .log-table th {
  background: #2e3440;
  border-bottom: 1px solid #4c566a;
}
html[data-skin="nord"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="nord"] .log-table tbody tr:nth-child(even) td {
  background: #353d4b;
}
html[data-skin="nord"] .admin-table tr:hover td,
html[data-skin="nord"] .log-table tr:hover td {
  background: rgba(136, 192, 208, 0.07);
}
html[data-skin="nord"] #batchAccountTable tbody tr:hover {
  background: rgba(136, 192, 208, 0.05);
}
html[data-skin="nord"] .batch-table-wrap {
  border-color: #404857;
}

/* ---- 11. 管理 tab：激活霜蓝胶囊 ---- */
html[data-skin="nord"] .admin-tab {
  background: #333b4a;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="nord"] .admin-tab:hover {
  color: #eceff4;
  border-color: #616e88;
}
html[data-skin="nord"] .admin-tab.active {
  background: linear-gradient(135deg, #88c0d0, #81a1c1);
  color: var(--on-accent);
  border-color: rgba(136, 192, 208, 0.6);
  box-shadow: 0 0 14px rgba(136, 192, 208, 0.22);
}

/* ---- 12. 日志区：冰窗观察区 ---- */
html[data-skin="nord"] .log-box {
  background: #272c36;
  border: 1px solid #404857;
  box-shadow: inset 0 0 24px rgba(136, 192, 208, 0.04);
}

/* ---- 13. 登录面板：雪国浮岛卡 + 霜蓝登录键 ---- */
html[data-skin="nord"] .auth-panel {
  background: #3b4252;
  border: 1px solid #4c566a;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(136, 192, 208, 0.08);
}
html[data-skin="nord"] .auth-btn {
  background: linear-gradient(135deg, #88c0d0, #5f9fb3);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(136, 192, 208, 0.22);
}
html[data-skin="nord"] .auth-btn:hover {
  background: linear-gradient(135deg, #a8d5e0, #79b8c9);
  box-shadow: 0 0 26px rgba(136, 192, 208, 0.37);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="nord"] .notice-panel {
  box-shadow: 0 8px 40px rgba(16, 20, 28, 0.65), 0 0 18px rgba(136, 192, 208, 0.10);
}
html[data-skin="nord"] .notice-dot {
  border-color: #3b4252;
}
html[data-skin="nord"] .notice-toast {
  border-color: rgba(136, 192, 208, 0.55);
  border-left: 4px solid #88c0d0;
  box-shadow: 0 8px 30px rgba(16, 20, 28, 0.6), 0 0 18px rgba(136, 192, 208, 0.13);
}
html[data-skin="nord"] .notice-toast .t-head {
  background: rgba(136, 192, 208, 0.12);
  color: #88c0d0;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="nord"] .pagination-bar button {
  background: #3b4252;
  border: 1px solid #4c566a;
  color: var(--text);
}
html[data-skin="nord"] .pagination-bar button:hover {
  border-color: #88c0d0;
  color: #88c0d0;
  box-shadow: 0 0 10px rgba(136, 192, 208, 0.22);
}
html[data-skin="nord"] .points-badge {
  background: #ebcb8b;
  color: #3a3115;
}
html[data-skin="nord"] .batch-result-item.ok {
  border-color: rgba(163, 190, 140, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补投影；内联白底二维码盒压成淡纸白 ---- */
html[data-skin="nord"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(16, 20, 28, 0.65), 0 0 24px rgba(136, 192, 208, 0.08) !important;
}
html[data-skin="nord"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #88c0d0, #81a1c1) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="nord"] #lxjQrBox,
html[data-skin="nord"] #batchScanQr {
  background: #edf3f4 !important;
  border: 1px solid rgba(136, 192, 208, 0.4);
}
html[data-skin="nord"] img[style*="background:#fff"] {
  background: #edf3f4 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="nord"] * {
    transition: none !important;
  }
  html[data-skin="nord"] body {
    animation: none;
  }
}
/* ===== 马里亚纳 (ocean-deep) ===== */
/*SKIN {"id":"ocean-deep","name":"马里亚纳","colors":["#051520","#19b8c4","#d5e8f0"]}*/
/* ============================================================
   马里亚纳 · Ocean Deep — 海沟深蓝深色皮肤
   底 #051520 / 卡 #0a2231 / 文 #d5e8f0
   海沟青 #19b8c4 × 水母光斑 radial（紫粉）点缀
   全部规则 scope 于 html[data-skin="ocean-deep"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="ocean-deep"] {
  --bg: #051520;
  --surface: #0a2231;
  --card: #0a2231;
  --border: #16394f;
  --border-light: #1f4a63;
  --text: #d5e8f0;
  --text-secondary: #a3c4d4;
  --text-muted: #6f93a5;
  --accent: #19b8c4;
  --accent-hover: #4fd8e2;
  --accent-subtle: rgba(25, 184, 196, 0.10);
  --success: #2ec98e;
  --success-subtle: rgba(46, 201, 142, 0.12);
  --error: #f06a7e;
  --error-subtle: rgba(240, 106, 126, 0.12);
  --warning: #e8c46b;
  --warning-subtle: rgba(232, 196, 107, 0.12);
  --info: #4fa8e8;
  --radius: 12px;
  --radius-sm: 9px;
  --row-alt: #0c2a3a;
  --log-bg: #04121c;
  --btn-disabled-bg: #12374a;
  --shadow-1: 0 1px 3px rgba(0, 3, 8, 0.55);
  --shadow-2: 0 2px 10px rgba(0, 3, 8, 0.55);
  --shadow-3: 0 10px 36px rgba(0, 3, 8, 0.65);
  --on-accent: #04252a;
  background: #051520;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿暗色变量组） ---- */
html[data-skin="ocean-deep"][data-theme="dark"] {
  --bg: #051520;
  --surface: #0a2231;
  --card: #0a2231;
  --border: #16394f;
  --border-light: #1f4a63;
  --text: #d5e8f0;
  --text-secondary: #a3c4d4;
  --text-muted: #6f93a5;
  --accent: #19b8c4;
  --accent-hover: #4fd8e2;
  --accent-subtle: rgba(25, 184, 196, 0.10);
  --success: #2ec98e;
  --success-subtle: rgba(46, 201, 142, 0.12);
  --error: #f06a7e;
  --error-subtle: rgba(240, 106, 126, 0.12);
  --warning: #e8c46b;
  --warning-subtle: rgba(232, 196, 107, 0.12);
  --info: #4fa8e8;
  --radius: 12px;
  --radius-sm: 9px;
  --row-alt: #0c2a3a;
  --log-bg: #04121c;
  --btn-disabled-bg: #12374a;
  --shadow-1: 0 1px 3px rgba(0, 3, 8, 0.55);
  --shadow-2: 0 2px 10px rgba(0, 3, 8, 0.55);
  --shadow-3: 0 10px 36px rgba(0, 3, 8, 0.65);
  --on-accent: #04252a;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="ocean-deep"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：海沟深蓝 + 水母光斑（紫/粉 radial 漂浮） ---- */
html[data-skin="ocean-deep"] body {
  background:
    radial-gradient(1200px 700px at 50% -16%, rgba(25, 184, 196, 0.10), transparent 62%),
    radial-gradient(900px 560px at 14% 24%, rgba(79, 168, 232, 0.07), transparent 60%),
    radial-gradient(700px 480px at 82% 58%, rgba(170, 130, 255, 0.08), transparent 60%),
    radial-gradient(520px 360px at 22% 72%, rgba(255, 150, 220, 0.05), transparent 60%),
    radial-gradient(1100px 640px at 50% 118%, rgba(10, 90, 130, 0.20), transparent 66%),
    #051520;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="ocean-deep"] ::selection {
  background: rgba(25, 184, 196, 0.28);
  color: #eafcff;
}
html[data-skin="ocean-deep"] ::-webkit-scrollbar-thumb {
  background: #1c445c;
  border-radius: 8px;
}
html[data-skin="ocean-deep"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(25, 184, 196, 0.5);
}
html[data-skin="ocean-deep"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="ocean-deep"] img {
  filter: brightness(0.95) saturate(1.1);
}

/* ---- 6. 头部：海面青→深流蓝渐变字 ---- */
html[data-skin="ocean-deep"] .header {
  border-color: #16394f;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(25, 184, 196, 0.14);
}
html[data-skin="ocean-deep"] .header h1 {
  background: linear-gradient(90deg, #4fd8e2, #19b8c4, #4fa8e8);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(25, 184, 196, 0.30));
}
html[data-skin="ocean-deep"] .card-title {
  color: #6fc4cc;
}

/* ---- 7. 卡片族：海沟蓝黑卡 + hover 泛青光 ---- */
html[data-skin="ocean-deep"] .card,
html[data-skin="ocean-deep"] .stat-card,
html[data-skin="ocean-deep"] .admin-panel,
html[data-skin="ocean-deep"] .acc-card,
html[data-skin="ocean-deep"] .batch-group,
html[data-skin="ocean-deep"] .batch-result-item,
html[data-skin="ocean-deep"] .notice-panel,
html[data-skin="ocean-deep"] .notice-toast {
  background: #0a2231;
  border: 1px solid #16394f;
}
html[data-skin="ocean-deep"] .card:hover,
html[data-skin="ocean-deep"] .stat-card:hover {
  border-color: rgba(25, 184, 196, 0.5);
  box-shadow: 0 0 18px rgba(25, 184, 196, 0.14), var(--shadow-2);
}
html[data-skin="ocean-deep"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：海沟青发光按钮 ---- */
html[data-skin="ocean-deep"] .btn,
html[data-skin="ocean-deep"] .batch-btn,
html[data-skin="ocean-deep"] .pagination-bar button {
  border-radius: var(--radius-sm);
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="ocean-deep"] .btn-primary {
  background: linear-gradient(135deg, #19b8c4, #0f8fa0);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(25, 184, 196, 0.32), inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}
html[data-skin="ocean-deep"] .btn-primary:hover {
  background: linear-gradient(135deg, #4fd8e2, #17a5b4);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(25, 184, 196, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}
html[data-skin="ocean-deep"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #4f7d95;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="ocean-deep"] .btn-secondary {
  background: #0a2231;
  color: var(--text-secondary);
  border: 1px solid #1f4a63;
}
html[data-skin="ocean-deep"] .btn-secondary:hover {
  background: #0d2939;
  color: #4fd8e2;
  border-color: rgba(25, 184, 196, 0.5);
  box-shadow: 0 0 12px rgba(25, 184, 196, 0.2);
}
html[data-skin="ocean-deep"] .btn-danger {
  background: rgba(240, 106, 126, 0.12);
  color: #f68e9e;
  border: 1px solid rgba(240, 106, 126, 0.35);
}
html[data-skin="ocean-deep"] .btn-danger:hover {
  background: rgba(240, 106, 126, 0.2);
  box-shadow: 0 0 14px rgba(240, 106, 126, 0.3);
}
html[data-skin="ocean-deep"] .btn:disabled {
  color: #4f7d95;
}

/* ---- 9. 输入族：深海盆底聚焦海沟青描边 ---- */
html[data-skin="ocean-deep"] input[type="text"],
html[data-skin="ocean-deep"] input[type="password"],
html[data-skin="ocean-deep"] input[type="number"],
html[data-skin="ocean-deep"] input[type="date"],
html[data-skin="ocean-deep"] input[type="time"],
html[data-skin="ocean-deep"] textarea,
html[data-skin="ocean-deep"] select,
html[data-skin="ocean-deep"] .auth-input,
html[data-skin="ocean-deep"] .admin-table input,
html[data-skin="ocean-deep"] #reservationGame,
html[data-skin="ocean-deep"] #modalGameName {
  background: #071c29;
  border: 1px solid #1c445c;
  color: var(--text);
}
html[data-skin="ocean-deep"] input[type="text"]:focus,
html[data-skin="ocean-deep"] input[type="password"]:focus,
html[data-skin="ocean-deep"] input[type="number"]:focus,
html[data-skin="ocean-deep"] textarea:focus,
html[data-skin="ocean-deep"] select:focus,
html[data-skin="ocean-deep"] .auth-input:focus,
html[data-skin="ocean-deep"] .admin-table input:focus,
html[data-skin="ocean-deep"] #reservationGame:focus,
html[data-skin="ocean-deep"] #modalGameName:focus {
  outline: none;
  border-color: #19b8c4;
  box-shadow: 0 0 0 3px rgba(25, 184, 196, 0.14), 0 0 14px rgba(25, 184, 196, 0.18);
}
html[data-skin="ocean-deep"] select option,
html[data-skin="ocean-deep"] #reservationGame option,
html[data-skin="ocean-deep"] #modalGameName option {
  background: #04121c;
  color: var(--text);
}
html[data-skin="ocean-deep"] input[type="checkbox"] {
  accent-color: #19b8c4;
}

/* ---- 10. 表格：深表头 / 海沟斑马纹 / 青光行悬停 ---- */
html[data-skin="ocean-deep"] .admin-table th,
html[data-skin="ocean-deep"] .admin-table td,
html[data-skin="ocean-deep"] .log-table th,
html[data-skin="ocean-deep"] .log-table td {
  border-bottom: 1px solid #0d2f42;
}
html[data-skin="ocean-deep"] .admin-table th,
html[data-skin="ocean-deep"] .log-table th {
  background: #051520;
  border-bottom: 1px solid #1c445c;
}
html[data-skin="ocean-deep"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="ocean-deep"] .log-table tbody tr:nth-child(even) td {
  background: #0c2a3a;
}
html[data-skin="ocean-deep"] .admin-table tr:hover td,
html[data-skin="ocean-deep"] .log-table tr:hover td {
  background: rgba(25, 184, 196, 0.07);
}
html[data-skin="ocean-deep"] #batchAccountTable tbody tr:hover {
  background: rgba(25, 184, 196, 0.05);
}
html[data-skin="ocean-deep"] .batch-table-wrap {
  border-color: #0d2f42;
}

/* ---- 11. 管理 tab：激活海沟青胶囊 ---- */
html[data-skin="ocean-deep"] .admin-tab {
  background: #071c29;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="ocean-deep"] .admin-tab:hover {
  color: #d5e8f0;
  border-color: #1f4a63;
}
html[data-skin="ocean-deep"] .admin-tab.active {
  background: linear-gradient(135deg, #19b8c4, #4fa8e8);
  color: var(--on-accent);
  border-color: rgba(25, 184, 196, 0.6);
  box-shadow: 0 0 14px rgba(25, 184, 196, 0.35);
}

/* ---- 12. 日志区：深潜观察窗 ---- */
html[data-skin="ocean-deep"] .log-box {
  background: #04121c;
  border: 1px solid #10344a;
  box-shadow: inset 0 0 24px rgba(25, 184, 196, 0.05);
}

/* ---- 13. 登录面板：海沟浮岛卡 + 青光登录键 ---- */
html[data-skin="ocean-deep"] .auth-panel {
  background: #0a2231;
  border: 1px solid #16394f;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(25, 184, 196, 0.08);
}
html[data-skin="ocean-deep"] .auth-btn {
  background: linear-gradient(135deg, #19b8c4, #0f8fa0);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(25, 184, 196, 0.32);
}
html[data-skin="ocean-deep"] .auth-btn:hover {
  background: linear-gradient(135deg, #4fd8e2, #17a5b4);
  box-shadow: 0 0 26px rgba(25, 184, 196, 0.45);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="ocean-deep"] .notice-panel {
  box-shadow: 0 8px 40px rgba(0, 3, 8, 0.65), 0 0 18px rgba(25, 184, 196, 0.10);
}
html[data-skin="ocean-deep"] .notice-dot {
  border-color: #0a2231;
}
html[data-skin="ocean-deep"] .notice-toast {
  border-color: rgba(25, 184, 196, 0.55);
  border-left: 4px solid #19b8c4;
  box-shadow: 0 8px 30px rgba(0, 3, 8, 0.6), 0 0 18px rgba(25, 184, 196, 0.13);
}
html[data-skin="ocean-deep"] .notice-toast .t-head {
  background: rgba(25, 184, 196, 0.12);
  color: #4fd8e2;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="ocean-deep"] .pagination-bar button {
  background: #0a2231;
  border: 1px solid #1c445c;
  color: var(--text);
}
html[data-skin="ocean-deep"] .pagination-bar button:hover {
  border-color: #19b8c4;
  color: #4fd8e2;
  box-shadow: 0 0 10px rgba(25, 184, 196, 0.22);
}
html[data-skin="ocean-deep"] .points-badge {
  background: #e8c46b;
  color: #33260a;
}
html[data-skin="ocean-deep"] .batch-result-item.ok {
  border-color: rgba(46, 201, 142, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补海沟投影；内联白底二维码盒压成冷纸白 ---- */
html[data-skin="ocean-deep"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(0, 3, 8, 0.65), 0 0 24px rgba(25, 184, 196, 0.08) !important;
}
html[data-skin="ocean-deep"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #4fd8e2, #19b8c4, #4fa8e8) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="ocean-deep"] #lxjQrBox,
html[data-skin="ocean-deep"] #batchScanQr {
  background: #eaf6f5 !important;
  border: 1px solid rgba(25, 184, 196, 0.4);
}
html[data-skin="ocean-deep"] img[style*="background:#fff"] {
  background: #eaf6f5 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="ocean-deep"] * {
    transition: none !important;
  }
  html[data-skin="ocean-deep"] body {
    animation: none;
  }
}
/* ===== 深空一笔 (one-dark) ===== */
/*SKIN {"id":"one-dark","name":"深空一笔","colors":["#282c34","#61afef","#abb2bf"]}*/
/* ============================================================
   深空一笔 · One Dark — 平实蓝灰暗色皮肤
   底 #282c34 / 卡 #31353f / 文 #abb2bf
   一笔蓝 #61afef × 青灰 #56b6c2 点缀，平实蓝灰
   全部规则 scope 于 html[data-skin="one-dark"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="one-dark"] {
  --bg: #282c34;
  --surface: #31353f;
  --card: #31353f;
  --border: #3e4451;
  --border-light: #4d5566;
  --text: #abb2bf;
  --text-secondary: #c8ccd4;
  --text-muted: #5c6370;
  --accent: #61afef;
  --accent-hover: #8cc8f5;
  --accent-subtle: rgba(97, 175, 239, 0.10);
  --success: #98c379;
  --success-subtle: rgba(152, 195, 121, 0.12);
  --error: #e06c75;
  --error-subtle: rgba(224, 108, 117, 0.12);
  --warning: #e5c07b;
  --warning-subtle: rgba(229, 192, 123, 0.12);
  --info: #56b6c2;
  --row-alt: #2c313a;
  --log-bg: #21252b;
  --btn-disabled-bg: #3a3f4b;
  --shadow-1: 0 1px 3px rgba(12, 14, 18, 0.55);
  --shadow-2: 0 2px 10px rgba(12, 14, 18, 0.55);
  --shadow-3: 0 10px 36px rgba(12, 14, 18, 0.65);
  --on-accent: #21252b;
  background: #282c34;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="one-dark"][data-theme="dark"] {
  --bg: #282c34;
  --surface: #31353f;
  --card: #31353f;
  --border: #3e4451;
  --border-light: #4d5566;
  --text: #abb2bf;
  --text-secondary: #c8ccd4;
  --text-muted: #5c6370;
  --accent: #61afef;
  --accent-hover: #8cc8f5;
  --accent-subtle: rgba(97, 175, 239, 0.10);
  --success: #98c379;
  --success-subtle: rgba(152, 195, 121, 0.12);
  --error: #e06c75;
  --error-subtle: rgba(224, 108, 117, 0.12);
  --warning: #e5c07b;
  --warning-subtle: rgba(229, 192, 123, 0.12);
  --info: #56b6c2;
  --row-alt: #2c313a;
  --log-bg: #21252b;
  --btn-disabled-bg: #3a3f4b;
  --shadow-1: 0 1px 3px rgba(12, 14, 18, 0.55);
  --shadow-2: 0 2px 10px rgba(12, 14, 18, 0.55);
  --shadow-3: 0 10px 36px rgba(12, 14, 18, 0.65);
  --on-accent: #21252b;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="one-dark"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：深空薄霭 radial，安静的蓝灰光 ---- */
html[data-skin="one-dark"] body {
  background:
    radial-gradient(1200px 700px at 50% -18%, rgba(97, 175, 239, 0.09), transparent 62%),
    radial-gradient(900px 540px at 12% 20%, rgba(86, 182, 194, 0.05), transparent 60%),
    radial-gradient(1000px 640px at 90% 78%, rgba(152, 195, 121, 0.04), transparent 62%),
    radial-gradient(1100px 620px at 50% 118%, rgba(62, 68, 81, 0.45), transparent 65%),
    #282c34;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="one-dark"] ::selection {
  background: rgba(97, 175, 239, 0.30);
  color: #eaf1f8;
}
html[data-skin="one-dark"] ::-webkit-scrollbar-thumb {
  background: #3e4451;
  border-radius: 8px;
}
html[data-skin="one-dark"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(97, 175, 239, 0.5);
}
html[data-skin="one-dark"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="one-dark"] img {
  filter: brightness(0.95) saturate(1.1);
}

/* ---- 6. 头部：一笔蓝→青灰渐变字 ---- */
html[data-skin="one-dark"] .header {
  border-color: #3e4451;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(97, 175, 239, 0.14);
}
html[data-skin="one-dark"] .header h1 {
  background: linear-gradient(90deg, #61afef, #56b6c2);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(97, 175, 239, 0.2));
}
html[data-skin="one-dark"] .card-title {
  color: #8cc8f5;
}

/* ---- 7. 卡片族：蓝灰卡 + hover 边框泛蓝光 ---- */
html[data-skin="one-dark"] .card,
html[data-skin="one-dark"] .stat-card,
html[data-skin="one-dark"] .admin-panel,
html[data-skin="one-dark"] .acc-card,
html[data-skin="one-dark"] .batch-group,
html[data-skin="one-dark"] .batch-result-item,
html[data-skin="one-dark"] .notice-panel,
html[data-skin="one-dark"] .notice-toast {
  background: #31353f;
  border: 1px solid #3e4451;
}
html[data-skin="one-dark"] .card:hover,
html[data-skin="one-dark"] .stat-card:hover {
  border-color: rgba(97, 175, 239, 0.5);
  box-shadow: 0 0 18px rgba(97, 175, 239, 0.12), var(--shadow-2);
}
html[data-skin="one-dark"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：一笔蓝平实按钮 ---- */
html[data-skin="one-dark"] .btn,
html[data-skin="one-dark"] .batch-btn,
html[data-skin="one-dark"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="one-dark"] .btn-primary {
  background: linear-gradient(135deg, #61afef, #4695d8);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(97, 175, 239, 0.25), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="one-dark"] .btn-primary:hover {
  background: linear-gradient(135deg, #8cc8f5, #5cabdf);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(97, 175, 239, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="one-dark"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #5c6370;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="one-dark"] .btn-secondary {
  background: #31353f;
  color: var(--text-secondary);
  border: 1px solid #4d5566;
}
html[data-skin="one-dark"] .btn-secondary:hover {
  background: #3b4151;
  color: #61afef;
  border-color: rgba(97, 175, 239, 0.5);
  box-shadow: 0 0 12px rgba(97, 175, 239, 0.2);
}
html[data-skin="one-dark"] .btn-danger {
  background: rgba(224, 108, 117, 0.12);
  color: #eb8f96;
  border: 1px solid rgba(224, 108, 117, 0.35);
}
html[data-skin="one-dark"] .btn-danger:hover {
  background: rgba(224, 108, 117, 0.2);
  box-shadow: 0 0 14px rgba(224, 108, 117, 0.3);
}
html[data-skin="one-dark"] .btn:disabled {
  color: #5c6370;
}

/* ---- 9. 输入族：深空底聚焦蓝描边 ---- */
html[data-skin="one-dark"] input[type="text"],
html[data-skin="one-dark"] input[type="password"],
html[data-skin="one-dark"] input[type="number"],
html[data-skin="one-dark"] input[type="date"],
html[data-skin="one-dark"] input[type="time"],
html[data-skin="one-dark"] textarea,
html[data-skin="one-dark"] select,
html[data-skin="one-dark"] .auth-input,
html[data-skin="one-dark"] .admin-table input,
html[data-skin="one-dark"] #reservationGame,
html[data-skin="one-dark"] #modalGameName {
  background: #2a2e36;
  border: 1px solid #3e4451;
  color: var(--text);
}
html[data-skin="one-dark"] input[type="text"]:focus,
html[data-skin="one-dark"] input[type="password"]:focus,
html[data-skin="one-dark"] input[type="number"]:focus,
html[data-skin="one-dark"] textarea:focus,
html[data-skin="one-dark"] select:focus,
html[data-skin="one-dark"] .auth-input:focus,
html[data-skin="one-dark"] .admin-table input:focus,
html[data-skin="one-dark"] #reservationGame:focus,
html[data-skin="one-dark"] #modalGameName:focus {
  outline: none;
  border-color: #61afef;
  box-shadow: 0 0 0 3px rgba(97, 175, 239, 0.14), 0 0 14px rgba(97, 175, 239, 0.18);
}
html[data-skin="one-dark"] select option,
html[data-skin="one-dark"] #reservationGame option,
html[data-skin="one-dark"] #modalGameName option {
  background: #21252b;
  color: var(--text);
}
html[data-skin="one-dark"] input[type="checkbox"] {
  accent-color: #61afef;
}

/* ---- 10. 表格：暗表头 / 蓝灰斑马纹 / 蓝行悬停 ---- */
html[data-skin="one-dark"] .admin-table th,
html[data-skin="one-dark"] .admin-table td,
html[data-skin="one-dark"] .log-table th,
html[data-skin="one-dark"] .log-table td {
  border-bottom: 1px solid #343a46;
}
html[data-skin="one-dark"] .admin-table th,
html[data-skin="one-dark"] .log-table th {
  background: #282c34;
  border-bottom: 1px solid #3e4451;
}
html[data-skin="one-dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="one-dark"] .log-table tbody tr:nth-child(even) td {
  background: #2c313a;
}
html[data-skin="one-dark"] .admin-table tr:hover td,
html[data-skin="one-dark"] .log-table tr:hover td {
  background: rgba(97, 175, 239, 0.07);
}
html[data-skin="one-dark"] #batchAccountTable tbody tr:hover {
  background: rgba(97, 175, 239, 0.05);
}
html[data-skin="one-dark"] .batch-table-wrap {
  border-color: #343a46;
}

/* ---- 11. 管理 tab：激活蓝青胶囊 ---- */
html[data-skin="one-dark"] .admin-tab {
  background: #2a2e36;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="one-dark"] .admin-tab:hover {
  color: #abb2bf;
  border-color: #4d5566;
}
html[data-skin="one-dark"] .admin-tab.active {
  background: linear-gradient(135deg, #61afef, #56b6c2);
  color: var(--on-accent);
  border-color: rgba(97, 175, 239, 0.6);
  box-shadow: 0 0 14px rgba(97, 175, 239, 0.25);
}

/* ---- 12. 日志区：静默观察窗 ---- */
html[data-skin="one-dark"] .log-box {
  background: #21252b;
  border: 1px solid #343a46;
  box-shadow: inset 0 0 24px rgba(97, 175, 239, 0.04);
}

/* ---- 13. 登录面板：深空浮岛卡 + 蓝登录键 ---- */
html[data-skin="one-dark"] .auth-panel {
  background: #31353f;
  border: 1px solid #3e4451;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(97, 175, 239, 0.08);
}
html[data-skin="one-dark"] .auth-btn {
  background: linear-gradient(135deg, #61afef, #4695d8);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(97, 175, 239, 0.25);
}
html[data-skin="one-dark"] .auth-btn:hover {
  background: linear-gradient(135deg, #8cc8f5, #5cabdf);
  box-shadow: 0 0 26px rgba(97, 175, 239, 0.4);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="one-dark"] .notice-panel {
  box-shadow: 0 8px 40px rgba(12, 14, 18, 0.65), 0 0 18px rgba(97, 175, 239, 0.10);
}
html[data-skin="one-dark"] .notice-dot {
  border-color: #31353f;
}
html[data-skin="one-dark"] .notice-toast {
  border-color: rgba(97, 175, 239, 0.55);
  border-left: 4px solid #61afef;
  box-shadow: 0 8px 30px rgba(12, 14, 18, 0.6), 0 0 18px rgba(97, 175, 239, 0.13);
}
html[data-skin="one-dark"] .notice-toast .t-head {
  background: rgba(97, 175, 239, 0.12);
  color: #61afef;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="one-dark"] .pagination-bar button {
  background: #31353f;
  border: 1px solid #3e4451;
  color: var(--text);
}
html[data-skin="one-dark"] .pagination-bar button:hover {
  border-color: #61afef;
  color: #61afef;
  box-shadow: 0 0 10px rgba(97, 175, 239, 0.22);
}
html[data-skin="one-dark"] .points-badge {
  background: #e5c07b;
  color: #362c10;
}
html[data-skin="one-dark"] .batch-result-item.ok {
  border-color: rgba(152, 195, 121, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补投影；内联白底二维码盒压成淡纸白 ---- */
html[data-skin="one-dark"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(12, 14, 18, 0.65), 0 0 24px rgba(97, 175, 239, 0.08) !important;
}
html[data-skin="one-dark"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #61afef, #56b6c2) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="one-dark"] #lxjQrBox,
html[data-skin="one-dark"] #batchScanQr {
  background: #eef2f5 !important;
  border: 1px solid rgba(97, 175, 239, 0.4);
}
html[data-skin="one-dark"] img[style*="background:#fff"] {
  background: #eef2f5 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="one-dark"] * {
    transition: none !important;
  }
  html[data-skin="one-dark"] body {
    animation: none;
  }
}
/* ===== 暖纸 (paper) ===== */
/*SKIN {"id":"paper","name":"暖纸","colors":["#f6f1e7","#b45309","#3d3929"]}*/
/* ===== [UI v2 warm-paper] append-only overrides; paper bg + honey-ochre accent; zero new network requests ===== */
html[data-skin="paper"]{--bg:#f6f1e7;--surface:#fdfaf4;--card:#fdfaf4;--border:#e7e0d3;--border-light:#d8cdb8;--text:#3d3929;--text-secondary:#6d6452;--text-muted:#7a7059;--accent:#b45309;--accent-hover:#92400e;--accent-subtle:rgba(180,83,9,0.10);--success:#4d7c0f;--success-subtle:rgba(77,124,15,0.10);--error:#b91c1c;--error-subtle:rgba(185,28,28,0.08);--warning:#a16207;--warning-subtle:rgba(161,98,7,0.12);--info:#4a6b85;--radius:12px;--radius-sm:10px;--shadow-1:0 1px 3px rgba(74,60,36,0.06);--shadow-2:0 2px 6px rgba(74,60,36,0.08);--shadow-3:0 8px 24px rgba(74,60,36,0.12);--row-alt:#f3eee1;--log-bg:#f0eadb;--btn-disabled-bg:#d3c5ac}
html[data-skin="paper"] body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,system-ui,sans-serif;letter-spacing:0;background:var(--bg)}
html[data-skin="paper"] .header h1{font-family:Georgia,Times New Roman,SimSun,serif;background:none;-webkit-text-fill-color:var(--text);color:var(--text);letter-spacing:0.02em}
html[data-skin="paper"] .btn{letter-spacing:0.01em}
html[data-skin="paper"] .btn-primary:hover{transform:none;box-shadow:0 1px 3px rgba(74,60,36,0.2)}
html[data-skin="paper"] .btn-danger{border-color:rgba(185,28,28,0.25)}
html[data-skin="paper"] .btn-danger:hover{background:rgba(185,28,28,0.1)}
html[data-skin="paper"] body tr:hover{background:rgba(180,83,9,0.05)}
html[data-skin="paper"] #batchAccountTable tbody tr:hover{background:rgba(180,83,9,0.05)}
html[data-skin="paper"] .admin-table tr:hover td{background:rgba(180,83,9,0.06)}
html[data-skin="paper"] .log-table tr:hover td{background:rgba(180,83,9,0.06)}
html[data-skin="paper"] .notice-panel{box-shadow:0 8px 24px rgba(58,46,24,0.14)}
html[data-skin="paper"] .notice-toast{box-shadow:0 6px 20px rgba(58,46,24,0.14)}
html[data-skin="paper"] ::selection{background:rgba(180,83,9,0.18)}

/* ===== [暗色变体] data-theme="dark"：暖纸夜色（#211a12/#292117 面 + #3d3222 边 + #e8e0d0 字 + 赭棕提亮 #e08736）；衬线标题保留 #f0e6d2 ===== */
html[data-skin="paper"][data-theme="dark"]{--bg:#211a12;--surface:#292117;--card:#292117;--border:#3d3222;--border-light:#4c3d2a;--text:#e8e0d0;--text-secondary:#b7ab92;--text-muted:#8d8168;--accent:#e08736;--accent-hover:#eda04f;--accent-subtle:rgba(224,135,54,0.14);--success:#7cb069;--success-subtle:rgba(124,176,105,0.14);--error:#e07a6a;--error-subtle:rgba(224,122,106,0.12);--warning:#d9a441;--warning-subtle:rgba(217,164,65,0.14);--info:#7fa3c0;--radius:12px;--radius-sm:10px;--shadow-1:0 1px 3px rgba(0,0,0,0.4);--shadow-2:0 2px 8px rgba(0,0,0,0.45);--shadow-3:0 8px 24px rgba(0,0,0,0.55);--row-alt:#241d14;--log-bg:#1e1710;--btn-disabled-bg:#4a3c2a;color-scheme:dark}
html[data-skin="paper"][data-theme="dark"] body{letter-spacing:0;background:radial-gradient(40rem 30rem at 12% 0%, rgba(224,135,54,0.06), transparent 58%),radial-gradient(44rem 34rem at 90% 100%, rgba(110,82,48,0.12), transparent 60%),linear-gradient(180deg, #211a12 0%, #1e1811 52%, #211a12 100%);background-attachment:fixed;color:var(--text)}
html[data-skin="paper"][data-theme="dark"] .header{background:rgba(33,26,18,0.88);border-bottom:1px solid #3d3222}
html[data-skin="paper"][data-theme="dark"] .header h1{font-family:Georgia,Times New Roman,SimSun,serif;background:none;-webkit-text-fill-color:#f0e6d2;color:#f0e6d2;letter-spacing:0.02em}
html[data-skin="paper"][data-theme="dark"] h2[style*="linear-gradient"]{background:none !important;background-image:none !important;-webkit-text-fill-color:#f0e6d2 !important;color:#f0e6d2 !important}
html[data-skin="paper"][data-theme="dark"] .card,
html[data-skin="paper"][data-theme="dark"] .stat-card,
html[data-skin="paper"][data-theme="dark"] .acc-card,
html[data-skin="paper"][data-theme="dark"] .auth-panel,
html[data-skin="paper"][data-theme="dark"] .admin-panel,
html[data-skin="paper"][data-theme="dark"] .config-panel,
html[data-skin="paper"][data-theme="dark"] .notice-panel,
html[data-skin="paper"][data-theme="dark"] .notice-toast,
html[data-skin="paper"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="paper"][data-theme="dark"] .batch-result-item,
html[data-skin="paper"][data-theme="dark"] .modal-box{background:#292117;border:1px solid #3d3222;box-shadow:0 2px 10px rgba(0,0,0,0.35)}
html[data-skin="paper"][data-theme="dark"] .card:hover,
html[data-skin="paper"][data-theme="dark"] .stat-card:hover{border-color:#4c3d2a;box-shadow:0 8px 22px rgba(0,0,0,0.5)}
html[data-skin="paper"][data-theme="dark"] .card-title{color:#e08736;border-bottom:1px solid #3d3222}
html[data-skin="paper"][data-theme="dark"] .btn{letter-spacing:0.01em}
html[data-skin="paper"][data-theme="dark"] .btn-primary,
html[data-skin="paper"][data-theme="dark"] .auth-btn,
html[data-skin="paper"][data-theme="dark"] .admin-tab.active{background:#e08736;color:#2a1a08;border:1px solid #e08736;box-shadow:0 2px 10px rgba(224,135,54,0.22)}
html[data-skin="paper"][data-theme="dark"] .btn-primary:hover{background:#eda04f;border-color:#eda04f;transform:none;box-shadow:0 4px 14px rgba(224,135,54,0.3)}
html[data-skin="paper"][data-theme="dark"] .btn-primary:disabled{background:#4a3c2a;color:#8d8168;border-color:#4a3c2a;box-shadow:none}
html[data-skin="paper"][data-theme="dark"] .btn-secondary,
html[data-skin="paper"][data-theme="dark"] .batch-btn,
html[data-skin="paper"][data-theme="dark"] .pagination-bar button{background:#292117;color:#e8e0d0;border:1px solid #4c3d2a}
html[data-skin="paper"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="paper"][data-theme="dark"] .batch-btn:hover,
html[data-skin="paper"][data-theme="dark"] .pagination-bar button:hover{background:#33281a;color:#e08736;border-color:#4c3d2a}
html[data-skin="paper"][data-theme="dark"] .btn-danger{background:rgba(224,122,106,0.12);color:#e07a6a;border-color:rgba(224,122,106,0.35)}
html[data-skin="paper"][data-theme="dark"] .btn-danger:hover{background:rgba(224,122,106,0.2)}
html[data-skin="paper"][data-theme="dark"] .admin-tab{background:#292117;color:#b7ab92;border:1px solid #3d3222;border-radius:10px}
html[data-skin="paper"][data-theme="dark"] .admin-tab:hover{border-color:#4c3d2a;color:#e08736}
html[data-skin="paper"][data-theme="dark"] textarea,
html[data-skin="paper"][data-theme="dark"] input[type="text"],
html[data-skin="paper"][data-theme="dark"] input[type="password"],
html[data-skin="paper"][data-theme="dark"] input[type="number"],
html[data-skin="paper"][data-theme="dark"] select,
html[data-skin="paper"][data-theme="dark"] .auth-input,
html[data-skin="paper"][data-theme="dark"] .admin-table input,
html[data-skin="paper"][data-theme="dark"] .config-row input{background:#1e1811;border:1px solid #3d3222;color:#e8e0d0;border-radius:10px}
html[data-skin="paper"][data-theme="dark"] input[type="text"]:focus,
html[data-skin="paper"][data-theme="dark"] input[type="password"]:focus,
html[data-skin="paper"][data-theme="dark"] input[type="number"]:focus,
html[data-skin="paper"][data-theme="dark"] textarea:focus,
html[data-skin="paper"][data-theme="dark"] select:focus,
html[data-skin="paper"][data-theme="dark"] .auth-input:focus,
html[data-skin="paper"][data-theme="dark"] #reservationGame:focus,
html[data-skin="paper"][data-theme="dark"] #modalGameName:focus{outline:none;border-color:#e08736;box-shadow:0 0 0 2px rgba(224,135,54,0.2)}
html[data-skin="paper"][data-theme="dark"] input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #211a12 inset;-webkit-text-fill-color:#e8e0d0}
html[data-skin="paper"][data-theme="dark"] input[type="checkbox"],
html[data-skin="paper"][data-theme="dark"] .acc-check input{accent-color:#e08736}
html[data-skin="paper"][data-theme="dark"] ::placeholder{color:#8d8168}
html[data-skin="paper"][data-theme="dark"] .admin-table th,
html[data-skin="paper"][data-theme="dark"] .log-table th,
html[data-skin="paper"][data-theme="dark"] #batchAccountTable th,
html[data-skin="paper"][data-theme="dark"] #batchUnlockedTable th{color:#b7ab92;background:#241d14;border-bottom:1px solid #3d3222}
html[data-skin="paper"][data-theme="dark"] .admin-table td,
html[data-skin="paper"][data-theme="dark"] .log-table td{border-bottom:1px solid #332a1c}
html[data-skin="paper"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="paper"][data-theme="dark"] .log-table tbody tr:nth-child(even) td{background:#241d14}
html[data-skin="paper"][data-theme="dark"] body tr:hover{background:rgba(224,135,54,0.07)}
html[data-skin="paper"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="paper"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="paper"][data-theme="dark"] #batchAccountTable tbody tr:hover{background:rgba(224,135,54,0.08)}
html[data-skin="paper"][data-theme="dark"] .log-box{background:#1e1710;border:1px solid #3d3222}
html[data-skin="paper"][data-theme="dark"] .log-detail-pre{background:#241d14;color:#e8e0d0}
html[data-skin="paper"][data-theme="dark"] .log-line.success{color:#7cb069}
html[data-skin="paper"][data-theme="dark"] .log-line.fail{color:#e07a6a}
html[data-skin="paper"][data-theme="dark"] .log-line.info{color:#7fa3c0}
html[data-skin="paper"][data-theme="dark"] .log-line.skip{color:#d9a441}
html[data-skin="paper"][data-theme="dark"] .badge-info{background:rgba(127,163,192,0.16);color:#8fb3d4}
html[data-skin="paper"][data-theme="dark"] .badge-success{background:rgba(124,176,105,0.16);color:#7cb069}
html[data-skin="paper"][data-theme="dark"] .badge-error{background:rgba(224,122,106,0.14);color:#e07a6a}
html[data-skin="paper"][data-theme="dark"] .badge-warning{background:rgba(217,164,65,0.16);color:#d9a441}
html[data-skin="paper"][data-theme="dark"] .stat-num.blue{color:#8fb3d4}
html[data-skin="paper"][data-theme="dark"] .stat-num.green{color:#7cb069}
html[data-skin="paper"][data-theme="dark"] .stat-num.red{color:#e07a6a}
html[data-skin="paper"][data-theme="dark"] .stat-num.yellow{color:#d9a441}
html[data-skin="paper"][data-theme="dark"] .debt-warning{background:rgba(224,122,106,0.12);border:1px solid rgba(224,122,106,0.35);color:#e07a6a}
html[data-skin="paper"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="paper"][data-theme="dark"] .autocomplete-item:hover{background:rgba(224,135,54,0.1)}
html[data-skin="paper"][data-theme="dark"] .notice-item:hover{background:rgba(224,135,54,0.08)}
html[data-skin="paper"][data-theme="dark"] .notice-bell,
html[data-skin="paper"][data-theme="dark"] .n-dot{color:#e08736}
html[data-skin="paper"][data-theme="dark"] .notice-panel,
html[data-skin="paper"][data-theme="dark"] .notice-toast{box-shadow:0 8px 24px rgba(0,0,0,0.5)}
html[data-skin="paper"][data-theme="dark"] #logDetailModal,
html[data-skin="paper"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="paper"][data-theme="dark"] #batchScanModal{background:rgba(12,9,5,0.66) !important}
html[data-skin="paper"][data-theme="dark"] ::-webkit-scrollbar-thumb{background:#4c3d2a;border-radius:5px}
html[data-skin="paper"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover{background:#e08736}
html[data-skin="paper"][data-theme="dark"] ::selection{background:rgba(224,135,54,0.32);color:#f0e6d2}
/* ===== 桃夭 (peach-blossom) ===== */
/*SKIN {"id":"peach-blossom","name":"桃夭","colors":["#fdf1ec","#e8734a","#4a332a"]}*/
/* 桃夭：蜜桃暖橘白底 + 纯白卡片 + 深褐正文 + 暖橘强调，桃之夭夭灼灼其华的暖意 */

/* ---------- 变量重定义 ---------- */
html[data-skin="peach-blossom"] {
  --bg: #fdf1ec;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #f6d5c3;
  --border-light: #f0bda2;
  --text: #4a332a;
  --text-secondary: #6e5142;
  --text-muted: #b08968;
  --accent: #e8734a;
  --accent-hover: #d05f38;
  --accent-subtle: rgba(232,115,74,0.10);
  --success: #4f9d6b;
  --success-subtle: rgba(79,157,107,0.11);
  --error: #d94f4f;
  --error-subtle: rgba(217,79,79,0.10);
  --warning: #dd9a3a;
  --warning-subtle: rgba(221,154,58,0.12);
  --info: #a86bc9;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow-1: 0 1px 3px rgba(232,115,74,0.08);
  --shadow-2: 0 4px 14px rgba(232,115,74,0.11);
  --shadow-3: 0 10px 34px rgba(232,115,74,0.15);
  --row-alt: #fbeee6;
  --log-bg: #faece4;
  --btn-disabled-bg: #f6c7b7;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="peach-blossom"][data-theme="dark"] {
  --bg: #fdf1ec;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #f6d5c3;
  --border-light: #f0bda2;
  --text: #4a332a;
  --text-secondary: #6e5142;
  --text-muted: #b08968;
  --accent: #e8734a;
  --accent-hover: #d05f38;
  --accent-subtle: rgba(232,115,74,0.10);
  --success: #4f9d6b;
  --success-subtle: rgba(79,157,107,0.11);
  --error: #d94f4f;
  --error-subtle: rgba(217,79,79,0.10);
  --warning: #dd9a3a;
  --warning-subtle: rgba(221,154,58,0.12);
  --info: #a86bc9;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow-1: 0 1px 3px rgba(232,115,74,0.08);
  --shadow-2: 0 4px 14px rgba(232,115,74,0.11);
  --shadow-3: 0 10px 34px rgba(232,115,74,0.15);
  --row-alt: #fbeee6;
  --log-bg: #faece4;
  --btn-disabled-bg: #f6c7b7;
  color-scheme: light;
}

/* ---------- 页面底：浅色弥散渐变 ---------- */
html[data-skin="peach-blossom"] body {
  background:
    radial-gradient(40rem 40rem at 8% -6%, rgba(242,160,140,0.20), transparent 60%),
    radial-gradient(36rem 36rem at 94% 14%, rgba(232,115,74,0.09), transparent 62%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(240,189,162,0.20), transparent 64%),
    linear-gradient(180deg, #fdf1ec 0%, #fef5f0 100%);
  background-attachment: fixed;
  color: #4a332a;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影 ---------- */
html[data-skin="peach-blossom"] .card,
html[data-skin="peach-blossom"] .stat-card,
html[data-skin="peach-blossom"] .acc-card,
html[data-skin="peach-blossom"] .auth-panel,
html[data-skin="peach-blossom"] .admin-panel,
html[data-skin="peach-blossom"] .config-panel,
html[data-skin="peach-blossom"] .notice-panel,
html[data-skin="peach-blossom"] .notice-toast,
html[data-skin="peach-blossom"] .autocomplete-dropdown,
html[data-skin="peach-blossom"] .batch-result-item,
html[data-skin="peach-blossom"] .modal-box {
  background: #ffffff;
  border: 1px solid #f6d5c3;
  box-shadow: 0 4px 16px rgba(232,115,74,0.10);
}
html[data-skin="peach-blossom"] .card:hover,
html[data-skin="peach-blossom"] .stat-card:hover {
  border-color: #f0bda2;
  box-shadow: 0 8px 24px rgba(232,115,74,0.16);
}
html[data-skin="peach-blossom"] .card-title {
  color: #e8734a;
}

/* ---------- 顶栏：半透明浅色毛玻璃 ---------- */
html[data-skin="peach-blossom"] .header {
  background: rgba(255,255,255,0.8);
  border-bottom: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"] .header h1 {
  background: linear-gradient(120deg, #e8734a, #f19a85);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="peach-blossom"] .btn {
  border-radius: 8px;
  font-weight: 600;
}
html[data-skin="peach-blossom"] .btn-primary,
html[data-skin="peach-blossom"] .auth-btn,
html[data-skin="peach-blossom"] .admin-tab.active {
  background: #e8734a;
  color: #ffffff;
  border: 1px solid #e8734a;
  box-shadow: 0 4px 12px rgba(232,115,74,0.22);
}
html[data-skin="peach-blossom"] .btn-primary:hover,
html[data-skin="peach-blossom"] .auth-btn:hover {
  background: #d05f38;
  border-color: #d05f38;
  box-shadow: 0 6px 16px rgba(208,95,56,0.3);
}
html[data-skin="peach-blossom"] .btn-primary:disabled,
html[data-skin="peach-blossom"] .pagination-bar button:disabled {
  background: #f6c7b7;
  color: #ffffff;
  border-color: #f6c7b7;
  box-shadow: none;
}
html[data-skin="peach-blossom"] .btn-secondary,
html[data-skin="peach-blossom"] .batch-btn,
html[data-skin="peach-blossom"] .pagination-bar button,
html[data-skin="peach-blossom"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #6e5142;
  border: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"] .btn-secondary:hover,
html[data-skin="peach-blossom"] .batch-btn:hover,
html[data-skin="peach-blossom"] .pagination-bar button:hover {
  background: #fdf1ec;
  color: #e8734a;
  border-color: #f0bda2;
}
html[data-skin="peach-blossom"] .btn-danger {
  background: rgba(217,79,79,0.08);
  color: #d94f4f;
  border: 1px solid rgba(217,79,79,0.22);
}
html[data-skin="peach-blossom"] .btn-danger:hover {
  background: rgba(217,79,79,0.15);
}

/* ---------- 输入控件：聚焦主题色描边 ---------- */
html[data-skin="peach-blossom"] input[type="text"],
html[data-skin="peach-blossom"] input[type="password"],
html[data-skin="peach-blossom"] input[type="number"],
html[data-skin="peach-blossom"] textarea,
html[data-skin="peach-blossom"] select,
html[data-skin="peach-blossom"] .auth-input,
html[data-skin="peach-blossom"] .admin-table input,
html[data-skin="peach-blossom"] .config-row input {
  background: #ffffff;
  border: 1px solid #f4ccb6;
  color: #4a332a;
}
html[data-skin="peach-blossom"] input[type="text"],
html[data-skin="peach-blossom"] input[type="password"],
html[data-skin="peach-blossom"] input[type="number"],
html[data-skin="peach-blossom"] textarea,
html[data-skin="peach-blossom"] select,
html[data-skin="peach-blossom"] .auth-input,
html[data-skin="peach-blossom"] .admin-table input,
html[data-skin="peach-blossom"] .config-row input,
html[data-skin="peach-blossom"] #reservationGame,
html[data-skin="peach-blossom"] #modalGameName {
  outline: none;
  border-color: #e8734a;
  box-shadow: 0 0 0 3px rgba(232,115,74,0.13);
}
html[data-skin="peach-blossom"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #4a332a;
}
html[data-skin="peach-blossom"] input[type="checkbox"],
html[data-skin="peach-blossom"] .acc-card-top .acc-check input {
  accent-color: #e8734a;
}
html[data-skin="peach-blossom"] ::placeholder {
  color: #d0ab97;
}

/* ---------- 表格（管理表 + 日志表 + 批量表） ---------- */
html[data-skin="peach-blossom"] .admin-table th,
html[data-skin="peach-blossom"] .log-table th,
html[data-skin="peach-blossom"] #batchAccountTable th,
html[data-skin="peach-blossom"] #batchUnlockedTable th {
  color: #d05f38;
  background: #fbeee6;
  border-bottom: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"] .admin-table td,
html[data-skin="peach-blossom"] .log-table td {
  border-bottom: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"] .admin-table tr:hover td,
html[data-skin="peach-blossom"] .log-table tr:hover td,
html[data-skin="peach-blossom"] #batchAccountTable tbody tr:hover {
  background: rgba(232,115,74,0.05);
}
html[data-skin="peach-blossom"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="peach-blossom"] .log-table tbody tr:nth-child(even) td {
  background: #fbeee6;
}

/* ---------- 日志区 ---------- */
html[data-skin="peach-blossom"] .log-box {
  background: #faece4;
  border: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"] .log-detail-pre {
  background: #fbeee6;
  color: #4a332a;
}
html[data-skin="peach-blossom"] .log-line.success {
  color: #4f9d6b;
}
html[data-skin="peach-blossom"] .log-line.fail {
  color: #d94f4f;
}
html[data-skin="peach-blossom"] .log-line.info {
  color: #a86bc9;
}
html[data-skin="peach-blossom"] .log-line.skip {
  color: #dd9a3a;
}

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="peach-blossom"] .badge-info {
  background: rgba(168,107,201,0.10);
  color: #a86bc9;
}
html[data-skin="peach-blossom"] .badge-success {
  background: rgba(79,157,107,0.10);
  color: #4f9d6b;
}
html[data-skin="peach-blossom"] .badge-error {
  background: rgba(217,79,79,0.09);
  color: #d94f4f;
}
html[data-skin="peach-blossom"] .badge-warning {
  background: rgba(221,154,58,0.11);
  color: #dd9a3a;
}
html[data-skin="peach-blossom"] .stat-num.blue {
  color: #a86bc9;
}
html[data-skin="peach-blossom"] .stat-num.green {
  color: #4f9d6b;
}
html[data-skin="peach-blossom"] .stat-num.red {
  color: #d94f4f;
}
html[data-skin="peach-blossom"] .stat-num.yellow {
  color: #dd9a3a;
}
html[data-skin="peach-blossom"] .debt-warning {
  background: rgba(217,79,79,0.08);
  border: 1px solid rgba(217,79,79,0.22);
  color: #d94f4f;
}
html[data-skin="peach-blossom"] .autocomplete-item.active,
html[data-skin="peach-blossom"] .autocomplete-item:hover {
  background: rgba(232,115,74,0.07);
}
html[data-skin="peach-blossom"] .admin-tab {
  background: #ffffff;
  color: #6e5142;
  border: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"] .admin-tab:hover {
  border-color: #f0bda2;
  color: #e8734a;
}

/* ---------- 通知铃 / 红点 ---------- */
html[data-skin="peach-blossom"] .notice-bell,
html[data-skin="peach-blossom"] .n-dot {
  color: #e8734a;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="peach-blossom"] #logDetailModal,
html[data-skin="peach-blossom"] #pointsRecordsModal,
html[data-skin="peach-blossom"] #batchScanModal {
  background: rgba(74,51,42,0.5);
}
html[data-skin="peach-blossom"] #lxjQrBox,
html[data-skin="peach-blossom"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"] #batchScanQrImg,
html[data-skin="peach-blossom"] #batchScanQr img,
html[data-skin="peach-blossom"] #lxjQrBox img,
html[data-skin="peach-blossom"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="peach-blossom"] ::-webkit-scrollbar-thumb {
  background: #f0bda2;
  border-radius: 6px;
}
html[data-skin="peach-blossom"] ::-webkit-scrollbar-thumb:hover {
  background: #e8734a;
}
html[data-skin="peach-blossom"] ::selection {
  background: rgba(232,115,74,0.16);
  color: #4a332a;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="peach-blossom"] .btn,
html[data-skin="peach-blossom"] .card,
html[data-skin="peach-blossom"] .stat-card,
html[data-skin="peach-blossom"] .acc-card,
html[data-skin="peach-blossom"] input,
html[data-skin="peach-blossom"] select,
html[data-skin="peach-blossom"] textarea,
html[data-skin="peach-blossom"] .admin-tab,
html[data-skin="peach-blossom"] .pagination-bar button,
html[data-skin="peach-blossom"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ================================================== */
/* 夜间模式守卫：data-theme="dark" 时全部强制回浅色， */
/* 防止全局夜间样式残留刺眼（特异性 0,2,1+ 压过深色规则） */
/* ================================================== */

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影（强制回浅色） ---------- */
html[data-skin="peach-blossom"][data-theme="dark"] .card,
html[data-skin="peach-blossom"][data-theme="dark"] .stat-card,
html[data-skin="peach-blossom"][data-theme="dark"] .acc-card,
html[data-skin="peach-blossom"][data-theme="dark"] .auth-panel,
html[data-skin="peach-blossom"][data-theme="dark"] .admin-panel,
html[data-skin="peach-blossom"][data-theme="dark"] .config-panel,
html[data-skin="peach-blossom"][data-theme="dark"] .notice-panel,
html[data-skin="peach-blossom"][data-theme="dark"] .notice-toast,
html[data-skin="peach-blossom"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="peach-blossom"][data-theme="dark"] .batch-result-item,
html[data-skin="peach-blossom"][data-theme="dark"] .modal-box {
  background: #ffffff;
  border: 1px solid #f6d5c3;
  box-shadow: 0 4px 16px rgba(232,115,74,0.10);
}
html[data-skin="peach-blossom"][data-theme="dark"] .card:hover,
html[data-skin="peach-blossom"][data-theme="dark"] .stat-card:hover {
  border-color: #f0bda2;
  box-shadow: 0 8px 24px rgba(232,115,74,0.16);
}
html[data-skin="peach-blossom"][data-theme="dark"] .card-title {
  color: #e8734a;
}

/* ---------- 顶栏：半透明浅色毛玻璃（强制回浅色） ---------- */
html[data-skin="peach-blossom"][data-theme="dark"] .header {
  background: rgba(255,255,255,0.8);
  border-bottom: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #e8734a, #f19a85);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系（强制回浅色） ---------- */
html[data-skin="peach-blossom"][data-theme="dark"] .btn {
  border-radius: 8px;
  font-weight: 600;
}
html[data-skin="peach-blossom"][data-theme="dark"] .btn-primary,
html[data-skin="peach-blossom"][data-theme="dark"] .auth-btn,
html[data-skin="peach-blossom"][data-theme="dark"] .admin-tab.active {
  background: #e8734a;
  color: #ffffff;
  border: 1px solid #e8734a;
  box-shadow: 0 4px 12px rgba(232,115,74,0.22);
}
html[data-skin="peach-blossom"][data-theme="dark"] .btn-primary:hover,
html[data-skin="peach-blossom"][data-theme="dark"] .auth-btn:hover {
  background: #d05f38;
  border-color: #d05f38;
  box-shadow: 0 6px 16px rgba(208,95,56,0.3);
}
html[data-skin="peach-blossom"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="peach-blossom"][data-theme="dark"] .pagination-bar button:disabled {
  background: #f6c7b7;
  color: #ffffff;
  border-color: #f6c7b7;
  box-shadow: none;
}
html[data-skin="peach-blossom"][data-theme="dark"] .btn-secondary,
html[data-skin="peach-blossom"][data-theme="dark"] .batch-btn,
html[data-skin="peach-blossom"][data-theme="dark"] .pagination-bar button,
html[data-skin="peach-blossom"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #6e5142;
  border: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="peach-blossom"][data-theme="dark"] .batch-btn:hover,
html[data-skin="peach-blossom"][data-theme="dark"] .pagination-bar button:hover {
  background: #fdf1ec;
  color: #e8734a;
  border-color: #f0bda2;
}
html[data-skin="peach-blossom"][data-theme="dark"] .btn-danger {
  background: rgba(217,79,79,0.08);
  color: #d94f4f;
  border: 1px solid rgba(217,79,79,0.22);
}
html[data-skin="peach-blossom"][data-theme="dark"] .btn-danger:hover {
  background: rgba(217,79,79,0.15);
}

/* ---------- 输入控件：聚焦主题色描边（强制回浅色） ---------- */
html[data-skin="peach-blossom"][data-theme="dark"] input[type="text"],
html[data-skin="peach-blossom"][data-theme="dark"] input[type="password"],
html[data-skin="peach-blossom"][data-theme="dark"] input[type="number"],
html[data-skin="peach-blossom"][data-theme="dark"] textarea,
html[data-skin="peach-blossom"][data-theme="dark"] select,
html[data-skin="peach-blossom"][data-theme="dark"] .auth-input,
html[data-skin="peach-blossom"][data-theme="dark"] .admin-table input,
html[data-skin="peach-blossom"][data-theme="dark"] .config-row input {
  background: #ffffff;
  border: 1px solid #f4ccb6;
  color: #4a332a;
}
html[data-skin="peach-blossom"][data-theme="dark"] input[type="text"],
html[data-skin="peach-blossom"][data-theme="dark"] input[type="password"],
html[data-skin="peach-blossom"][data-theme="dark"] input[type="number"],
html[data-skin="peach-blossom"][data-theme="dark"] textarea,
html[data-skin="peach-blossom"][data-theme="dark"] select,
html[data-skin="peach-blossom"][data-theme="dark"] .auth-input,
html[data-skin="peach-blossom"][data-theme="dark"] .admin-table input,
html[data-skin="peach-blossom"][data-theme="dark"] .config-row input,
html[data-skin="peach-blossom"][data-theme="dark"] #reservationGame,
html[data-skin="peach-blossom"][data-theme="dark"] #modalGameName {
  outline: none;
  border-color: #e8734a;
  box-shadow: 0 0 0 3px rgba(232,115,74,0.13);
}
html[data-skin="peach-blossom"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #4a332a;
}
html[data-skin="peach-blossom"][data-theme="dark"] input[type="checkbox"],
html[data-skin="peach-blossom"][data-theme="dark"] .acc-card-top .acc-check input {
  accent-color: #e8734a;
}
html[data-skin="peach-blossom"][data-theme="dark"] ::placeholder {
  color: #d0ab97;
}

/* ---------- 表格（管理表 + 日志表 + 批量表）（强制回浅色） ---------- */
html[data-skin="peach-blossom"][data-theme="dark"] .admin-table th,
html[data-skin="peach-blossom"][data-theme="dark"] .log-table th,
html[data-skin="peach-blossom"][data-theme="dark"] #batchAccountTable th,
html[data-skin="peach-blossom"][data-theme="dark"] #batchUnlockedTable th {
  color: #d05f38;
  background: #fbeee6;
  border-bottom: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"][data-theme="dark"] .admin-table td,
html[data-skin="peach-blossom"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="peach-blossom"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="peach-blossom"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(232,115,74,0.05);
}
html[data-skin="peach-blossom"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="peach-blossom"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #fbeee6;
}

/* ---------- 日志区（强制回浅色） ---------- */
html[data-skin="peach-blossom"][data-theme="dark"] .log-box {
  background: #faece4;
  border: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"][data-theme="dark"] .log-detail-pre {
  background: #fbeee6;
  color: #4a332a;
}
html[data-skin="peach-blossom"][data-theme="dark"] .log-line.success {
  color: #4f9d6b;
}
html[data-skin="peach-blossom"][data-theme="dark"] .log-line.fail {
  color: #d94f4f;
}
html[data-skin="peach-blossom"][data-theme="dark"] .log-line.info {
  color: #a86bc9;
}
html[data-skin="peach-blossom"][data-theme="dark"] .log-line.skip {
  color: #dd9a3a;
}

/* ---------- 徽标 / 状态 / 提示（强制回浅色） ---------- */
html[data-skin="peach-blossom"][data-theme="dark"] .badge-info {
  background: rgba(168,107,201,0.10);
  color: #a86bc9;
}
html[data-skin="peach-blossom"][data-theme="dark"] .badge-success {
  background: rgba(79,157,107,0.10);
  color: #4f9d6b;
}
html[data-skin="peach-blossom"][data-theme="dark"] .badge-error {
  background: rgba(217,79,79,0.09);
  color: #d94f4f;
}
html[data-skin="peach-blossom"][data-theme="dark"] .badge-warning {
  background: rgba(221,154,58,0.11);
  color: #dd9a3a;
}
html[data-skin="peach-blossom"][data-theme="dark"] .stat-num.blue {
  color: #a86bc9;
}
html[data-skin="peach-blossom"][data-theme="dark"] .stat-num.green {
  color: #4f9d6b;
}
html[data-skin="peach-blossom"][data-theme="dark"] .stat-num.red {
  color: #d94f4f;
}
html[data-skin="peach-blossom"][data-theme="dark"] .stat-num.yellow {
  color: #dd9a3a;
}
html[data-skin="peach-blossom"][data-theme="dark"] .debt-warning {
  background: rgba(217,79,79,0.08);
  border: 1px solid rgba(217,79,79,0.22);
  color: #d94f4f;
}
html[data-skin="peach-blossom"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="peach-blossom"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(232,115,74,0.07);
}
html[data-skin="peach-blossom"][data-theme="dark"] .admin-tab {
  background: #ffffff;
  color: #6e5142;
  border: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"][data-theme="dark"] .admin-tab:hover {
  border-color: #f0bda2;
  color: #e8734a;
}

/* ---------- 通知铃 / 红点（强制回浅色） ---------- */
html[data-skin="peach-blossom"][data-theme="dark"] .notice-bell,
html[data-skin="peach-blossom"][data-theme="dark"] .n-dot {
  color: #e8734a;
}

/* ---------- 弹窗遮罩 / 二维码盒（强制回浅色） ---------- */
html[data-skin="peach-blossom"][data-theme="dark"] #logDetailModal,
html[data-skin="peach-blossom"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="peach-blossom"][data-theme="dark"] #batchScanModal {
  background: rgba(74,51,42,0.5);
}
html[data-skin="peach-blossom"][data-theme="dark"] #lxjQrBox,
html[data-skin="peach-blossom"][data-theme="dark"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #f6d5c3;
}
html[data-skin="peach-blossom"][data-theme="dark"] #batchScanQrImg,
html[data-skin="peach-blossom"][data-theme="dark"] #batchScanQr img,
html[data-skin="peach-blossom"][data-theme="dark"] #lxjQrBox img,
html[data-skin="peach-blossom"][data-theme="dark"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区（强制回浅色） ---------- */
html[data-skin="peach-blossom"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #f0bda2;
  border-radius: 6px;
}
html[data-skin="peach-blossom"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #e8734a;
}
html[data-skin="peach-blossom"][data-theme="dark"] ::selection {
  background: rgba(232,115,74,0.16);
  color: #4a332a;
}

/* ---------- 全局过渡（强制回浅色） ---------- */
html[data-skin="peach-blossom"][data-theme="dark"] .btn,
html[data-skin="peach-blossom"][data-theme="dark"] .card,
html[data-skin="peach-blossom"][data-theme="dark"] .stat-card,
html[data-skin="peach-blossom"][data-theme="dark"] .acc-card,
html[data-skin="peach-blossom"][data-theme="dark"] input,
html[data-skin="peach-blossom"][data-theme="dark"] select,
html[data-skin="peach-blossom"][data-theme="dark"] textarea,
html[data-skin="peach-blossom"][data-theme="dark"] .admin-tab,
html[data-skin="peach-blossom"][data-theme="dark"] .pagination-bar button,
html[data-skin="peach-blossom"][data-theme="dark"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
/* ===== 复古街机 (retro-arcade) ===== */
/*SKIN {"id":"retro-arcade","name":"复古街机","colors":["#12081f", "#ff3e9d", "#ffe3f9"]}*/
/* 复古街机：街机霓虹紫底 + 粉黄渐变标题 + 硬偏移阴影 + 像素直角 */

/* ---------- 变量重定义 ---------- */
html[data-skin="retro-arcade"] {
  --bg: #12081f;
  --surface: #1d0f33;
  --card: #1d0f33;
  --border: #33195a;
  --border-light: #4a2680;
  --text: #ffe3f9;
  --text-secondary: #e2b8f2;
  --text-muted: #a678cc;
  --accent: #ff3e9d;
  --accent-hover: #ff6cb8;
  --accent-subtle: rgba(255,62,157,0.15);
  --success: #3dffa0;
  --success-subtle: rgba(61,255,160,0.1);
  --error: #ff4d5e;
  --error-subtle: rgba(255,77,94,0.12);
  --warning: #ffd23e;
  --warning-subtle: rgba(255,210,62,0.1);
  --info: #29e0ff;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.6);
  --shadow-2: 0 2px 12px rgba(0,0,0,0.65);
  --shadow-3: 0 8px 30px rgba(0,0,0,0.8);
  --row-alt: #241243;
  --log-bg: #0e0519;
  --btn-disabled-bg: #2b1748;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="retro-arcade"][data-theme="dark"] {
  --bg: #12081f;
  --surface: #1d0f33;
  --card: #1d0f33;
  --border: #33195a;
  --border-light: #4a2680;
  --text: #ffe3f9;
  --text-secondary: #e2b8f2;
  --text-muted: #a678cc;
  --accent: #ff3e9d;
  --accent-hover: #ff6cb8;
  --accent-subtle: rgba(255,62,157,0.15);
  --success: #3dffa0;
  --success-subtle: rgba(61,255,160,0.1);
  --error: #ff4d5e;
  --error-subtle: rgba(255,77,94,0.12);
  --warning: #ffd23e;
  --warning-subtle: rgba(255,210,62,0.1);
  --info: #29e0ff;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.6);
  --shadow-2: 0 2px 12px rgba(0,0,0,0.65);
  --shadow-3: 0 8px 30px rgba(0,0,0,0.8);
  --row-alt: #241243;
  --log-bg: #0e0519;
  --btn-disabled-bg: #2b1748;
  font-family: "Consolas", "Lucida Console", "Courier New", ui-monospace, monospace;
  color-scheme: dark;
}

/* ---------- 页面底 + 扫描线（静态低透明度，不影响阅读） ---------- */
html[data-skin="retro-arcade"] body {
  background: #12081f;
  color: #ffe3f9;
  min-height: 100vh;
}
html[data-skin="retro-arcade"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.04) 0px,
    rgba(255,255,255,0.04) 1px,
    transparent 1px,
    transparent 3px
  );
}

/* ---------- 卡片 / 面板 ---------- */
html[data-skin="retro-arcade"] .card,
html[data-skin="retro-arcade"] .stat-card,
html[data-skin="retro-arcade"] .acc-card,
html[data-skin="retro-arcade"] .auth-panel,
html[data-skin="retro-arcade"] .admin-panel,
html[data-skin="retro-arcade"] .config-panel,
html[data-skin="retro-arcade"] .notice-panel,
html[data-skin="retro-arcade"] .batch-result-item {
  background: #1d0f33;
  border: 1px solid #33195a;
  box-shadow: 0 2px 12px rgba(0,0,0,0.65);
}
html[data-skin="retro-arcade"] .card:hover,
html[data-skin="retro-arcade"] .stat-card:hover {
  border-color: #ff3e9d;
  box-shadow: 0 0 0 1px #ff3e9d, 0 8px 30px rgba(0,0,0,0.8);
}
html[data-skin="retro-arcade"] .card-title {
  color: #ff3e9d;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
html[data-skin="retro-arcade"] .header {
  background: #12081f;
  border-bottom: 1px solid #33195a;
}
html[data-skin="retro-arcade"] .header h1 {
  background: linear-gradient(90deg, #ff3e9d, #ffd23e);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
  letter-spacing: 0.06em;
  filter: drop-shadow(2px 2px 0 rgba(0,0,0,0.6));
}


/* ---------- 按钮全系 ---------- */
html[data-skin="retro-arcade"] .btn {
  border-radius: 0px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
html[data-skin="retro-arcade"] .btn-primary,
html[data-skin="retro-arcade"] .auth-btn,
html[data-skin="retro-arcade"] .admin-tab.active {
  background: #ff3e9d;
  color: #12081f;
  border: 1px solid #ff3e9d;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(255,62,157,0.35);
}
html[data-skin="retro-arcade"] .btn-primary:hover,
html[data-skin="retro-arcade"] .auth-btn:hover {
  background: #ff6cb8;
  border-color: #ff6cb8;
  box-shadow: 0 0 18px rgba(255,62,157,0.5);
}
html[data-skin="retro-arcade"] .btn-primary:disabled,
html[data-skin="retro-arcade"] .pagination-bar button:disabled {
  background: #2b1748;
  color: #a678cc;
  border-color: #33195a;
  box-shadow: none;
}
html[data-skin="retro-arcade"] .btn-secondary,
html[data-skin="retro-arcade"] .batch-btn,
html[data-skin="retro-arcade"] .pagination-bar button,
html[data-skin="retro-arcade"] .notice-panel-head .n-clear {
  background: #1d0f33;
  color: #ffe3f9;
  border: 1px solid #4a2680;
  border-radius: 0px;
}
html[data-skin="retro-arcade"] .btn-secondary:hover,
html[data-skin="retro-arcade"] .batch-btn:hover,
html[data-skin="retro-arcade"] .pagination-bar button:hover {
  background: #1d0f33;
  color: #ff3e9d;
  border-color: #ff3e9d;
}
html[data-skin="retro-arcade"] .btn-danger {
  background: rgba(255,77,94,0.16);
  color: #ff4d5e;
  border: 1px solid #ff4d5e;
  border-radius: 0px;
}
html[data-skin="retro-arcade"] .btn-danger:hover {
  background: rgba(255,77,94,0.3);
}

/* ---------- 输入控件：深底 + 强调描边聚焦 ---------- */
html[data-skin="retro-arcade"] input[type="text"],
html[data-skin="retro-arcade"] input[type="password"],
html[data-skin="retro-arcade"] input[type="number"],
html[data-skin="retro-arcade"] textarea,
html[data-skin="retro-arcade"] select,
html[data-skin="retro-arcade"] .auth-input,
html[data-skin="retro-arcade"] .admin-table input,
html[data-skin="retro-arcade"] .config-row input {
  background: #0e0519;
  border: 1px solid #33195a;
  color: #ffe3f9;
  border-radius: 0px;
}
html[data-skin="retro-arcade"] input[type="text"]:focus,
html[data-skin="retro-arcade"] input[type="password"]:focus,
html[data-skin="retro-arcade"] input[type="number"]:focus,
html[data-skin="retro-arcade"] textarea:focus,
html[data-skin="retro-arcade"] select:focus,
html[data-skin="retro-arcade"] .auth-input:focus,
html[data-skin="retro-arcade"] #reservationGame:focus,
html[data-skin="retro-arcade"] #modalGameName:focus {
  outline: none;
  border-color: #ff3e9d;
  box-shadow: 0 0 0 1px #ff3e9d, 0 0 8px rgba(255,62,157,0.25);
}
html[data-skin="retro-arcade"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #0e0519 inset;
  -webkit-text-fill-color: #ffe3f9;
  caret-color: #ff3e9d;
}
html[data-skin="retro-arcade"] input[type="checkbox"],
html[data-skin="retro-arcade"] .acc-card-top .acc-check input {
  accent-color: #ff3e9d;
}
html[data-skin="retro-arcade"] ::placeholder {
  color: #a678cc;
}

/* ---------- 双表格 ---------- */
html[data-skin="retro-arcade"] .admin-table th,
html[data-skin="retro-arcade"] .log-table th {
  color: #ff3e9d;
  background: #0e0519;
  border-bottom: 1px solid #33195a;
}
html[data-skin="retro-arcade"] .admin-table td,
html[data-skin="retro-arcade"] .log-table td {
  border-bottom: 1px solid #2a1549;
}
html[data-skin="retro-arcade"] .admin-table tr:hover td,
html[data-skin="retro-arcade"] .log-table tr:hover td,
html[data-skin="retro-arcade"] #batchAccountTable tbody tr:hover {
  background: rgba(255,62,157,0.08);
}
html[data-skin="retro-arcade"] .log-table tbody tr:nth-child(even) td {
  background: #241243;
}

/* ---------- 日志区 ---------- */
html[data-skin="retro-arcade"] .log-box {
  background: #0e0519;
  border: 1px solid #33195a;
}
html[data-skin="retro-arcade"] .log-detail-pre {
  background: #241243;
  color: #ffe3f9;
  border: 1px solid #2a1549;
}
html[data-skin="retro-arcade"] .log-line.success { color: #3dffa0; }
html[data-skin="retro-arcade"] .log-line.fail { color: #ff4d5e; }
html[data-skin="retro-arcade"] .log-line.info { color: #29e0ff; }
html[data-skin="retro-arcade"] .log-line.skip { color: #ffd23e; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="retro-arcade"] .badge-info { background: rgba(41,224,255,0.12); color: #29e0ff; }
html[data-skin="retro-arcade"] .badge-success { background: rgba(61,255,160,0.1); color: #3dffa0; }
html[data-skin="retro-arcade"] .badge-error { background: rgba(255,77,94,0.12); color: #ff4d5e; }
html[data-skin="retro-arcade"] .badge-warning { background: rgba(255,210,62,0.1); color: #ffd23e; }
html[data-skin="retro-arcade"] .stat-num.blue { color: #29e0ff; }
html[data-skin="retro-arcade"] .stat-num.green { color: #3dffa0; }
html[data-skin="retro-arcade"] .stat-num.red { color: #ff4d5e; }
html[data-skin="retro-arcade"] .stat-num.yellow { color: #ffd23e; }
html[data-skin="retro-arcade"] .debt-warning {
  background: rgba(255,77,94,0.12);
  border: 1px solid #ff4d5e;
  color: #ff4d5e;
  border-radius: 0px;
}
html[data-skin="retro-arcade"] .autocomplete-dropdown {
  background: #1d0f33;
  border: 1px solid #33195a;
  border-radius: 0px;
}
html[data-skin="retro-arcade"] .autocomplete-item.active,
html[data-skin="retro-arcade"] .autocomplete-item:hover {
  background: rgba(255,62,157,0.15);
  color: #ff3e9d;
}
html[data-skin="retro-arcade"] .admin-tab {
  background: #1d0f33;
  color: #e2b8f2;
  border: 1px solid #33195a;
  border-radius: 0px;
}
html[data-skin="retro-arcade"] .admin-tab:hover {
  border-color: #ff3e9d;
  color: #ff3e9d;
}
html[data-skin="retro-arcade"] .notice-toast {
  background: #1d0f33;
  border: 1px solid #ff3e9d;
  border-left: 4px solid #ff3e9d;
  border-radius: 0px;
}
html[data-skin="retro-arcade"] .notice-item:hover {
  background: rgba(255,62,157,0.08);
}
html[data-skin="retro-arcade"] .notice-bell,
html[data-skin="retro-arcade"] .n-dot {
  color: #ff3e9d;
}

/* ---------- 弹窗遮罩 / 二维码盒淡纸白（保扫码对比度） ---------- */
html[data-skin="retro-arcade"] #logDetailModal,
html[data-skin="retro-arcade"] #pointsRecordsModal,
html[data-skin="retro-arcade"] #batchScanModal {
  background: rgba(5,1,12,0.82) !important;
}
html[data-skin="retro-arcade"] #lxjQrBox,
html[data-skin="retro-arcade"] #batchScanQr,
html[data-skin="retro-arcade"] #lxjQrImg,
html[data-skin="retro-arcade"] #batchScanQrImg {
  background: #fdeef8 !important;
  border: 1px solid rgba(255,62,157,0.45);
}
html[data-skin="retro-arcade"] img[style*="background:#fff"] {
  background: #fdeef8 !important;
}

/* ---------- 滚动条 / 选区 / 过渡 ---------- */
html[data-skin="retro-arcade"] ::-webkit-scrollbar-thumb {
  background: #33195a;
  border-radius: 0px;
}
html[data-skin="retro-arcade"] ::-webkit-scrollbar-thumb:hover {
  background: #ff3e9d;
}
html[data-skin="retro-arcade"] ::selection {
  background: #ff3e9d;
  color: #12081f;
}
html[data-skin="retro-arcade"] .btn,
html[data-skin="retro-arcade"] .card,
html[data-skin="retro-arcade"] .stat-card,
html[data-skin="retro-arcade"] .acc-card,
html[data-skin="retro-arcade"] .admin-tab,
html[data-skin="retro-arcade"] .pagination-bar button,
html[data-skin="retro-arcade"] input,
html[data-skin="retro-arcade"] select,
html[data-skin="retro-arcade"] textarea {
  transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s;
}

/* ---------- 动效保护：系统减弱动效时关闭过渡与动画 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="retro-arcade"] * {
    transition: none !important;
  }
  html[data-skin="retro-arcade"] body {
    animation: none;
  }
}
/* ===== 玫瑰松 (rose-pine) ===== */
/*SKIN {"id":"rose-pine","name":"玫瑰松","colors":["#191724","#c4a7e7","#e0def4"]}*/
/* ============================================================
   玫瑰松 · Rosé Pine — 柔紫玫瑰暗色皮肤
   底 #191724 / 卡 #1f1d2e / 文 #e0def4
   鸢尾紫 #c4a7e7 × 暖金 #f6c177 点缀，柔紫玫瑰
   全部规则 scope 于 html[data-skin="rose-pine"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="rose-pine"] {
  --bg: #191724;
  --surface: #1f1d2e;
  --card: #1f1d2e;
  --border: #26233a;
  --border-light: #403d52;
  --text: #e0def4;
  --text-secondary: #cfc9e8;
  --text-muted: #908caa;
  --accent: #c4a7e7;
  --accent-hover: #d7c1f0;
  --accent-subtle: rgba(196, 167, 231, 0.10);
  --success: #9ccfd8;
  --success-subtle: rgba(156, 207, 216, 0.12);
  --error: #eb6f92;
  --error-subtle: rgba(235, 111, 146, 0.12);
  --warning: #f6c177;
  --warning-subtle: rgba(246, 193, 119, 0.12);
  --info: #3e8fb0;
  --row-alt: #211e32;
  --log-bg: #151420;
  --btn-disabled-bg: #312f47;
  --shadow-1: 0 1px 3px rgba(6, 5, 12, 0.55);
  --shadow-2: 0 2px 10px rgba(6, 5, 12, 0.55);
  --shadow-3: 0 10px 36px rgba(6, 5, 12, 0.65);
  --on-accent: #191724;
  background: #191724;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="rose-pine"][data-theme="dark"] {
  --bg: #191724;
  --surface: #1f1d2e;
  --card: #1f1d2e;
  --border: #26233a;
  --border-light: #403d52;
  --text: #e0def4;
  --text-secondary: #cfc9e8;
  --text-muted: #908caa;
  --accent: #c4a7e7;
  --accent-hover: #d7c1f0;
  --accent-subtle: rgba(196, 167, 231, 0.10);
  --success: #9ccfd8;
  --success-subtle: rgba(156, 207, 216, 0.12);
  --error: #eb6f92;
  --error-subtle: rgba(235, 111, 146, 0.12);
  --warning: #f6c177;
  --warning-subtle: rgba(246, 193, 119, 0.12);
  --info: #3e8fb0;
  --row-alt: #211e32;
  --log-bg: #151420;
  --btn-disabled-bg: #312f47;
  --shadow-1: 0 1px 3px rgba(6, 5, 12, 0.55);
  --shadow-2: 0 2px 10px rgba(6, 5, 12, 0.55);
  --shadow-3: 0 10px 36px rgba(6, 5, 12, 0.65);
  --on-accent: #191724;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="rose-pine"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：暮色紫 radial，玫瑰园的柔光 ---- */
html[data-skin="rose-pine"] body {
  background:
    radial-gradient(1200px 700px at 50% -18%, rgba(196, 167, 231, 0.09), transparent 62%),
    radial-gradient(900px 540px at 12% 20%, rgba(235, 111, 146, 0.05), transparent 60%),
    radial-gradient(1000px 640px at 90% 78%, rgba(246, 193, 119, 0.04), transparent 62%),
    radial-gradient(1100px 620px at 50% 118%, rgba(38, 35, 58, 0.5), transparent 65%),
    #191724;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="rose-pine"] ::selection {
  background: rgba(196, 167, 231, 0.30);
  color: #f0eaf9;
}
html[data-skin="rose-pine"] ::-webkit-scrollbar-thumb {
  background: #26233a;
  border-radius: 8px;
}
html[data-skin="rose-pine"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(196, 167, 231, 0.5);
}
html[data-skin="rose-pine"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="rose-pine"] img {
  filter: brightness(0.95) saturate(1.1);
}

/* ---- 6. 头部：鸢尾紫→玫瑰→暖金渐变字 ---- */
html[data-skin="rose-pine"] .header {
  border-color: #26233a;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(196, 167, 231, 0.14);
}
html[data-skin="rose-pine"] .header h1 {
  background: linear-gradient(90deg, #c4a7e7, #ebbcba, #f6c177);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(196, 167, 231, 0.3));
}
html[data-skin="rose-pine"] .card-title {
  color: #d7c1f0;
}

/* ---- 7. 卡片族：深紫底卡 + hover 边框泛紫光 ---- */
html[data-skin="rose-pine"] .card,
html[data-skin="rose-pine"] .stat-card,
html[data-skin="rose-pine"] .admin-panel,
html[data-skin="rose-pine"] .acc-card,
html[data-skin="rose-pine"] .batch-group,
html[data-skin="rose-pine"] .batch-result-item,
html[data-skin="rose-pine"] .notice-panel,
html[data-skin="rose-pine"] .notice-toast {
  background: #1f1d2e;
  border: 1px solid #26233a;
}
html[data-skin="rose-pine"] .card:hover,
html[data-skin="rose-pine"] .stat-card:hover {
  border-color: rgba(196, 167, 231, 0.5);
  box-shadow: 0 0 18px rgba(196, 167, 231, 0.13), var(--shadow-2);
}
html[data-skin="rose-pine"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：鸢尾紫柔和按钮 ---- */
html[data-skin="rose-pine"] .btn,
html[data-skin="rose-pine"] .batch-btn,
html[data-skin="rose-pine"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="rose-pine"] .btn-primary {
  background: linear-gradient(135deg, #c4a7e7, #a67fd6);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(196, 167, 231, 0.28), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="rose-pine"] .btn-primary:hover {
  background: linear-gradient(135deg, #d7c1f0, #b493e0);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(196, 167, 231, 0.43000000000000005), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="rose-pine"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #908caa;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="rose-pine"] .btn-secondary {
  background: #1f1d2e;
  color: var(--text-secondary);
  border: 1px solid #403d52;
}
html[data-skin="rose-pine"] .btn-secondary:hover {
  background: #2a283e;
  color: #c4a7e7;
  border-color: rgba(196, 167, 231, 0.5);
  box-shadow: 0 0 12px rgba(196, 167, 231, 0.2);
}
html[data-skin="rose-pine"] .btn-danger {
  background: rgba(235, 111, 146, 0.12);
  color: #f193ae;
  border: 1px solid rgba(235, 111, 146, 0.35);
}
html[data-skin="rose-pine"] .btn-danger:hover {
  background: rgba(235, 111, 146, 0.2);
  box-shadow: 0 0 14px rgba(235, 111, 146, 0.3);
}
html[data-skin="rose-pine"] .btn:disabled {
  color: #908caa;
}

/* ---- 9. 输入族：深紫底聚焦紫描边 ---- */
html[data-skin="rose-pine"] input[type="text"],
html[data-skin="rose-pine"] input[type="password"],
html[data-skin="rose-pine"] input[type="number"],
html[data-skin="rose-pine"] input[type="date"],
html[data-skin="rose-pine"] input[type="time"],
html[data-skin="rose-pine"] textarea,
html[data-skin="rose-pine"] select,
html[data-skin="rose-pine"] .auth-input,
html[data-skin="rose-pine"] .admin-table input,
html[data-skin="rose-pine"] #reservationGame,
html[data-skin="rose-pine"] #modalGameName {
  background: #1b1929;
  border: 1px solid #26233a;
  color: var(--text);
}
html[data-skin="rose-pine"] input[type="text"]:focus,
html[data-skin="rose-pine"] input[type="password"]:focus,
html[data-skin="rose-pine"] input[type="number"]:focus,
html[data-skin="rose-pine"] textarea:focus,
html[data-skin="rose-pine"] select:focus,
html[data-skin="rose-pine"] .auth-input:focus,
html[data-skin="rose-pine"] .admin-table input:focus,
html[data-skin="rose-pine"] #reservationGame:focus,
html[data-skin="rose-pine"] #modalGameName:focus {
  outline: none;
  border-color: #c4a7e7;
  box-shadow: 0 0 0 3px rgba(196, 167, 231, 0.14), 0 0 14px rgba(196, 167, 231, 0.18);
}
html[data-skin="rose-pine"] select option,
html[data-skin="rose-pine"] #reservationGame option,
html[data-skin="rose-pine"] #modalGameName option {
  background: #151420;
  color: var(--text);
}
html[data-skin="rose-pine"] input[type="checkbox"] {
  accent-color: #c4a7e7;
}

/* ---- 10. 表格：暗表头 / 暮色斑马纹 / 紫行悬停 ---- */
html[data-skin="rose-pine"] .admin-table th,
html[data-skin="rose-pine"] .admin-table td,
html[data-skin="rose-pine"] .log-table th,
html[data-skin="rose-pine"] .log-table td {
  border-bottom: 1px solid #221f35;
}
html[data-skin="rose-pine"] .admin-table th,
html[data-skin="rose-pine"] .log-table th {
  background: #191724;
  border-bottom: 1px solid #26233a;
}
html[data-skin="rose-pine"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="rose-pine"] .log-table tbody tr:nth-child(even) td {
  background: #211e32;
}
html[data-skin="rose-pine"] .admin-table tr:hover td,
html[data-skin="rose-pine"] .log-table tr:hover td {
  background: rgba(196, 167, 231, 0.07);
}
html[data-skin="rose-pine"] #batchAccountTable tbody tr:hover {
  background: rgba(196, 167, 231, 0.05);
}
html[data-skin="rose-pine"] .batch-table-wrap {
  border-color: #221f35;
}

/* ---- 11. 管理 tab：激活紫青胶囊 ---- */
html[data-skin="rose-pine"] .admin-tab {
  background: #1b1929;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="rose-pine"] .admin-tab:hover {
  color: #e0def4;
  border-color: #403d52;
}
html[data-skin="rose-pine"] .admin-tab.active {
  background: linear-gradient(135deg, #c4a7e7, #9ccfd8);
  color: var(--on-accent);
  border-color: rgba(196, 167, 231, 0.6);
  box-shadow: 0 0 14px rgba(196, 167, 231, 0.28);
}

/* ---- 12. 日志区：花窗观察区 ---- */
html[data-skin="rose-pine"] .log-box {
  background: #151420;
  border: 1px solid #221f35;
  box-shadow: inset 0 0 24px rgba(196, 167, 231, 0.04);
}

/* ---- 13. 登录面板：玫瑰浮岛卡 + 紫登录键 ---- */
html[data-skin="rose-pine"] .auth-panel {
  background: #1f1d2e;
  border: 1px solid #26233a;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(196, 167, 231, 0.08);
}
html[data-skin="rose-pine"] .auth-btn {
  background: linear-gradient(135deg, #c4a7e7, #a67fd6);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(196, 167, 231, 0.28);
}
html[data-skin="rose-pine"] .auth-btn:hover {
  background: linear-gradient(135deg, #d7c1f0, #b493e0);
  box-shadow: 0 0 26px rgba(196, 167, 231, 0.43000000000000005);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="rose-pine"] .notice-panel {
  box-shadow: 0 8px 40px rgba(6, 5, 12, 0.65), 0 0 18px rgba(196, 167, 231, 0.10);
}
html[data-skin="rose-pine"] .notice-dot {
  border-color: #1f1d2e;
}
html[data-skin="rose-pine"] .notice-toast {
  border-color: rgba(196, 167, 231, 0.55);
  border-left: 4px solid #c4a7e7;
  box-shadow: 0 8px 30px rgba(6, 5, 12, 0.6), 0 0 18px rgba(196, 167, 231, 0.13);
}
html[data-skin="rose-pine"] .notice-toast .t-head {
  background: rgba(196, 167, 231, 0.12);
  color: #c4a7e7;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="rose-pine"] .pagination-bar button {
  background: #1f1d2e;
  border: 1px solid #26233a;
  color: var(--text);
}
html[data-skin="rose-pine"] .pagination-bar button:hover {
  border-color: #c4a7e7;
  color: #c4a7e7;
  box-shadow: 0 0 10px rgba(196, 167, 231, 0.22);
}
html[data-skin="rose-pine"] .points-badge {
  background: #f6c177;
  color: #3a2a0a;
}
html[data-skin="rose-pine"] .batch-result-item.ok {
  border-color: rgba(156, 207, 216, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补投影；内联白底二维码盒压成淡纸白 ---- */
html[data-skin="rose-pine"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(6, 5, 12, 0.65), 0 0 24px rgba(196, 167, 231, 0.08) !important;
}
html[data-skin="rose-pine"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #c4a7e7, #ebbcba, #f6c177) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="rose-pine"] #lxjQrBox,
html[data-skin="rose-pine"] #batchScanQr {
  background: #f1eef7 !important;
  border: 1px solid rgba(196, 167, 231, 0.4);
}
html[data-skin="rose-pine"] img[style*="background:#fff"] {
  background: #f1eef7 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="rose-pine"] * {
    transition: none !important;
  }
  html[data-skin="rose-pine"] body {
    animation: none;
  }
}
/* ===== 樱粉 (sakura) ===== */
/*SKIN {"id":"sakura","name":"樱粉","colors":["#fdf2f6","#db2777","#4a3b42"]}*/
/* 樱粉：浅粉白底 + 纯白卡片柔和粉影 + 暖深灰正文 + 玫红强调，温柔日常不幼幼 */

/* ---------- 变量重定义 ---------- */
html[data-skin="sakura"] {
  --bg: #fdf2f6;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #f9d5e5;
  --border-light: #f3bcd4;
  --text: #4a3b42;
  --text-secondary: #7a646e;
  --text-muted: #a8909a;
  --accent: #db2777;
  --accent-hover: #be185d;
  --accent-subtle: rgba(219,39,119,0.09);
  --success: #0e9f6e;
  --success-subtle: rgba(14,159,110,0.1);
  --error: #e11d48;
  --error-subtle: rgba(225,29,72,0.08);
  --warning: #d97706;
  --warning-subtle: rgba(217,119,6,0.1);
  --info: #9d5bc4;
  --radius: 14px;
  --radius-sm: 10px;
  --shadow-1: 0 1px 3px rgba(219,39,119,0.08);
  --shadow-2: 0 4px 14px rgba(219,39,119,0.1);
  --shadow-3: 0 10px 34px rgba(219,39,119,0.14);
  --row-alt: #fdf5f9;
  --log-bg: #fbf0f5;
  --btn-disabled-bg: #f3b8d3;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="sakura"][data-theme="dark"] {
  --bg: #fdf2f6;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #f9d5e5;
  --border-light: #f3bcd4;
  --text: #4a3b42;
  --text-secondary: #7a646e;
  --text-muted: #a8909a;
  --accent: #db2777;
  --accent-hover: #be185d;
  --accent-subtle: rgba(219,39,119,0.09);
  --success: #0e9f6e;
  --success-subtle: rgba(14,159,110,0.1);
  --error: #e11d48;
  --error-subtle: rgba(225,29,72,0.08);
  --warning: #d97706;
  --warning-subtle: rgba(217,119,6,0.1);
  --info: #9d5bc4;
  --row-alt: #fdf5f9;
  --log-bg: #fbf0f5;
  --btn-disabled-bg: #f3b8d3;
  color-scheme: light;
}

/* ---------- 页面底：极淡粉渐变弥散 ---------- */
html[data-skin="sakura"] body {
  background:
    radial-gradient(40rem 40rem at 8% -6%, rgba(249,168,212,0.22), transparent 60%),
    radial-gradient(36rem 36rem at 94% 14%, rgba(244,114,182,0.14), transparent 62%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(251,207,232,0.2), transparent 64%),
    linear-gradient(180deg, #fdf2f6 0%, #fef7fa 100%);
  background-attachment: fixed;
  color: #4a3b42;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：纯白 + 淡粉阴影 ---------- */
html[data-skin="sakura"] .card,
html[data-skin="sakura"] .stat-card,
html[data-skin="sakura"] .acc-card,
html[data-skin="sakura"] .auth-panel,
html[data-skin="sakura"] .admin-panel,
html[data-skin="sakura"] .config-panel,
html[data-skin="sakura"] .notice-panel,
html[data-skin="sakura"] .notice-toast,
html[data-skin="sakura"] .autocomplete-dropdown,
html[data-skin="sakura"] .batch-result-item {
  background: #ffffff;
  border: 1px solid #f9d5e5;
  box-shadow: 0 4px 16px rgba(219,39,119,0.08);
}
html[data-skin="sakura"] .card:hover,
html[data-skin="sakura"] .stat-card:hover {
  border-color: #f3bcd4;
  box-shadow: 0 8px 24px rgba(219,39,119,0.13);
}
html[data-skin="sakura"] .card-title { color: #db2777; }
html[data-skin="sakura"] .header {
  background: rgba(255,255,255,0.75);
  border-bottom: 1px solid #f9d5e5;
}
html[data-skin="sakura"] .header h1 {
  background: linear-gradient(120deg, #db2777, #f472b6);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="sakura"] .btn {
  border-radius: 10px;
  font-weight: 600;
}
html[data-skin="sakura"] .btn-primary,
html[data-skin="sakura"] .auth-btn,
html[data-skin="sakura"] .admin-tab.active {
  background: #db2777;
  color: #ffffff;
  border: 1px solid #db2777;
  box-shadow: 0 4px 12px rgba(219,39,119,0.22);
}
html[data-skin="sakura"] .btn-primary:hover,
html[data-skin="sakura"] .auth-btn:hover {
  background: #be185d;
  border-color: #be185d;
  box-shadow: 0 6px 16px rgba(190,24,93,0.3);
}
html[data-skin="sakura"] .btn-primary:disabled,
html[data-skin="sakura"] .pagination-bar button:disabled {
  background: #f3b8d3;
  color: #ffffff;
  border-color: #f3b8d3;
  box-shadow: none;
}
html[data-skin="sakura"] .btn-secondary,
html[data-skin="sakura"] .batch-btn,
html[data-skin="sakura"] .pagination-bar button,
html[data-skin="sakura"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #7a646e;
  border: 1px solid #f9d5e5;
}
html[data-skin="sakura"] .btn-secondary:hover,
html[data-skin="sakura"] .batch-btn:hover,
html[data-skin="sakura"] .pagination-bar button:hover {
  background: #fdf2f6;
  color: #db2777;
  border-color: #f3bcd4;
}
html[data-skin="sakura"] .btn-danger {
  background: rgba(225,29,72,0.08);
  color: #e11d48;
  border: 1px solid rgba(225,29,72,0.22);
}
html[data-skin="sakura"] .btn-danger:hover {
  background: rgba(225,29,72,0.15);
}

/* ---------- 输入控件：聚焦粉描边 ---------- */
html[data-skin="sakura"] input[type="text"],
html[data-skin="sakura"] input[type="password"],
html[data-skin="sakura"] input[type="number"],
html[data-skin="sakura"] textarea,
html[data-skin="sakura"] select,
html[data-skin="sakura"] .auth-input,
html[data-skin="sakura"] .admin-table input,
html[data-skin="sakura"] .config-row input {
  background: #ffffff;
  border: 1px solid #f0c6d8;
  color: #4a3b42;
}
html[data-skin="sakura"] input[type="text"]:focus,
html[data-skin="sakura"] input[type="password"]:focus,
html[data-skin="sakura"] input[type="number"]:focus,
html[data-skin="sakura"] textarea:focus,
html[data-skin="sakura"] select:focus,
html[data-skin="sakura"] .auth-input:focus,
html[data-skin="sakura"] #reservationGame:focus,
html[data-skin="sakura"] #modalGameName:focus {
  outline: none;
  border-color: #db2777;
  box-shadow: 0 0 0 3px rgba(219,39,119,0.12);
}
html[data-skin="sakura"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fdf2f6 inset;
  -webkit-text-fill-color: #4a3b42;
}
html[data-skin="sakura"] input[type="checkbox"],
html[data-skin="sakura"] .acc-card-top .acc-check input {
  accent-color: #db2777;
}
html[data-skin="sakura"] ::placeholder {
  color: #c9a9b6;
}

/* ---------- 表格 ---------- */
html[data-skin="sakura"] .admin-table th,
html[data-skin="sakura"] .log-table th {
  color: #be185d;
  background: #fdf5f9;
}
html[data-skin="sakura"] .admin-table tr:hover td,
html[data-skin="sakura"] .log-table tr:hover td,
html[data-skin="sakura"] #batchAccountTable tbody tr:hover {
  background: rgba(219,39,119,0.05);
}
html[data-skin="sakura"] .log-table tbody tr:nth-child(even) td {
  background: #fdf5f9;
}

/* ---------- 日志区 ---------- */
html[data-skin="sakura"] .log-box {
  background: #fbf0f5;
  border: 1px solid #f9d5e5;
}
html[data-skin="sakura"] .log-detail-pre {
  background: #fdf5f9;
  color: #4a3b42;
}
html[data-skin="sakura"] .log-line.success { color: #0e9f6e; }
html[data-skin="sakura"] .log-line.fail { color: #e11d48; }
html[data-skin="sakura"] .log-line.info { color: #9d5bc4; }
html[data-skin="sakura"] .log-line.skip { color: #d97706; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="sakura"] .badge-info { background: rgba(157,91,196,0.1); color: #9d5bc4; }
html[data-skin="sakura"] .badge-success { background: rgba(14,159,110,0.1); color: #0e9f6e; }
html[data-skin="sakura"] .badge-error { background: rgba(225,29,72,0.08); color: #e11d48; }
html[data-skin="sakura"] .badge-warning { background: rgba(217,119,6,0.1); color: #d97706; }
html[data-skin="sakura"] .stat-num.blue { color: #9d5bc4; }
html[data-skin="sakura"] .stat-num.green { color: #0e9f6e; }
html[data-skin="sakura"] .stat-num.red { color: #e11d48; }
html[data-skin="sakura"] .stat-num.yellow { color: #d97706; }
html[data-skin="sakura"] .debt-warning {
  background: rgba(225,29,72,0.08);
  border: 1px solid rgba(225,29,72,0.22);
  color: #e11d48;
}
html[data-skin="sakura"] .autocomplete-item.active,
html[data-skin="sakura"] .autocomplete-item:hover {
  background: rgba(219,39,119,0.07);
}
html[data-skin="sakura"] .admin-tab {
  background: #ffffff;
  color: #7a646e;
  border: 1px solid #f9d5e5;
}
html[data-skin="sakura"] .admin-tab:hover {
  border-color: #f3bcd4;
  color: #db2777;
}

/* ---------- 弹窗遮罩 / 滚动条 / 选区 ---------- */
html[data-skin="sakura"] #logDetailModal {
  background: rgba(74,59,66,0.45);
}
html[data-skin="sakura"] ::-webkit-scrollbar-thumb {
  background: #f3bcd4;
}
html[data-skin="sakura"] ::-webkit-scrollbar-thumb:hover {
  background: #db2777;
}
html[data-skin="sakura"] ::selection {
  background: rgba(219,39,119,0.18);
  color: #4a3b42;
}

/* ---------- 暗色变体 data-theme="dark"：夜樱 ---------- */
/* 夜樱黑底 #221319/#2b1a21 + 深樱描边 #42292f + #f2dde5 字 + 玫红提亮 #f472b6 */
html[data-skin="sakura"][data-theme="dark"] {
  --bg: #221319;
  --surface: #2b1a21;
  --card: #2b1a21;
  --border: #42292f;
  --border-light: #52333d;
  --text: #f2dde5;
  --text-secondary: #c9a5b4;
  --text-muted: #997b88;
  --accent: #f472b6;
  --accent-hover: #f9a8d4;
  --accent-subtle: rgba(244,114,182,0.16);
  --success: #34d399;
  --success-subtle: rgba(52,211,153,0.14);
  --error: #fb7185;
  --error-subtle: rgba(251,113,133,0.12);
  --warning: #fbbf24;
  --warning-subtle: rgba(251,191,36,0.12);
  --info: #c084fc;
  --radius: 14px;
  --radius-sm: 10px;
  --shadow-1: 0 1px 3px rgba(0,0,0,0.4);
  --shadow-2: 0 4px 14px rgba(0,0,0,0.45);
  --shadow-3: 0 10px 34px rgba(0,0,0,0.55);
  --row-alt: #251620;
  --log-bg: #1d1016;
  --btn-disabled-bg: #52333d;
  color-scheme: dark;
}
/* 页面底：夜樱 + 玫红花瓣光（压过浅色渐变守卫） */
html[data-skin="sakura"][data-theme="dark"] body {
  background:
    radial-gradient(40rem 40rem at 8% -6%, rgba(244,114,182,0.1), transparent 60%),
    radial-gradient(36rem 36rem at 94% 14%, rgba(219,39,119,0.08), transparent 62%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(80,35,55,0.3), transparent 64%),
    linear-gradient(180deg, #221319 0%, #1e1116 100%);
  background-attachment: fixed;
  color: #f2dde5;
  min-height: 100vh;
}
/* 卡片 / 面板：夜樱卡 + 深樱描边 + 柔和暗影 */
html[data-skin="sakura"][data-theme="dark"] .card,
html[data-skin="sakura"][data-theme="dark"] .stat-card,
html[data-skin="sakura"][data-theme="dark"] .acc-card,
html[data-skin="sakura"][data-theme="dark"] .auth-panel,
html[data-skin="sakura"][data-theme="dark"] .admin-panel,
html[data-skin="sakura"][data-theme="dark"] .config-panel,
html[data-skin="sakura"][data-theme="dark"] .notice-panel,
html[data-skin="sakura"][data-theme="dark"] .notice-toast,
html[data-skin="sakura"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="sakura"][data-theme="dark"] .batch-result-item {
  background: #2b1a21;
  border: 1px solid #42292f;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}
html[data-skin="sakura"][data-theme="dark"] .card:hover,
html[data-skin="sakura"][data-theme="dark"] .stat-card:hover {
  border-color: #52333d;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
}
html[data-skin="sakura"][data-theme="dark"] .card-title { color: #f472b6; }
html[data-skin="sakura"][data-theme="dark"] .header {
  background: rgba(34,19,25,0.8);
  border-bottom: 1px solid #42292f;
}
html[data-skin="sakura"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #f472b6, #f9a8d4);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* 按钮全系 */
html[data-skin="sakura"][data-theme="dark"] .btn {
  border-radius: 10px;
  font-weight: 600;
}
html[data-skin="sakura"][data-theme="dark"] .btn-primary,
html[data-skin="sakura"][data-theme="dark"] .auth-btn,
html[data-skin="sakura"][data-theme="dark"] .admin-tab.active {
  background: #f472b6;
  color: #2b0f1c;
  border: 1px solid #f472b6;
  box-shadow: 0 4px 12px rgba(244,114,182,0.26);
}
html[data-skin="sakura"][data-theme="dark"] .btn-primary:hover,
html[data-skin="sakura"][data-theme="dark"] .auth-btn:hover {
  background: #f9a8d4;
  border-color: #f9a8d4;
  box-shadow: 0 6px 16px rgba(244,114,182,0.34);
}
html[data-skin="sakura"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="sakura"][data-theme="dark"] .pagination-bar button:disabled {
  background: #52333d;
  color: #997b88;
  border-color: #52333d;
  box-shadow: none;
}
html[data-skin="sakura"][data-theme="dark"] .btn-secondary,
html[data-skin="sakura"][data-theme="dark"] .batch-btn,
html[data-skin="sakura"][data-theme="dark"] .pagination-bar button,
html[data-skin="sakura"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #2b1a21;
  color: #f2dde5;
  border: 1px solid #42292f;
}
html[data-skin="sakura"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="sakura"][data-theme="dark"] .batch-btn:hover,
html[data-skin="sakura"][data-theme="dark"] .pagination-bar button:hover {
  background: #362129;
  color: #f472b6;
  border-color: #52333d;
}
html[data-skin="sakura"][data-theme="dark"] .btn-danger {
  background: rgba(251,113,133,0.12);
  color: #fb7185;
  border: 1px solid rgba(251,113,133,0.3);
}
html[data-skin="sakura"][data-theme="dark"] .btn-danger:hover {
  background: rgba(251,113,133,0.2);
}
/* 输入控件：聚焦玫红描边 */
html[data-skin="sakura"][data-theme="dark"] input[type="text"],
html[data-skin="sakura"][data-theme="dark"] input[type="password"],
html[data-skin="sakura"][data-theme="dark"] input[type="number"],
html[data-skin="sakura"][data-theme="dark"] textarea,
html[data-skin="sakura"][data-theme="dark"] select,
html[data-skin="sakura"][data-theme="dark"] .auth-input,
html[data-skin="sakura"][data-theme="dark"] .admin-table input,
html[data-skin="sakura"][data-theme="dark"] .config-row input {
  background: #221319;
  border: 1px solid #42292f;
  color: #f2dde5;
}
html[data-skin="sakura"][data-theme="dark"] input[type="text"]:focus,
html[data-skin="sakura"][data-theme="dark"] input[type="password"]:focus,
html[data-skin="sakura"][data-theme="dark"] input[type="number"]:focus,
html[data-skin="sakura"][data-theme="dark"] textarea:focus,
html[data-skin="sakura"][data-theme="dark"] select:focus,
html[data-skin="sakura"][data-theme="dark"] .auth-input:focus,
html[data-skin="sakura"][data-theme="dark"] #reservationGame:focus,
html[data-skin="sakura"][data-theme="dark"] #modalGameName:focus {
  outline: none;
  border-color: #f472b6;
  box-shadow: 0 0 0 3px rgba(244,114,182,0.18);
}
html[data-skin="sakura"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #221319 inset;
  -webkit-text-fill-color: #f2dde5;
}
html[data-skin="sakura"][data-theme="dark"] input[type="checkbox"],
html[data-skin="sakura"][data-theme="dark"] .acc-card-top .acc-check input {
  accent-color: #f472b6;
}
html[data-skin="sakura"][data-theme="dark"] ::placeholder {
  color: #997b88;
}
/* 表格 */
html[data-skin="sakura"][data-theme="dark"] .admin-table th,
html[data-skin="sakura"][data-theme="dark"] .log-table th {
  color: #f9a8d4;
  background: #251620;
  border-bottom: 1px solid #42292f;
}
html[data-skin="sakura"][data-theme="dark"] .admin-table td,
html[data-skin="sakura"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #362129;
}
html[data-skin="sakura"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="sakura"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="sakura"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(244,114,182,0.08);
}
html[data-skin="sakura"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #251620;
}
/* 日志区 */
html[data-skin="sakura"][data-theme="dark"] .log-box {
  background: #1d1016;
  border: 1px solid #42292f;
}
html[data-skin="sakura"][data-theme="dark"] .log-detail-pre {
  background: #251620;
  color: #f2dde5;
}
html[data-skin="sakura"][data-theme="dark"] .log-line.success { color: #34d399; }
html[data-skin="sakura"][data-theme="dark"] .log-line.fail { color: #fb7185; }
html[data-skin="sakura"][data-theme="dark"] .log-line.info { color: #c084fc; }
html[data-skin="sakura"][data-theme="dark"] .log-line.skip { color: #fbbf24; }
/* 徽标 / 状态 / 提示 */
html[data-skin="sakura"][data-theme="dark"] .badge-info { background: rgba(192,132,252,0.14); color: #c084fc; }
html[data-skin="sakura"][data-theme="dark"] .badge-success { background: rgba(52,211,153,0.14); color: #34d399; }
html[data-skin="sakura"][data-theme="dark"] .badge-error { background: rgba(251,113,133,0.14); color: #fb7185; }
html[data-skin="sakura"][data-theme="dark"] .badge-warning { background: rgba(251,191,36,0.14); color: #fbbf24; }
html[data-skin="sakura"][data-theme="dark"] .stat-num.blue { color: #c084fc; }
html[data-skin="sakura"][data-theme="dark"] .stat-num.green { color: #34d399; }
html[data-skin="sakura"][data-theme="dark"] .stat-num.red { color: #fb7185; }
html[data-skin="sakura"][data-theme="dark"] .stat-num.yellow { color: #fbbf24; }
html[data-skin="sakura"][data-theme="dark"] .debt-warning {
  background: rgba(251,113,133,0.1);
  border: 1px solid rgba(251,113,133,0.3);
  color: #fb7185;
}
html[data-skin="sakura"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="sakura"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(244,114,182,0.1);
}
html[data-skin="sakura"][data-theme="dark"] .admin-tab {
  background: #2b1a21;
  color: #c9a5b4;
  border: 1px solid #42292f;
}
html[data-skin="sakura"][data-theme="dark"] .admin-tab:hover {
  border-color: #52333d;
  color: #f472b6;
}
html[data-skin="sakura"][data-theme="dark"] .notice-bell,
html[data-skin="sakura"][data-theme="dark"] .n-dot {
  color: #f472b6;
}
/* 弹窗遮罩 / 滚动条 / 选区 */
html[data-skin="sakura"][data-theme="dark"] #logDetailModal {
  background: rgba(12,5,9,0.62);
}
html[data-skin="sakura"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #52333d;
}
html[data-skin="sakura"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #f472b6;
}
html[data-skin="sakura"][data-theme="dark"] ::selection {
  background: rgba(244,114,182,0.3);
  color: #fbe4ee;
}
/* ===== 芝麻团 (sesame) ===== */
/*SKIN {"id":"sesame","name":"芝麻团","colors":["#faf9f5","#d4a017","#33312c"]}*/
/* 芝麻团：和菓子米白底 + 纯白卡片 + 墨芝麻正文 + 金芝麻强调，圆角 16px 软糯圆润 */

/* ---------- 变量重定义 ---------- */
html[data-skin="sesame"] {
  --bg: #faf9f5;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #e4e0d5;
  --border-light: #cfc8b4;
  --text: #33312c;
  --text-secondary: #55524a;
  --text-muted: #9b968a;
  --accent: #d4a017;
  --accent-hover: #b28a10;
  --accent-subtle: rgba(212,160,23,0.10);
  --success: #5f9e6e;
  --success-subtle: rgba(95,158,110,0.11);
  --error: #c9554a;
  --error-subtle: rgba(201,85,74,0.10);
  --warning: #cc8524;
  --warning-subtle: rgba(204,133,36,0.12);
  --info: #708aa9;
  --radius: 16px;
  --radius-sm: 12px;
  --shadow-1: 0 1px 3px rgba(51,49,44,0.08);
  --shadow-2: 0 4px 14px rgba(51,49,44,0.11);
  --shadow-3: 0 10px 34px rgba(51,49,44,0.15);
  --row-alt: #f5f3ec;
  --log-bg: #f4f2ea;
  --btn-disabled-bg: #eed9a2;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="sesame"][data-theme="dark"] {
  --bg: #faf9f5;
  --surface: #ffffff;
  --card: #ffffff;
  --border: #e4e0d5;
  --border-light: #cfc8b4;
  --text: #33312c;
  --text-secondary: #55524a;
  --text-muted: #9b968a;
  --accent: #d4a017;
  --accent-hover: #b28a10;
  --accent-subtle: rgba(212,160,23,0.10);
  --success: #5f9e6e;
  --success-subtle: rgba(95,158,110,0.11);
  --error: #c9554a;
  --error-subtle: rgba(201,85,74,0.10);
  --warning: #cc8524;
  --warning-subtle: rgba(204,133,36,0.12);
  --info: #708aa9;
  --radius: 16px;
  --radius-sm: 12px;
  --shadow-1: 0 1px 3px rgba(51,49,44,0.08);
  --shadow-2: 0 4px 14px rgba(51,49,44,0.11);
  --shadow-3: 0 10px 34px rgba(51,49,44,0.15);
  --row-alt: #f5f3ec;
  --log-bg: #f4f2ea;
  --btn-disabled-bg: #eed9a2;
  color-scheme: light;
}

/* ---------- 页面底：浅色弥散渐变 ---------- */
html[data-skin="sesame"] body {
  background:
    radial-gradient(40rem 40rem at 8% -6%, rgba(230,195,92,0.16), transparent 60%),
    radial-gradient(36rem 36rem at 94% 14%, rgba(212,160,23,0.07), transparent 62%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(207,200,180,0.18), transparent 64%),
    linear-gradient(180deg, #faf9f5 0%, #fbfaf6 100%);
  background-attachment: fixed;
  color: #33312c;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影 ---------- */
html[data-skin="sesame"] .card,
html[data-skin="sesame"] .stat-card,
html[data-skin="sesame"] .acc-card,
html[data-skin="sesame"] .auth-panel,
html[data-skin="sesame"] .admin-panel,
html[data-skin="sesame"] .config-panel,
html[data-skin="sesame"] .notice-panel,
html[data-skin="sesame"] .notice-toast,
html[data-skin="sesame"] .autocomplete-dropdown,
html[data-skin="sesame"] .batch-result-item,
html[data-skin="sesame"] .modal-box {
  background: #ffffff;
  border: 1px solid #e4e0d5;
  box-shadow: 0 4px 16px rgba(51,49,44,0.10);
}
html[data-skin="sesame"] .card:hover,
html[data-skin="sesame"] .stat-card:hover {
  border-color: #cfc8b4;
  box-shadow: 0 8px 24px rgba(51,49,44,0.16);
}
html[data-skin="sesame"] .card-title {
  color: #d4a017;
}

/* ---------- 顶栏：半透明浅色毛玻璃 ---------- */
html[data-skin="sesame"] .header {
  background: rgba(255,255,255,0.8);
  border-bottom: 1px solid #e4e0d5;
}
html[data-skin="sesame"] .header h1 {
  background: linear-gradient(120deg, #d4a017, #e6c35c);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="sesame"] .btn {
  border-radius: 12px;
  font-weight: 600;
}
html[data-skin="sesame"] .btn-primary,
html[data-skin="sesame"] .auth-btn,
html[data-skin="sesame"] .admin-tab.active {
  background: #d4a017;
  color: #ffffff;
  border: 1px solid #d4a017;
  box-shadow: 0 4px 12px rgba(212,160,23,0.22);
}
html[data-skin="sesame"] .btn-primary:hover,
html[data-skin="sesame"] .auth-btn:hover {
  background: #b28a10;
  border-color: #b28a10;
  box-shadow: 0 6px 16px rgba(178,138,16,0.3);
}
html[data-skin="sesame"] .btn-primary:disabled,
html[data-skin="sesame"] .pagination-bar button:disabled {
  background: #eed9a2;
  color: #ffffff;
  border-color: #eed9a2;
  box-shadow: none;
}
html[data-skin="sesame"] .btn-secondary,
html[data-skin="sesame"] .batch-btn,
html[data-skin="sesame"] .pagination-bar button,
html[data-skin="sesame"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #55524a;
  border: 1px solid #e4e0d5;
}
html[data-skin="sesame"] .btn-secondary:hover,
html[data-skin="sesame"] .batch-btn:hover,
html[data-skin="sesame"] .pagination-bar button:hover {
  background: #faf9f5;
  color: #d4a017;
  border-color: #cfc8b4;
}
html[data-skin="sesame"] .btn-danger {
  background: rgba(201,85,74,0.08);
  color: #c9554a;
  border: 1px solid rgba(201,85,74,0.22);
}
html[data-skin="sesame"] .btn-danger:hover {
  background: rgba(201,85,74,0.15);
}

/* ---------- 输入控件：聚焦主题色描边 ---------- */
html[data-skin="sesame"] input[type="text"],
html[data-skin="sesame"] input[type="password"],
html[data-skin="sesame"] input[type="number"],
html[data-skin="sesame"] textarea,
html[data-skin="sesame"] select,
html[data-skin="sesame"] .auth-input,
html[data-skin="sesame"] .admin-table input,
html[data-skin="sesame"] .config-row input {
  background: #ffffff;
  border: 1px solid #ded9c9;
  color: #33312c;
}
html[data-skin="sesame"] input[type="text"],
html[data-skin="sesame"] input[type="password"],
html[data-skin="sesame"] input[type="number"],
html[data-skin="sesame"] textarea,
html[data-skin="sesame"] select,
html[data-skin="sesame"] .auth-input,
html[data-skin="sesame"] .admin-table input,
html[data-skin="sesame"] .config-row input,
html[data-skin="sesame"] #reservationGame,
html[data-skin="sesame"] #modalGameName {
  outline: none;
  border-color: #d4a017;
  box-shadow: 0 0 0 3px rgba(212,160,23,0.13);
}
html[data-skin="sesame"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #33312c;
}
html[data-skin="sesame"] input[type="checkbox"],
html[data-skin="sesame"] .acc-card-top .acc-check input {
  accent-color: #d4a017;
}
html[data-skin="sesame"] ::placeholder {
  color: #b8b2a2;
}

/* ---------- 表格（管理表 + 日志表 + 批量表） ---------- */
html[data-skin="sesame"] .admin-table th,
html[data-skin="sesame"] .log-table th,
html[data-skin="sesame"] #batchAccountTable th,
html[data-skin="sesame"] #batchUnlockedTable th {
  color: #b28a10;
  background: #f5f3ec;
  border-bottom: 1px solid #e4e0d5;
}
html[data-skin="sesame"] .admin-table td,
html[data-skin="sesame"] .log-table td {
  border-bottom: 1px solid #e4e0d5;
}
html[data-skin="sesame"] .admin-table tr:hover td,
html[data-skin="sesame"] .log-table tr:hover td,
html[data-skin="sesame"] #batchAccountTable tbody tr:hover {
  background: rgba(212,160,23,0.05);
}
html[data-skin="sesame"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="sesame"] .log-table tbody tr:nth-child(even) td {
  background: #f5f3ec;
}

/* ---------- 日志区 ---------- */
html[data-skin="sesame"] .log-box {
  background: #f4f2ea;
  border: 1px solid #e4e0d5;
}
html[data-skin="sesame"] .log-detail-pre {
  background: #f5f3ec;
  color: #33312c;
}
html[data-skin="sesame"] .log-line.success {
  color: #5f9e6e;
}
html[data-skin="sesame"] .log-line.fail {
  color: #c9554a;
}
html[data-skin="sesame"] .log-line.info {
  color: #708aa9;
}
html[data-skin="sesame"] .log-line.skip {
  color: #cc8524;
}

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="sesame"] .badge-info {
  background: rgba(112,138,169,0.10);
  color: #708aa9;
}
html[data-skin="sesame"] .badge-success {
  background: rgba(95,158,110,0.10);
  color: #5f9e6e;
}
html[data-skin="sesame"] .badge-error {
  background: rgba(201,85,74,0.09);
  color: #c9554a;
}
html[data-skin="sesame"] .badge-warning {
  background: rgba(204,133,36,0.11);
  color: #cc8524;
}
html[data-skin="sesame"] .stat-num.blue {
  color: #708aa9;
}
html[data-skin="sesame"] .stat-num.green {
  color: #5f9e6e;
}
html[data-skin="sesame"] .stat-num.red {
  color: #c9554a;
}
html[data-skin="sesame"] .stat-num.yellow {
  color: #cc8524;
}
html[data-skin="sesame"] .debt-warning {
  background: rgba(201,85,74,0.08);
  border: 1px solid rgba(201,85,74,0.22);
  color: #c9554a;
}
html[data-skin="sesame"] .autocomplete-item.active,
html[data-skin="sesame"] .autocomplete-item:hover {
  background: rgba(212,160,23,0.07);
}
html[data-skin="sesame"] .admin-tab {
  background: #ffffff;
  color: #55524a;
  border: 1px solid #e4e0d5;
}
html[data-skin="sesame"] .admin-tab:hover {
  border-color: #cfc8b4;
  color: #d4a017;
}

/* ---------- 通知铃 / 红点 ---------- */
html[data-skin="sesame"] .notice-bell,
html[data-skin="sesame"] .n-dot {
  color: #d4a017;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="sesame"] #logDetailModal,
html[data-skin="sesame"] #pointsRecordsModal,
html[data-skin="sesame"] #batchScanModal {
  background: rgba(51,49,44,0.5);
}
html[data-skin="sesame"] #lxjQrBox,
html[data-skin="sesame"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #e4e0d5;
}
html[data-skin="sesame"] #batchScanQrImg,
html[data-skin="sesame"] #batchScanQr img,
html[data-skin="sesame"] #lxjQrBox img,
html[data-skin="sesame"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="sesame"] ::-webkit-scrollbar-thumb {
  background: #cfc8b4;
  border-radius: 6px;
}
html[data-skin="sesame"] ::-webkit-scrollbar-thumb:hover {
  background: #d4a017;
}
html[data-skin="sesame"] ::selection {
  background: rgba(212,160,23,0.16);
  color: #33312c;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="sesame"] .btn,
html[data-skin="sesame"] .card,
html[data-skin="sesame"] .stat-card,
html[data-skin="sesame"] .acc-card,
html[data-skin="sesame"] input,
html[data-skin="sesame"] select,
html[data-skin="sesame"] textarea,
html[data-skin="sesame"] .admin-tab,
html[data-skin="sesame"] .pagination-bar button,
html[data-skin="sesame"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ================================================== */
/* 夜间模式守卫：data-theme="dark" 时全部强制回浅色， */
/* 防止全局夜间样式残留刺眼（特异性 0,2,1+ 压过深色规则） */
/* ================================================== */

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影（强制回浅色） ---------- */
html[data-skin="sesame"][data-theme="dark"] .card,
html[data-skin="sesame"][data-theme="dark"] .stat-card,
html[data-skin="sesame"][data-theme="dark"] .acc-card,
html[data-skin="sesame"][data-theme="dark"] .auth-panel,
html[data-skin="sesame"][data-theme="dark"] .admin-panel,
html[data-skin="sesame"][data-theme="dark"] .config-panel,
html[data-skin="sesame"][data-theme="dark"] .notice-panel,
html[data-skin="sesame"][data-theme="dark"] .notice-toast,
html[data-skin="sesame"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="sesame"][data-theme="dark"] .batch-result-item,
html[data-skin="sesame"][data-theme="dark"] .modal-box {
  background: #ffffff;
  border: 1px solid #e4e0d5;
  box-shadow: 0 4px 16px rgba(51,49,44,0.10);
}
html[data-skin="sesame"][data-theme="dark"] .card:hover,
html[data-skin="sesame"][data-theme="dark"] .stat-card:hover {
  border-color: #cfc8b4;
  box-shadow: 0 8px 24px rgba(51,49,44,0.16);
}
html[data-skin="sesame"][data-theme="dark"] .card-title {
  color: #d4a017;
}

/* ---------- 顶栏：半透明浅色毛玻璃（强制回浅色） ---------- */
html[data-skin="sesame"][data-theme="dark"] .header {
  background: rgba(255,255,255,0.8);
  border-bottom: 1px solid #e4e0d5;
}
html[data-skin="sesame"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #d4a017, #e6c35c);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系（强制回浅色） ---------- */
html[data-skin="sesame"][data-theme="dark"] .btn {
  border-radius: 12px;
  font-weight: 600;
}
html[data-skin="sesame"][data-theme="dark"] .btn-primary,
html[data-skin="sesame"][data-theme="dark"] .auth-btn,
html[data-skin="sesame"][data-theme="dark"] .admin-tab.active {
  background: #d4a017;
  color: #ffffff;
  border: 1px solid #d4a017;
  box-shadow: 0 4px 12px rgba(212,160,23,0.22);
}
html[data-skin="sesame"][data-theme="dark"] .btn-primary:hover,
html[data-skin="sesame"][data-theme="dark"] .auth-btn:hover {
  background: #b28a10;
  border-color: #b28a10;
  box-shadow: 0 6px 16px rgba(178,138,16,0.3);
}
html[data-skin="sesame"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="sesame"][data-theme="dark"] .pagination-bar button:disabled {
  background: #eed9a2;
  color: #ffffff;
  border-color: #eed9a2;
  box-shadow: none;
}
html[data-skin="sesame"][data-theme="dark"] .btn-secondary,
html[data-skin="sesame"][data-theme="dark"] .batch-btn,
html[data-skin="sesame"][data-theme="dark"] .pagination-bar button,
html[data-skin="sesame"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #ffffff;
  color: #55524a;
  border: 1px solid #e4e0d5;
}
html[data-skin="sesame"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="sesame"][data-theme="dark"] .batch-btn:hover,
html[data-skin="sesame"][data-theme="dark"] .pagination-bar button:hover {
  background: #faf9f5;
  color: #d4a017;
  border-color: #cfc8b4;
}
html[data-skin="sesame"][data-theme="dark"] .btn-danger {
  background: rgba(201,85,74,0.08);
  color: #c9554a;
  border: 1px solid rgba(201,85,74,0.22);
}
html[data-skin="sesame"][data-theme="dark"] .btn-danger:hover {
  background: rgba(201,85,74,0.15);
}

/* ---------- 输入控件：聚焦主题色描边（强制回浅色） ---------- */
html[data-skin="sesame"][data-theme="dark"] input[type="text"],
html[data-skin="sesame"][data-theme="dark"] input[type="password"],
html[data-skin="sesame"][data-theme="dark"] input[type="number"],
html[data-skin="sesame"][data-theme="dark"] textarea,
html[data-skin="sesame"][data-theme="dark"] select,
html[data-skin="sesame"][data-theme="dark"] .auth-input,
html[data-skin="sesame"][data-theme="dark"] .admin-table input,
html[data-skin="sesame"][data-theme="dark"] .config-row input {
  background: #ffffff;
  border: 1px solid #ded9c9;
  color: #33312c;
}
html[data-skin="sesame"][data-theme="dark"] input[type="text"],
html[data-skin="sesame"][data-theme="dark"] input[type="password"],
html[data-skin="sesame"][data-theme="dark"] input[type="number"],
html[data-skin="sesame"][data-theme="dark"] textarea,
html[data-skin="sesame"][data-theme="dark"] select,
html[data-skin="sesame"][data-theme="dark"] .auth-input,
html[data-skin="sesame"][data-theme="dark"] .admin-table input,
html[data-skin="sesame"][data-theme="dark"] .config-row input,
html[data-skin="sesame"][data-theme="dark"] #reservationGame,
html[data-skin="sesame"][data-theme="dark"] #modalGameName {
  outline: none;
  border-color: #d4a017;
  box-shadow: 0 0 0 3px rgba(212,160,23,0.13);
}
html[data-skin="sesame"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  -webkit-text-fill-color: #33312c;
}
html[data-skin="sesame"][data-theme="dark"] input[type="checkbox"],
html[data-skin="sesame"][data-theme="dark"] .acc-card-top .acc-check input {
  accent-color: #d4a017;
}
html[data-skin="sesame"][data-theme="dark"] ::placeholder {
  color: #b8b2a2;
}

/* ---------- 表格（管理表 + 日志表 + 批量表）（强制回浅色） ---------- */
html[data-skin="sesame"][data-theme="dark"] .admin-table th,
html[data-skin="sesame"][data-theme="dark"] .log-table th,
html[data-skin="sesame"][data-theme="dark"] #batchAccountTable th,
html[data-skin="sesame"][data-theme="dark"] #batchUnlockedTable th {
  color: #b28a10;
  background: #f5f3ec;
  border-bottom: 1px solid #e4e0d5;
}
html[data-skin="sesame"][data-theme="dark"] .admin-table td,
html[data-skin="sesame"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #e4e0d5;
}
html[data-skin="sesame"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="sesame"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="sesame"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(212,160,23,0.05);
}
html[data-skin="sesame"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="sesame"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #f5f3ec;
}

/* ---------- 日志区（强制回浅色） ---------- */
html[data-skin="sesame"][data-theme="dark"] .log-box {
  background: #f4f2ea;
  border: 1px solid #e4e0d5;
}
html[data-skin="sesame"][data-theme="dark"] .log-detail-pre {
  background: #f5f3ec;
  color: #33312c;
}
html[data-skin="sesame"][data-theme="dark"] .log-line.success {
  color: #5f9e6e;
}
html[data-skin="sesame"][data-theme="dark"] .log-line.fail {
  color: #c9554a;
}
html[data-skin="sesame"][data-theme="dark"] .log-line.info {
  color: #708aa9;
}
html[data-skin="sesame"][data-theme="dark"] .log-line.skip {
  color: #cc8524;
}

/* ---------- 徽标 / 状态 / 提示（强制回浅色） ---------- */
html[data-skin="sesame"][data-theme="dark"] .badge-info {
  background: rgba(112,138,169,0.10);
  color: #708aa9;
}
html[data-skin="sesame"][data-theme="dark"] .badge-success {
  background: rgba(95,158,110,0.10);
  color: #5f9e6e;
}
html[data-skin="sesame"][data-theme="dark"] .badge-error {
  background: rgba(201,85,74,0.09);
  color: #c9554a;
}
html[data-skin="sesame"][data-theme="dark"] .badge-warning {
  background: rgba(204,133,36,0.11);
  color: #cc8524;
}
html[data-skin="sesame"][data-theme="dark"] .stat-num.blue {
  color: #708aa9;
}
html[data-skin="sesame"][data-theme="dark"] .stat-num.green {
  color: #5f9e6e;
}
html[data-skin="sesame"][data-theme="dark"] .stat-num.red {
  color: #c9554a;
}
html[data-skin="sesame"][data-theme="dark"] .stat-num.yellow {
  color: #cc8524;
}
html[data-skin="sesame"][data-theme="dark"] .debt-warning {
  background: rgba(201,85,74,0.08);
  border: 1px solid rgba(201,85,74,0.22);
  color: #c9554a;
}
html[data-skin="sesame"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="sesame"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(212,160,23,0.07);
}
html[data-skin="sesame"][data-theme="dark"] .admin-tab {
  background: #ffffff;
  color: #55524a;
  border: 1px solid #e4e0d5;
}
html[data-skin="sesame"][data-theme="dark"] .admin-tab:hover {
  border-color: #cfc8b4;
  color: #d4a017;
}

/* ---------- 通知铃 / 红点（强制回浅色） ---------- */
html[data-skin="sesame"][data-theme="dark"] .notice-bell,
html[data-skin="sesame"][data-theme="dark"] .n-dot {
  color: #d4a017;
}

/* ---------- 弹窗遮罩 / 二维码盒（强制回浅色） ---------- */
html[data-skin="sesame"][data-theme="dark"] #logDetailModal,
html[data-skin="sesame"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="sesame"][data-theme="dark"] #batchScanModal {
  background: rgba(51,49,44,0.5);
}
html[data-skin="sesame"][data-theme="dark"] #lxjQrBox,
html[data-skin="sesame"][data-theme="dark"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #e4e0d5;
}
html[data-skin="sesame"][data-theme="dark"] #batchScanQrImg,
html[data-skin="sesame"][data-theme="dark"] #batchScanQr img,
html[data-skin="sesame"][data-theme="dark"] #lxjQrBox img,
html[data-skin="sesame"][data-theme="dark"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区（强制回浅色） ---------- */
html[data-skin="sesame"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #cfc8b4;
  border-radius: 6px;
}
html[data-skin="sesame"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #d4a017;
}
html[data-skin="sesame"][data-theme="dark"] ::selection {
  background: rgba(212,160,23,0.16);
  color: #33312c;
}

/* ---------- 全局过渡（强制回浅色） ---------- */
html[data-skin="sesame"][data-theme="dark"] .btn,
html[data-skin="sesame"][data-theme="dark"] .card,
html[data-skin="sesame"][data-theme="dark"] .stat-card,
html[data-skin="sesame"][data-theme="dark"] .acc-card,
html[data-skin="sesame"][data-theme="dark"] input,
html[data-skin="sesame"][data-theme="dark"] select,
html[data-skin="sesame"][data-theme="dark"] textarea,
html[data-skin="sesame"][data-theme="dark"] .admin-tab,
html[data-skin="sesame"][data-theme="dark"] .pagination-bar button,
html[data-skin="sesame"][data-theme="dark"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
/* ===== 冷灰 (slate) ===== */
/*SKIN {"id":"slate","name":"冷灰","colors":["#f1f3f5","#2b8a3e","#212529"]}*/
/* ==================================================================
   [UI v3 冷灰专业] 覆盖层 —— 仅追加，不改上方任何规则（后写规则赢）
   方向：浅冷灰底 / 白卡片 / 炭黑正文 / 黑白为主 + 一个克制的绿
   直角化 · 无阴影 · 高密度 · 报表工具质感 · 零新增网络请求
   ================================================================== */

/* --- 1. 变量换肤（大面积生效的根） --- */
html[data-skin="slate"]{
    --bg:#eef1f4;
    --surface:#ffffff;
    --card:#ffffff;
    --border:#dee2e6;
    --border-light:#ced4da;
    --text:#212529;
    --text-secondary:#495057;
    --text-muted:#5f6a76;
    --accent:#2b8a3e;
    --accent-hover:#2f9e44;
    --accent-subtle:rgba(43,138,62,0.10);
    --success:#2b8a3e;
    --success-subtle:rgba(43,138,62,0.10);
    --error:#c92a2a;
    --error-subtle:rgba(201,42,42,0.08);
    --warning:#e8590c;
    --warning-subtle:rgba(232,89,12,0.10);
    --info:#495057;
    --radius:4px;
    --radius-sm:4px;
    --space-1:6px;
    --space-2:12px;
    --space-3:18px;
    --shadow-1:none;
    --shadow-2:none;
    --shadow-3:none;
    --row-alt:#f8f9fa;
    --log-bg:#f8f9fa;
    --btn-disabled-bg:#a1c9ae;
}

/* --- 2. 标题层级：实色炭黑，去青色渐变字 --- */
html[data-skin="slate"] h1,
html[data-skin="slate"] h2,
html[data-skin="slate"] h3{color:var(--text)}
html[data-skin="slate"] .header h1{
    background:none;
    background-clip:border-box;
    -webkit-background-clip:border-box;
    -webkit-text-fill-color:var(--text);
    color:var(--text);
    font-size:22px;
    font-weight:800;
}
html[data-skin="slate"] .card-title{
    font-size:13px;
    color:var(--text);
    font-weight:700;
    text-transform:none;
    letter-spacing:0.02em;
    margin-bottom:12px;
    padding-bottom:6px;
    border-bottom:1px solid var(--border);
}

/* --- 3. 卡片：白底直角无阴影 --- */
html[data-skin="slate"] .card{box-shadow:none;transition:border-color .15s}
html[data-skin="slate"] .card:hover{box-shadow:none;border-color:var(--border-light)}

/* --- 4. 按钮：绿主 / 白次，直角，去上浮去光晕 --- */
html[data-skin="slate"] .btn{border-radius:3px;letter-spacing:0}
html[data-skin="slate"] .btn-primary{background:var(--accent);color:#fff}
html[data-skin="slate"] .btn-primary:hover{background:var(--accent-hover);transform:none;box-shadow:none}
html[data-skin="slate"] .btn-primary:active{background:#257a35}
html[data-skin="slate"] .btn-primary:disabled{background:var(--btn-disabled-bg);color:#fff;transform:none;box-shadow:none}
html[data-skin="slate"] .btn-secondary{background:#fff;color:#212529;border:1px solid var(--border-light)}
html[data-skin="slate"] .btn-secondary:hover{background:#f1f3f5;color:#212529;border-color:#ced4da}
html[data-skin="slate"] .pagination-bar button{border-radius:3px}

/* --- 5. 输入：直角，焦点改 2px 细绿环 --- */
html[data-skin="slate"] textarea,
html[data-skin="slate"] input[type="text"],
html[data-skin="slate"] input[type="password"],
html[data-skin="slate"] input[type="number"],
html[data-skin="slate"] .auth-input,
html[data-skin="slate"] #reservationGame,
html[data-skin="slate"] #modalGameName{border-radius:3px}
html[data-skin="slate"] textarea:focus,
html[data-skin="slate"] input[type="text"]:focus,
html[data-skin="slate"] input[type="password"]:focus,
html[data-skin="slate"] input[type="number"]:focus,
html[data-skin="slate"] .auth-input:focus,
html[data-skin="slate"] #reservationGame:focus,
html[data-skin="slate"] #modalGameName:focus{
    border-color:var(--accent);
    box-shadow:0 0 0 2px var(--accent-subtle);
}

/* --- 6. 表格：冷灰表头 + 斑马纹 + 中性 hover
      （桌面表格态专用；≤600px 移动端卡片化保持底稿原样不受影响） --- */
@media (min-width:601px){
    html[data-skin="slate"] .admin-table th,
html[data-skin="slate"] .log-table th{
        background:#f8f9fa;color:#495057;
        text-transform:none;letter-spacing:0;
        font-weight:700;font-size:12px;
        border-bottom:1px solid #dee2e6;
    }
    html[data-skin="slate"] .admin-table th,
html[data-skin="slate"] .admin-table td{padding:9px 12px}
    html[data-skin="slate"] .log-table th,
html[data-skin="slate"] .log-table td{padding:8px 12px}
    html[data-skin="slate"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="slate"] .log-table tbody tr:nth-child(even) td{background:#f8f9fa}
    html[data-skin="slate"] .admin-table tr:hover td,
html[data-skin="slate"] .log-table tr:hover td{background:#f1f3f5}
    html[data-skin="slate"] #batchAccountTable tbody tr:hover{background:#f1f3f5}
    html[data-skin="slate"] .admin-table input{border-radius:3px}
    html[data-skin="slate"] .admin-table input:focus{border-color:var(--accent);box-shadow:none}
}

/* --- 7. 杂项去浮夸 --- */
html[data-skin="slate"] .notice-bell:hover{transform:none}
html[data-skin="slate"] .notice-item:hover{background:#f1f3f5}
html[data-skin="slate"] .notice-toast .t-head{background:#f8f9fa}

/* --- 8. 暗色变体 data-theme="dark"：冷灰夜（#16181d/#1d2026 面 + #2f333b 边 + #e2e6ea 字）
      绿强调提亮 #37b24d；直角 · 无阴影 · 报表质感设计语言保持不变 --- */
html[data-skin="slate"][data-theme="dark"]{
    --bg:#16181d;
    --surface:#1d2026;
    --card:#1d2026;
    --border:#2f333b;
    --border-light:#3b404a;
    --text:#e2e6ea;
    --text-secondary:#a9b1bb;
    --text-muted:#7d8692;
    --accent:#37b24d;
    --accent-hover:#40c057;
    --accent-subtle:rgba(55,178,77,0.14);
    --success:#37b24d;
    --success-subtle:rgba(55,178,77,0.14);
    --error:#ff6b6b;
    --error-subtle:rgba(255,107,107,0.12);
    --warning:#ff922b;
    --warning-subtle:rgba(255,146,43,0.12);
    --info:#909aa6;
    --radius:4px;
    --radius-sm:4px;
    --shadow-1:none;
    --shadow-2:none;
    --shadow-3:none;
    --row-alt:#1a1d22;
    --log-bg:#14161b;
    --btn-disabled-bg:#2b4a33;
    color-scheme:dark;
}
html[data-skin="slate"][data-theme="dark"] body{background:var(--bg); color:var(--text)}
html[data-skin="slate"][data-theme="dark"] h1,
html[data-skin="slate"][data-theme="dark"] h2,
html[data-skin="slate"][data-theme="dark"] h3{color:var(--text)}
html[data-skin="slate"][data-theme="dark"] .header{background:rgba(22,24,29,0.94); border-bottom:1px solid #2f333b}
html[data-skin="slate"][data-theme="dark"] .header h1{
    background:none;
    background-clip:border-box;
    -webkit-background-clip:border-box;
    -webkit-text-fill-color:#eceff3;
    color:#eceff3;
    font-size:22px;
    font-weight:800;
}
html[data-skin="slate"][data-theme="dark"] .card-title{
    color:var(--text);
    border-bottom:1px solid #2f333b;
}
html[data-skin="slate"][data-theme="dark"] .card{background:#1d2026; border:1px solid #2f333b; box-shadow:none; transition:border-color .15s}
html[data-skin="slate"][data-theme="dark"] .card:hover{box-shadow:none; border-color:#3b404a}
html[data-skin="slate"][data-theme="dark"] .btn{border-radius:3px; letter-spacing:0}
html[data-skin="slate"][data-theme="dark"] .btn-primary{background:#37b24d; color:#0b1f10}
html[data-skin="slate"][data-theme="dark"] .btn-primary:hover{background:#40c057; transform:none; box-shadow:none}
html[data-skin="slate"][data-theme="dark"] .btn-primary:active{background:#2f9e44}
html[data-skin="slate"][data-theme="dark"] .btn-primary:disabled{background:#2b4a33; color:#7d8692; transform:none; box-shadow:none}
html[data-skin="slate"][data-theme="dark"] .btn-secondary{background:#1d2026; color:#e2e6ea; border:1px solid #3b404a}
html[data-skin="slate"][data-theme="dark"] .btn-secondary:hover{background:#262b33; color:#e2e6ea; border-color:#3b404a}
html[data-skin="slate"][data-theme="dark"] .pagination-bar button{border-radius:3px}
html[data-skin="slate"][data-theme="dark"] textarea,
html[data-skin="slate"][data-theme="dark"] input[type="text"],
html[data-skin="slate"][data-theme="dark"] input[type="password"],
html[data-skin="slate"][data-theme="dark"] input[type="number"],
html[data-skin="slate"][data-theme="dark"] select,
html[data-skin="slate"][data-theme="dark"] .auth-input,
html[data-skin="slate"][data-theme="dark"] #reservationGame,
html[data-skin="slate"][data-theme="dark"] #modalGameName{background:#16181d; border:1px solid #2f333b; color:#e2e6ea; border-radius:3px}
html[data-skin="slate"][data-theme="dark"] textarea:focus,
html[data-skin="slate"][data-theme="dark"] input[type="text"]:focus,
html[data-skin="slate"][data-theme="dark"] input[type="password"]:focus,
html[data-skin="slate"][data-theme="dark"] input[type="number"]:focus,
html[data-skin="slate"][data-theme="dark"] .auth-input:focus,
html[data-skin="slate"][data-theme="dark"] #reservationGame:focus,
html[data-skin="slate"][data-theme="dark"] #modalGameName:focus{
    border-color:#37b24d;
    box-shadow:0 0 0 2px rgba(55,178,77,0.18);
}
html[data-skin="slate"][data-theme="dark"] input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #16181d inset; -webkit-text-fill-color:#e2e6ea}
html[data-skin="slate"][data-theme="dark"] ::placeholder{color:#7d8692}
html[data-skin="slate"][data-theme="dark"] .admin-table th,
html[data-skin="slate"][data-theme="dark"] .log-table th{
    background:#22262e; color:#a9b1bb;
    text-transform:none; letter-spacing:0;
    font-weight:700; font-size:12px;
    border-bottom:1px solid #2f333b;
}
html[data-skin="slate"][data-theme="dark"] .admin-table td,
html[data-skin="slate"][data-theme="dark"] .log-table td{border-bottom:1px solid #292d35}
html[data-skin="slate"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="slate"][data-theme="dark"] .log-table tbody tr:nth-child(even) td{background:#1a1d22}
html[data-skin="slate"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="slate"][data-theme="dark"] .log-table tr:hover td{background:#262b33}
html[data-skin="slate"][data-theme="dark"] #batchAccountTable tbody tr:hover{background:#262b33}
html[data-skin="slate"][data-theme="dark"] .admin-table input{background:#16181d; border:1px solid #2f333b; color:#e2e6ea; border-radius:3px}
html[data-skin="slate"][data-theme="dark"] .admin-table input:focus{border-color:#37b24d; box-shadow:none}
html[data-skin="slate"][data-theme="dark"] .log-box{background:#14161b; border:1px solid #2f333b}
html[data-skin="slate"][data-theme="dark"] .log-detail-pre{background:#1a1d22; color:#e2e6ea}
html[data-skin="slate"][data-theme="dark"] .log-line.success{color:#37b24d}
html[data-skin="slate"][data-theme="dark"] .log-line.fail{color:#ff6b6b}
html[data-skin="slate"][data-theme="dark"] .log-line.info{color:#909aa6}
html[data-skin="slate"][data-theme="dark"] .log-line.skip{color:#ff922b}
html[data-skin="slate"][data-theme="dark"] .badge-info{background:rgba(144,154,166,0.16); color:#a9b3bf}
html[data-skin="slate"][data-theme="dark"] .badge-success{background:rgba(55,178,77,0.16); color:#37b24d}
html[data-skin="slate"][data-theme="dark"] .badge-error{background:rgba(255,107,107,0.14); color:#ff6b6b}
html[data-skin="slate"][data-theme="dark"] .badge-warning{background:rgba(255,146,43,0.14); color:#ff922b}
html[data-skin="slate"][data-theme="dark"] .stat-num.blue{color:#74a8ff}
html[data-skin="slate"][data-theme="dark"] .stat-num.green{color:#37b24d}
html[data-skin="slate"][data-theme="dark"] .stat-num.red{color:#ff6b6b}
html[data-skin="slate"][data-theme="dark"] .stat-num.yellow{color:#ff922b}
html[data-skin="slate"][data-theme="dark"] .debt-warning{background:rgba(255,107,107,0.1); border:1px solid rgba(255,107,107,0.3); color:#ff6b6b}
html[data-skin="slate"][data-theme="dark"] .notice-bell:hover{transform:none}
html[data-skin="slate"][data-theme="dark"] .notice-item:hover{background:#262b33}
html[data-skin="slate"][data-theme="dark"] .notice-toast .t-head{background:#22262e}
html[data-skin="slate"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="slate"][data-theme="dark"] .autocomplete-item:hover{background:#262b33}
html[data-skin="slate"][data-theme="dark"] #logDetailModal,
html[data-skin="slate"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="slate"][data-theme="dark"] #batchScanModal{background:rgba(8,9,12,0.68) !important}
html[data-skin="slate"][data-theme="dark"] ::-webkit-scrollbar-thumb{background:#3b404a; border-radius:2px}
html[data-skin="slate"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover{background:#37b24d}
html[data-skin="slate"][data-theme="dark"] ::selection{background:rgba(55,178,77,0.3); color:#eceff3}
/* ===== 正午日光 (solarized-light) ===== */
/*SKIN {"id":"solarized-light","name":"正午日光","colors":["#fdf6e3","#268bd2","#073642"]}*/
/* 正午日光：经典 Solarized 日光奶油底 + 米黄卡面 + 深青正文 + 太阳蓝强调，黄 #b58900 点缀 */

/* ---------- 变量重定义 ---------- */
html[data-skin="solarized-light"] {
  --bg: #fdf6e3;
  --surface: #eee8d5;
  --card: #eee8d5;
  --border: #ddd6c1;
  --border-light: #c9c2a6;
  --text: #073642;
  --text-secondary: #586e75;
  --text-muted: #93a1a1;
  --accent: #268bd2;
  --accent-hover: #1d6fa5;
  --accent-subtle: rgba(38,139,210,0.10);
  --success: #859900;
  --success-subtle: rgba(133,153,0,0.11);
  --error: #dc322f;
  --error-subtle: rgba(220,50,47,0.10);
  --warning: #b58900;
  --warning-subtle: rgba(181,137,0,0.12);
  --info: #6c71c4;
  --radius: 10px;
  --radius-sm: 7px;
  --shadow-1: 0 1px 3px rgba(88,110,117,0.08);
  --shadow-2: 0 4px 14px rgba(88,110,117,0.11);
  --shadow-3: 0 10px 34px rgba(88,110,117,0.15);
  --row-alt: #f3ecd7;
  --log-bg: #f3ecd7;
  --btn-disabled-bg: #a7c7e0;
  color-scheme: light;
}
/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组，强制回浅色 */
html[data-skin="solarized-light"][data-theme="dark"] {
  --bg: #fdf6e3;
  --surface: #eee8d5;
  --card: #eee8d5;
  --border: #ddd6c1;
  --border-light: #c9c2a6;
  --text: #073642;
  --text-secondary: #586e75;
  --text-muted: #93a1a1;
  --accent: #268bd2;
  --accent-hover: #1d6fa5;
  --accent-subtle: rgba(38,139,210,0.10);
  --success: #859900;
  --success-subtle: rgba(133,153,0,0.11);
  --error: #dc322f;
  --error-subtle: rgba(220,50,47,0.10);
  --warning: #b58900;
  --warning-subtle: rgba(181,137,0,0.12);
  --info: #6c71c4;
  --radius: 10px;
  --radius-sm: 7px;
  --shadow-1: 0 1px 3px rgba(88,110,117,0.08);
  --shadow-2: 0 4px 14px rgba(88,110,117,0.11);
  --shadow-3: 0 10px 34px rgba(88,110,117,0.15);
  --row-alt: #f3ecd7;
  --log-bg: #f3ecd7;
  --btn-disabled-bg: #a7c7e0;
  color-scheme: light;
}

/* ---------- 页面底：浅色弥散渐变 ---------- */
html[data-skin="solarized-light"] body {
  background:
    radial-gradient(40rem 40rem at 8% -6%, rgba(181,137,0,0.10), transparent 60%),
    radial-gradient(36rem 36rem at 94% 14%, rgba(38,139,210,0.08), transparent 62%),
    radial-gradient(44rem 44rem at 50% 112%, rgba(147,161,161,0.14), transparent 64%),
    linear-gradient(180deg, #fdf6e3 0%, #f9f3dd 100%);
  background-attachment: fixed;
  color: #073642;
  min-height: 100vh;
}

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影 ---------- */
html[data-skin="solarized-light"] .card,
html[data-skin="solarized-light"] .stat-card,
html[data-skin="solarized-light"] .acc-card,
html[data-skin="solarized-light"] .auth-panel,
html[data-skin="solarized-light"] .admin-panel,
html[data-skin="solarized-light"] .config-panel,
html[data-skin="solarized-light"] .notice-panel,
html[data-skin="solarized-light"] .notice-toast,
html[data-skin="solarized-light"] .autocomplete-dropdown,
html[data-skin="solarized-light"] .batch-result-item,
html[data-skin="solarized-light"] .modal-box {
  background: #eee8d5;
  border: 1px solid #ddd6c1;
  box-shadow: 0 4px 16px rgba(88,110,117,0.10);
}
html[data-skin="solarized-light"] .card:hover,
html[data-skin="solarized-light"] .stat-card:hover {
  border-color: #c9c2a6;
  box-shadow: 0 8px 24px rgba(88,110,117,0.16);
}
html[data-skin="solarized-light"] .card-title {
  color: #b58900;
}

/* ---------- 顶栏：半透明浅色毛玻璃 ---------- */
html[data-skin="solarized-light"] .header {
  background: rgba(253,246,227,0.8);
  border-bottom: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"] .header h1 {
  background: linear-gradient(120deg, #268bd2, #2aa198);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系 ---------- */
html[data-skin="solarized-light"] .btn {
  border-radius: 7px;
  font-weight: 600;
}
html[data-skin="solarized-light"] .btn-primary,
html[data-skin="solarized-light"] .auth-btn,
html[data-skin="solarized-light"] .admin-tab.active {
  background: #268bd2;
  color: #ffffff;
  border: 1px solid #268bd2;
  box-shadow: 0 4px 12px rgba(38,139,210,0.22);
}
html[data-skin="solarized-light"] .btn-primary:hover,
html[data-skin="solarized-light"] .auth-btn:hover {
  background: #1d6fa5;
  border-color: #1d6fa5;
  box-shadow: 0 6px 16px rgba(29,111,165,0.3);
}
html[data-skin="solarized-light"] .btn-primary:disabled,
html[data-skin="solarized-light"] .pagination-bar button:disabled {
  background: #a7c7e0;
  color: #ffffff;
  border-color: #a7c7e0;
  box-shadow: none;
}
html[data-skin="solarized-light"] .btn-secondary,
html[data-skin="solarized-light"] .batch-btn,
html[data-skin="solarized-light"] .pagination-bar button,
html[data-skin="solarized-light"] .notice-panel-head .n-clear {
  background: #eee8d5;
  color: #586e75;
  border: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"] .btn-secondary:hover,
html[data-skin="solarized-light"] .batch-btn:hover,
html[data-skin="solarized-light"] .pagination-bar button:hover {
  background: #f7f2e2;
  color: #268bd2;
  border-color: #c9c2a6;
}
html[data-skin="solarized-light"] .btn-danger {
  background: rgba(220,50,47,0.08);
  color: #dc322f;
  border: 1px solid rgba(220,50,47,0.22);
}
html[data-skin="solarized-light"] .btn-danger:hover {
  background: rgba(220,50,47,0.15);
}

/* ---------- 输入控件：聚焦主题色描边 ---------- */
html[data-skin="solarized-light"] input[type="text"],
html[data-skin="solarized-light"] input[type="password"],
html[data-skin="solarized-light"] input[type="number"],
html[data-skin="solarized-light"] textarea,
html[data-skin="solarized-light"] select,
html[data-skin="solarized-light"] .auth-input,
html[data-skin="solarized-light"] .admin-table input,
html[data-skin="solarized-light"] .config-row input {
  background: #fdfaf0;
  border: 1px solid #d5cdb4;
  color: #073642;
}
html[data-skin="solarized-light"] input[type="text"],
html[data-skin="solarized-light"] input[type="password"],
html[data-skin="solarized-light"] input[type="number"],
html[data-skin="solarized-light"] textarea,
html[data-skin="solarized-light"] select,
html[data-skin="solarized-light"] .auth-input,
html[data-skin="solarized-light"] .admin-table input,
html[data-skin="solarized-light"] .config-row input,
html[data-skin="solarized-light"] #reservationGame,
html[data-skin="solarized-light"] #modalGameName {
  outline: none;
  border-color: #268bd2;
  box-shadow: 0 0 0 3px rgba(38,139,210,0.13);
}
html[data-skin="solarized-light"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fdfaf0 inset;
  -webkit-text-fill-color: #073642;
}
html[data-skin="solarized-light"] input[type="checkbox"],
html[data-skin="solarized-light"] .acc-card-top .acc-check input {
  accent-color: #268bd2;
}
html[data-skin="solarized-light"] ::placeholder {
  color: #a4aeac;
}

/* ---------- 表格（管理表 + 日志表 + 批量表） ---------- */
html[data-skin="solarized-light"] .admin-table th,
html[data-skin="solarized-light"] .log-table th,
html[data-skin="solarized-light"] #batchAccountTable th,
html[data-skin="solarized-light"] #batchUnlockedTable th {
  color: #1d6fa5;
  background: #f3ecd7;
  border-bottom: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"] .admin-table td,
html[data-skin="solarized-light"] .log-table td {
  border-bottom: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"] .admin-table tr:hover td,
html[data-skin="solarized-light"] .log-table tr:hover td,
html[data-skin="solarized-light"] #batchAccountTable tbody tr:hover {
  background: rgba(38,139,210,0.05);
}
html[data-skin="solarized-light"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="solarized-light"] .log-table tbody tr:nth-child(even) td {
  background: #f3ecd7;
}

/* ---------- 日志区 ---------- */
html[data-skin="solarized-light"] .log-box {
  background: #f3ecd7;
  border: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"] .log-detail-pre {
  background: #f3ecd7;
  color: #073642;
}
html[data-skin="solarized-light"] .log-line.success {
  color: #859900;
}
html[data-skin="solarized-light"] .log-line.fail {
  color: #dc322f;
}
html[data-skin="solarized-light"] .log-line.info {
  color: #6c71c4;
}
html[data-skin="solarized-light"] .log-line.skip {
  color: #b58900;
}

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="solarized-light"] .badge-info {
  background: rgba(108,113,196,0.10);
  color: #6c71c4;
}
html[data-skin="solarized-light"] .badge-success {
  background: rgba(133,153,0,0.10);
  color: #859900;
}
html[data-skin="solarized-light"] .badge-error {
  background: rgba(220,50,47,0.09);
  color: #dc322f;
}
html[data-skin="solarized-light"] .badge-warning {
  background: rgba(181,137,0,0.11);
  color: #b58900;
}
html[data-skin="solarized-light"] .stat-num.blue {
  color: #6c71c4;
}
html[data-skin="solarized-light"] .stat-num.green {
  color: #859900;
}
html[data-skin="solarized-light"] .stat-num.red {
  color: #dc322f;
}
html[data-skin="solarized-light"] .stat-num.yellow {
  color: #b58900;
}
html[data-skin="solarized-light"] .debt-warning {
  background: rgba(220,50,47,0.08);
  border: 1px solid rgba(220,50,47,0.22);
  color: #dc322f;
}
html[data-skin="solarized-light"] .autocomplete-item.active,
html[data-skin="solarized-light"] .autocomplete-item:hover {
  background: rgba(38,139,210,0.07);
}
html[data-skin="solarized-light"] .admin-tab {
  background: #eee8d5;
  color: #586e75;
  border: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"] .admin-tab:hover {
  border-color: #c9c2a6;
  color: #268bd2;
}

/* ---------- 通知铃 / 红点 ---------- */
html[data-skin="solarized-light"] .notice-bell,
html[data-skin="solarized-light"] .n-dot {
  color: #b58900;
}

/* ---------- 弹窗遮罩 / 二维码盒 ---------- */
html[data-skin="solarized-light"] #logDetailModal,
html[data-skin="solarized-light"] #pointsRecordsModal,
html[data-skin="solarized-light"] #batchScanModal {
  background: rgba(7,54,66,0.45);
}
html[data-skin="solarized-light"] #lxjQrBox,
html[data-skin="solarized-light"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"] #batchScanQrImg,
html[data-skin="solarized-light"] #batchScanQr img,
html[data-skin="solarized-light"] #lxjQrBox img,
html[data-skin="solarized-light"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区 ---------- */
html[data-skin="solarized-light"] ::-webkit-scrollbar-thumb {
  background: #c9c2a6;
  border-radius: 6px;
}
html[data-skin="solarized-light"] ::-webkit-scrollbar-thumb:hover {
  background: #268bd2;
}
html[data-skin="solarized-light"] ::selection {
  background: rgba(38,139,210,0.16);
  color: #073642;
}

/* ---------- 全局过渡 ---------- */
html[data-skin="solarized-light"] .btn,
html[data-skin="solarized-light"] .card,
html[data-skin="solarized-light"] .stat-card,
html[data-skin="solarized-light"] .acc-card,
html[data-skin="solarized-light"] input,
html[data-skin="solarized-light"] select,
html[data-skin="solarized-light"] textarea,
html[data-skin="solarized-light"] .admin-tab,
html[data-skin="solarized-light"] .pagination-bar button,
html[data-skin="solarized-light"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

/* ================================================== */
/* 夜间模式守卫：data-theme="dark" 时全部强制回浅色， */
/* 防止全局夜间样式残留刺眼（特异性 0,2,1+ 压过深色规则） */
/* ================================================== */

/* ---------- 卡片 / 面板：浅色卡面 + 柔和主题色阴影（强制回浅色） ---------- */
html[data-skin="solarized-light"][data-theme="dark"] .card,
html[data-skin="solarized-light"][data-theme="dark"] .stat-card,
html[data-skin="solarized-light"][data-theme="dark"] .acc-card,
html[data-skin="solarized-light"][data-theme="dark"] .auth-panel,
html[data-skin="solarized-light"][data-theme="dark"] .admin-panel,
html[data-skin="solarized-light"][data-theme="dark"] .config-panel,
html[data-skin="solarized-light"][data-theme="dark"] .notice-panel,
html[data-skin="solarized-light"][data-theme="dark"] .notice-toast,
html[data-skin="solarized-light"][data-theme="dark"] .autocomplete-dropdown,
html[data-skin="solarized-light"][data-theme="dark"] .batch-result-item,
html[data-skin="solarized-light"][data-theme="dark"] .modal-box {
  background: #eee8d5;
  border: 1px solid #ddd6c1;
  box-shadow: 0 4px 16px rgba(88,110,117,0.10);
}
html[data-skin="solarized-light"][data-theme="dark"] .card:hover,
html[data-skin="solarized-light"][data-theme="dark"] .stat-card:hover {
  border-color: #c9c2a6;
  box-shadow: 0 8px 24px rgba(88,110,117,0.16);
}
html[data-skin="solarized-light"][data-theme="dark"] .card-title {
  color: #b58900;
}

/* ---------- 顶栏：半透明浅色毛玻璃（强制回浅色） ---------- */
html[data-skin="solarized-light"][data-theme="dark"] .header {
  background: rgba(253,246,227,0.8);
  border-bottom: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"][data-theme="dark"] .header h1 {
  background: linear-gradient(120deg, #268bd2, #2aa198);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- 按钮全系（强制回浅色） ---------- */
html[data-skin="solarized-light"][data-theme="dark"] .btn {
  border-radius: 7px;
  font-weight: 600;
}
html[data-skin="solarized-light"][data-theme="dark"] .btn-primary,
html[data-skin="solarized-light"][data-theme="dark"] .auth-btn,
html[data-skin="solarized-light"][data-theme="dark"] .admin-tab.active {
  background: #268bd2;
  color: #ffffff;
  border: 1px solid #268bd2;
  box-shadow: 0 4px 12px rgba(38,139,210,0.22);
}
html[data-skin="solarized-light"][data-theme="dark"] .btn-primary:hover,
html[data-skin="solarized-light"][data-theme="dark"] .auth-btn:hover {
  background: #1d6fa5;
  border-color: #1d6fa5;
  box-shadow: 0 6px 16px rgba(29,111,165,0.3);
}
html[data-skin="solarized-light"][data-theme="dark"] .btn-primary:disabled,
html[data-skin="solarized-light"][data-theme="dark"] .pagination-bar button:disabled {
  background: #a7c7e0;
  color: #ffffff;
  border-color: #a7c7e0;
  box-shadow: none;
}
html[data-skin="solarized-light"][data-theme="dark"] .btn-secondary,
html[data-skin="solarized-light"][data-theme="dark"] .batch-btn,
html[data-skin="solarized-light"][data-theme="dark"] .pagination-bar button,
html[data-skin="solarized-light"][data-theme="dark"] .notice-panel-head .n-clear {
  background: #eee8d5;
  color: #586e75;
  border: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"][data-theme="dark"] .btn-secondary:hover,
html[data-skin="solarized-light"][data-theme="dark"] .batch-btn:hover,
html[data-skin="solarized-light"][data-theme="dark"] .pagination-bar button:hover {
  background: #f7f2e2;
  color: #268bd2;
  border-color: #c9c2a6;
}
html[data-skin="solarized-light"][data-theme="dark"] .btn-danger {
  background: rgba(220,50,47,0.08);
  color: #dc322f;
  border: 1px solid rgba(220,50,47,0.22);
}
html[data-skin="solarized-light"][data-theme="dark"] .btn-danger:hover {
  background: rgba(220,50,47,0.15);
}

/* ---------- 输入控件：聚焦主题色描边（强制回浅色） ---------- */
html[data-skin="solarized-light"][data-theme="dark"] input[type="text"],
html[data-skin="solarized-light"][data-theme="dark"] input[type="password"],
html[data-skin="solarized-light"][data-theme="dark"] input[type="number"],
html[data-skin="solarized-light"][data-theme="dark"] textarea,
html[data-skin="solarized-light"][data-theme="dark"] select,
html[data-skin="solarized-light"][data-theme="dark"] .auth-input,
html[data-skin="solarized-light"][data-theme="dark"] .admin-table input,
html[data-skin="solarized-light"][data-theme="dark"] .config-row input {
  background: #fdfaf0;
  border: 1px solid #d5cdb4;
  color: #073642;
}
html[data-skin="solarized-light"][data-theme="dark"] input[type="text"],
html[data-skin="solarized-light"][data-theme="dark"] input[type="password"],
html[data-skin="solarized-light"][data-theme="dark"] input[type="number"],
html[data-skin="solarized-light"][data-theme="dark"] textarea,
html[data-skin="solarized-light"][data-theme="dark"] select,
html[data-skin="solarized-light"][data-theme="dark"] .auth-input,
html[data-skin="solarized-light"][data-theme="dark"] .admin-table input,
html[data-skin="solarized-light"][data-theme="dark"] .config-row input,
html[data-skin="solarized-light"][data-theme="dark"] #reservationGame,
html[data-skin="solarized-light"][data-theme="dark"] #modalGameName {
  outline: none;
  border-color: #268bd2;
  box-shadow: 0 0 0 3px rgba(38,139,210,0.13);
}
html[data-skin="solarized-light"][data-theme="dark"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fdfaf0 inset;
  -webkit-text-fill-color: #073642;
}
html[data-skin="solarized-light"][data-theme="dark"] input[type="checkbox"],
html[data-skin="solarized-light"][data-theme="dark"] .acc-card-top .acc-check input {
  accent-color: #268bd2;
}
html[data-skin="solarized-light"][data-theme="dark"] ::placeholder {
  color: #a4aeac;
}

/* ---------- 表格（管理表 + 日志表 + 批量表）（强制回浅色） ---------- */
html[data-skin="solarized-light"][data-theme="dark"] .admin-table th,
html[data-skin="solarized-light"][data-theme="dark"] .log-table th,
html[data-skin="solarized-light"][data-theme="dark"] #batchAccountTable th,
html[data-skin="solarized-light"][data-theme="dark"] #batchUnlockedTable th {
  color: #1d6fa5;
  background: #f3ecd7;
  border-bottom: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"][data-theme="dark"] .admin-table td,
html[data-skin="solarized-light"][data-theme="dark"] .log-table td {
  border-bottom: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"][data-theme="dark"] .admin-table tr:hover td,
html[data-skin="solarized-light"][data-theme="dark"] .log-table tr:hover td,
html[data-skin="solarized-light"][data-theme="dark"] #batchAccountTable tbody tr:hover {
  background: rgba(38,139,210,0.05);
}
html[data-skin="solarized-light"][data-theme="dark"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="solarized-light"][data-theme="dark"] .log-table tbody tr:nth-child(even) td {
  background: #f3ecd7;
}

/* ---------- 日志区（强制回浅色） ---------- */
html[data-skin="solarized-light"][data-theme="dark"] .log-box {
  background: #f3ecd7;
  border: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"][data-theme="dark"] .log-detail-pre {
  background: #f3ecd7;
  color: #073642;
}
html[data-skin="solarized-light"][data-theme="dark"] .log-line.success {
  color: #859900;
}
html[data-skin="solarized-light"][data-theme="dark"] .log-line.fail {
  color: #dc322f;
}
html[data-skin="solarized-light"][data-theme="dark"] .log-line.info {
  color: #6c71c4;
}
html[data-skin="solarized-light"][data-theme="dark"] .log-line.skip {
  color: #b58900;
}

/* ---------- 徽标 / 状态 / 提示（强制回浅色） ---------- */
html[data-skin="solarized-light"][data-theme="dark"] .badge-info {
  background: rgba(108,113,196,0.10);
  color: #6c71c4;
}
html[data-skin="solarized-light"][data-theme="dark"] .badge-success {
  background: rgba(133,153,0,0.10);
  color: #859900;
}
html[data-skin="solarized-light"][data-theme="dark"] .badge-error {
  background: rgba(220,50,47,0.09);
  color: #dc322f;
}
html[data-skin="solarized-light"][data-theme="dark"] .badge-warning {
  background: rgba(181,137,0,0.11);
  color: #b58900;
}
html[data-skin="solarized-light"][data-theme="dark"] .stat-num.blue {
  color: #6c71c4;
}
html[data-skin="solarized-light"][data-theme="dark"] .stat-num.green {
  color: #859900;
}
html[data-skin="solarized-light"][data-theme="dark"] .stat-num.red {
  color: #dc322f;
}
html[data-skin="solarized-light"][data-theme="dark"] .stat-num.yellow {
  color: #b58900;
}
html[data-skin="solarized-light"][data-theme="dark"] .debt-warning {
  background: rgba(220,50,47,0.08);
  border: 1px solid rgba(220,50,47,0.22);
  color: #dc322f;
}
html[data-skin="solarized-light"][data-theme="dark"] .autocomplete-item.active,
html[data-skin="solarized-light"][data-theme="dark"] .autocomplete-item:hover {
  background: rgba(38,139,210,0.07);
}
html[data-skin="solarized-light"][data-theme="dark"] .admin-tab {
  background: #eee8d5;
  color: #586e75;
  border: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"][data-theme="dark"] .admin-tab:hover {
  border-color: #c9c2a6;
  color: #268bd2;
}

/* ---------- 通知铃 / 红点（强制回浅色） ---------- */
html[data-skin="solarized-light"][data-theme="dark"] .notice-bell,
html[data-skin="solarized-light"][data-theme="dark"] .n-dot {
  color: #b58900;
}

/* ---------- 弹窗遮罩 / 二维码盒（强制回浅色） ---------- */
html[data-skin="solarized-light"][data-theme="dark"] #logDetailModal,
html[data-skin="solarized-light"][data-theme="dark"] #pointsRecordsModal,
html[data-skin="solarized-light"][data-theme="dark"] #batchScanModal {
  background: rgba(7,54,66,0.45);
}
html[data-skin="solarized-light"][data-theme="dark"] #lxjQrBox,
html[data-skin="solarized-light"][data-theme="dark"] #batchScanQr {
  background: #ffffff !important;
  border: 1px solid #ddd6c1;
}
html[data-skin="solarized-light"][data-theme="dark"] #batchScanQrImg,
html[data-skin="solarized-light"][data-theme="dark"] #batchScanQr img,
html[data-skin="solarized-light"][data-theme="dark"] #lxjQrBox img,
html[data-skin="solarized-light"][data-theme="dark"] #lxjQrBox canvas {
  background: #ffffff !important;
}

/* ---------- 滚动条 / 选区（强制回浅色） ---------- */
html[data-skin="solarized-light"][data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #c9c2a6;
  border-radius: 6px;
}
html[data-skin="solarized-light"][data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: #268bd2;
}
html[data-skin="solarized-light"][data-theme="dark"] ::selection {
  background: rgba(38,139,210,0.16);
  color: #073642;
}

/* ---------- 全局过渡（强制回浅色） ---------- */
html[data-skin="solarized-light"][data-theme="dark"] .btn,
html[data-skin="solarized-light"][data-theme="dark"] .card,
html[data-skin="solarized-light"][data-theme="dark"] .stat-card,
html[data-skin="solarized-light"][data-theme="dark"] .acc-card,
html[data-skin="solarized-light"][data-theme="dark"] input,
html[data-skin="solarized-light"][data-theme="dark"] select,
html[data-skin="solarized-light"][data-theme="dark"] textarea,
html[data-skin="solarized-light"][data-theme="dark"] .admin-tab,
html[data-skin="solarized-light"][data-theme="dark"] .pagination-bar button,
html[data-skin="solarized-light"][data-theme="dark"] .auth-input {
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
/* ===== 日落 (sunset) ===== */
/*SKIN {"id":"sunset","name":"日落","colors":["#5a2e5a","#ff9e5e","#f5e9e0"]}*/
/* ============================================================
   日落 · Sunset — 黄昏天空亮暗之间暖调皮肤
   天空 #2d1b4e→#7a2e5a→#c94f3d（紫→玫→橙，固定渐变）
   卡 rgba(30,18,45,.88) 深紫半透明 + 淡紫描边 / 文 #f5e9e0
   落日强调：橙 #ff9e5e
   全部规则 scope 于 html[data-skin="sunset"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="sunset"] {
  --bg: #241536;
  --surface: rgba(30, 18, 45, 0.88);
  --card: rgba(30, 18, 45, 0.88);
  --border: rgba(222, 184, 255, 0.22);
  --border-light: rgba(222, 184, 255, 0.40);
  --text: #f5e9e0;
  --text-secondary: #e5cbc2;
  --text-muted: #b495a8;
  --accent: #ff9e5e;
  --accent-hover: #ffc08a;
  --accent-subtle: rgba(255, 158, 94, 0.15);
  --success: #8fdfa4;
  --success-subtle: rgba(143, 223, 164, 0.13);
  --error: #ff8585;
  --error-subtle: rgba(255, 133, 133, 0.13);
  --warning: #ffc46b;
  --warning-subtle: rgba(255, 196, 107, 0.14);
  --info: #d9a8ff;
  --row-alt: rgba(255, 235, 220, 0.06);
  --log-bg: rgba(18, 10, 30, 0.85);
  --btn-disabled-bg: rgba(255, 235, 220, 0.16);
  --shadow-1: 0 1px 3px rgba(10, 4, 20, 0.45);
  --shadow-2: 0 2px 10px rgba(10, 4, 20, 0.5);
  --shadow-3: 0 10px 36px rgba(10, 4, 20, 0.6);
  --on-accent: #3d1c0a;
  background: #2d1b4e;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="sunset"][data-theme="dark"] {
  --bg: #241536;
  --surface: rgba(30, 18, 45, 0.88);
  --card: rgba(30, 18, 45, 0.88);
  --border: rgba(222, 184, 255, 0.22);
  --border-light: rgba(222, 184, 255, 0.40);
  --text: #f5e9e0;
  --text-secondary: #e5cbc2;
  --text-muted: #b495a8;
  --accent: #ff9e5e;
  --accent-hover: #ffc08a;
  --accent-subtle: rgba(255, 158, 94, 0.15);
  --success: #8fdfa4;
  --success-subtle: rgba(143, 223, 164, 0.13);
  --error: #ff8585;
  --error-subtle: rgba(255, 133, 133, 0.13);
  --warning: #ffc46b;
  --warning-subtle: rgba(255, 196, 107, 0.14);
  --info: #d9a8ff;
  --row-alt: rgba(255, 235, 220, 0.06);
  --log-bg: rgba(18, 10, 30, 0.85);
  --btn-disabled-bg: rgba(255, 235, 220, 0.16);
  --shadow-1: 0 1px 3px rgba(10, 4, 20, 0.45);
  --shadow-2: 0 2px 10px rgba(10, 4, 20, 0.5);
  --shadow-3: 0 10px 36px rgba(10, 4, 20, 0.6);
  --on-accent: #3d1c0a;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="sunset"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：黄昏天空固定渐变（紫→玫→橙） ---- */
html[data-skin="sunset"] body {
  background: linear-gradient(180deg, #2d1b4e 0%, #7a2e5a 52%, #c94f3d 100%);
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="sunset"] ::selection {
  background: rgba(255, 158, 94, 0.38);
  color: #fff3e6;
}
html[data-skin="sunset"] ::-webkit-scrollbar-thumb {
  background: rgba(255, 220, 190, 0.28);
  border-radius: 8px;
}
html[data-skin="sunset"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 158, 94, 0.6);
}
html[data-skin="sunset"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="sunset"] img {
  filter: brightness(0.97) saturate(1.06);
}

/* ---- 6. 头部：暖金落日渐变字 + 毛玻璃顶栏 ---- */
html[data-skin="sunset"] .header {
  border-color: rgba(222, 184, 255, 0.22);
  backdrop-filter: blur(8px) saturate(1.2);
  -webkit-backdrop-filter: blur(8px) saturate(1.2);
}
html[data-skin="sunset"] .header h1 {
  background: linear-gradient(90deg, #ffd9a0, #ff9e5e, #ff7a6b);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(255, 158, 94, 0.35));
}
html[data-skin="sunset"] .card-title {
  color: #f0b98a;
}

/* ---- 7. 卡片族：深紫半透明卡 + 淡紫描边 + 毛玻璃 ---- */
html[data-skin="sunset"] .card,
html[data-skin="sunset"] .stat-card,
html[data-skin="sunset"] .admin-panel,
html[data-skin="sunset"] .acc-card,
html[data-skin="sunset"] .batch-group,
html[data-skin="sunset"] .batch-result-item,
html[data-skin="sunset"] .notice-panel,
html[data-skin="sunset"] .notice-toast {
  background: rgba(30, 18, 45, 0.88);
  border: 1px solid rgba(222, 184, 255, 0.22);
  backdrop-filter: blur(8px) saturate(1.2);
  -webkit-backdrop-filter: blur(8px) saturate(1.2);
}
html[data-skin="sunset"] .card:hover,
html[data-skin="sunset"] .stat-card:hover {
  border-color: rgba(255, 158, 94, 0.55);
  box-shadow: 0 8px 26px rgba(10, 4, 20, 0.5), 0 0 18px rgba(255, 158, 94, 0.14);
}
html[data-skin="sunset"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：落日橙主按钮 ---- */
html[data-skin="sunset"] .btn,
html[data-skin="sunset"] .batch-btn,
html[data-skin="sunset"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="sunset"] .btn-primary {
  background: linear-gradient(135deg, #ff9e5e, #ff7a5e);
  color: var(--on-accent);
  box-shadow: 0 4px 16px rgba(255, 158, 94, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}
html[data-skin="sunset"] .btn-primary:hover {
  background: linear-gradient(135deg, #ffc08a, #ff9070);
  color: var(--on-accent);
  box-shadow: 0 6px 22px rgba(255, 158, 94, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.22);
  transform: translateY(-1px);
}
html[data-skin="sunset"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #c9a9b8;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="sunset"] .btn-secondary {
  background: rgba(30, 18, 45, 0.88);
  color: var(--text-secondary);
  border: 1px solid rgba(222, 184, 255, 0.35);
}
html[data-skin="sunset"] .btn-secondary:hover {
  background: rgba(42, 26, 62, 0.92);
  color: #ff9e5e;
  border-color: rgba(255, 158, 94, 0.55);
}
html[data-skin="sunset"] .btn-danger {
  background: rgba(255, 133, 133, 0.13);
  color: #ff9d9d;
  border: 1px solid rgba(255, 133, 133, 0.35);
}
html[data-skin="sunset"] .btn-danger:hover {
  background: rgba(255, 133, 133, 0.2);
  box-shadow: 0 0 14px rgba(255, 133, 133, 0.28);
}
html[data-skin="sunset"] .btn:disabled {
  color: #c9a9b8;
}

/* ---- 9. 输入族：深紫半透明底聚焦落日橙描边 ---- */
html[data-skin="sunset"] input[type="text"],
html[data-skin="sunset"] input[type="password"],
html[data-skin="sunset"] input[type="number"],
html[data-skin="sunset"] input[type="date"],
html[data-skin="sunset"] input[type="time"],
html[data-skin="sunset"] textarea,
html[data-skin="sunset"] select,
html[data-skin="sunset"] .auth-input,
html[data-skin="sunset"] .admin-table input,
html[data-skin="sunset"] #reservationGame,
html[data-skin="sunset"] #modalGameName {
  background: rgba(22, 13, 36, 0.78);
  border: 1px solid rgba(222, 184, 255, 0.26);
  color: var(--text);
}
html[data-skin="sunset"] input[type="text"]:focus,
html[data-skin="sunset"] input[type="password"]:focus,
html[data-skin="sunset"] input[type="number"]:focus,
html[data-skin="sunset"] textarea:focus,
html[data-skin="sunset"] select:focus,
html[data-skin="sunset"] .auth-input:focus,
html[data-skin="sunset"] .admin-table input:focus,
html[data-skin="sunset"] #reservationGame:focus,
html[data-skin="sunset"] #modalGameName:focus {
  outline: none;
  border-color: #ff9e5e;
  box-shadow: 0 0 0 3px rgba(255, 158, 94, 0.16), 0 0 14px rgba(255, 158, 94, 0.2);
}
html[data-skin="sunset"] select option,
html[data-skin="sunset"] #reservationGame option,
html[data-skin="sunset"] #modalGameName option {
  background: #241536;
  color: var(--text);
}
html[data-skin="sunset"] input[type="checkbox"] {
  accent-color: #ff9e5e;
}

/* ---- 10. 表格：不透明深紫表头 / 晚霞斑马纹 / 橙热行悬停 ---- */
html[data-skin="sunset"] .admin-table th,
html[data-skin="sunset"] .admin-table td,
html[data-skin="sunset"] .log-table th,
html[data-skin="sunset"] .log-table td {
  border-bottom: 1px solid rgba(222, 184, 255, 0.14);
}
html[data-skin="sunset"] .admin-table th,
html[data-skin="sunset"] .log-table th {
  background: #241536;
  border-bottom: 1px solid rgba(222, 184, 255, 0.28);
}
html[data-skin="sunset"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="sunset"] .log-table tbody tr:nth-child(even) td {
  background: rgba(255, 235, 220, 0.06);
}
html[data-skin="sunset"] .admin-table tr:hover td,
html[data-skin="sunset"] .log-table tr:hover td {
  background: rgba(255, 158, 94, 0.10);
}
html[data-skin="sunset"] #batchAccountTable tbody tr:hover {
  background: rgba(255, 158, 94, 0.08);
}
html[data-skin="sunset"] .batch-table-wrap {
  border-color: rgba(222, 184, 255, 0.16);
}

/* ---- 11. 管理 tab：激活落日橙胶囊 ---- */
html[data-skin="sunset"] .admin-tab {
  background: rgba(22, 13, 36, 0.75);
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="sunset"] .admin-tab:hover {
  color: #f5e9e0;
  border-color: rgba(222, 184, 255, 0.35);
}
html[data-skin="sunset"] .admin-tab.active {
  background: linear-gradient(135deg, #ff9e5e, #ff7a5e);
  color: var(--on-accent);
  border-color: rgba(255, 158, 94, 0.6);
  box-shadow: 0 0 14px rgba(255, 158, 94, 0.35);
}

/* ---- 12. 日志区：暮色观察窗 ---- */
html[data-skin="sunset"] .log-box {
  background: rgba(18, 10, 30, 0.85);
  border: 1px solid rgba(222, 184, 255, 0.16);
}

/* ---- 13. 登录面板：黄昏浮卡 + 橙色登录键 ---- */
html[data-skin="sunset"] .auth-panel {
  background: rgba(30, 18, 45, 0.88);
  border: 1px solid rgba(222, 184, 255, 0.24);
  border-radius: var(--radius);
  padding: 28px 24px;
  backdrop-filter: blur(10px) saturate(1.2);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);
  box-shadow: var(--shadow-2), 0 0 30px rgba(255, 158, 94, 0.12);
}
html[data-skin="sunset"] .auth-btn {
  background: linear-gradient(135deg, #ff9e5e, #ff7a5e);
  color: var(--on-accent);
  box-shadow: 0 4px 16px rgba(255, 158, 94, 0.4);
}
html[data-skin="sunset"] .auth-btn:hover {
  background: linear-gradient(135deg, #ffc08a, #ff9070);
  box-shadow: 0 6px 22px rgba(255, 158, 94, 0.55);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="sunset"] .notice-panel {
  box-shadow: 0 8px 40px rgba(10, 4, 20, 0.6), 0 0 18px rgba(255, 158, 94, 0.10);
}
html[data-skin="sunset"] .notice-dot {
  border-color: rgba(30, 18, 45, 0.95);
}
html[data-skin="sunset"] .notice-toast {
  border-color: rgba(255, 158, 94, 0.55);
  border-left: 4px solid #ff9e5e;
  box-shadow: 0 8px 30px rgba(10, 4, 20, 0.6), 0 0 18px rgba(255, 158, 94, 0.14);
}
html[data-skin="sunset"] .notice-toast .t-head {
  background: rgba(255, 158, 94, 0.14);
  color: #ff9e5e;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="sunset"] .pagination-bar button {
  background: rgba(30, 18, 45, 0.88);
  border: 1px solid rgba(222, 184, 255, 0.26);
  color: var(--text);
}
html[data-skin="sunset"] .pagination-bar button:hover {
  border-color: #ff9e5e;
  color: #ff9e5e;
  box-shadow: 0 0 10px rgba(255, 158, 94, 0.25);
}
html[data-skin="sunset"] .points-badge {
  background: #ffc46b;
  color: #33200a;
}
html[data-skin="sunset"] .batch-result-item.ok {
  border-color: rgba(143, 223, 164, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深紫半透明，补暮色投影；内联白底二维码盒压成暖纸白 ---- */
html[data-skin="sunset"] [style*="background:var(--card)"] {
  backdrop-filter: blur(10px) saturate(1.2);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);
  box-shadow: 0 8px 40px rgba(10, 4, 20, 0.6), 0 0 24px rgba(255, 158, 94, 0.10) !important;
}
html[data-skin="sunset"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #ffd9a0, #ff9e5e, #ff7a6b) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="sunset"] #lxjQrBox,
html[data-skin="sunset"] #batchScanQr {
  background: #faf0e4 !important;
  border: 1px solid rgba(255, 158, 94, 0.45);
}
html[data-skin="sunset"] img[style*="background:#fff"] {
  background: #faf0e4 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="sunset"] * {
    transition: none !important;
  }
  html[data-skin="sunset"] body {
    animation: none;
  }
}
/* ===== 合成波84 (synthwave) ===== */
/*SKIN {"id":"synthwave","name":"合成波84","colors":["#241b2f", "#ff6ec7", "#f8f8f2"]}*/
/* 合成波84：霓虹粉紫夜城 + 霓虹青渐变标题 + 微发光描边 + 淡扫描线 */

/* ---------- 变量重定义 ---------- */
html[data-skin="synthwave"] {
  --bg: #241b2f;
  --surface: #2d2338;
  --card: #2d2338;
  --border: #443354;
  --border-light: #5a4470;
  --text: #f8f8f2;
  --text-secondary: #cdbfe0;
  --text-muted: #937fae;
  --accent: #ff6ec7;
  --accent-hover: #ff92d6;
  --accent-subtle: rgba(255,110,199,0.14);
  --success: #3dffc8;
  --success-subtle: rgba(61,255,200,0.1);
  --error: #ff4d6d;
  --error-subtle: rgba(255,77,109,0.12);
  --warning: #ffd23e;
  --warning-subtle: rgba(255,210,62,0.1);
  --info: #00e5ff;
  --radius: 4px;
  --radius-sm: 2px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.5);
  --shadow-2: 0 2px 12px rgba(10,4,20,0.6);
  --shadow-3: 0 8px 32px rgba(10,4,20,0.75);
  --row-alt: #322741;
  --log-bg: #1e1630;
  --btn-disabled-bg: #3a2c4c;
  color-scheme: dark;
}

/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="synthwave"][data-theme="dark"] {
  --bg: #241b2f;
  --surface: #2d2338;
  --card: #2d2338;
  --border: #443354;
  --border-light: #5a4470;
  --text: #f8f8f2;
  --text-secondary: #cdbfe0;
  --text-muted: #937fae;
  --accent: #ff6ec7;
  --accent-hover: #ff92d6;
  --accent-subtle: rgba(255,110,199,0.14);
  --success: #3dffc8;
  --success-subtle: rgba(61,255,200,0.1);
  --error: #ff4d6d;
  --error-subtle: rgba(255,77,109,0.12);
  --warning: #ffd23e;
  --warning-subtle: rgba(255,210,62,0.1);
  --info: #00e5ff;
  --radius: 4px;
  --radius-sm: 2px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.5);
  --shadow-2: 0 2px 12px rgba(10,4,20,0.6);
  --shadow-3: 0 8px 32px rgba(10,4,20,0.75);
  --row-alt: #322741;
  --log-bg: #1e1630;
  --btn-disabled-bg: #3a2c4c;
  color-scheme: dark;
}

/* ---------- 页面底 + 扫描线（静态低透明度，不影响阅读） ---------- */
html[data-skin="synthwave"] body {
  background: #241b2f;
  color: #f8f8f2;
  min-height: 100vh;
}
html[data-skin="synthwave"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.04) 0px,
    rgba(255,255,255,0.04) 1px,
    transparent 1px,
    transparent 3px
  );
}

/* ---------- 卡片 / 面板 ---------- */
html[data-skin="synthwave"] .card,
html[data-skin="synthwave"] .stat-card,
html[data-skin="synthwave"] .acc-card,
html[data-skin="synthwave"] .auth-panel,
html[data-skin="synthwave"] .admin-panel,
html[data-skin="synthwave"] .config-panel,
html[data-skin="synthwave"] .notice-panel,
html[data-skin="synthwave"] .batch-result-item {
  background: #2d2338;
  border: 1px solid #443354;
  box-shadow: 0 2px 12px rgba(10,4,20,0.6);
}
html[data-skin="synthwave"] .card:hover,
html[data-skin="synthwave"] .stat-card:hover {
  border-color: #ff6ec7;
  box-shadow: 0 0 0 1px #ff6ec7, 0 8px 32px rgba(10,4,20,0.75);
}
html[data-skin="synthwave"] .card-title {
  color: #ff6ec7;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
html[data-skin="synthwave"] .header {
  background: #241b2f;
  border-bottom: 1px solid #443354;
}
html[data-skin="synthwave"] .header h1 {
  background: linear-gradient(90deg, #ff6ec7, #00e5ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
  letter-spacing: 0.04em;
  filter: drop-shadow(0 0 8px rgba(255,110,199,0.35));
}


/* ---------- 按钮全系 ---------- */
html[data-skin="synthwave"] .btn {
  border-radius: 4px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
html[data-skin="synthwave"] .btn-primary,
html[data-skin="synthwave"] .auth-btn,
html[data-skin="synthwave"] .admin-tab.active {
  background: #ff6ec7;
  color: #241b2f;
  border: 1px solid #ff6ec7;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(255,110,199,0.35);
}
html[data-skin="synthwave"] .btn-primary:hover,
html[data-skin="synthwave"] .auth-btn:hover {
  background: #ff92d6;
  border-color: #ff92d6;
  box-shadow: 0 0 18px rgba(255,110,199,0.5);
}
html[data-skin="synthwave"] .btn-primary:disabled,
html[data-skin="synthwave"] .pagination-bar button:disabled {
  background: #3a2c4c;
  color: #937fae;
  border-color: #443354;
  box-shadow: none;
}
html[data-skin="synthwave"] .btn-secondary,
html[data-skin="synthwave"] .batch-btn,
html[data-skin="synthwave"] .pagination-bar button,
html[data-skin="synthwave"] .notice-panel-head .n-clear {
  background: #2d2338;
  color: #f8f8f2;
  border: 1px solid #5a4470;
  border-radius: 4px;
}
html[data-skin="synthwave"] .btn-secondary:hover,
html[data-skin="synthwave"] .batch-btn:hover,
html[data-skin="synthwave"] .pagination-bar button:hover {
  background: #2d2338;
  color: #ff6ec7;
  border-color: #ff6ec7;
}
html[data-skin="synthwave"] .btn-danger {
  background: rgba(255,77,109,0.16);
  color: #ff4d6d;
  border: 1px solid #ff4d6d;
  border-radius: 4px;
}
html[data-skin="synthwave"] .btn-danger:hover {
  background: rgba(255,77,109,0.3);
}

/* ---------- 输入控件：深底 + 强调描边聚焦 ---------- */
html[data-skin="synthwave"] input[type="text"],
html[data-skin="synthwave"] input[type="password"],
html[data-skin="synthwave"] input[type="number"],
html[data-skin="synthwave"] textarea,
html[data-skin="synthwave"] select,
html[data-skin="synthwave"] .auth-input,
html[data-skin="synthwave"] .admin-table input,
html[data-skin="synthwave"] .config-row input {
  background: #1e1630;
  border: 1px solid #443354;
  color: #f8f8f2;
  border-radius: 4px;
}
html[data-skin="synthwave"] input[type="text"]:focus,
html[data-skin="synthwave"] input[type="password"]:focus,
html[data-skin="synthwave"] input[type="number"]:focus,
html[data-skin="synthwave"] textarea:focus,
html[data-skin="synthwave"] select:focus,
html[data-skin="synthwave"] .auth-input:focus,
html[data-skin="synthwave"] #reservationGame:focus,
html[data-skin="synthwave"] #modalGameName:focus {
  outline: none;
  border-color: #ff6ec7;
  box-shadow: 0 0 0 1px #ff6ec7, 0 0 8px rgba(255,110,199,0.25);
}
html[data-skin="synthwave"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #1e1630 inset;
  -webkit-text-fill-color: #f8f8f2;
  caret-color: #ff6ec7;
}
html[data-skin="synthwave"] input[type="checkbox"],
html[data-skin="synthwave"] .acc-card-top .acc-check input {
  accent-color: #ff6ec7;
}
html[data-skin="synthwave"] ::placeholder {
  color: #937fae;
}

/* ---------- 双表格 ---------- */
html[data-skin="synthwave"] .admin-table th,
html[data-skin="synthwave"] .log-table th {
  color: #ff6ec7;
  background: #1e1630;
  border-bottom: 1px solid #443354;
}
html[data-skin="synthwave"] .admin-table td,
html[data-skin="synthwave"] .log-table td {
  border-bottom: 1px solid #372a46;
}
html[data-skin="synthwave"] .admin-table tr:hover td,
html[data-skin="synthwave"] .log-table tr:hover td,
html[data-skin="synthwave"] #batchAccountTable tbody tr:hover {
  background: rgba(255,110,199,0.07);
}
html[data-skin="synthwave"] .log-table tbody tr:nth-child(even) td {
  background: #322741;
}

/* ---------- 日志区 ---------- */
html[data-skin="synthwave"] .log-box {
  background: #1e1630;
  border: 1px solid #443354;
}
html[data-skin="synthwave"] .log-detail-pre {
  background: #322741;
  color: #f8f8f2;
  border: 1px solid #372a46;
}
html[data-skin="synthwave"] .log-line.success { color: #3dffc8; }
html[data-skin="synthwave"] .log-line.fail { color: #ff4d6d; }
html[data-skin="synthwave"] .log-line.info { color: #00e5ff; }
html[data-skin="synthwave"] .log-line.skip { color: #ffd23e; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="synthwave"] .badge-info { background: rgba(0,229,255,0.12); color: #00e5ff; }
html[data-skin="synthwave"] .badge-success { background: rgba(61,255,200,0.1); color: #3dffc8; }
html[data-skin="synthwave"] .badge-error { background: rgba(255,77,109,0.12); color: #ff4d6d; }
html[data-skin="synthwave"] .badge-warning { background: rgba(255,210,62,0.1); color: #ffd23e; }
html[data-skin="synthwave"] .stat-num.blue { color: #00e5ff; }
html[data-skin="synthwave"] .stat-num.green { color: #3dffc8; }
html[data-skin="synthwave"] .stat-num.red { color: #ff4d6d; }
html[data-skin="synthwave"] .stat-num.yellow { color: #ffd23e; }
html[data-skin="synthwave"] .debt-warning {
  background: rgba(255,77,109,0.12);
  border: 1px solid #ff4d6d;
  color: #ff4d6d;
  border-radius: 4px;
}
html[data-skin="synthwave"] .autocomplete-dropdown {
  background: #2d2338;
  border: 1px solid #443354;
  border-radius: 4px;
}
html[data-skin="synthwave"] .autocomplete-item.active,
html[data-skin="synthwave"] .autocomplete-item:hover {
  background: rgba(255,110,199,0.14);
  color: #ff6ec7;
}
html[data-skin="synthwave"] .admin-tab {
  background: #2d2338;
  color: #cdbfe0;
  border: 1px solid #443354;
  border-radius: 4px;
}
html[data-skin="synthwave"] .admin-tab:hover {
  border-color: #ff6ec7;
  color: #ff6ec7;
}
html[data-skin="synthwave"] .notice-toast {
  background: #2d2338;
  border: 1px solid #ff6ec7;
  border-left: 4px solid #ff6ec7;
  border-radius: 4px;
}
html[data-skin="synthwave"] .notice-item:hover {
  background: rgba(255,110,199,0.07);
}
html[data-skin="synthwave"] .notice-bell,
html[data-skin="synthwave"] .n-dot {
  color: #ff6ec7;
}

/* ---------- 弹窗遮罩 / 二维码盒淡纸白（保扫码对比度） ---------- */
html[data-skin="synthwave"] #logDetailModal,
html[data-skin="synthwave"] #pointsRecordsModal,
html[data-skin="synthwave"] #batchScanModal {
  background: rgba(16,6,28,0.8) !important;
}
html[data-skin="synthwave"] #lxjQrBox,
html[data-skin="synthwave"] #batchScanQr,
html[data-skin="synthwave"] #lxjQrImg,
html[data-skin="synthwave"] #batchScanQrImg {
  background: #f6edfb !important;
  border: 1px solid rgba(255,110,199,0.45);
}
html[data-skin="synthwave"] img[style*="background:#fff"] {
  background: #f6edfb !important;
}

/* ---------- 滚动条 / 选区 / 过渡 ---------- */
html[data-skin="synthwave"] ::-webkit-scrollbar-thumb {
  background: #443354;
  border-radius: 4px;
}
html[data-skin="synthwave"] ::-webkit-scrollbar-thumb:hover {
  background: #ff6ec7;
}
html[data-skin="synthwave"] ::selection {
  background: #ff6ec7;
  color: #241b2f;
}
html[data-skin="synthwave"] .btn,
html[data-skin="synthwave"] .card,
html[data-skin="synthwave"] .stat-card,
html[data-skin="synthwave"] .acc-card,
html[data-skin="synthwave"] .admin-tab,
html[data-skin="synthwave"] .pagination-bar button,
html[data-skin="synthwave"] input,
html[data-skin="synthwave"] select,
html[data-skin="synthwave"] textarea {
  transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s;
}

/* ---------- 动效保护：系统减弱动效时关闭过渡与动画 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="synthwave"] * {
    transition: none !important;
  }
  html[data-skin="synthwave"] body {
    animation: none;
  }
}
/* ===== 东京之夜 (tokyo-night) ===== */
/*SKIN {"id":"tokyo-night","name":"东京之夜","colors":["#1a1b26","#7aa2f7","#c0caf5"]}*/
/* ============================================================
   东京之夜 · Tokyo Night — 霓虹夜色暗色皮肤
   底 #1a1b26 / 卡 #24283b / 文 #c0caf5
   霓虹蓝 #7aa2f7 × 霓虹青 #73daca 点缀，霓虹紫蓝夜
   全部规则 scope 于 html[data-skin="tokyo-night"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="tokyo-night"] {
  --bg: #1a1b26;
  --surface: #24283b;
  --card: #24283b;
  --border: #414868;
  --border-light: #565f89;
  --text: #c0caf5;
  --text-secondary: #a9b1d6;
  --text-muted: #565f89;
  --accent: #7aa2f7;
  --accent-hover: #9db9ff;
  --accent-subtle: rgba(122, 162, 247, 0.10);
  --success: #9ece6a;
  --success-subtle: rgba(158, 206, 106, 0.12);
  --error: #f7768e;
  --error-subtle: rgba(247, 118, 142, 0.12);
  --warning: #e0af68;
  --warning-subtle: rgba(224, 175, 104, 0.12);
  --info: #7dcfff;
  --row-alt: #20253a;
  --log-bg: #16161e;
  --btn-disabled-bg: #2f3552;
  --shadow-1: 0 1px 3px rgba(8, 9, 16, 0.55);
  --shadow-2: 0 2px 10px rgba(8, 9, 16, 0.55);
  --shadow-3: 0 10px 36px rgba(8, 9, 16, 0.65);
  --on-accent: #16161e;
  background: #1a1b26;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="tokyo-night"][data-theme="dark"] {
  --bg: #1a1b26;
  --surface: #24283b;
  --card: #24283b;
  --border: #414868;
  --border-light: #565f89;
  --text: #c0caf5;
  --text-secondary: #a9b1d6;
  --text-muted: #565f89;
  --accent: #7aa2f7;
  --accent-hover: #9db9ff;
  --accent-subtle: rgba(122, 162, 247, 0.10);
  --success: #9ece6a;
  --success-subtle: rgba(158, 206, 106, 0.12);
  --error: #f7768e;
  --error-subtle: rgba(247, 118, 142, 0.12);
  --warning: #e0af68;
  --warning-subtle: rgba(224, 175, 104, 0.12);
  --info: #7dcfff;
  --row-alt: #20253a;
  --log-bg: #16161e;
  --btn-disabled-bg: #2f3552;
  --shadow-1: 0 1px 3px rgba(8, 9, 16, 0.55);
  --shadow-2: 0 2px 10px rgba(8, 9, 16, 0.55);
  --shadow-3: 0 10px 36px rgba(8, 9, 16, 0.65);
  --on-accent: #16161e;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="tokyo-night"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：都市夜光 radial，霓虹招牌的辉光 ---- */
html[data-skin="tokyo-night"] body {
  background:
    radial-gradient(1200px 700px at 50% -18%, rgba(122, 162, 247, 0.11), transparent 62%),
    radial-gradient(900px 540px at 12% 20%, rgba(187, 154, 247, 0.06), transparent 60%),
    radial-gradient(1000px 640px at 90% 78%, rgba(115, 218, 202, 0.05), transparent 62%),
    radial-gradient(1100px 620px at 50% 118%, rgba(65, 72, 104, 0.4), transparent 65%),
    #1a1b26;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="tokyo-night"] ::selection {
  background: rgba(122, 162, 247, 0.30);
  color: #e9edff;
}
html[data-skin="tokyo-night"] ::-webkit-scrollbar-thumb {
  background: #414868;
  border-radius: 8px;
}
html[data-skin="tokyo-night"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(122, 162, 247, 0.5);
}
html[data-skin="tokyo-night"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="tokyo-night"] img {
  filter: brightness(0.95) saturate(1.1);
}

/* ---- 6. 头部：霓虹蓝→紫→青渐变字 ---- */
html[data-skin="tokyo-night"] .header {
  border-color: #414868;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(122, 162, 247, 0.14);
}
html[data-skin="tokyo-night"] .header h1 {
  background: linear-gradient(90deg, #7aa2f7, #bb9af7, #73daca);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(122, 162, 247, 0.3));
}
html[data-skin="tokyo-night"] .card-title {
  color: #9db9ff;
}

/* ---- 7. 卡片族：夜空蓝黑卡 + hover 边框泛霓虹光 ---- */
html[data-skin="tokyo-night"] .card,
html[data-skin="tokyo-night"] .stat-card,
html[data-skin="tokyo-night"] .admin-panel,
html[data-skin="tokyo-night"] .acc-card,
html[data-skin="tokyo-night"] .batch-group,
html[data-skin="tokyo-night"] .batch-result-item,
html[data-skin="tokyo-night"] .notice-panel,
html[data-skin="tokyo-night"] .notice-toast {
  background: #24283b;
  border: 1px solid #414868;
}
html[data-skin="tokyo-night"] .card:hover,
html[data-skin="tokyo-night"] .stat-card:hover {
  border-color: rgba(122, 162, 247, 0.5);
  box-shadow: 0 0 18px rgba(122, 162, 247, 0.14), var(--shadow-2);
}
html[data-skin="tokyo-night"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：霓虹蓝发光按钮 ---- */
html[data-skin="tokyo-night"] .btn,
html[data-skin="tokyo-night"] .batch-btn,
html[data-skin="tokyo-night"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="tokyo-night"] .btn-primary {
  background: linear-gradient(135deg, #7aa2f7, #537de0);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(122, 162, 247, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
html[data-skin="tokyo-night"] .btn-primary:hover {
  background: linear-gradient(135deg, #9db9ff, #6d95ee);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(122, 162, 247, 0.44999999999999996), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="tokyo-night"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #565f89;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="tokyo-night"] .btn-secondary {
  background: #24283b;
  color: var(--text-secondary);
  border: 1px solid #565f89;
}
html[data-skin="tokyo-night"] .btn-secondary:hover {
  background: #292e42;
  color: #7aa2f7;
  border-color: rgba(122, 162, 247, 0.5);
  box-shadow: 0 0 12px rgba(122, 162, 247, 0.2);
}
html[data-skin="tokyo-night"] .btn-danger {
  background: rgba(247, 118, 142, 0.12);
  color: #ff9dad;
  border: 1px solid rgba(247, 118, 142, 0.35);
}
html[data-skin="tokyo-night"] .btn-danger:hover {
  background: rgba(247, 118, 142, 0.2);
  box-shadow: 0 0 14px rgba(247, 118, 142, 0.3);
}
html[data-skin="tokyo-night"] .btn:disabled {
  color: #565f89;
}

/* ---- 9. 输入族：深夜底聚焦霓虹描边 ---- */
html[data-skin="tokyo-night"] input[type="text"],
html[data-skin="tokyo-night"] input[type="password"],
html[data-skin="tokyo-night"] input[type="number"],
html[data-skin="tokyo-night"] input[type="date"],
html[data-skin="tokyo-night"] input[type="time"],
html[data-skin="tokyo-night"] textarea,
html[data-skin="tokyo-night"] select,
html[data-skin="tokyo-night"] .auth-input,
html[data-skin="tokyo-night"] .admin-table input,
html[data-skin="tokyo-night"] #reservationGame,
html[data-skin="tokyo-night"] #modalGameName {
  background: #1f2335;
  border: 1px solid #414868;
  color: var(--text);
}
html[data-skin="tokyo-night"] input[type="text"]:focus,
html[data-skin="tokyo-night"] input[type="password"]:focus,
html[data-skin="tokyo-night"] input[type="number"]:focus,
html[data-skin="tokyo-night"] textarea:focus,
html[data-skin="tokyo-night"] select:focus,
html[data-skin="tokyo-night"] .auth-input:focus,
html[data-skin="tokyo-night"] .admin-table input:focus,
html[data-skin="tokyo-night"] #reservationGame:focus,
html[data-skin="tokyo-night"] #modalGameName:focus {
  outline: none;
  border-color: #7aa2f7;
  box-shadow: 0 0 0 3px rgba(122, 162, 247, 0.14), 0 0 14px rgba(122, 162, 247, 0.18);
}
html[data-skin="tokyo-night"] select option,
html[data-skin="tokyo-night"] #reservationGame option,
html[data-skin="tokyo-night"] #modalGameName option {
  background: #16161e;
  color: var(--text);
}
html[data-skin="tokyo-night"] input[type="checkbox"] {
  accent-color: #7aa2f7;
}

/* ---- 10. 表格：暗表头 / 夜色斑马纹 / 霓虹行悬停 ---- */
html[data-skin="tokyo-night"] .admin-table th,
html[data-skin="tokyo-night"] .admin-table td,
html[data-skin="tokyo-night"] .log-table th,
html[data-skin="tokyo-night"] .log-table td {
  border-bottom: 1px solid #333a5c;
}
html[data-skin="tokyo-night"] .admin-table th,
html[data-skin="tokyo-night"] .log-table th {
  background: #1a1b26;
  border-bottom: 1px solid #414868;
}
html[data-skin="tokyo-night"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="tokyo-night"] .log-table tbody tr:nth-child(even) td {
  background: #20253a;
}
html[data-skin="tokyo-night"] .admin-table tr:hover td,
html[data-skin="tokyo-night"] .log-table tr:hover td {
  background: rgba(122, 162, 247, 0.07);
}
html[data-skin="tokyo-night"] #batchAccountTable tbody tr:hover {
  background: rgba(122, 162, 247, 0.05);
}
html[data-skin="tokyo-night"] .batch-table-wrap {
  border-color: #333a5c;
}

/* ---- 11. 管理 tab：激活霓虹胶囊 ---- */
html[data-skin="tokyo-night"] .admin-tab {
  background: #1f2335;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="tokyo-night"] .admin-tab:hover {
  color: #c0caf5;
  border-color: #565f89;
}
html[data-skin="tokyo-night"] .admin-tab.active {
  background: linear-gradient(135deg, #7aa2f7, #bb9af7);
  color: var(--on-accent);
  border-color: rgba(122, 162, 247, 0.6);
  box-shadow: 0 0 14px rgba(122, 162, 247, 0.3);
}

/* ---- 12. 日志区：夜行观察窗 ---- */
html[data-skin="tokyo-night"] .log-box {
  background: #16161e;
  border: 1px solid #333a5c;
  box-shadow: inset 0 0 24px rgba(122, 162, 247, 0.04);
}

/* ---- 13. 登录面板：夜色浮岛卡 + 霓虹登录键 ---- */
html[data-skin="tokyo-night"] .auth-panel {
  background: #24283b;
  border: 1px solid #414868;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(122, 162, 247, 0.08);
}
html[data-skin="tokyo-night"] .auth-btn {
  background: linear-gradient(135deg, #7aa2f7, #537de0);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(122, 162, 247, 0.3);
}
html[data-skin="tokyo-night"] .auth-btn:hover {
  background: linear-gradient(135deg, #9db9ff, #6d95ee);
  box-shadow: 0 0 26px rgba(122, 162, 247, 0.44999999999999996);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="tokyo-night"] .notice-panel {
  box-shadow: 0 8px 40px rgba(8, 9, 16, 0.65), 0 0 18px rgba(122, 162, 247, 0.10);
}
html[data-skin="tokyo-night"] .notice-dot {
  border-color: #24283b;
}
html[data-skin="tokyo-night"] .notice-toast {
  border-color: rgba(122, 162, 247, 0.55);
  border-left: 4px solid #7aa2f7;
  box-shadow: 0 8px 30px rgba(8, 9, 16, 0.6), 0 0 18px rgba(122, 162, 247, 0.13);
}
html[data-skin="tokyo-night"] .notice-toast .t-head {
  background: rgba(122, 162, 247, 0.12);
  color: #7aa2f7;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="tokyo-night"] .pagination-bar button {
  background: #24283b;
  border: 1px solid #414868;
  color: var(--text);
}
html[data-skin="tokyo-night"] .pagination-bar button:hover {
  border-color: #7aa2f7;
  color: #7aa2f7;
  box-shadow: 0 0 10px rgba(122, 162, 247, 0.22);
}
html[data-skin="tokyo-night"] .points-badge {
  background: #e0af68;
  color: #382a0e;
}
html[data-skin="tokyo-night"] .batch-result-item.ok {
  border-color: rgba(158, 206, 106, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补投影；内联白底二维码盒压成淡纸白 ---- */
html[data-skin="tokyo-night"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(8, 9, 16, 0.65), 0 0 24px rgba(122, 162, 247, 0.08) !important;
}
html[data-skin="tokyo-night"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #7aa2f7, #bb9af7, #73daca) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="tokyo-night"] #lxjQrBox,
html[data-skin="tokyo-night"] #batchScanQr {
  background: #eef1fb !important;
  border: 1px solid rgba(122, 162, 247, 0.4);
}
html[data-skin="tokyo-night"] img[style*="background:#fff"] {
  background: #eef1fb !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="tokyo-night"] * {
    transition: none !important;
  }
  html[data-skin="tokyo-night"] body {
    animation: none;
  }
}
/* ===== 蒸汽波 (vaporwave) ===== */
/*SKIN {"id":"vaporwave","name":"蒸汽波","colors":["#1a1026", "#71d0fe", "#f5e9ff"]}*/
/* 蒸汽波：深紫夜底 + 粉青对撞渐变标题 + 棱角直角美学 + 双线卡面 */

/* ---------- 变量重定义 ---------- */
html[data-skin="vaporwave"] {
  --bg: #1a1026;
  --surface: #28183a;
  --card: #28183a;
  --border: #3d2b56;
  --border-light: #513a73;
  --text: #f5e9ff;
  --text-secondary: #d9c4ef;
  --text-muted: #a284c4;
  --accent: #71d0fe;
  --accent-hover: #9fe0ff;
  --accent-subtle: rgba(113,208,254,0.13);
  --success: #7af5c8;
  --success-subtle: rgba(122,245,200,0.1);
  --error: #ff6b9d;
  --error-subtle: rgba(255,107,157,0.12);
  --warning: #ffd97a;
  --warning-subtle: rgba(255,217,122,0.1);
  --info: #ff9ad5;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.5);
  --shadow-2: 0 2px 12px rgba(8,2,16,0.6);
  --shadow-3: 0 8px 32px rgba(8,2,16,0.78);
  --row-alt: #2f1d45;
  --log-bg: #221334;
  --btn-disabled-bg: #3b2a55;
  color-scheme: dark;
}

/* 暗色主题守卫：皮肤变量优先于 html[data-theme="dark"] 的变量组 */
html[data-skin="vaporwave"][data-theme="dark"] {
  --bg: #1a1026;
  --surface: #28183a;
  --card: #28183a;
  --border: #3d2b56;
  --border-light: #513a73;
  --text: #f5e9ff;
  --text-secondary: #d9c4ef;
  --text-muted: #a284c4;
  --accent: #71d0fe;
  --accent-hover: #9fe0ff;
  --accent-subtle: rgba(113,208,254,0.13);
  --success: #7af5c8;
  --success-subtle: rgba(122,245,200,0.1);
  --error: #ff6b9d;
  --error-subtle: rgba(255,107,157,0.12);
  --warning: #ffd97a;
  --warning-subtle: rgba(255,217,122,0.1);
  --info: #ff9ad5;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow-1: 0 1px 0 rgba(0,0,0,0.5);
  --shadow-2: 0 2px 12px rgba(8,2,16,0.6);
  --shadow-3: 0 8px 32px rgba(8,2,16,0.78);
  --row-alt: #2f1d45;
  --log-bg: #221334;
  --btn-disabled-bg: #3b2a55;
  color-scheme: dark;
}

/* ---------- 页面底 + 扫描线（静态低透明度，不影响阅读） ---------- */
html[data-skin="vaporwave"] body {
  background: #1a1026;
  color: #f5e9ff;
  min-height: 100vh;
}
html[data-skin="vaporwave"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.035) 0px,
    rgba(255,255,255,0.035) 1px,
    transparent 1px,
    transparent 3px
  );
}

/* ---------- 卡片 / 面板 ---------- */
html[data-skin="vaporwave"] .card,
html[data-skin="vaporwave"] .stat-card,
html[data-skin="vaporwave"] .acc-card,
html[data-skin="vaporwave"] .auth-panel,
html[data-skin="vaporwave"] .admin-panel,
html[data-skin="vaporwave"] .config-panel,
html[data-skin="vaporwave"] .notice-panel,
html[data-skin="vaporwave"] .batch-result-item {
  background: #28183a;
  border: 1px solid #3d2b56;
  box-shadow: 0 2px 12px rgba(8,2,16,0.6);
}
html[data-skin="vaporwave"] .card:hover,
html[data-skin="vaporwave"] .stat-card:hover {
  border-color: #71d0fe;
  box-shadow: 0 0 0 1px #71d0fe, 0 8px 32px rgba(8,2,16,0.78);
}
html[data-skin="vaporwave"] .card-title {
  color: #71d0fe;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
html[data-skin="vaporwave"] .header {
  background: #1a1026;
  border-bottom: 1px solid #3d2b56;
}
html[data-skin="vaporwave"] .header h1 {
  background: linear-gradient(90deg, #ff9ad5, #71d0fe);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
  letter-spacing: 0.04em;
  filter: drop-shadow(0 0 10px rgba(113,208,254,0.35));
}


/* ---------- 按钮全系 ---------- */
html[data-skin="vaporwave"] .btn {
  border-radius: 0px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
html[data-skin="vaporwave"] .btn-primary,
html[data-skin="vaporwave"] .auth-btn,
html[data-skin="vaporwave"] .admin-tab.active {
  background: #71d0fe;
  color: #1a1026;
  border: 1px solid #71d0fe;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(113,208,254,0.32);
}
html[data-skin="vaporwave"] .btn-primary:hover,
html[data-skin="vaporwave"] .auth-btn:hover {
  background: #9fe0ff;
  border-color: #9fe0ff;
  box-shadow: 0 0 18px rgba(113,208,254,0.45);
}
html[data-skin="vaporwave"] .btn-primary:disabled,
html[data-skin="vaporwave"] .pagination-bar button:disabled {
  background: #3b2a55;
  color: #a284c4;
  border-color: #3d2b56;
  box-shadow: none;
}
html[data-skin="vaporwave"] .btn-secondary,
html[data-skin="vaporwave"] .batch-btn,
html[data-skin="vaporwave"] .pagination-bar button,
html[data-skin="vaporwave"] .notice-panel-head .n-clear {
  background: #28183a;
  color: #f5e9ff;
  border: 1px solid #513a73;
  border-radius: 0px;
}
html[data-skin="vaporwave"] .btn-secondary:hover,
html[data-skin="vaporwave"] .batch-btn:hover,
html[data-skin="vaporwave"] .pagination-bar button:hover {
  background: #28183a;
  color: #71d0fe;
  border-color: #71d0fe;
}
html[data-skin="vaporwave"] .btn-danger {
  background: rgba(255,107,157,0.15);
  color: #ff6b9d;
  border: 1px solid #ff6b9d;
  border-radius: 0px;
}
html[data-skin="vaporwave"] .btn-danger:hover {
  background: rgba(255,107,157,0.28);
}

/* ---------- 输入控件：深底 + 强调描边聚焦 ---------- */
html[data-skin="vaporwave"] input[type="text"],
html[data-skin="vaporwave"] input[type="password"],
html[data-skin="vaporwave"] input[type="number"],
html[data-skin="vaporwave"] textarea,
html[data-skin="vaporwave"] select,
html[data-skin="vaporwave"] .auth-input,
html[data-skin="vaporwave"] .admin-table input,
html[data-skin="vaporwave"] .config-row input {
  background: #221334;
  border: 1px solid #3d2b56;
  color: #f5e9ff;
  border-radius: 0px;
}
html[data-skin="vaporwave"] input[type="text"]:focus,
html[data-skin="vaporwave"] input[type="password"]:focus,
html[data-skin="vaporwave"] input[type="number"]:focus,
html[data-skin="vaporwave"] textarea:focus,
html[data-skin="vaporwave"] select:focus,
html[data-skin="vaporwave"] .auth-input:focus,
html[data-skin="vaporwave"] #reservationGame:focus,
html[data-skin="vaporwave"] #modalGameName:focus {
  outline: none;
  border-color: #71d0fe;
  box-shadow: 0 0 0 1px #71d0fe, 0 0 8px rgba(113,208,254,0.22);
}
html[data-skin="vaporwave"] input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #221334 inset;
  -webkit-text-fill-color: #f5e9ff;
  caret-color: #71d0fe;
}
html[data-skin="vaporwave"] input[type="checkbox"],
html[data-skin="vaporwave"] .acc-card-top .acc-check input {
  accent-color: #71d0fe;
}
html[data-skin="vaporwave"] ::placeholder {
  color: #a284c4;
}

/* ---------- 双表格 ---------- */
html[data-skin="vaporwave"] .admin-table th,
html[data-skin="vaporwave"] .log-table th {
  color: #71d0fe;
  background: #221334;
  border-bottom: 1px solid #3d2b56;
}
html[data-skin="vaporwave"] .admin-table td,
html[data-skin="vaporwave"] .log-table td {
  border-bottom: 1px solid #332349;
}
html[data-skin="vaporwave"] .admin-table tr:hover td,
html[data-skin="vaporwave"] .log-table tr:hover td,
html[data-skin="vaporwave"] #batchAccountTable tbody tr:hover {
  background: rgba(113,208,254,0.07);
}
html[data-skin="vaporwave"] .log-table tbody tr:nth-child(even) td {
  background: #2f1d45;
}

/* ---------- 日志区 ---------- */
html[data-skin="vaporwave"] .log-box {
  background: #221334;
  border: 1px solid #3d2b56;
}
html[data-skin="vaporwave"] .log-detail-pre {
  background: #2f1d45;
  color: #f5e9ff;
  border: 1px solid #332349;
}
html[data-skin="vaporwave"] .log-line.success { color: #7af5c8; }
html[data-skin="vaporwave"] .log-line.fail { color: #ff6b9d; }
html[data-skin="vaporwave"] .log-line.info { color: #ff9ad5; }
html[data-skin="vaporwave"] .log-line.skip { color: #ffd97a; }

/* ---------- 徽标 / 状态 / 提示 ---------- */
html[data-skin="vaporwave"] .badge-info { background: rgba(255,154,213,0.13); color: #ff9ad5; }
html[data-skin="vaporwave"] .badge-success { background: rgba(122,245,200,0.1); color: #7af5c8; }
html[data-skin="vaporwave"] .badge-error { background: rgba(255,107,157,0.12); color: #ff6b9d; }
html[data-skin="vaporwave"] .badge-warning { background: rgba(255,217,122,0.1); color: #ffd97a; }
html[data-skin="vaporwave"] .stat-num.blue { color: #ff9ad5; }
html[data-skin="vaporwave"] .stat-num.green { color: #7af5c8; }
html[data-skin="vaporwave"] .stat-num.red { color: #ff6b9d; }
html[data-skin="vaporwave"] .stat-num.yellow { color: #ffd97a; }
html[data-skin="vaporwave"] .debt-warning {
  background: rgba(255,107,157,0.12);
  border: 1px solid #ff6b9d;
  color: #ff6b9d;
  border-radius: 0px;
}
html[data-skin="vaporwave"] .autocomplete-dropdown {
  background: #28183a;
  border: 1px solid #3d2b56;
  border-radius: 0px;
}
html[data-skin="vaporwave"] .autocomplete-item.active,
html[data-skin="vaporwave"] .autocomplete-item:hover {
  background: rgba(113,208,254,0.13);
  color: #71d0fe;
}
html[data-skin="vaporwave"] .admin-tab {
  background: #28183a;
  color: #d9c4ef;
  border: 1px solid #3d2b56;
  border-radius: 0px;
}
html[data-skin="vaporwave"] .admin-tab:hover {
  border-color: #71d0fe;
  color: #71d0fe;
}
html[data-skin="vaporwave"] .notice-toast {
  background: #28183a;
  border: 1px solid #71d0fe;
  border-left: 4px solid #71d0fe;
  border-radius: 0px;
}
html[data-skin="vaporwave"] .notice-item:hover {
  background: rgba(113,208,254,0.07);
}
html[data-skin="vaporwave"] .notice-bell,
html[data-skin="vaporwave"] .n-dot {
  color: #71d0fe;
}

/* ---------- 弹窗遮罩 / 二维码盒淡纸白（保扫码对比度） ---------- */
html[data-skin="vaporwave"] #logDetailModal,
html[data-skin="vaporwave"] #pointsRecordsModal,
html[data-skin="vaporwave"] #batchScanModal {
  background: rgba(10,4,18,0.8) !important;
}
html[data-skin="vaporwave"] #lxjQrBox,
html[data-skin="vaporwave"] #batchScanQr,
html[data-skin="vaporwave"] #lxjQrImg,
html[data-skin="vaporwave"] #batchScanQrImg {
  background: #f3ecfb !important;
  border: 1px solid rgba(255,154,213,0.5);
}
html[data-skin="vaporwave"] img[style*="background:#fff"] {
  background: #f3ecfb !important;
}

/* ---------- 滚动条 / 选区 / 过渡 ---------- */
html[data-skin="vaporwave"] ::-webkit-scrollbar-thumb {
  background: #3d2b56;
  border-radius: 0px;
}
html[data-skin="vaporwave"] ::-webkit-scrollbar-thumb:hover {
  background: #71d0fe;
}
html[data-skin="vaporwave"] ::selection {
  background: #71d0fe;
  color: #1a1026;
}
html[data-skin="vaporwave"] .btn,
html[data-skin="vaporwave"] .card,
html[data-skin="vaporwave"] .stat-card,
html[data-skin="vaporwave"] .acc-card,
html[data-skin="vaporwave"] .admin-tab,
html[data-skin="vaporwave"] .pagination-bar button,
html[data-skin="vaporwave"] input,
html[data-skin="vaporwave"] select,
html[data-skin="vaporwave"] textarea {
  transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s;
}

/* ---------- 动效保护：系统减弱动效时关闭过渡与动画 ---------- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="vaporwave"] * {
    transition: none !important;
  }
  html[data-skin="vaporwave"] body {
    animation: none;
  }
}
/* ===== 暗紫 (violet) ===== */
/*SKIN {"id":"violet","name":"暗紫","colors":["#160f24","#f2c94c","#ece5f7"]}*/
/* ============================================================
   暗紫 · Violet — 皇家紫金深色皮肤
   底 #160f24 / 卡 #221733 / 文 #ece5f7
   皇家强调：金 #f2c94c × 淡紫 #c4a7ff / 边框 #3a2b52
   全部规则 scope 于 html[data-skin="violet"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="violet"] {
  --bg: #160f24;
  --surface: #221733;
  --card: #221733;
  --border: #3a2b52;
  --border-light: #524072;
  --text: #ece5f7;
  --text-secondary: #c9bbe2;
  --text-muted: #9583b3;
  --accent: #f2c94c;
  --accent-hover: #ffd95e;
  --accent-subtle: rgba(242, 201, 76, 0.12);
  --success: #9edc72;
  --success-subtle: rgba(158, 220, 114, 0.12);
  --error: #ff7a8a;
  --error-subtle: rgba(255, 122, 138, 0.12);
  --warning: #ffb454;
  --warning-subtle: rgba(255, 180, 84, 0.13);
  --info: #c4a7ff;
  --row-alt: #291c3f;
  --log-bg: #120b1e;
  --btn-disabled-bg: #3a2b52;
  --shadow-1: 0 1px 3px rgba(0, 0, 0, 0.5);
  --shadow-2: 0 2px 10px rgba(0, 0, 0, 0.55);
  --shadow-3: 0 10px 36px rgba(0, 0, 0, 0.65);
  --on-accent: #241703;
  background: #160f24;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿 html[data-theme="dark"] 变量组） ---- */
html[data-skin="violet"][data-theme="dark"] {
  --bg: #160f24;
  --surface: #221733;
  --card: #221733;
  --border: #3a2b52;
  --border-light: #524072;
  --text: #ece5f7;
  --text-secondary: #c9bbe2;
  --text-muted: #9583b3;
  --accent: #f2c94c;
  --accent-hover: #ffd95e;
  --accent-subtle: rgba(242, 201, 76, 0.12);
  --success: #9edc72;
  --success-subtle: rgba(158, 220, 114, 0.12);
  --error: #ff7a8a;
  --error-subtle: rgba(255, 122, 138, 0.12);
  --warning: #ffb454;
  --warning-subtle: rgba(255, 180, 84, 0.13);
  --info: #c4a7ff;
  --row-alt: #291c3f;
  --log-bg: #120b1e;
  --btn-disabled-bg: #3a2b52;
  --shadow-1: 0 1px 3px rgba(0, 0, 0, 0.5);
  --shadow-2: 0 2px 10px rgba(0, 0, 0, 0.55);
  --shadow-3: 0 10px 36px rgba(0, 0, 0, 0.65);
  --on-accent: #241703;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="violet"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：深紫罗兰底 + 淡紫/金两团 Royal 氛围光 ---- */
html[data-skin="violet"] body {
  background:
    radial-gradient(1000px 560px at 16% -8%, rgba(196, 167, 255, 0.08), transparent 60%),
    radial-gradient(900px 520px at 88% 108%, rgba(242, 201, 76, 0.05), transparent 62%),
    #160f24;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="violet"] ::selection {
  background: rgba(242, 201, 76, 0.32);
  color: #fff8e2;
}
html[data-skin="violet"] ::-webkit-scrollbar-thumb {
  background: #3a2b52;
  border-radius: 8px;
}
html[data-skin="violet"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(242, 201, 76, 0.5);
}
html[data-skin="violet"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="violet"] img {
  filter: brightness(0.96) saturate(1.05);
}

/* ---- 6. 头部：金→淡紫渐变字 ---- */
html[data-skin="violet"] .header {
  border-color: #3a2b52;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(242, 201, 76, 0.14);
}
html[data-skin="violet"] .header h1 {
  background: linear-gradient(90deg, #f2c94c, #c4a7ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(242, 201, 76, 0.28));
}
html[data-skin="violet"] .card-title {
  color: #d9c98f;
}

/* ---- 7. 卡片族：深紫卡 + 紫边框，hover 金描边 ---- */
html[data-skin="violet"] .card,
html[data-skin="violet"] .stat-card,
html[data-skin="violet"] .admin-panel,
html[data-skin="violet"] .acc-card,
html[data-skin="violet"] .batch-group,
html[data-skin="violet"] .batch-result-item,
html[data-skin="violet"] .notice-panel,
html[data-skin="violet"] .notice-toast {
  background: #221733;
  border: 1px solid #3a2b52;
}
html[data-skin="violet"] .card:hover,
html[data-skin="violet"] .stat-card:hover {
  border-color: rgba(242, 201, 76, 0.55);
  box-shadow: 0 0 18px rgba(242, 201, 76, 0.13), var(--shadow-2);
}
html[data-skin="violet"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：金按钮黑字，紫底金边副钮 ---- */
html[data-skin="violet"] .btn,
html[data-skin="violet"] .batch-btn,
html[data-skin="violet"] .pagination-bar button {
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="violet"] .btn-primary {
  background: linear-gradient(135deg, #f2c94c, #ffd95e);
  color: var(--on-accent);
  box-shadow: 0 0 16px rgba(242, 201, 76, 0.30), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
html[data-skin="violet"] .btn-primary:hover {
  background: linear-gradient(135deg, #ffd95e, #ffe488);
  color: var(--on-accent);
  box-shadow: 0 0 24px rgba(242, 201, 76, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.26);
}
html[data-skin="violet"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #a08cb8;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="violet"] .btn-secondary {
  background: #221733;
  color: #e0d0f0;
  border: 1px solid rgba(242, 201, 76, 0.45);
}
html[data-skin="violet"] .btn-secondary:hover {
  background: #2c1f42;
  color: #f2c94c;
  border-color: #f2c94c;
  box-shadow: 0 0 12px rgba(242, 201, 76, 0.22);
}
html[data-skin="violet"] .btn-danger {
  background: rgba(255, 122, 138, 0.12);
  color: #ff94a2;
  border: 1px solid rgba(255, 122, 138, 0.35);
}
html[data-skin="violet"] .btn-danger:hover {
  background: rgba(255, 122, 138, 0.2);
  box-shadow: 0 0 14px rgba(255, 122, 138, 0.28);
}
html[data-skin="violet"] .btn:disabled {
  color: #a08cb8;
}

/* ---- 9. 输入族：深紫底聚焦金描边 ---- */
html[data-skin="violet"] input[type="text"],
html[data-skin="violet"] input[type="password"],
html[data-skin="violet"] input[type="number"],
html[data-skin="violet"] input[type="date"],
html[data-skin="violet"] input[type="time"],
html[data-skin="violet"] textarea,
html[data-skin="violet"] select,
html[data-skin="violet"] .auth-input,
html[data-skin="violet"] .admin-table input,
html[data-skin="violet"] #reservationGame,
html[data-skin="violet"] #modalGameName {
  background: #1a1129;
  border: 1px solid #3a2b52;
  color: var(--text);
}
html[data-skin="violet"] input[type="text"]:focus,
html[data-skin="violet"] input[type="password"]:focus,
html[data-skin="violet"] input[type="number"]:focus,
html[data-skin="violet"] textarea:focus,
html[data-skin="violet"] select:focus,
html[data-skin="violet"] .auth-input:focus,
html[data-skin="violet"] .admin-table input:focus,
html[data-skin="violet"] #reservationGame:focus,
html[data-skin="violet"] #modalGameName:focus {
  outline: none;
  border-color: #f2c94c;
  box-shadow: 0 0 0 3px rgba(242, 201, 76, 0.15), 0 0 14px rgba(242, 201, 76, 0.18);
}
html[data-skin="violet"] select option,
html[data-skin="violet"] #reservationGame option,
html[data-skin="violet"] #modalGameName option {
  background: #120b1e;
  color: var(--text);
}
html[data-skin="violet"] input[type="checkbox"] {
  accent-color: #f2c94c;
}

/* ---- 10. 表格：深紫表头 / 紫夜斑马纹 / 金沙行悬停 ---- */
html[data-skin="violet"] .admin-table th,
html[data-skin="violet"] .admin-table td,
html[data-skin="violet"] .log-table th,
html[data-skin="violet"] .log-table td {
  border-bottom: 1px solid #2c2044;
}
html[data-skin="violet"] .admin-table th,
html[data-skin="violet"] .log-table th {
  background: #160f24;
  border-bottom: 1px solid #3a2b52;
}
html[data-skin="violet"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="violet"] .log-table tbody tr:nth-child(even) td {
  background: #291c3f;
}
html[data-skin="violet"] .admin-table tr:hover td,
html[data-skin="violet"] .log-table tr:hover td {
  background: rgba(242, 201, 76, 0.07);
}
html[data-skin="violet"] #batchAccountTable tbody tr:hover {
  background: rgba(242, 201, 76, 0.05);
}
html[data-skin="violet"] .batch-table-wrap {
  border-color: #2c2044;
}

/* ---- 11. 管理 tab：激活鎏金胶囊 ---- */
html[data-skin="violet"] .admin-tab {
  background: #1a1129;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="violet"] .admin-tab:hover {
  color: #ece5f7;
  border-color: #524072;
}
html[data-skin="violet"] .admin-tab.active {
  background: linear-gradient(135deg, #f2c94c, #ffd95e);
  color: var(--on-accent);
  border-color: rgba(242, 201, 76, 0.6);
  box-shadow: 0 0 14px rgba(242, 201, 76, 0.3);
}

/* ---- 12. 日志区：紫檀观察窗 ---- */
html[data-skin="violet"] .log-box {
  background: #120b1e;
  border: 1px solid #2c2044;
  box-shadow: inset 0 0 24px rgba(242, 201, 76, 0.03);
}

/* ---- 13. 登录面板：紫金浮卡 + 鎏金登录键 ---- */
html[data-skin="violet"] .auth-panel {
  background: #221733;
  border: 1px solid #3a2b52;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(242, 201, 76, 0.07);
}
html[data-skin="violet"] .auth-btn {
  background: linear-gradient(135deg, #f2c94c, #ffd95e);
  color: var(--on-accent);
  box-shadow: 0 0 16px rgba(242, 201, 76, 0.3);
}
html[data-skin="violet"] .auth-btn:hover {
  background: linear-gradient(135deg, #ffd95e, #ffe488);
  box-shadow: 0 0 24px rgba(242, 201, 76, 0.45);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="violet"] .notice-panel {
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6), 0 0 18px rgba(242, 201, 76, 0.08);
}
html[data-skin="violet"] .notice-dot {
  border-color: #221733;
}
html[data-skin="violet"] .notice-toast {
  border-color: rgba(242, 201, 76, 0.55);
  border-left: 4px solid #f2c94c;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6), 0 0 18px rgba(242, 201, 76, 0.12);
}
html[data-skin="violet"] .notice-toast .t-head {
  background: rgba(242, 201, 76, 0.12);
  color: #f2c94c;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="violet"] .pagination-bar button {
  background: #221733;
  border: 1px solid #3a2b52;
  color: var(--text);
}
html[data-skin="violet"] .pagination-bar button:hover {
  border-color: #f2c94c;
  color: #f2c94c;
  box-shadow: 0 0 10px rgba(242, 201, 76, 0.2);
}
html[data-skin="violet"] .points-badge {
  background: #f2c94c;
  color: #241703;
}
html[data-skin="violet"] .batch-result-item.ok {
  border-color: rgba(158, 220, 114, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补紫金投影；内联白底二维码盒压成米纸白 ---- */
html[data-skin="violet"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.65), 0 0 24px rgba(242, 201, 76, 0.07) !important;
}
html[data-skin="violet"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #f2c94c, #c4a7ff) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="violet"] #lxjQrBox,
html[data-skin="violet"] #batchScanQr {
  background: #f7f2e5 !important;
  border: 1px solid rgba(242, 201, 76, 0.45);
}
html[data-skin="violet"] img[style*="background:#fff"] {
  background: #f7f2e5 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="violet"] * {
    transition: none !important;
  }
  html[data-skin="violet"] body {
    animation: none;
  }
}
/* ===== 勃艮第红酒 (wine) ===== */
/*SKIN {"id":"wine","name":"勃艮第红酒","colors":["#1a0e14","#c94f6d","#f0dde6"]}*/
/* ============================================================
   勃艮第红酒 · Wine — 酒庄气质深色皮肤，衬线标题
   底 #1a0e14 / 卡 #261620 / 文 #f0dde6
   酒红 #c94f6d × 酒庄金 #d4a373 点缀
   全部规则 scope 于 html[data-skin="wine"]，依赖后写覆盖先写。
   ============================================================ */

/* ---- 1. 变量重定义（大面积换肤根，含弹窗内联 var(--card) 引用） ---- */
html[data-skin="wine"] {
  --bg: #1a0e14;
  --surface: #261620;
  --card: #261620;
  --border: #452635;
  --border-light: #5c3447;
  --text: #f0dde6;
  --text-secondary: #cfa9ba;
  --text-muted: #97718a;
  --accent: #c94f6d;
  --accent-hover: #d96580;
  --accent-subtle: rgba(201, 79, 109, 0.12);
  --success: #8fae8f;
  --success-subtle: rgba(143, 174, 143, 0.12);
  --error: #e0645f;
  --error-subtle: rgba(224, 100, 95, 0.12);
  --warning: #d4a373;
  --warning-subtle: rgba(212, 163, 115, 0.12);
  --info: #a98fc9;
  --radius: 12px;
  --radius-sm: 9px;
  --row-alt: #2e1a26;
  --log-bg: #150a10;
  --btn-disabled-bg: #3a2230;
  --shadow-1: 0 1px 3px rgba(8, 2, 5, 0.55);
  --shadow-2: 0 2px 10px rgba(8, 2, 5, 0.55);
  --shadow-3: 0 10px 36px rgba(8, 2, 5, 0.65);
  --on-accent: #fff5f7;
  background: #1a0e14;
  color-scheme: dark;
}

/* ---- 2. 暗色主题变量守卫（特异性 0,2,1 压过底稿暗色变量组） ---- */
html[data-skin="wine"][data-theme="dark"] {
  --bg: #1a0e14;
  --surface: #261620;
  --card: #261620;
  --border: #452635;
  --border-light: #5c3447;
  --text: #f0dde6;
  --text-secondary: #cfa9ba;
  --text-muted: #97718a;
  --accent: #c94f6d;
  --accent-hover: #d96580;
  --accent-subtle: rgba(201, 79, 109, 0.12);
  --success: #8fae8f;
  --success-subtle: rgba(143, 174, 143, 0.12);
  --error: #e0645f;
  --error-subtle: rgba(224, 100, 95, 0.12);
  --warning: #d4a373;
  --warning-subtle: rgba(212, 163, 115, 0.12);
  --info: #a98fc9;
  --radius: 12px;
  --radius-sm: 9px;
  --row-alt: #2e1a26;
  --log-bg: #150a10;
  --btn-disabled-bg: #3a2230;
  --shadow-1: 0 1px 3px rgba(8, 2, 5, 0.55);
  --shadow-2: 0 2px 10px rgba(8, 2, 5, 0.55);
  --shadow-3: 0 10px 36px rgba(8, 2, 5, 0.65);
  --on-accent: #fff5f7;
}

/* ---- 3. 全局过渡（限本皮肤作用域） ---- */
html[data-skin="wine"] * {
  transition: background-color .25s, border-color .25s, color .25s, box-shadow .25s;
}

/* ---- 4. body：酒窖深处的玫瑰微光 ---- */
html[data-skin="wine"] body {
  background:
    radial-gradient(1000px 600px at 50% -16%, rgba(201, 79, 109, 0.10), transparent 60%),
    radial-gradient(880px 540px at 12% 22%, rgba(212, 163, 115, 0.06), transparent 60%),
    radial-gradient(1000px 620px at 88% 80%, rgba(120, 40, 70, 0.16), transparent 64%),
    radial-gradient(900px 520px at 50% 118%, rgba(160, 60, 95, 0.12), transparent 66%),
    #1a0e14;
  background-attachment: fixed;
  color: var(--text);
}

/* ---- 5. 选区 / 滚动条 / 图片 ---- */
html[data-skin="wine"] ::selection {
  background: rgba(201, 79, 109, 0.30);
  color: #fdeef2;
}
html[data-skin="wine"] ::-webkit-scrollbar-thumb {
  background: #4a2a3a;
  border-radius: 8px;
}
html[data-skin="wine"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(201, 79, 109, 0.5);
}
html[data-skin="wine"] ::-webkit-scrollbar-track {
  background: transparent;
}
html[data-skin="wine"] img {
  filter: brightness(0.96) saturate(1.08);
}

/* ---- 6. 头部：酒红→酒庄金渐变衬线字 ---- */
html[data-skin="wine"] .header {
  border-color: #452635;
  box-shadow: var(--shadow-1), 0 1px 0 rgba(212, 163, 115, 0.14);
}
html[data-skin="wine"] .header h1 {
  font-family: Georgia, "Times New Roman", "Songti SC", "SimSun", serif;
  letter-spacing: 0.04em;
  background: linear-gradient(90deg, #d96580, #c94f6d, #d4a373);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 10px rgba(201, 79, 109, 0.25));
}
html[data-skin="wine"] .card-title {
  color: #d9b48a;
}

/* ---- 7. 卡片族：酒标深卡 + hover 酒红描边 ---- */
html[data-skin="wine"] .card,
html[data-skin="wine"] .stat-card,
html[data-skin="wine"] .admin-panel,
html[data-skin="wine"] .acc-card,
html[data-skin="wine"] .batch-group,
html[data-skin="wine"] .batch-result-item,
html[data-skin="wine"] .notice-panel,
html[data-skin="wine"] .notice-toast {
  background: #261620;
  border: 1px solid #452635;
}
html[data-skin="wine"] .card:hover,
html[data-skin="wine"] .stat-card:hover {
  border-color: rgba(201, 79, 109, 0.5);
  box-shadow: 0 0 18px rgba(201, 79, 109, 0.15), var(--shadow-2);
}
html[data-skin="wine"] .stat-card::before {
  opacity: 0.9;
}

/* ---- 8. 按钮族：酒红主按钮 ---- */
html[data-skin="wine"] .btn,
html[data-skin="wine"] .batch-btn,
html[data-skin="wine"] .pagination-bar button {
  border-radius: var(--radius-sm);
  transition: background-color .2s, box-shadow .2s, transform .15s, border-color .25s, color .25s;
}
html[data-skin="wine"] .btn-primary {
  background: linear-gradient(135deg, #c94f6d, #a83a54);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(201, 79, 109, 0.32), inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}
html[data-skin="wine"] .btn-primary:hover {
  background: linear-gradient(135deg, #d96580, #b84460);
  color: var(--on-accent);
  box-shadow: 0 0 26px rgba(201, 79, 109, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}
html[data-skin="wine"] .btn-primary:disabled {
  background: var(--btn-disabled-bg);
  color: #8a5f70;
  box-shadow: none;
  transform: none;
  cursor: not-allowed;
}
html[data-skin="wine"] .btn-secondary {
  background: #261620;
  color: var(--text-secondary);
  border: 1px solid #5c3447;
}
html[data-skin="wine"] .btn-secondary:hover {
  background: #2e1c27;
  color: #d96580;
  border-color: rgba(201, 79, 109, 0.5);
  box-shadow: 0 0 12px rgba(201, 79, 109, 0.2);
}
html[data-skin="wine"] .btn-danger {
  background: rgba(224, 100, 95, 0.12);
  color: #e88a84;
  border: 1px solid rgba(224, 100, 95, 0.35);
}
html[data-skin="wine"] .btn-danger:hover {
  background: rgba(224, 100, 95, 0.2);
  box-shadow: 0 0 14px rgba(224, 100, 95, 0.3);
}
html[data-skin="wine"] .btn:disabled {
  color: #8a5f70;
}

/* ---- 9. 输入族：深酒窖底聚焦酒红描边 ---- */
html[data-skin="wine"] input[type="text"],
html[data-skin="wine"] input[type="password"],
html[data-skin="wine"] input[type="number"],
html[data-skin="wine"] input[type="date"],
html[data-skin="wine"] input[type="time"],
html[data-skin="wine"] textarea,
html[data-skin="wine"] select,
html[data-skin="wine"] .auth-input,
html[data-skin="wine"] .admin-table input,
html[data-skin="wine"] #reservationGame,
html[data-skin="wine"] #modalGameName {
  background: #200f18;
  border: 1px solid #4a2a3a;
  color: var(--text);
}
html[data-skin="wine"] input[type="text"]:focus,
html[data-skin="wine"] input[type="password"]:focus,
html[data-skin="wine"] input[type="number"]:focus,
html[data-skin="wine"] textarea:focus,
html[data-skin="wine"] select:focus,
html[data-skin="wine"] .auth-input:focus,
html[data-skin="wine"] .admin-table input:focus,
html[data-skin="wine"] #reservationGame:focus,
html[data-skin="wine"] #modalGameName:focus {
  outline: none;
  border-color: #c94f6d;
  box-shadow: 0 0 0 3px rgba(201, 79, 109, 0.15), 0 0 14px rgba(201, 79, 109, 0.18);
}
html[data-skin="wine"] select option,
html[data-skin="wine"] #reservationGame option,
html[data-skin="wine"] #modalGameName option {
  background: #150a10;
  color: var(--text);
}
html[data-skin="wine"] input[type="checkbox"] {
  accent-color: #c94f6d;
}

/* ---- 10. 表格：深表头 / 酒渍斑马纹 / 酒红行悬停 ---- */
html[data-skin="wine"] .admin-table th,
html[data-skin="wine"] .admin-table td,
html[data-skin="wine"] .log-table th,
html[data-skin="wine"] .log-table td {
  border-bottom: 1px solid #362030;
}
html[data-skin="wine"] .admin-table th,
html[data-skin="wine"] .log-table th {
  background: #1a0e14;
  border-bottom: 1px solid #5c3447;
}
html[data-skin="wine"] .admin-table tbody tr:nth-child(even) td,
html[data-skin="wine"] .log-table tbody tr:nth-child(even) td {
  background: #2e1a26;
}
html[data-skin="wine"] .admin-table tr:hover td,
html[data-skin="wine"] .log-table tr:hover td {
  background: rgba(201, 79, 109, 0.07);
}
html[data-skin="wine"] #batchAccountTable tbody tr:hover {
  background: rgba(201, 79, 109, 0.05);
}
html[data-skin="wine"] .batch-table-wrap {
  border-color: #362030;
}

/* ---- 11. 管理 tab：激活酒红胶囊 ---- */
html[data-skin="wine"] .admin-tab {
  background: #200f18;
  color: var(--text-secondary);
  border: 1px solid transparent;
}
html[data-skin="wine"] .admin-tab:hover {
  color: #f0dde6;
  border-color: #5c3447;
}
html[data-skin="wine"] .admin-tab.active {
  background: linear-gradient(135deg, #c94f6d, #b84460);
  color: var(--on-accent);
  border-color: rgba(201, 79, 109, 0.6);
  box-shadow: 0 0 14px rgba(201, 79, 109, 0.35);
}

/* ---- 12. 日志区：酒窖观察窗 ---- */
html[data-skin="wine"] .log-box {
  background: #150a10;
  border: 1px solid #3a2230;
  box-shadow: inset 0 0 24px rgba(201, 79, 109, 0.04);
}

/* ---- 13. 登录面板：酒庄浮岛卡 + 酒红登录键 ---- */
html[data-skin="wine"] .auth-panel {
  background: #261620;
  border: 1px solid #452635;
  border-radius: var(--radius);
  padding: 28px 24px;
  box-shadow: var(--shadow-2), 0 0 30px rgba(201, 79, 109, 0.08);
}
html[data-skin="wine"] .auth-btn {
  background: linear-gradient(135deg, #c94f6d, #a83a54);
  color: var(--on-accent);
  box-shadow: 0 0 18px rgba(201, 79, 109, 0.32);
}
html[data-skin="wine"] .auth-btn:hover {
  background: linear-gradient(135deg, #d96580, #b84460);
  box-shadow: 0 0 26px rgba(201, 79, 109, 0.45);
}

/* ---- 14. 通知面板 / 弹出 toast ---- */
html[data-skin="wine"] .notice-panel {
  box-shadow: 0 8px 40px rgba(8, 2, 5, 0.65), 0 0 18px rgba(212, 163, 115, 0.10);
}
html[data-skin="wine"] .notice-dot {
  border-color: #261620;
}
html[data-skin="wine"] .notice-toast {
  border-color: rgba(201, 79, 109, 0.55);
  border-left: 4px solid #c94f6d;
  box-shadow: 0 8px 30px rgba(8, 2, 5, 0.6), 0 0 18px rgba(201, 79, 109, 0.13);
}
html[data-skin="wine"] .notice-toast .t-head {
  background: rgba(201, 79, 109, 0.12);
  color: #d96580;
}

/* ---- 15. 分页 / 徽标 / 杂项 ---- */
html[data-skin="wine"] .pagination-bar button {
  background: #261620;
  border: 1px solid #4a2a3a;
  color: var(--text);
}
html[data-skin="wine"] .pagination-bar button:hover {
  border-color: #c94f6d;
  color: #d96580;
  box-shadow: 0 0 10px rgba(201, 79, 109, 0.22);
}
html[data-skin="wine"] .points-badge {
  background: #d4a373;
  color: #33210f;
}
html[data-skin="wine"] .batch-result-item.ok {
  border-color: rgba(143, 174, 143, 0.4);
}

/* ---- 16. 弹窗卡：内联 var(--card) 自动继承深色，补酒庄投影；内联白底二维码盒压成玫瑰纸白 ---- */
html[data-skin="wine"] [style*="background:var(--card)"] {
  box-shadow: 0 8px 40px rgba(8, 2, 5, 0.65), 0 0 24px rgba(201, 79, 109, 0.08) !important;
}
html[data-skin="wine"] [style*="linear-gradient(135deg,#15BFFF,#35d8ff)"] {
  background: linear-gradient(90deg, #d96580, #c94f6d, #d4a373) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-skin="wine"] #lxjQrBox,
html[data-skin="wine"] #batchScanQr {
  background: #f8edf0 !important;
  border: 1px solid rgba(201, 79, 109, 0.4);
}
html[data-skin="wine"] img[style*="background:#fff"] {
  background: #f8edf0 !important;
}

/* ---- 17. 动效保护：系统减弱动效时关闭过渡 ---- */
@media (prefers-reduced-motion: reduce) {
  html[data-skin="wine"] * {
    transition: none !important;
  }
  html[data-skin="wine"] body {
    animation: none;
  }
}