/* 配色方案 CSS 变量 - 默认霓虹青主题 */
/* 这些变量会在运行时被 JavaScript 动态更新 */

:root {
  /* 主色调 */
  --primary-color: #00ffff;
  --primary: var(--primary-color);
  --primary-light: #80ffff;
  --primary-dark: #00cccc;
  
  /* 辅助色 */
  --secondary-color: #ff00ff;
  --accent-color: #ff71ce;
  --success-color: #05ffa1;
  --warning-color: #f59e0b;
  --error-color: #f43f5e;
  
  /* 霓虹色 */
  --neon-cyan: #00ffff;
  --neon-magenta: #ff00ff;
  --neon-purple: #b967ff;
  --neon-pink: #ff71ce;
  
  /* 背景色 */
  --bg-primary: #0a0a0f;
  --bg-secondary: #12121a;
  --bg-tertiary: #1a1a25;
  --bg-card: rgba(20, 20, 35, 0.6);
  --bg-hover: rgba(0, 255, 255, 0.12);
  
  /* 文字色（霓虹青默认；切换方案后由 themeStore 覆盖） */
  --text-primary: #e2e8f0;
  --text-secondary: #94a3b8;
  --text-tertiary: #64748b;
  --text-muted: #64748b;
  
  /* 边框和发光 */
  --border-color: rgba(0, 255, 255, 0.25);
  --shadow-glow: 0 0 20px rgba(0, 255, 255, 0.5);
  --shadow-glow-magenta: 0 0 20px rgba(255, 0, 255, 0.5);
  --shadow-glow-purple: 0 0 20px rgba(185, 103, 255, 0.5);
  
  /* 顶栏/粘性工具栏：不透明背景，避免 backdrop-filter 与 fixed/sticky 叠加时滚动闪烁 */
  --header-bg: var(--bg-secondary);
  --sticky-bar-bg: var(--bg-secondary);

  /* 毛玻璃 */
  --glass-bg: rgba(20, 20, 35, 0.55);
  --glass-border: 1px solid rgba(0, 255, 255, 0.2);
  --glass-border-color: rgba(0, 255, 255, 0.2);

  /* 主色 RGB 分量（供 alpha 衍生变量使用） */
  --primary-rgb: 0, 255, 255;
  --secondary-rgb: 255, 0, 255;
  --success-rgb: 5, 255, 161;
  --warning-rgb: 245, 158, 11;
  --error-rgb: 244, 63, 94;
  --accent-rgb: 255, 113, 206;
  --rank-gold-rgb: 251, 191, 36;
  --info-rgb: 6, 182, 212;

  /* 主色 alpha 衍生变量 */
  --primary-alpha-5: rgba(var(--primary-rgb), 0.05);
  --primary-alpha-8: rgba(var(--primary-rgb), 0.08);
  --primary-alpha-10: rgba(var(--primary-rgb), 0.1);
  --primary-alpha-12: rgba(var(--primary-rgb), 0.12);
  --primary-alpha-15: rgba(var(--primary-rgb), 0.15);
  --primary-alpha-20: rgba(var(--primary-rgb), 0.2);
  --primary-alpha-30: rgba(var(--primary-rgb), 0.3);
  --primary-alpha-50: rgba(var(--primary-rgb), 0.5);

  /* 滚动条（全站默认，跟随主题主色；WebKit 宽度见 _scrollbar.less 固定 6px） */
  --scrollbar-track: rgba(0, 0, 0, 0.2);
  --scrollbar-thumb: var(--primary-alpha-30);
  --scrollbar-thumb-hover: var(--primary-alpha-50);

  /* 语义色 alpha 衍生变量 */
  --success-alpha-10: rgba(var(--success-rgb), 0.1);
  --success-alpha-20: rgba(var(--success-rgb), 0.2);
  --warning-alpha-10: rgba(var(--warning-rgb), 0.1);
  --warning-alpha-12: rgba(var(--warning-rgb), 0.12);
  --error-alpha-10: rgba(var(--error-rgb), 0.1);
  --error-alpha-20: rgba(var(--error-rgb), 0.2);
  --rank-gold-alpha-12: rgba(var(--rank-gold-rgb), 0.12);
  --rank-gold-alpha-35: rgba(var(--rank-gold-rgb), 0.35);
  --info-alpha-10: rgba(var(--info-rgb), 0.1);
  --info-alpha-20: rgba(var(--info-rgb), 0.2);

  /* 发光强度（文字默认 100%，旧版为 50%；边框/氛围默认 100%） */
  --text-glow-intensity: 1;
  --box-glow-intensity: 1;
  --ambient-glow-intensity: 1;

  /* 排名颜色 */
  --rank-gold: #fbbf24;
  --rank-silver: #94a3b8;
  --rank-bronze: #d97706;

  /* 叠加文字色（深色背景上白色文字） */
  --text-on-accent: #ffffff;

  /* 浅色主题徽章色（hunt-themed-light / data-hunt-editor-shell=light） */
  --light-badge-success-bg: #d1fae5;
  --light-badge-success-text: #047857;
  --light-badge-success-border: #6ee7b7;
  --light-badge-warning-bg: #fef3c7;
  --light-badge-warning-text: #b45309;
  --light-badge-warning-border: #fcd34d;
  --light-badge-error-bg: #ffe4e6;
  --light-badge-error-text: #be123c;
  --light-badge-error-border: #fda4af;
  --light-badge-magenta-bg: #fae8ff;
  --light-badge-magenta-text: #a21caf;
  --light-badge-magenta-border: #e879f9;
  --light-badge-purple-bg: #ede9fe;
  --light-badge-purple-text: #6d28d9;
  --light-badge-purple-border: #c4b5fd;

  /* 浅色主题通用背景 */
  --light-bg-primary: #f8fafc;
  --light-bg-secondary: #f3f4f6;
  --light-bg-card: #fffefb;
  --light-border: rgba(61, 56, 50, 0.18);
  --light-text-primary: #3d3832;
  --light-text-secondary: #64748b;
  --light-text-muted: #6b635a;

  /* 圆角半径（默认 50% 档位） */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
}

