/* ============================================================
   创作灯光 · StudioLight — 全站灯光氛围插件
   色温与亮度参考：Xie et al. 2024（视觉疲劳与色温）、
   ANSI/IES RP-1（办公照度）、复禾健康（舒适色温 4000-5000K）。
   ============================================================ */

/* ---- 色温覆盖层 ---- */
#sl-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99990;
  opacity: 0;
  transition: opacity .6s ease, background .6s ease;
  /* 默认：暖色覆盖层（偏暖方向） */
  background: rgba(255, 180, 80, 0);
  mix-blend-mode: multiply;
}

/* 冷色方向：切换为滤色模式，让冷色叠亮 */
html[data-sl-ct="cool"] #sl-overlay {
  mix-blend-mode: screen;
}

/* 覆盖层激活 */
html[data-sl="on"] #sl-overlay {
  opacity: 1;
}

/* ---- 亮度覆盖层（替代 body filter，避免破坏 fixed 定位基准） ---- */
#sl-bri-layer {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99991;
  mix-blend-mode: screen;
  transition: background .5s ease;
}

/* ---- 浮动控制按钮 ---- */
#sl-toggle {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 99999;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, .55);
  background: rgba(255, 255, 255, .55);
  backdrop-filter: blur(18px) saturate(175%);
  -webkit-backdrop-filter: blur(18px) saturate(175%);
  box-shadow: 0 4px 20px rgba(31, 60, 120, .10), 0 1px 6px rgba(31, 60, 120, .06);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

#sl-toggle:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 28px rgba(31, 60, 120, .14), 0 2px 10px rgba(31, 60, 120, .08);
  border-color: rgba(47, 111, 237, .35);
}

#sl-toggle:active {
  transform: scale(.95);
}

#sl-toggle .sl-icon {
  font-size: 20px;
  line-height: 1;
  transition: transform .25s ease;
}

/* 激活态：图标亮起 */
#sl-toggle[data-active="true"] {
  border-color: rgba(255, 190, 60, .50);
  background: rgba(255, 240, 210, .65);
  box-shadow: 0 4px 20px rgba(200, 150, 50, .15), 0 0 0 3px rgba(255, 190, 60, .12);
}

#sl-toggle[data-active="true"] .sl-icon {
  filter: drop-shadow(0 0 4px rgba(255, 170, 30, .4));
}

/* ---- 浮动控制面板 ---- */
#sl-panel {
  position: fixed;
  left: 24px;
  bottom: 80px;
  z-index: 99999;
  width: 296px;
  padding: 18px 20px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, .55);
  background: rgba(255, 255, 255, .72);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  box-shadow:
    0 14px 40px rgba(31, 60, 120, .12),
    0 2px 10px rgba(31, 60, 120, .06),
    inset 0 1px 0 rgba(255, 255, 255, .65);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(.96);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}

#sl-panel.sl-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

/* 面板标题行 */
#sl-panel .sl-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

#sl-panel .sl-hdr h4 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #1c2536;
  letter-spacing: .02em;
}

#sl-panel .sl-hdr .sl-badge {
  font-size: 10.5px;
  color: #8b95a8;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .04);
  letter-spacing: .01em;
}

/* ---- 预设按钮组 ---- */
#sl-panel .sl-presets {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

#sl-panel .sl-preset {
  padding: 10px 8px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, .06);
  background: rgba(255, 255, 255, .5);
  cursor: pointer;
  text-align: center;
  transition: all .2s ease;
  -webkit-tap-highlight-color: transparent;
}

#sl-panel .sl-preset:hover {
  background: rgba(47, 111, 237, .06);
  border-color: rgba(47, 111, 237, .18);
}

#sl-panel .sl-preset[data-active="true"] {
  background: rgba(47, 111, 237, .10);
  border-color: rgba(47, 111, 237, .30);
  box-shadow: 0 0 0 2px rgba(47, 111, 237, .08);
}

#sl-panel .sl-preset .sl-emoji {
  font-size: 20px;
  display: block;
  margin-bottom: 4px;
}

#sl-panel .sl-preset .sl-pname {
  font-size: 12px;
  font-weight: 600;
  color: #1c2536;
  display: block;
}

#sl-panel .sl-preset .sl-ptemp {
  font-size: 10px;
  color: #8b95a8;
  display: block;
  margin-top: 1px;
}

/* ---- 滑杆组 ---- */
#sl-panel .sl-sliders {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 14px;
}

#sl-panel .sl-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#sl-panel .sl-row-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#sl-panel .sl-label {
  font-size: 12px;
  color: #46536b;
  font-weight: 500;
}

#sl-panel .sl-value {
  font-size: 12px;
  color: #2f6fed;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  min-width: 50px;
  text-align: right;
}

/* 自定义滑杆样式 */
#sl-panel input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  outline: none;
  transition: background .2s ease;
}

#sl-panel input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #2f6fed;
  box-shadow: 0 2px 8px rgba(47, 111, 237, .2);
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}

#sl-panel input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.15);
  box-shadow: 0 3px 12px rgba(47, 111, 237, .3);
}

#sl-panel input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #2f6fed;
  box-shadow: 0 2px 8px rgba(47, 111, 237, .2);
  cursor: pointer;
}

/* 色温滑杆渐变背景 */
#sl-ct-range {
  background: linear-gradient(to right,
    #ff8a00,
    #ffb347,
    #ffd699,
    #fff4e0,
    #ffffff,
    #e8f0ff,
    #c7dcfc,
    #a0c4ff
  );
}

/* 亮度滑杆渐变背景 */
#sl-bri-range {
  background: linear-gradient(to right, #555, #bbb, #fff);
}

/* ---- 智能建议 ---- */
#sl-panel .sl-tip {
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(47, 111, 237, .05);
  border: 1px solid rgba(47, 111, 237, .10);
  font-size: 11.5px;
  color: #46536b;
  line-height: 1.5;
  margin-bottom: 12px;
}

#sl-panel .sl-tip strong {
  color: #2f6fed;
  font-weight: 600;
}

/* ---- 操作行 ---- */
#sl-panel .sl-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, .05);
}

#sl-panel .sl-reset {
  font-size: 12px;
  color: #8b95a8;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: color .15s ease, background .15s ease;
}

#sl-panel .sl-reset:hover {
  color: #e5484d;
  background: rgba(229, 72, 77, .06);
}

#sl-panel .sl-off-btn {
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  background: #2f6fed;
  border: none;
  padding: 6px 16px;
  border-radius: 8px;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}

#sl-panel .sl-off-btn:hover {
  background: #1d4fc0;
}

#sl-panel .sl-off-btn:active {
  transform: scale(.96);
}

/* ---- 关闭动画增强 ---- */
html[data-sl="on"] #sl-toggle .sl-icon-lamp {
  animation: sl-glow 2.5s ease-in-out infinite alternate;
}

@keyframes sl-glow {
  from { filter: drop-shadow(0 0 3px rgba(255, 170, 30, .2)); }
  to   { filter: drop-shadow(0 0 8px rgba(255, 170, 30, .5)); }
}

/* ---- 移动端适配 ---- */
@media (max-width: 640px) {
  #sl-toggle {
    left: 16px;
    bottom: 16px;
    width: 40px;
    height: 40px;
  }

  #sl-panel {
    right: 12px;
    left: 12px;
    bottom: 66px;
    width: auto;
    padding: 14px 16px 12px;
  }

  #sl-panel .sl-presets {
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
  }

  #sl-panel .sl-preset {
    padding: 8px 4px;
  }

  #sl-panel .sl-preset .sl-emoji {
    font-size: 18px;
  }

  #sl-panel .sl-preset .sl-pname {
    font-size: 11px;
  }
}

/* ============================================================
   深色模式（独立于灯效）
   由 #sl-dark-btn 独占控制 html[data-sl-dark]，开/关灯互不影响
   ============================================================ */

/* ---- 深色模式：全站 CSS 变量覆盖（所有模块共用一套变量） ---- */
html[data-sl-dark] {
  --bg: #12141c;
  --bg-soft: #1a1d27;
  --surface: #1e2230;
  --ink: #e6e9f2;
  --ink-soft: #a8b1c5;
  --muted: #6d7890;
  --line: #2c3142;
  --hairline: #262b3a;
  --field-line: #3a4154;
  --field-line-hover: #4a546e;
  --brand-soft: #1b2a4a;
  --brand-line: #2a3d66;
  --glass-high: rgba(255, 255, 255, .06);
  --glass-line: rgba(255, 255, 255, .08);
  --shadow: 0 14px 40px rgba(0, 0, 0, .35);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);
}

/* ---- 深色模式按钮（与开/关灯按钮视觉对齐） ---- */
#sl-panel .sl-dark-btn {
  font-size: 12px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, .12);
  background: transparent;
  color: #46536b;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
  -webkit-tap-highlight-color: transparent;
}

#sl-panel .sl-dark-btn:hover {
  background: rgba(47, 111, 237, .06);
  border-color: rgba(47, 111, 237, .30);
  color: #2f6fed;
}

#sl-panel .sl-dark-btn:active {
  transform: scale(.96);
}

#sl-panel .sl-dark-btn[data-active="true"] {
  background: #2f6fed;
  color: #fff;
  border-color: #2f6fed;
}

#sl-panel .sl-dark-btn[data-active="true"]:hover {
  background: #1d4fc0;
}

/* ---- 深色模式下控制面板自身可读 ---- */
html[data-sl-dark] #sl-panel {
  background: rgba(30, 34, 48, .88);
  border-color: rgba(255, 255, 255, .12);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, .35),
    0 2px 10px rgba(0, 0, 0, .25),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