/* 平滑过渡效果 */
html {
  transition: background-color 0.3s ease;
}

html.theme-transition,
html.theme-transition *,
html.theme-transition *::before,
html.theme-transition *::after {
  transition: background-color 0.3s ease, 
              border-color 0.3s ease, 
              color 0.3s ease,
              box-shadow 0.3s ease,
              text-shadow 0.3s ease !important;
}

/**
 * 全站交互动效强制（须在 globals.css 末尾引入，优先级最高）
 * 可点击 = data-card-interactive="true" | data-surface="interactive" | 原生 a/button
 * 不可点击 = data-card-interactive="false" | data-surface="static"
 */

/* ── 不可点击 Card：禁止任何悬停动效 ── */
[class*='Card_card'][data-card-interactive='false'],
[class*='Card_card'][data-surface='static'] {
  cursor: default !important;
  transition: none !important;
}

[class*='Card_card'][data-card-interactive='false']:hover,
[class*='Card_card'][data-surface='static']:hover {
  /* 勿改 border/box-shadow：子区域悬停会冒泡到 Card，改色会像可点击 */
  transform: none !important;
  filter: none !important;
}

/* 静态 Card 保留角标纹饰，仅禁止悬停时放大 */
/* 对角样式静态卡片 */
[class*='Card_card'][data-card-interactive='false']:hover::before,
[class*='Card_card'][data-card-interactive='false']:hover::after,
[class*='Card_card'][data-surface='static']:hover::before,
[class*='Card_card'][data-surface='static']:hover::after {
  width: 18px !important;
  height: 18px !important;
}

/* 矩阵样式静态卡片 */
[class*='Card_card'][data-card-interactive='false'][data-corner-style='matrix']:hover::before,
[class*='Card_card'][data-card-interactive='false'][data-corner-style='matrix']:hover::after,
[class*='Card_card'][data-surface='static'][data-corner-style='matrix']:hover::before,
[class*='Card_card'][data-surface='static'][data-corner-style='matrix']:hover::after {
  width: 18px !important;
  height: 100% !important;
}

[class*='Card_card'][data-card-interactive='false'] [class*='glow'],
[class*='Card_card'][data-surface='static'] [class*='glow'] {
  opacity: 0 !important;
}

/* ── 可点击 Card：完整霓虹悬停（压过 Hunt / 列表壳层） ── */
[class*='Card_card'][data-card-interactive='true'],
[class*='Card_card'][data-surface='interactive'][role='button'] {
  cursor: pointer;
}

[class*='Card_card'][data-card-interactive='true']:hover {
  border-color: var(--primary-color) !important;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.4),
    0 0 24px rgba(var(--primary-rgb), calc(var(--box-glow-intensity, 1) * 0.35)),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  transform: translateY(-4px) !important;
}

[class*='Card_card'][data-card-interactive='true']:hover::before,
[class*='Card_card'][data-card-interactive='true']:hover::after {
  width: 32px !important;
  height: 32px !important;
}

/* 矩阵样式卡片悬停效果 - 保持 [] 符号效果 */
[class*='Card_card'][data-card-interactive='true'][data-corner-style='matrix']:hover::before,
[class*='Card_card'][data-card-interactive='true'][data-corner-style='matrix']:hover::after {
  height: 100% !important;
  width: 24px !important;
}

[class*='Card_card'][data-card-interactive='true']:hover [class*='glow'] {
  opacity: calc(var(--box-glow-intensity, 1) * 0.85) !important;
}

/* ── 自定义可点击行/块（非 Card 组件） ── */
[data-surface='interactive']:not([class*='Card_card']) {
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-surface='interactive']:not([class*='Card_card']):hover {
  transform: translateY(-2px);
}

/* ── 自定义静态块：禁止悬停视觉变化 ── */
[data-surface='static']:not([class*='Card_card']):not(a):not(button):not([role='button']) {
  cursor: default;
  transition: none !important;
}

[data-surface='static']:not([class*='Card_card']):not(a):not(button):not([role='button']):hover {
  /* 勿用 inherit：嵌在 Card 内会从父级取 glass 背景，悬停像可点击 */
  transform: none !important;
  filter: none !important;
}