html[data-sl-dark] #sl-panel .sl-hdr h4 {
  color: #e6e9f2;
}

html[data-sl-dark] #sl-panel .sl-hdr .sl-badge {
  color: #a8b1c5;
  background: rgba(255, 255, 255, .08);
}

html[data-sl-dark] #sl-panel .sl-preset {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(255, 255, 255, .10);
}

html[data-sl-dark] #sl-panel .sl-preset .sl-pname {
  color: #e6e9f2;
}

html[data-sl-dark] #sl-panel .sl-preset .sl-ptemp {
  color: #a8b1c5;
}

html[data-sl-dark] #sl-panel .sl-label {
  color: #a8b1c5;
}

html[data-sl-dark] #sl-panel .sl-value {
  color: #7fb0ff;
}

html[data-sl-dark] #sl-panel .sl-tip {
  background: rgba(47, 111, 237, .14);
  border-color: rgba(47, 111, 237, .28);
  color: #a8b1c5;
}

html[data-sl-dark] #sl-panel .sl-dark-btn {
  border-color: rgba(255, 255, 255, .18);
  color: #a8b1c5;
}

html[data-sl-dark] #sl-panel .sl-dark-btn:hover {
  color: #fff;
  border-color: #2f6fed;
}

html[data-sl-dark] #sl-panel .sl-dark-btn[data-active="true"] {
  background: #2f6fed;
  color: #fff;
  border-color: #2f6fed;
}

html[data-sl-dark] #sl-panel .sl-actions {
  border-top-color: rgba(255, 255, 255, .10);
}

/* 深色模式下面板内滑杆描边更清晰 */
html[data-sl-dark] #sl-panel input[type="range"] {
  background: #3a4154;
}

/* ---- 深色模式：表单控件深色适配（输入框不再刺眼白底） ---- */
html[data-sl-dark] input[type="text"],
html[data-sl-dark] input[type="email"],
html[data-sl-dark] input[type="password"],
html[data-sl-dark] input[type="number"],
html[data-sl-dark] input[type="search"],
html[data-sl-dark] input[type="tel"],
html[data-sl-dark] input[type="url"],
html[data-sl-dark] textarea,
html[data-sl-dark] select {
  background: #1a1d27;
  color: #e6e9f2;
  border-color: #3a4154;
  caret-color: #7fb0ff;
}

html[data-sl-dark] input::placeholder,
html[data-sl-dark] textarea::placeholder {
  color: #6d7890;
}

/* 验证码输入框：收窄到适合 4~6 位数字的宽度，避免占满整行 */
html[data-sl-dark] .captcha-field input[type="text"] {
  flex: 0 1 150px;
  max-width: 150px;
  min-width: 120px;
}

/* ---- 媒体元素不做反色处理（图片/视频保持原样） ---- */


/* ============================================================
   深色模式：业务组件亮色残留统一覆盖
   （原则：变量覆盖 → 组件覆盖 → 模板内联特例；全部置于 html[data-sl-dark] 之下）
   ============================================================ */