/* 未标记的旧工具类：无 interactive 标记则禁止悬停浮起 */
.card-hover:not([data-surface='interactive']):not([data-card-interactive='true']):hover,
.neon-border:not([data-surface='interactive']):not([data-card-interactive='true']):hover {
  transform: none !important;
  box-shadow: inherit !important;
  border-color: inherit !important;
}

.card-hover[data-surface='interactive']:hover,
.card-hover[data-card-interactive='true']:hover,
.neon-border[data-surface='interactive']:hover,
.neon-border[data-card-interactive='true']:hover {
  transform: translateY(-4px);
}

/* 站点配色：themes.css 提供默认 token；首屏由 themeInitScript 同步用户所选方案 */

html {
  color: var(--text-primary);
  background-color: var(--bg-primary);
  color-scheme: dark;
}

html,
body {
  max-width: 100vw;
}

body {
  color: var(--text-primary);
  background-color: var(--bg-primary);
  min-height: 100vh;
}

/* 表单控件默认色常为纯黑，需显式继承主题文字色 */
button,
input,
textarea,
select {
  color: inherit;
  font-family: inherit;
}

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

/* Hunt 玩家端主题：将编辑器配色映射到详情/题图/题目页 */
.hunt-themed-page [class*='Card_card'] {
  --card-radius: calc(var(--hunt-radius-scale, 1) * 12px);
}

.hunt-themed-page [class*='Card_card']::before {
  border-top-left-radius: var(--card-radius);
}

.hunt-themed-page [class*='Card_card']::after {
  border-bottom-right-radius: var(--card-radius);
}

.hunt-themed-page[style*='--hunt-primary'] [class*='Card_card']::before {
  border-top-color: var(--hunt-primary, var(--primary-color));
  border-left-color: var(--hunt-primary, var(--primary-color));
}

.hunt-themed-page[style*='--hunt-accent'] [class*='Card_card']::after {
  border-bottom-color: var(--hunt-accent, var(--secondary-color));
  border-right-color: var(--hunt-accent, var(--secondary-color));
}

.hunt-themed-page[style*='--hunt-surface'] [class*='Card_card'] {
  background: var(--hunt-surface, rgba(18, 18, 26, 0.88)) !important;
}

.hunt-themed-page.hunt-themed-overlay [class*='Card_card'] {
  background: var(--hunt-surface, rgba(18, 18, 26, 0.88)) !important;
}

.hunt-themed-page [style*='--hunt-border-glow: 1'] [class*='Card_card'][data-card-interactive='false'],
.hunt-themed-page[style*='--hunt-border'] [class*='Card_card'][data-card-interactive='false'],
.hunt-themed-page.hunt-themed-overlay [class*='Card_card'][data-card-interactive='false'] {
  border-color: var(--hunt-border, rgba(0, 255, 255, 0.2)) !important;
  box-shadow: 0 0 0 1px var(--hunt-border, rgba(0, 255, 255, 0.2)), 0 8px 32px rgba(0, 0, 0, 0.35);
}

.hunt-themed-page [style*='--hunt-border-glow: 1'] [class*='Card_card'][data-card-interactive='false'] {
  box-shadow:
    0 0 0 1px var(--hunt-border, rgba(0, 255, 255, 0.2)),
    0 0 24px rgba(var(--primary-rgb), calc(var(--box-glow-intensity, 1) * 0.25)),
    0 8px 32px rgba(0, 0, 0, 0.35);
}

.hunt-themed-page[style*='--hunt-primary'] [class*='Card_card'][data-card-interactive='true']:hover {
  border-color: var(--hunt-primary, var(--primary-color)) !important;
}

.hunt-themed-page[style*='--hunt-primary'] [class*='Card_card'][data-card-interactive='true']:hover::before {
  border-top-color: var(--hunt-primary, var(--primary-color)) !important;
  border-left-color: var(--hunt-primary, var(--primary-color)) !important;
}

.hunt-themed-page[style*='--hunt-accent'] [class*='Card_card'][data-card-interactive='true']:hover::after {
  border-bottom-color: var(--hunt-accent, var(--secondary-color)) !important;
  border-right-color: var(--hunt-accent, var(--secondary-color)) !important;
}

.hunt-themed-light [class*='Card_card'],
body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Card_card'] {
  box-shadow:
    0 1px 2px rgba(61, 56, 50, 0.06),
    0 4px 20px rgba(61, 56, 50, 0.08);
}

body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Card_card'][data-card-interactive='true']:hover {
  border-color: var(--hunt-primary, var(--primary-color)) !important;
  box-shadow:
    0 8px 24px rgba(61, 56, 50, 0.14),
    0 0 28px rgba(var(--primary-rgb), calc(var(--box-glow-intensity, 1) * 0.28)),
    inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}

/* 浅色 Hunt 主题：徽章使用深色字与柔和底，避免霓虹浅色字看不清 */
.hunt-themed-light .hunt-ui-badge,
body[data-hunt-editor-shell='light'] .hunt-ui-badge {
  text-shadow: 0 0 calc(var(--text-glow-intensity, 1) * 8px)
    color-mix(in srgb, currentColor calc(var(--text-glow-intensity, 1) * 35%), transparent) !important;
}

.hunt-themed-light .hunt-ui-badge[data-variant='default'],
body[data-hunt-editor-shell='light'] .hunt-ui-badge[data-variant='default'] {
  background: color-mix(in srgb, var(--hunt-primary, #8b5a2b) 14%, #ffffff);
  color: color-mix(in srgb, var(--hunt-primary, #8b5a2b) 88%, #3d3832);
  border-color: color-mix(in srgb, var(--hunt-primary, #8b5a2b) 32%, transparent);
}

.hunt-themed-light .hunt-ui-badge[data-variant='primary'],
body[data-hunt-editor-shell='light'] .hunt-ui-badge[data-variant='primary'] {
  background: color-mix(in srgb, var(--hunt-primary, #8b5a2b) 22%, #ffffff);
  color: color-mix(in srgb, var(--hunt-primary, #8b5a2b) 92%, #3d3832);
  border-color: color-mix(in srgb, var(--hunt-primary, #8b5a2b) 40%, transparent);
}

.hunt-themed-light .hunt-ui-badge[data-variant='success'],
body[data-hunt-editor-shell='light'] .hunt-ui-badge[data-variant='success'] {
  background: var(--light-badge-success-bg);
  color: var(--light-badge-success-text);
  border-color: var(--light-badge-success-border);
}

.hunt-themed-light .hunt-ui-badge[data-variant='warning'],
body[data-hunt-editor-shell='light'] .hunt-ui-badge[data-variant='warning'] {
  background: var(--light-badge-warning-bg);
  color: var(--light-badge-warning-text);
  border-color: var(--light-badge-warning-border);
}

.hunt-themed-light .hunt-ui-badge[data-variant='error'],
body[data-hunt-editor-shell='light'] .hunt-ui-badge[data-variant='error'] {
  background: var(--light-badge-error-bg);
  color: var(--light-badge-error-text);
  border-color: var(--light-badge-error-border);
}

.hunt-themed-light .hunt-ui-badge[data-variant='magenta'],
body[data-hunt-editor-shell='light'] .hunt-ui-badge[data-variant='magenta'] {
  background: var(--light-badge-magenta-bg);
  color: var(--light-badge-magenta-text);
  border-color: var(--light-badge-magenta-border);
}

.hunt-themed-light .hunt-ui-badge[data-variant='purple'],
body[data-hunt-editor-shell='light'] .hunt-ui-badge[data-variant='purple'] {
  background: var(--light-badge-purple-bg);
  color: var(--light-badge-purple-text);
  border-color: var(--light-badge-purple-border);
}

/* 谜题 / Hunt 列表：跟随站点个人配色方案（themeStore → themes.css） */
.site-list-page {
  color: var(--text-primary);
}

.site-list-page [class*='filterPanel'] {
  background: var(--glass-bg) !important;
  border-color: var(--primary-alpha-10, var(--border-color)) !important;
}

.site-list-page [class*='Card_card'][data-card-interactive='false'] {
  background: var(--glass-bg) !important;
  border-color: var(--primary-alpha-15, var(--border-color)) !important;
}

.site-list-page [class*='Card_card'][data-card-interactive='true'] {
  background: var(--glass-bg) !important;
}

.site-list-page [class*='Card_card'][data-card-interactive='true']:hover {
  border-color: var(--primary-color) !important;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.4),
    0 0 24px rgba(var(--primary-rgb), calc(var(--box-glow-intensity, 1) * 0.35)),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  transform: translateY(-4px) !important;
}

.site-list-page [class*='chipActive'] {
  color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  background: var(--primary-alpha-12) !important;
}

.site-list-page [class*='chip']:not([class*='chipActive']):not([class*='chipCount']) {
  background: var(--bg-card, var(--glass-bg)) !important;
  color: var(--text-secondary) !important;
  border-color: var(--primary-alpha-15, var(--border-color)) !important;
}

.site-list-page [class*='Input_input'],
.site-list-page [class*='Select_select'] {
  background: var(--glass-bg, var(--bg-secondary)) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

.site-list-page [class*='Input_input']::placeholder {
  color: var(--text-muted) !important;
}

/* Hunt 玩家端：表单、链接与页眉/footer 跟随投稿人配色 */
.hunt-themed-page {
  color: var(--hunt-text, inherit);
}

.hunt-themed-page input:not([type='checkbox']):not([type='radio']):not([type='range']),
.hunt-themed-page textarea,
.hunt-themed-page select {
  background: var(--hunt-input-bg, var(--bg-secondary)) !important;
  border-color: var(--hunt-border, var(--border-color)) !important;
  color: var(--hunt-text, var(--text-primary)) !important;
  -webkit-text-fill-color: var(--hunt-text, var(--text-primary)) !important;
  caret-color: var(--hunt-text, var(--text-primary));
  opacity: 1;
  -webkit-user-select: text;
  -moz-user-select: text;
       user-select: text;
}

/* 题面/Plog 标题：与纸面同色，不要表单输入框底色 */
.hunt-themed-page input[data-puzzle-title-input] {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  caret-color: currentColor;
}

.hunt-themed-page input::placeholder,
.hunt-themed-page textarea::placeholder {
  color: var(--hunt-muted, var(--text-muted)) !important;
}

.hunt-themed-page [class*='textarea'] {
  background: var(--hunt-input-bg, var(--glass-bg)) !important;
  border-color: var(--hunt-border, var(--border-color)) !important;
  color: var(--hunt-text, var(--text-primary)) !important;
}

/* Select 下拉 portal 到 body，依赖 body[data-hunt-editor-shell] 上的 shell 变量 */
body[data-hunt-editor-shell] [class*='dropdown'] {
  background: var(--bg-primary, var(--bg-secondary)) !important;
  border-color: var(--hunt-border, var(--border-color)) !important;
}

body[data-hunt-editor-shell] [class*='option'] {
  color: var(--hunt-text, var(--text-primary)) !important;
}

body[data-hunt-editor-shell] [class*='option']:hover {
  background: var(--bg-tertiary, rgba(var(--primary-rgb), 0.08)) !important;
}

body[data-hunt-editor-shell] [class*='option'][class*='selected'] {
  color: var(--primary-color) !important;
  background: var(--primary-alpha-8, rgba(var(--primary-rgb), 0.12)) !important;
}

body[data-hunt-editor-shell] header,
body[data-hunt-player-shell] header {
  background: var(--glass-bg, rgba(10, 10, 15, 0.88)) !important;
  border-bottom-color: var(--border-color, rgba(0, 255, 255, 0.2)) !important;
  color: var(--text-primary, #e2e8f0);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
}

body[data-hunt-editor-shell='light'] header,
body[data-hunt-player-shell='light'] header {
  box-shadow: 0 1px 0 rgba(61, 56, 50, 0.1) !important;
}

/* Hunt 浅色主题：顶栏 alpha 标与浅色界面一致 */
body[data-hunt-editor-shell='light'] header [class*='logoAlphaBadge'],
body[data-hunt-player-shell='light'] header [class*='logoAlphaBadge'] {
  background: var(--hunt-surface, var(--bg-card, #fffefb)) !important;
  border-color: var(--hunt-border, var(--border-color, rgba(61, 56, 50, 0.22))) !important;
  color: var(--hunt-primary, var(--primary-color)) !important;
  -webkit-text-fill-color: var(--hunt-primary, var(--primary-color)) !important;
}

body[data-hunt-editor-shell='light'] header [class*='logoAlphaMark'],
body[data-hunt-player-shell='light'] header [class*='logoAlphaMark'] {
  background-color: var(--hunt-primary, var(--primary-color)) !important;
}

body[data-hunt-editor-shell='light'] {
  background-image: none !important;
  background-color: var(--bg-primary, #f8fafc) !important;
}

/* 浅色编辑界面：表单控件与 Hunt 玩家端一致 */
body[data-hunt-editor-shell='light'] input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']),
body[data-hunt-editor-shell='light'] textarea,
body[data-hunt-editor-shell='light'] select {
  color-scheme: light;
  background: var(--hunt-input-bg, var(--bg-card, #fffefb)) !important;
  border-color: var(--border-color, rgba(61, 56, 50, 0.18)) !important;
  color: var(--text-primary, #3d3832) !important;
}

body[data-hunt-editor-shell='light'] input::placeholder,
body[data-hunt-editor-shell='light'] textarea::placeholder {
  color: var(--text-muted, #7a7268) !important;
}

body[data-hunt-editor-shell='light'] [class*='Input_input'],
body[data-hunt-editor-shell='light'] [class*='Input_numberInput'],
body[data-hunt-editor-shell='light'] [class*='UI_textarea'],
body[data-hunt-editor-shell='light'] [class*='Select_select'] {
  color-scheme: light;
  background: var(--hunt-input-bg, var(--bg-card, #fffefb)) !important;
  border-color: var(--border-color, rgba(61, 56, 50, 0.18)) !important;
  color: var(--text-primary, #3d3832) !important;
}

body[data-hunt-editor-shell='light'] [class*='Input_numberContainer'] {
  background: var(--hunt-input-bg, var(--bg-card, #fffefb)) !important;
  border-color: var(--border-color, rgba(61, 56, 50, 0.18)) !important;
}

body[data-hunt-editor-shell='light'] [class*='Input_numberSteppers'] {
  border-left-color: var(--border-color, rgba(61, 56, 50, 0.14)) !important;
  background: var(--bg-secondary, #f3f4f6) !important;
}

body[data-hunt-editor-shell='light'] [class*='Input_label'],
body[data-hunt-editor-shell='light'] [class*='Select_label'],
body[data-hunt-editor-shell='light'] [class*='UI_label'] {
  color: var(--text-secondary, #64748b) !important;
}

/* 浅色编辑界面：开关轨道/旋钮边框（原深色用半透明白边，纸感底上不可见） */
body[data-hunt-editor-shell='light'] [class*='toggleInline'] input[type='checkbox'] {
  border-color: var(--border-color, rgba(61, 56, 50, 0.28)) !important;
  background: var(--bg-secondary, #ebe3d6) !important;
  box-shadow: inset 0 1px 2px rgba(61, 56, 50, 0.06);
}

body[data-hunt-editor-shell='light'] [class*='toggleInline'] input[type='checkbox']::after {
  box-shadow: 0 1px 3px rgba(61, 56, 50, 0.18);
}

body[data-hunt-editor-shell='light'] [class*='toggleKnob'] {
  background: var(--bg-secondary, #ebe3d6) !important;
  border-color: var(--border-color, rgba(61, 56, 50, 0.32)) !important;
}

body[data-hunt-editor-shell='light'] [class*='toggleCardActive'] [class*='toggleKnob'] {
  background: color-mix(in srgb, var(--primary-color) 22%, var(--bg-secondary, #ebe3d6)) !important;
  border-color: color-mix(in srgb, var(--primary-color) 45%, var(--border-color, rgba(61, 56, 50, 0.32))) !important;
}

body[data-hunt-editor-shell='light'] [class*='toggleCardActive'] [class*='toggleKnob']::after {
  background: #fffefb !important;
  box-shadow: 0 1px 3px rgba(61, 56, 50, 0.18) !important;
}

body[data-hunt-editor-shell='light'] [class*='toggleInline'] input[type='checkbox']:checked {
  border-color: color-mix(in srgb, var(--primary-color) 45%, var(--border-color, rgba(61, 56, 50, 0.28))) !important;
  background: color-mix(in srgb, var(--primary-color) 22%, var(--bg-secondary, #ebe3d6)) !important;
  box-shadow:
    inset 0 1px 2px rgba(61, 56, 50, 0.06),
    0 0 0 1px color-mix(in srgb, var(--primary-color) 35%, transparent) !important;
}

body[data-hunt-editor-shell='light'] [class*='toggleInline'] input[type='checkbox']:checked::after {
  background: #fffefb !important;
  box-shadow: 0 1px 3px rgba(61, 56, 50, 0.18) !important;
}

body[data-hunt-editor-shell='light'] [class*='pillToggle'],
body[data-hunt-editor-shell='light'] [class*='depChip'],
body[data-hunt-editor-shell='light'] [class*='pill'] {
  border-color: var(--border-color, rgba(61, 56, 50, 0.18)) !important;
  background: var(--bg-secondary, #f3f4f6) !important;
}

body[data-hunt-editor-shell='light'] [class*='editorToneSwitch'] {
  border-color: var(--border-color, rgba(61, 56, 50, 0.16)) !important;
}

body[data-hunt-editor-shell] [class*='mainLayout'],
body[data-hunt-player-shell] [class*='mainLayout'] {
  background-color: transparent !important;
}

body[data-hunt-editor-shell] header a,
body[data-hunt-editor-shell] header button,
body[data-hunt-editor-shell] header span {
  color: inherit;
}

body[data-hunt-editor-shell] footer,
body[data-hunt-player-shell] footer {
  background: var(--glass-bg, rgba(20, 20, 35, 0.6)) !important;
  border-top-color: var(--border-color, rgba(0, 255, 255, 0.2)) !important;
  color: var(--text-secondary, #94a3b8);
}

body[data-hunt-editor-shell='light'] footer,
body[data-hunt-player-shell='light'] footer {
  background: var(--glass-bg, rgba(255, 253, 248, 0.94)) !important;
  border-top-color: var(--border-color, rgba(61, 56, 50, 0.14)) !important;
  color: var(--text-secondary, #6b635a);
  box-shadow: 0 -1px 0 rgba(61, 56, 50, 0.06);
}

body[data-hunt-editor-shell] footer [class*='footerLogo'],
body[data-hunt-player-shell] footer [class*='footerLogo'] {
  color: var(--text-primary, #e2e8f0);
}

body[data-hunt-editor-shell='light'] footer [class*='footerLogo'],
body[data-hunt-player-shell='light'] footer [class*='footerLogo'] {
  color: var(--text-primary, #3d3832);
}

body[data-hunt-editor-shell] footer [class*='footerLogoIcon'],
body[data-hunt-player-shell] footer [class*='footerLogoIcon'] {
  color: var(--hunt-primary, var(--primary-color));
}

body[data-hunt-editor-shell] footer [class*='footerDesc'],
body[data-hunt-editor-shell] footer [class*='footerLink'],
body[data-hunt-editor-shell] footer [class*='copyright'],
body[data-hunt-editor-shell] footer [class*='version'],
body[data-hunt-player-shell] footer [class*='footerDesc'],
body[data-hunt-player-shell] footer [class*='footerLink'],
body[data-hunt-player-shell] footer [class*='copyright'],
body[data-hunt-player-shell] footer [class*='version'] {
  color: var(--text-muted, var(--text-secondary, #94a3b8));
}

body[data-hunt-editor-shell] footer [class*='footerLink']:hover,
body[data-hunt-player-shell] footer [class*='footerLink']:hover {
  color: var(--hunt-primary, var(--primary-color));
}

body[data-hunt-editor-shell] footer [class*='footerInner'],
body[data-hunt-player-shell] footer [class*='footerInner'],
body[data-hunt-editor-shell] footer [class*='footerBottom'],
body[data-hunt-player-shell] footer [class*='footerBottom'] {
  border-color: var(--border-color, rgba(0, 255, 255, 0.2));
}

/* Hunt 编辑页 Card：角标圆角与主站一致；默认阴影仅静态 表单卡 */
body[data-hunt-editor-shell] [class*='Card_card'] {
  --card-radius: calc(var(--hunt-radius-scale, 1) * 18px);
  border-color: var(--hunt-border, var(--border-color)) !important;
}

body[data-hunt-editor-shell] [class*='Card_card']::before {
  border-top-color: var(--hunt-primary, var(--primary-color)) !important;
  border-left-color: var(--hunt-primary, var(--primary-color)) !important;
}

body[data-hunt-editor-shell] [class*='Card_card']::after {
  border-bottom-color: var(--hunt-accent, var(--secondary-color)) !important;
  border-right-color: var(--hunt-accent, var(--secondary-color)) !important;
}

body[data-hunt-editor-shell] [class*='Card_card'][data-card-interactive='false'] {
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

body[data-hunt-editor-shell] [class*='Card_card']::before {
  border-top-left-radius: var(--card-radius);
}

body[data-hunt-editor-shell] [class*='Card_card']::after {
  border-bottom-right-radius: var(--card-radius);
}

body[data-hunt-editor-shell='light'] [class*='Card_card'][data-card-interactive='false'] {
  box-shadow:
    0 1px 2px rgba(61, 56, 50, 0.06),
    0 4px 18px rgba(61, 56, 50, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

body[data-hunt-editor-shell='light'] [class*='Card_card'][data-card-interactive='true']:hover {
  border-color: var(--hunt-primary, var(--primary-color)) !important;
  box-shadow:
    0 8px 24px rgba(61, 56, 50, 0.14),
    0 0 28px rgba(var(--primary-rgb), calc(var(--box-glow-intensity, 1) * 0.28)),
    inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}

body[data-hunt-editor-shell='light'] [class*='Card_card']::before,
body[data-hunt-editor-shell='light'] [class*='Card_card']::after {
  opacity: 0.75;
}

body[data-hunt-editor-shell='light'] [class*='Card_card'] [class*='Card_title'] {
  text-shadow: none;
}

/* 浅色 Hunt：按钮与徽章使用纸感主色，弱化霓虹
 * 除 body shell 外，页面根上的 .hunt-themed-page.hunt-themed-light 也须命中（主题变量在页面节点，body 标记可能晚于首屏） */
body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button'],
.hunt-themed-page.hunt-themed-light [class*='Button_button'] {
  color: var(--hunt-text, var(--text-primary));
}

body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button'][class*='primary'],
.hunt-themed-page.hunt-themed-light [class*='Button_button'][class*='primary'] {
  color: #fffefb;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--hunt-primary, var(--primary-color, #8b5a2b)) 88%, #3d3832),
    color-mix(in srgb, var(--hunt-accent, var(--secondary-color, #2f6b5a)) 75%, #3d3832)
  ) !important;
}

body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button'][class*='secondary'],
body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button'][class*='ghost'],
.hunt-themed-page.hunt-themed-light [class*='Button_button'][class*='secondary'],
.hunt-themed-page.hunt-themed-light [class*='Button_button'][class*='ghost'] {
  color: var(--hunt-muted, var(--text-secondary));
}

body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button'][class*='secondary']:hover,
body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button'][class*='ghost']:hover,
.hunt-themed-page.hunt-themed-light [class*='Button_button'][class*='secondary']:hover,
.hunt-themed-page.hunt-themed-light [class*='Button_button'][class*='ghost']:hover {
  color: var(--hunt-primary, var(--primary-color));
}

body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button']::before,
.hunt-themed-page.hunt-themed-light [class*='Button_button']::before {
  background: linear-gradient(
    135deg,
    var(--hunt-primary, var(--primary-color)),
    var(--hunt-accent, var(--secondary-color))
  );
}

body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button']::after,
.hunt-themed-page.hunt-themed-light [class*='Button_button']::after {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--hunt-primary, var(--primary-color)) 12%, transparent),
    color-mix(in srgb, var(--hunt-accent, var(--secondary-color)) 10%, transparent)
  );
}

body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button'][class*='primary']:hover,
.hunt-themed-page.hunt-themed-light [class*='Button_button'][class*='primary']:hover {
  box-shadow: 0 2px 10px color-mix(in srgb, var(--hunt-primary, var(--primary-color, #8b5a2b)) 28%, transparent) !important;
}

/* 浅色玩家壳：Switch 轨道与滑块高对比 */
body[data-hunt-player-shell='light'] .hunt-themed-page [class*='switch'][class*='checked'] {
  background: color-mix(
    in srgb,
    var(--hunt-primary, var(--primary-color)) 22%,
    var(--bg-secondary, #ebe3d6)
  ) !important;
  border-color: color-mix(
    in srgb,
    var(--hunt-primary, var(--primary-color)) 45%,
    var(--border-color, rgba(61, 56, 50, 0.28))
  ) !important;
}

body[data-hunt-player-shell='light'] .hunt-themed-page [class*='switch'][class*='checked'] [class*='switchHandle'] {
  background: #fffefb !important;
  border: 1px solid rgba(61, 56, 50, 0.12);
  box-shadow: 0 1px 3px rgba(61, 56, 50, 0.18) !important;
}

/* 浅色编辑界面：HuntEdit / PuzzleEditor 顶栏按钮（无需 .hunt-themed-page 包裹） */
body[data-hunt-editor-shell='light'] [class*='Button_button'] {
  color: var(--hunt-text, var(--text-primary));
}

body[data-hunt-editor-shell='light'] [class*='Button_button'][class*='primary'] {
  color: #fffefb;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--hunt-primary, #8b5a2b) 88%, #3d3832),
    color-mix(in srgb, var(--hunt-accent, #2f6b5a) 75%, #3d3832)
  );
}

body[data-hunt-editor-shell='light'] [class*='Button_button'][class*='secondary'],
body[data-hunt-editor-shell='light'] [class*='Button_button'][class*='ghost'] {
  color: var(--hunt-muted, var(--text-secondary));
}

body[data-hunt-editor-shell='light'] [class*='Button_button'][class*='secondary']:hover,
body[data-hunt-editor-shell='light'] [class*='Button_button'][class*='ghost']:hover {
  color: var(--hunt-primary, var(--primary-color));
}

body[data-hunt-editor-shell='light'] [class*='Button_button']::before {
  background: linear-gradient(
    135deg,
    var(--hunt-primary, var(--primary-color)),
    var(--hunt-accent, var(--secondary-color))
  );
}

body[data-hunt-editor-shell='light'] [class*='Button_button']::after {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--hunt-primary, var(--primary-color)) 12%, transparent),
    color-mix(in srgb, var(--hunt-accent, var(--secondary-color)) 10%, transparent)
  );
}

body[data-hunt-editor-shell='light'] [class*='Button_button'][class*='primary']:hover {
  box-shadow: 0 2px 10px color-mix(in srgb, var(--hunt-primary, #8b5a2b) 28%, transparent) !important;
}

.hunt-themed-light [class*='Button_button'],
body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button'],
body[data-hunt-editor-shell='light'] [class*='Button_button'] {
  text-shadow: 0 0 calc(var(--text-glow-intensity, 1) * 8px)
    color-mix(
      in srgb,
      var(--hunt-primary, var(--primary-color)) calc(var(--text-glow-intensity, 1) * 25%),
      transparent
    ) !important;
}

.hunt-themed-light [class*='Button_button']::before,
body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button']::before,
body[data-hunt-editor-shell='light'] [class*='Button_button']::before {
  opacity: 0.45;
}

.hunt-themed-light [class*='Button_button']::after,
body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button']::after,
body[data-hunt-editor-shell='light'] [class*='Button_button']::after {
  opacity: 0;
}

.hunt-themed-light [class*='Button_button'][class*='primary']:hover,
body[data-hunt-player-shell='light'] .hunt-themed-page [class*='Button_button'][class*='primary']:hover,
body[data-hunt-editor-shell='light'] [class*='Button_button'][class*='primary']:hover {
  box-shadow: 0 2px 8px color-mix(in srgb, var(--hunt-primary, #8b5a2b) 22%, transparent) !important;
  transform: translateY(-1px);
}

a {
  color: inherit;
  text-decoration: none;
}

@media (prefers-color-scheme: dark) {
  html {
    color-scheme: dark;
  }
}

html[data-theme='dark'] {
  color-scheme: dark;
}

html[data-theme='light'] {
  color-scheme: light;
}

/* 展示用富文本：无内联色时由容器兜底（Hunt 题面优先 --hunt-text） */
html[data-theme='dark'] [data-readable-rich] {
  color: var(--hunt-text, var(--text-primary));
}

html[data-theme='dark'] [data-readable-rich] :where(p, li, div, td, th, h1, h2, h3, h4, blockquote, pre, code) {
  color: inherit;
}

/* 题面/活动富文本：展示宽 = min(编辑器设定, 容器宽)，全端统一 */
[data-readable-rich] {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

[data-readable-rich] img,
[data-readable-rich] video {
  max-width: 100%;
  height: auto !important;
  box-sizing: border-box;
}

[data-readable-rich] img {
  display: inline-block;
  vertical-align: top;
}

[data-readable-rich] :where(div, p, span, figure, table) {
  max-width: 100%;
  box-sizing: border-box;
}

[data-readable-rich] table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* 全站交互动效强制（必须最后加载） */

/* 静态 Card 悬停兜底（与 interaction-enforcement 同步，避免子元素悬停触发父 Card 假动效） */
[class*='Card_card'][data-card-interactive='false']:hover,
[class*='Card_card'][data-surface='static']:hover {
  transform: none !important;
  filter: none !important;
}

/* 主题自定义预览模式：隐藏 Modal 内容但保持预览效果 */
.theme-modal-preview-mode .modalBody {
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

/* ===== Excalidraw 白板弹窗 z-index 提升 =====
 * 白板 z-index 为 30100，弹窗需要更高才能正常显示 */

.excalidraw.excalidraw-modal-container{
  z-index: 10120 !important;
}

.excalidraw a.dropdown-menu-item[href="https://x.com/excalidraw"],.excalidraw a.dropdown-menu-item[href="https://discord.gg/UexuTaE"]{
  display: none;
}