/* 补全变量：--bg-card（部分模板内联使用 var(--bg-card,#fff)） */
html[data-sl-dark] { --bg-card: #1e2230; }

/* ---------- 1. 全站框架：顶栏 / 底栏 / 导航面板 / 玻璃容器 ---------- */
html[data-sl-dark] .site-header { background: rgba(18, 20, 28, .78); }
html[data-sl-dark] .site-footer { background: rgba(18, 20, 28, .78); }
html[data-sl-dark] .nav-dd-menu,
html[data-sl-dark] .nav-mega-card { background: rgba(26, 29, 39, .97); border-color: rgba(255, 255, 255, .10); }
html[data-sl-dark] .admin-side { background: #1a1d27; }
html[data-sl-dark] .panel,
html[data-sl-dark] .login-card { background: rgba(26, 29, 39, .80); }
html[data-sl-dark] .up-toast,
html[data-sl-dark] .admin-up-toast { background: linear-gradient(150deg, rgba(30, 34, 48, .94), rgba(26, 32, 45, .88)); }
html[data-sl-dark] .cm-dialog { background: linear-gradient(150deg, rgba(26, 29, 39, .97), rgba(24, 28, 38, .94)); }
html[data-sl-dark] .ver-block,
html[data-sl-dark] .glass { background: linear-gradient(150deg, rgba(30, 34, 48, .78), rgba(26, 29, 39, .55)); }
html[data-sl-dark] .doc-semver { background: linear-gradient(160deg, rgba(27, 42, 74, .9), rgba(26, 29, 39, .85)); }
html[data-sl-dark] .about-item,
html[data-sl-dark] .svc-card { background: rgba(26, 29, 39, .72); }
html[data-sl-dark] .btn-ghost { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .14); color: #a8b1c5; }
html[data-sl-dark] .btn-ghost:hover { color: #fff; border-color: #2f6fed; }

/* ---------- 2. 模块级主题变量深色化（部落暖橙 / 论坛紫） ---------- */
html[data-sl-dark] .thm-circles {
  --accent: #fb923c;
  --accent-strong: #fdba74;
  --accent-soft: rgba(249, 115, 22, .16);
  --accent-line: rgba(249, 115, 22, .34);
}
html[data-sl-dark] .thm-forum {
  --accent: #a78bfa;
  --accent-strong: #c4b5fd;
  --accent-soft: rgba(139, 92, 246, .16);
  --accent-line: rgba(139, 92, 246, .34);
}

/* ---------- 3. 应用中心 ---------- */
html[data-sl-dark] .apps-hero { background: radial-gradient(900px 380px at 84% -18%, rgba(47, 111, 237, .22), transparent 60%), linear-gradient(160deg, #101826, #161c28 55%, #10131a); }
html[data-sl-dark] .apps-alert { background: rgba(229, 72, 77, .12); border-color: rgba(229, 72, 77, .32); color: #fda4af; }

/* ---------- 4. 博客 ---------- */
html[data-sl-dark] .blog-note,
html[data-sl-dark] .blog-byline,
html[data-sl-dark] .blog-invite,
html[data-sl-dark] .blog-cover { background: rgba(26, 29, 39, .74); border-color: rgba(255, 255, 255, .08); }
html[data-sl-dark] .blog-byline-role { background: rgba(255, 255, 255, .08); color: #a8b1c5; }

/* ---------- 5. 活动 ---------- */
html[data-sl-dark] .thm-events .event-hero { background: radial-gradient(960px 400px at 88% -16%, rgba(217, 119, 6, .16), transparent 58%), radial-gradient(840px 380px at 2% 120%, rgba(14, 148, 136, .18), transparent 56%), linear-gradient(158deg, #141a24 0%, #151d2b 52%, #1b1a1c 100%); }
html[data-sl-dark] .thm-events .event-hero-flow i { color: rgba(20, 184, 166, .80); }
html[data-sl-dark] .thm-events .event-note { background: rgba(26, 29, 39, .80); border-color: rgba(20, 184, 166, .35); }
html[data-sl-dark] .thm-events .event-kicker { background: rgba(26, 29, 39, .80); border-color: rgba(20, 184, 166, .35); }
html[data-sl-dark] .thm-events .event-cal { background: rgba(26, 29, 39, .88); }
html[data-sl-dark] .thm-events .event-cal-day { color: #7fb0ff; }
html[data-sl-dark] .thm-events .event-tab { background: rgba(26, 29, 39, .72); }
html[data-sl-dark] .thm-events .event-tab.on { background: #2f6fed; }
html[data-sl-dark] .thm-events .event-code-input:focus { background: #1a1d27; }
/* 事件状态徽章（模板内联改为 class，亮色默认在 events.css，深色在此覆盖） */
html[data-sl-dark] .event-state { background: rgba(26, 29, 39, .85); }
html[data-sl-dark] .event-state-0 { color: #67e8f9; border-color: rgba(103, 232, 249, .40); }
html[data-sl-dark] .event-state-1 { color: #fde047; border-color: rgba(253, 224, 71, .40); }
html[data-sl-dark] .event-state-2 { color: #93c5fd; border-color: rgba(147, 197, 253, .40); }
html[data-sl-dark] .event-state-3 { color: #d1d5db; border-color: rgba(209, 213, 219, .35); }
html[data-sl-dark] .event-state-4 { color: #c4b5fd; border-color: rgba(196, 181, 253, .40); }
/* 直播/回放提示框（模板内联改为 class） */
html[data-sl-dark] .ticket-box { background: rgba(26, 29, 39, .88); border-color: rgba(139, 92, 246, .40); }
html[data-sl-dark] .ticket-box .ticket-title { color: #c4b5fd; }
html[data-sl-dark] .ticket-box .ticket-sub { color: #a8b1c5; }
html[data-sl-dark] .ticket-box.ticket-replay { border-color: rgba(74, 222, 128, .40); }
html[data-sl-dark] .ticket-box.ticket-replay .ticket-title { color: #86efac; }

/* ---------- 6. 部落 / 营地 ---------- */
html[data-sl-dark] .thm-circles .mod-kicker { background: linear-gradient(120deg, rgba(249, 115, 22, .18), rgba(249, 115, 22, .08)); }
html[data-sl-dark] .thm-circles .camp-hero { background: radial-gradient(1100px 420px at 82% -10%, rgba(249, 115, 22, .18), transparent 58%), radial-gradient(760px 360px at 4% 118%, rgba(234, 88, 12, .12), transparent 55%), linear-gradient(158deg, #1c1410 0%, #1d1712 55%, #16181d 100%); }
html[data-sl-dark] .thm-circles .camp-hero-note { background: rgba(26, 29, 39, .82); border-color: rgba(253, 186, 116, .50); color: #e2c9ab; }
html[data-sl-dark] .thm-circles .camp-kicker { background: rgba(26, 29, 39, .82); border-color: rgba(249, 115, 22, .45); }
html[data-sl-dark] .thm-circles .camp-title { color: #fde8cf; }
html[data-sl-dark] .thm-circles .camp-sub { color: #cbb7a2; }
html[data-sl-dark] .thm-circles .camp-sub b { color: #fdba74; }
html[data-sl-dark] .thm-circles .camp-feet span { background: rgba(26, 29, 39, .82); border-color: rgba(253, 186, 116, .45); color: #e2c9ab; }
html[data-sl-dark] .thm-circles .tribe-card { background: linear-gradient(180deg, #1d1912, #191b20 34%); }
html[data-sl-dark] .thm-circles .tribe-cover::before { background: linear-gradient(180deg, rgba(10, 11, 16, .45), rgba(10, 11, 16, 0)); }
html[data-sl-dark] .thm-circles .camp-tout { background: radial-gradient(600px 200px at 90% -30%, rgba(249, 115, 22, .14), transparent 60%), linear-gradient(180deg, rgba(30, 28, 22, .94), rgba(24, 26, 32, .88)); }
html[data-sl-dark] .thm-circles .camp-tout-title { color: #f5d9b8; }
html[data-sl-dark] .thm-circles .camp-tout-item { background: rgba(26, 29, 39, .72); }
html[data-sl-dark] .thm-circles .tribe-rule-panel { background: rgba(26, 29, 39, .85); color: #cbb7a2; }
html[data-sl-dark] .thm-circles .tribe-valley { background: linear-gradient(180deg, rgba(249, 115, 22, .14), #16181d); }
html[data-sl-dark] .thm-circles .tribe-post-folded { background: linear-gradient(160deg, #1e1c28, #1c2028); }
html[data-sl-dark] .thm-circles .tribe-cover .tribe-mood { background: rgba(18, 20, 28, .82); }
html[data-sl-dark] .thm-circles .tribe-heat-flag { background: rgba(18, 20, 28, .82); color: #e6e9f2; }
html[data-sl-dark] .thm-circles .tribe-mood-hot   { background: rgba(244, 63, 94, .18);  color: #fda4af; border-color: rgba(244, 63, 94, .38); }
html[data-sl-dark] .thm-circles .tribe-mood-quiet { background: rgba(148, 163, 184, .16); color: #cbd5e1; border-color: rgba(148, 163, 184, .34); }
html[data-sl-dark] .thm-circles .tribe-mood-pro   { background: rgba(96, 165, 250, .16);  color: #93c5fd; border-color: rgba(96, 165, 250, .38); }
html[data-sl-dark] .thm-circles .tribe-mood-chill { background: rgba(74, 222, 128, .14);  color: #86efac; border-color: rgba(74, 222, 128, .34); }
html[data-sl-dark] .thm-circles .tribe-mood-brain { background: rgba(167, 139, 250, .16); color: #c4b5fd; border-color: rgba(167, 139, 250, .38); }
html[data-sl-dark] .thm-circles .tribe-post-fields input:focus,
html[data-sl-dark] .thm-circles .tribe-post-form textarea:focus { background: #1a1d27; }
/* 模板内联 CoverCSS（无封面图时的暖渐变 banner）→ 深色覆盖 */
html[data-sl-dark] .thm-circles [style*="linear-gradient"] { background-image: radial-gradient(760px 320px at 80% -14%, rgba(249, 115, 22, .22), transparent 62%), linear-gradient(158deg, #241510, #171a1f 60%, #1c1420) !important; }

/* ---------- 7. 论坛共鸣板（echo）与帖子类型组件 ---------- */
html[data-sl-dark] .thm-forum .echo-hero { background: radial-gradient(1100px 420px at 82% -10%, rgba(139, 92, 246, .22), transparent 58%), radial-gradient(760px 360px at 4% 118%, rgba(124, 58, 237, .14), transparent 55%), linear-gradient(158deg, #171221, #1b1626 55%, #14161c 100%); }
html[data-sl-dark] .thm-forum .echo-hero .ph-kicker { background: rgba(26, 29, 39, .76); border-color: rgba(139, 92, 246, .45); }
html[data-sl-dark] .thm-forum .echo-hero .ph-title { color: #ddd6fe; }
html[data-sl-dark] .thm-forum .echo-hero .ph-note { color: #b9a8dd; }
html[data-sl-dark] .thm-forum .echo-hero-note { background: rgba(26, 29, 39, .78); border-color: rgba(139, 92, 246, .45); color: #c4b5fd; }
html[data-sl-dark] .thm-forum .echo-stat { background: linear-gradient(160deg, rgba(26, 29, 39, .88), rgba(76, 29, 149, .30)); }
html[data-sl-dark] .thm-forum .echo-post { background: linear-gradient(160deg, rgba(26, 29, 39, .92), rgba(76, 29, 149, .28)); }
html[data-sl-dark] .thm-forum .echo-post input:focus,
html[data-sl-dark] .thm-forum .echo-post textarea:focus { background: #1a1d27; }
html[data-sl-dark] .thm-forum .echo-badge-hot,
html[data-sl-dark] .thm-forum .echo-badge-echo { background: rgba(139, 92, 246, .16); color: #c4b5fd; border-color: rgba(139, 92, 246, .34); }
html[data-sl-dark] .thm-forum .echo-badge-cold { background: rgba(148, 163, 184, .14); color: #cbd5e1; }
html[data-sl-dark] .thm-forum .echo-badge-fire { background: rgba(244, 63, 94, .16); color: #fda4af; }
html[data-sl-dark] .thm-forum .echo-badge-deep { background: rgba(74, 222, 128, .14); color: #86efac; }
/* threads.css：投票 / 商品 / 辩论 / 视频抽屉 */
html[data-sl-dark] .thm-forum .pt-poll,
html[data-sl-dark] .thm-forum .pt-prod-card,
html[data-sl-dark] .thm-forum .pt-debate-side,
html[data-sl-dark] .thm-forum .pt-debate-ed-side,
html[data-sl-dark] .thm-forum .pt-video-side { background: linear-gradient(160deg, rgba(26, 29, 39, .92), rgba(76, 29, 149, .26)); }
html[data-sl-dark] .thm-forum .pt-poll-opt,
html[data-sl-dark] .thm-forum .pt-opt-row input,
html[data-sl-dark] .thm-forum .pt-debate-ed-side input,
html[data-sl-dark] .thm-forum .pt-debate-ed-side textarea { background: #1a1d27; border-color: rgba(139, 92, 246, .32); color: #e6e9f2; }
html[data-sl-dark] .thm-forum .pt-prod-img,
html[data-sl-dark] .thm-forum .pt-prod-fallback { background: rgba(255, 255, 255, .06); }
html[data-sl-dark] .thm-forum .pt-type-tab span { background: rgba(26, 29, 39, .82); }
html[data-sl-dark] .thm-forum .pt-video-jump,
html[data-sl-dark] .thm-forum .pt-drawer-btn,
html[data-sl-dark] .thm-forum .pt-layout-btn { background: rgba(255, 255, 255, .07); }
html[data-sl-dark] .thm-forum .pt-drawer-close { background: rgba(255, 255, 255, .08); }

/* ---------- 8. 新闻 / 官方 / 价格 / 演示 ---------- */
html[data-sl-dark] .news-tab { background: rgba(26, 29, 39, .82); }
html[data-sl-dark] .news-badge-new,
html[data-sl-dark] .news-badge-hot { background: rgba(47, 111, 237, .16); color: #93c5fd; }
html[data-sl-dark] .off-tab { background: rgba(26, 29, 39, .82); }
html[data-sl-dark] .pro-perk { background: rgba(26, 29, 39, .86); border-color: rgba(47, 111, 237, .22); }
html[data-sl-dark] .price-card { background: linear-gradient(180deg, rgba(30, 34, 48, .96), rgba(26, 29, 39, .92)); }
html[data-sl-dark] .price-qr { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12); }
html[data-sl-dark] .price-faq-item { background: rgba(26, 29, 39, .82); }
html[data-sl-dark] .off-download { background: linear-gradient(135deg, rgba(47, 111, 237, .22), rgba(30, 34, 48, .6)); }
html[data-sl-dark] .demo-modal { background: rgba(18, 20, 28, .96); }
html[data-sl-dark] .demo-x { background: rgba(255, 255, 255, .08); }
html[data-sl-dark] .demo-terms { background: rgba(255, 255, 255, .05); }
html[data-sl-dark] .demo-err { background: rgba(229, 72, 77, .12); color: #fda4af; }
html[data-sl-dark] .demo-kv code { background: rgba(255, 255, 255, .08); }
html[data-sl-dark] .demo-key-banner { background: rgba(47, 111, 237, .18); border-color: rgba(47, 111, 237, .42); }
html[data-sl-dark] .demo-terms li.key { background: rgba(255, 255, 255, .06); }
html[data-sl-dark] .off-ann-pin { background: rgba(47, 111, 237, .12); border-color: rgba(47, 111, 237, .32); color: #93c5fd; }

/* ---------- 9. 公告板 ---------- */
html[data-sl-dark] .bulletin-item { background: rgba(26, 29, 39, .90); }
html[data-sl-dark] .bulletin-tags span { background: rgba(255, 255, 255, .08); }
html[data-sl-dark] .bulletin-badge-pin,
html[data-sl-dark] .bulletin-badge-new { background: rgba(47, 111, 237, .16); color: #93c5fd; }

/* ---------- 10. 报纸 / 官媒 ---------- */
html[data-sl-dark] .press-flow { background: radial-gradient(800px 320px at 92% -6%, rgba(194, 65, 12, .12), transparent 60%), linear-gradient(180deg, #1c1a14, #191915); border-color: #2c3142; }
html[data-sl-dark] .press-lead { background: linear-gradient(180deg, #1e1b14, #1d1a13); border-color: #3a3042; }
html[data-sl-dark] .press-clip { background: linear-gradient(180deg, #1c1a13, #1a1915); border-color: #3a3042; }
html[data-sl-dark] .press-stat { background: rgba(26, 29, 39, .82); border-color: rgba(185, 28, 28, .35); }
html[data-sl-dark] .press-hero-badge { background: rgba(26, 29, 39, .86); border-color: rgba(185, 28, 28, .42); color: #fda4af; }
html[data-sl-dark] .press-hero-note { color: #d4c3a5; }
html[data-sl-dark] .press-hero-note b,
html[data-sl-dark] .press-stat b { color: #f87171; }
html[data-sl-dark] .press-stat span { color: #b7a37e; }
html[data-sl-dark] .press-clip-title,
html[data-sl-dark] .press-clip-title a,
html[data-sl-dark] .press-lead-title,
html[data-sl-dark] .press-lead-title a { color: #fca5a5; }
html[data-sl-dark] .press-clip-summary,
html[data-sl-dark] .press-lead-summary { color: #d4c3a5; }
html[data-sl-dark] .press-clip-meta,
html[data-sl-dark] .press-lead-meta { color: #b7a37e; }
html[data-sl-dark] .press-clip-more,
html[data-sl-dark] .press-lead-more { color: #f87171; }

/* ---------- 11. 工具 / 用户页 / 图库 / 文档 / 公告 ---------- */
html[data-sl-dark] .tool-hero { background: linear-gradient(135deg, #14203a, #17202e); border-color: rgba(79, 155, 255, .30); }
html[data-sl-dark] .profile-hero { background: linear-gradient(150deg, #101826, #161c28 60%, #10131a); }
html[data-sl-dark] .doc-note { background: linear-gradient(160deg, rgba(27, 42, 74, .55), rgba(26, 29, 39, .55)); border-color: rgba(255, 255, 255, .08); }
html[data-sl-dark] .pin-badge { background: rgba(249, 115, 22, .18); color: #fdba74; }
html[data-sl-dark] .gallery-copy { background: linear-gradient(90deg, rgba(27, 42, 74, .65), rgba(26, 29, 39, .5)); }


/* ============================================================
   深色模式：第二批覆盖（更新日志 / 关于页 / 活动全组件 / 文字色）
   ============================================================ */

/* ---------- 12. 更新日志 ---------- */
html[data-sl-dark] .ver-anniversary { background: radial-gradient(2.5px 2.5px at 12% 18%, rgba(246, 212, 138, .45), transparent 62%), radial-gradient(2px 2px at 86% 12%, rgba(232, 163, 61, .35), transparent 62%), linear-gradient(150deg, #211a10, #221b11 50%, #1a1712); }
html[data-sl-dark] .ver-anniversary h3 { color: #f2dfc0; }
html[data-sl-dark] .ver-anniversary p,
html[data-sl-dark] .ver-anniversary ul,
html[data-sl-dark] .ver-anniversary ol,
html[data-sl-dark] .ver-anniversary li { color: #cdbfa5; }
html[data-sl-dark] .ver-anniversary strong,
html[data-sl-dark] .ver-anniversary strong.hl { color: #f5c46a; background: rgba(217, 155, 43, .16); border-color: rgba(217, 155, 43, .30); }
html[data-sl-dark] .anniversary-badge { background: linear-gradient(135deg, rgba(217, 155, 43, .85), rgba(232, 163, 61, .75)); color: #2a1c04; }
html[data-sl-dark] .chg-tag.t-new { color: #6ee7a0; }
html[data-sl-dark] .chg-tag.t-opt { color: #7db4ff; }
html[data-sl-dark] .chg-tag.t-fix { color: #fbbf77; }
html[data-sl-dark] .chg-tag.t-sec { color: #fda4af; }
html[data-sl-dark] .chg-tag.t-adj { color: #c4b5fd; }

/* ---------- 13. 关于页（ab-*） ---------- */
html[data-sl-dark] .ab-hero { background: radial-gradient(1100px 420px at 8% -30%, rgba(47, 111, 237, .20), transparent 60%), radial-gradient(760px 360px at 100% 0%, rgba(74, 141, 255, .14), transparent 55%), linear-gradient(165deg, #101826 0%, #141c2c 100%); border-color: rgba(74, 141, 255, .28); }
html[data-sl-dark] .ab-title { color: #dbe7ff; }
html[data-sl-dark] .ab-lead { color: #a9b8d4; }
html[data-sl-dark] .ab-cta .btn-ghost { background: rgba(255, 255, 255, .08); border-color: rgba(124, 158, 255, .40); color: #9db9ff; }
html[data-sl-dark] .ab-stat,
html[data-sl-dark] .ab-band,
html[data-sl-dark] .ab-scene,
html[data-sl-dark] .ab-price,
html[data-sl-dark] .ab-story-who,
html[data-sl-dark] .ab-step,
html[data-sl-dark] .ab-q { background: rgba(26, 29, 39, .92); border-color: rgba(255, 255, 255, .08); }
html[data-sl-dark] .ab-stat b,
html[data-sl-dark] .ab-band > h2,
html[data-sl-dark] .ab-scene b,
html[data-sl-dark] .ab-price b,
html[data-sl-dark] .ab-step-body h3,
html[data-sl-dark] .ab-q summary { color: #dbe7ff; }
html[data-sl-dark] .ab-stat span,
html[data-sl-dark] .ab-band > .ab-sub,
html[data-sl-dark] .ab-note,
html[data-sl-dark] .ab-price span,
html[data-sl-dark] .ab-price strong i,
html[data-sl-dark] .ab-scene em { color: #8f9cb3; }
html[data-sl-dark] .ab-layer,
html[data-sl-dark] .ab-trust-item { background: rgba(24, 27, 38, .85); border-color: rgba(255, 255, 255, .08); }
html[data-sl-dark] .ab-layer b,
html[data-sl-dark] .ab-trust-item b { color: #7db4ff; }
html[data-sl-dark] .ab-layer p,
html[data-sl-dark] .ab-trust-item p,
html[data-sl-dark] .ab-step-body p,
html[data-sl-dark] .ab-step-body li,
html[data-sl-dark] .ab-story-who p,
html[data-sl-dark] .ab-scene p,
html[data-sl-dark] .ab-q-body { color: #b6c2d8; }
html[data-sl-dark] .ab-free { background: linear-gradient(160deg, rgba(201, 135, 26, .16), rgba(201, 135, 26, .08)); border-color: rgba(246, 197, 94, .35); }
html[data-sl-dark] .ab-free b { color: #f6c95e; }
html[data-sl-dark] .ab-free p { color: #d4c3a5; }
html[data-sl-dark] .ab-q summary::before { background: rgba(47, 111, 237, .22); color: #7db4ff; }
html[data-sl-dark] .ab-q[open] summary::before { background: #2f6fed; color: #fff; }
html[data-sl-dark] .ab-q-body code { background: rgba(255, 255, 255, .08); color: #dbe7ff; }
html[data-sl-dark] .ab-step-no { color: rgba(219, 232, 255, .25); }

/* ---------- 14. 活动详情 / 报名 / 票根 / 核验 ---------- */
html[data-sl-dark] .thm-events .event-article,
html[data-sl-dark] .thm-events .event-facts,
html[data-sl-dark] .thm-events .event-ticket,
html[data-sl-dark] .thm-events .event-scan,
html[data-sl-dark] .thm-events .event-manual,
html[data-sl-dark] .thm-events .event-result,
html[data-sl-dark] .thm-events .event-slip { background: rgba(26, 29, 39, .88); }
html[data-sl-dark] .thm-events .event-badge,
html[data-sl-dark] .thm-events .event-token,
html[data-sl-dark] .thm-events .event-kind-text { background: rgba(26, 29, 39, .82); }
html[data-sl-dark] .thm-events .event-field { background: rgba(18, 20, 28, .85); color: #e6e9f2; }
html[data-sl-dark] .thm-events .event-field:focus { background: #1a1d27; }
html[data-sl-dark] .thm-events .event-code-input { background: rgba(18, 20, 28, .85); color: #e6e9f2; }
html[data-sl-dark] .thm-events .event-code-input:focus { background: #1a1d27; }
html[data-sl-dark] .thm-events .event-tab.on em { background: rgba(255, 255, 255, .18); }
html[data-sl-dark] .thm-events .event-pro a { background: rgba(26, 29, 39, .82); }

/* ---------- 15. 论坛 / 公告板文字与标签 ---------- */
html[data-sl-dark] .thm-forum .echo-stat b,
html[data-sl-dark] .thm-forum .echo-post-title a { color: #ddd6fe; }
html[data-sl-dark] .bulletin-title a { color: #d6dde8; }
html[data-sl-dark] .bulletin-title a:hover { color: #a3d977; }
html[data-sl-dark] .bulletin-summary { color: #9aa7b8; }
html[data-sl-dark] .bulletin-meta { color: #8b97a8; }
html[data-sl-dark] .bulletin-tags span { color: #a3d977; }
html[data-sl-dark] .bulletin-badge-pin { background: rgba(217, 155, 43, .16); color: #fcd34d; }
html[data-sl-dark] .bulletin-badge-new { background: rgba(244, 63, 94, .14); color: #fda4af; }
