/* ============================================================
   杨梅AI百科 · 第一期轻量化UI覆盖层  design-part1.css
   依据：DESIGN-part1.md（第一期）
   原则：仅外观层——不修改任何 DOM 结构、布局、导航、背景；
        js/data 知识库数据零改动；兼容原有 class（卡片类 .gk-term）。
       色彩体系：冷调黑白红——浅色冷白灰/深石墨黑，深色深石墨冷炭黑/冷白，红色仅克制点缀。
   品牌：杨梅玫瑰红 #BF3B44（仅点缀三处：导航激活 / 卡片强调条 / hover 高亮）
   ============================================================ */

/* ---------- 一、变量：品牌玫瑰红 + 中性阶 + A/B/C 标签色（浅色） ---------- */
:root {
  --dp1-rose: #BF3B44;            /* 品牌冷调杨梅红（莓红） */
  --dp1-rose-deep: #A3323A;       /* 压感深莓红 */
  --dp1-rose-soft: #F4E7EA;       /* 冷调浅红底 */
  --dp1-rose-text: #A83846;       /* 正文强调链接 */
  --dp1-card-bg: rgba(250, 251, 253, 0.86);  /* 卡片底（半透明冷白灰，非米白） */
  --dp1-card-bg-hover: #F3F6FA;   /* 悬停冷提亮 */
  --dp1-card-bg-open: #FFFFFF;    /* 展开态冷白 */
  --dp1-hairline: rgba(15, 23, 42, 0.08);    /* 冷灰发丝描边 */
  --dp1-text: #111827;            /* 深石墨黑主文字 */
  --dp1-text-2: #3E4A5C;          /* 次级冷石墨 */
  --dp1-text-muted: #64748B;      /* 弱级冷灰蓝 */
  --dp1-shadow-rest: 0 1px 2px rgba(15,23,42,0.06), 0 4px 12px rgba(15,23,42,0.06);
  --dp1-shadow-hover: 0 2px 6px rgba(15,23,42,0.08), 0 10px 24px rgba(15,23,42,0.10);
  /* A/B/C 业务标签（红色仅 A 类小面积强调，B/C 冷中性） */
  --dp1-tier-a-bg: #FCE7EA;  --dp1-tier-a-fg: #B03A48;
  --dp1-tier-b-bg: #EDF1F7;  --dp1-tier-b-fg: #475569;
  --dp1-tier-c-bg: #F1F2F6;  --dp1-tier-c-fg: #5A6478;
}

/* ---------- 变量：深色（深石墨冷炭黑） ---------- */
[data-theme="dark"] {
  --dp1-rose: #C24A52;
  --dp1-rose-deep: #D26068;
  --dp1-rose-soft: #3C2329;
  --dp1-rose-text: #E07A86;
  --dp1-card-bg: #161B24;         /* 深石墨冷炭黑（非暖棕） */
  --dp1-card-bg-hover: #1C2230;   /* 悬停冷提亮 */
  --dp1-card-bg-open: #191F2A;    /* 展开态 */
  --dp1-hairline: rgba(226, 232, 240, 0.08);  /* 深冷灰发丝 */
  --dp1-text: #F4F6F8;            /* 冷白主文字 */
  --dp1-text-2: #C5CDD8;          /* 次级冷灰 */
  --dp1-text-muted: #8E99A8;      /* 弱级冷灰 */
  --dp1-shadow-rest: 0 1px 2px rgba(0,0,0,0.40), 0 4px 12px rgba(0,0,0,0.45);
  --dp1-shadow-hover: 0 2px 6px rgba(0,0,0,0.40), 0 10px 24px rgba(0,0,0,0.50);
  --dp1-tier-a-bg: #3A1F26;  --dp1-tier-a-fg: #F0A0A8;
  --dp1-tier-b-bg: #232B38;  --dp1-tier-b-fg: #A8B4C6;
  --dp1-tier-c-bg: #262833;  --dp1-tier-c-fg: #B0B4C6;
}

/* ---------- 二、全局过渡统一 240ms ease-out ---------- */
*,
*::before,
*::after {
  transition-duration: 240ms !important;
  transition-timing-function: ease-out !important;
}
/* 粒子画布等不受 CSS 过渡控制，显式豁免 */
canvas { transition: none !important; }

/* ---------- 三、品牌玫瑰红点缀（三处） ---------- */
/* ① 导航激活态（保持原有结构，仅换点缀色；特异性对齐 nav 内联 [data-theme] 规则） */
.navbar-link.active,
[data-theme="light"] .navbar-link.active {
  color: var(--dp1-rose) !important;
  background: rgba(191, 59, 68, 0.10) !important;
}
[data-theme="dark"] .navbar-link.active {
  color: #E07A86 !important;
  background: rgba(194, 74, 82, 0.16) !important;
}
/* ②③ 卡片强调条 + hover 高亮：见下方 .gk-term 段 */

/* ---------- 四、A/B/C 业务标签（圆点+文字，深浅自适应） ---------- */
.tier-pill,
.tier-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  border: 1px solid transparent;
}
.tier-pill::before,
.tier-badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex: none;
  background: currentColor;
  opacity: 0.85;
}
.tier-pill.tier-a, .tier-badge.tier-a { background: var(--dp1-tier-a-bg); color: var(--dp1-tier-a-fg); }
.tier-pill.tier-b, .tier-badge.tier-b { background: var(--dp1-tier-b-bg); color: var(--dp1-tier-b-fg); }
.tier-pill.tier-c, .tier-badge.tier-c { background: var(--dp1-tier-c-bg); color: var(--dp1-tier-c-fg); }
/* 浅色模式下深色文字标签的边框微强调 */
[data-theme="light"] .tier-pill,
[data-theme="light"] .tier-badge { border-color: rgba(60, 30, 25, 0.08); }

/* ---------- 五、词条卡片 .gk-term（列表行 → 卡片外观，DOM 零改动） ---------- */
.gk-term {
  position: relative !important;
  border: 1px solid var(--dp1-hairline) !important;
  border-bottom: 1px solid var(--dp1-hairline) !important;
  border-radius: 16px !important;
  background: var(--dp1-card-bg) !important;
  box-shadow: var(--dp1-shadow-rest) !important;
  margin-bottom: 12px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  transition:
    transform 240ms ease-out,
    background-color 240ms ease-out,
    box-shadow 240ms ease-out,
    border-color 240ms ease-out;
}
.gk-term:last-child { margin-bottom: 0 !important; }
/* 左侧品牌强调条（保留原 ::before 机制，改玫瑰红渐变 + 240ms） */
.gk-term::before {
  width: 3px !important;
  background: linear-gradient(180deg, var(--dp1-rose), rgba(191, 59, 68, 0.18)) !important;
  transition: transform 240ms ease-out !important;
}
/* hover：仅上移 2px + 提亮 + 强调条显现 + 阴影升档（禁缩放旋转） */
.gk-term:hover {
  transform: translateY(-2px) !important;
  background: var(--dp1-card-bg-hover) !important;
  box-shadow: var(--dp1-shadow-hover) !important;
  border-color: rgba(191, 59, 68, 0.30) !important;
}
.gk-term:hover > .gk-num,
.gk-term.is-open > .gk-num { color: var(--dp1-rose) !important; }
.gk-term.is-open {
  background: var(--dp1-card-bg-open) !important;
  box-shadow: var(--dp1-shadow-rest) !important;
}
.gk-term:hover::before,
.gk-term.is-open::before { transform: scaleY(1) !important; }

/* 磨砂玻璃（浏览器支持时）：卡片半透明 + 背景高斯模糊 */
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
  .gk-term {
    backdrop-filter: blur(18px) saturate(1.35) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.35) !important;
  }
}
/* 降级：不支持 backdrop-filter → 强制实色兜底，页面不破损 */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .gk-term { background: #FFFFFF !important; }
  [data-theme="dark"] .gk-term { background: #161B24 !important; }
}

/* ---------- 六、系统减少动画偏好：关闭全部动画 ---------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
  .gk-term:hover { transform: none !important; }
}

/* ---------- 七、双端安全：卡片内容不溢出、无横向滚动 ---------- */
.gk-term { min-width: 0; }
.gk-term > * { min-width: 0; }


/* ---------- 八、首页资源分类卡片 .resource-card（冷调黑白红分层） ---------- */
/* 通用：圆角16 / 发丝描边 / 冷阴影 / 240ms */
.resource-card {
  border-radius: 16px !important;
  border: 1px solid var(--dp1-hairline) !important;
  box-shadow: var(--dp1-shadow-rest) !important;
  transition: transform 240ms ease-out, background-color 240ms ease-out,
              border-color 240ms ease-out, box-shadow 240ms ease-out !important;
}
/* 六卡各自独立背景：多梯度冷调层次（底层 + 雾化色块 + 极弱莓红暗部反光），每卡不同主调 */
[data-theme="dark"] .resource-card:nth-child(1) {
  background-color: #0F1115 !important;
  background-image: radial-gradient(120% 90% at 15% 10%, rgba(24,33,48,0.55), transparent 60%), radial-gradient(110% 85% at 85% 90%, rgba(38,34,50,0.42), transparent 55%), radial-gradient(60% 40% at 85% 95%, rgba(191,59,68,0.05), transparent 70%) !important;
}
[data-theme="dark"] .resource-card:nth-child(2) {
  background-color: #13161D !important;
  background-image: radial-gradient(115% 90% at 85% 12%, rgba(32,42,55,0.55), transparent 58%), radial-gradient(120% 80% at 12% 88%, rgba(22,26,31,0.62), transparent 62%) !important;
}
[data-theme="dark"] .resource-card:nth-child(3) {
  background-color: #151A27 !important;
  background-image: radial-gradient(125% 95% at 18% 12%, rgba(40,56,82,0.45), transparent 60%), radial-gradient(100% 80% at 80% 88%, rgba(28,34,54,0.52), transparent 55%) !important;
}
[data-theme="dark"] .resource-card:nth-child(4) {
  background-color: #1E1D28 !important;
  background-image: radial-gradient(120% 90% at 82% 15%, rgba(54,48,74,0.45), transparent 58%), radial-gradient(110% 85% at 12% 85%, rgba(36,41,58,0.42), transparent 60%) !important;
}
[data-theme="dark"] .resource-card:nth-child(5) {
  background-color: #252422 !important;
  background-image: radial-gradient(125% 60% at 50% 0%, rgba(48,47,42,0.42), transparent 70%), radial-gradient(110% 80% at 50% 100%, rgba(28,29,31,0.62), transparent 60%) !important;
}
[data-theme="dark"] .resource-card:nth-child(6) {
  background-color: #191E1C !important;
  background-image: radial-gradient(115% 90% at 85% 88%, rgba(40,52,45,0.42), transparent 58%), radial-gradient(120% 80% at 10% 12%, rgba(22,27,28,0.55), transparent 62%) !important;
}
/* 浅色：冷白灰系多层渐变 */
.resource-card:nth-child(1) {
  background-color: #F0F3F7 !important;
  background-image: radial-gradient(120% 90% at 15% 10%, rgba(196,208,224,0.55), transparent 60%), radial-gradient(110% 85% at 85% 90%, rgba(216,212,230,0.45), transparent 55%) !important;
}
.resource-card:nth-child(2) {
  background-color: #E8ECF1 !important;
  background-image: radial-gradient(115% 90% at 85% 12%, rgba(192,200,212,0.55), transparent 58%), radial-gradient(120% 80% at 12% 88%, rgba(220,224,232,0.65), transparent 62%) !important;
}
.resource-card:nth-child(3) {
  background-color: #E3E7EF !important;
  background-image: radial-gradient(125% 95% at 18% 12%, rgba(184,198,222,0.55), transparent 60%), radial-gradient(100% 80% at 80% 88%, rgba(214,220,232,0.55), transparent 55%) !important;
}
.resource-card:nth-child(4) {
  background-color: #E0E3EA !important;
  background-image: radial-gradient(120% 90% at 82% 15%, rgba(208,204,228,0.50), transparent 58%), radial-gradient(110% 85% at 12% 85%, rgba(196,204,220,0.48), transparent 60%) !important;
}
.resource-card:nth-child(5) {
  background-color: #DCE0E6 !important;
  background-image: radial-gradient(125% 60% at 50% 0%, rgba(192,198,208,0.55), transparent 70%), radial-gradient(110% 80% at 50% 100%, rgba(224,228,234,0.65), transparent 60%) !important;
}
.resource-card:nth-child(6) {
  background-color: #D6DDE6 !important;
  background-image: radial-gradient(115% 90% at 85% 88%, rgba(176,192,212,0.55), transparent 58%), radial-gradient(120% 80% at 10% 12%, rgba(204,212,224,0.55), transparent 62%) !important;
}

/* hover：每卡在其底色上轻微提亮 + 冷调深红细边线 */

/* hover：仅轻微提亮 + 冷调深红细边线显现 + 上移2px（禁缩放旋转厚重阴影） */
.resource-card:hover,
.resource-card.resource-card.resource-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(191, 59, 68, 0.40) !important;
  box-shadow: var(--dp1-shadow-hover) !important;
}
.resource-card:hover { background: #FFFFFF !important; }
.resource-card.resource-card.resource-card:hover { background: #FFFFFF !important; }
[data-theme="dark"] .resource-card:hover { background: #1C2230 !important; }
[data-theme="dark"] .resource-card.resource-card.resource-card:hover { background: #1C2230 !important; }
/* 红色小面积点缀：图标与引导文字 hover 转冷调杨梅红 */
.resource-card:hover .resource-card-icon,
.resource-card.resource-card.resource-card:hover .resource-card-icon {
  color: var(--dp1-rose) !important;
  background: var(--dp1-rose-soft) !important;
}
.resource-card:hover .resource-card-action,
.resource-card.resource-card.resource-card:hover .resource-card-action { color: var(--dp1-rose) !important; }

/* 系统减少动画：关闭 hover 位移 */
@media (prefers-reduced-motion: reduce) {
  .resource-card:hover, .resource-card.resource-card.resource-card:hover { transform: none !important; }
}
/* 注：卡片为实色纯色，天然适配不支持高级样式的降级，无需 backdrop-filter 分支 */

/* ---------- 九、圆角变量修正：design-system 通配 [class*="-card"] 引用 var(--radius-lg) ---------- */
/* design-system.css 将 --radius-lg 覆盖为 8px；第一期圆角规范为 16px，此处变量级纠正 */
:root { --radius-lg: 16px !important; }
[data-theme="dark"] { --radius-lg: 16px !important; }
/* 双保险：提升 .resource-card 规则特异性到 (0,3,0)+（与 design-system 通配打平后以后加载胜出） */
.resource-card.resource-card.resource-card {
  border-radius: 16px !important;
  border: 1px solid var(--dp1-hairline) !important;
  box-shadow: var(--dp1-shadow-rest) !important;
}

/* 边缘分离线（发丝级，贴合16px圆角；不发光、不霓虹，不碰内部渐变层次） */
/* 顶部/左上高光线：系统界面质感，圆角区缩进，不发散 */
.resource-card::before {
  content: ''; position: absolute; top: 0; left: 12px; right: 12px; height: 1px;
  pointer-events: none; opacity: 0.6;
  transition: opacity 240ms ease-out !important;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.10) 38%, transparent);
}
[data-theme="dark"] .resource-card::before {
  background: linear-gradient(90deg, rgba(226, 232, 240, 0.14), rgba(226, 232, 240, 0.04) 40%, transparent);
}
.resource-card:hover::before { opacity: 1; }
/* hover 时边缘线转极细冷红边线（240ms，已有规则）；高光线同步提亮 */

/* 卡内多层渐变配：伪元素提亮罩（hover 仅轻微提亮背景层次，不碰文字） */
.resource-card { position: relative !important; overflow: hidden !important; }
.resource-card > * { position: relative; z-index: 1; }
.resource-card::after {
  content: ''; position: absolute; inset: 0;
  border-radius: inherit; pointer-events: none;
  opacity: 0; transition: opacity 240ms ease-out !important;
}
[data-theme="dark"] .resource-card::after { background: rgba(255, 255, 255, 0.028); }
.resource-card::after { background: rgba(255, 255, 255, 0.40); }
[data-theme="dark"] .resource-card:hover::after { opacity: 1; }
.resource-card:hover::after { opacity: 1; }

/* ---------- 十、边缘分离线（末置，特异性压过九段双保险） ---------- */
.resource-card.resource-card.resource-card { border-color: rgba(15, 23, 42, 0.14) !important; }            /* 浅：深石墨灰发丝 */
[data-theme="dark"] .resource-card.resource-card.resource-card { border-color: rgba(226, 232, 240, 0.16) !important; } /* 深：浅银灰发丝 */

/* ============ 十一、全站卡片·按钮·标签统一层（冷调黑白红高级风） ============ */
/* 目标：406+ 组件统一；排除已定制卡（.gk-term/.resource-card）、卡片内部子元素（-card- 后缀）、
   纯色兜底类（card-bg/bg-card）。只动 background/border/shadow/hover，不改 DOM。 */

/* ---- A. 卡片通配：统一冷底 + 双雾化渐变层次 + 发丝分离线 ---- */
.resource-card, .gk-term, .pr-block,
[class*="-card"]:not([class*="-card-"]):not([class*="card-bg"]):not([class*="bg-card"]):not(.gk-term):not(.resource-card):not(.toc-quote-card) {
  /* 浅色默认（放在深色块之前，深色 [data-theme] 特异性更高自动胜出） */
  background-color: #F0F3F7 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(196,208,224,0.45), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(216,212,230,0.35), transparent 55%) !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out, color 240ms ease-out !important;
}
[data-theme="dark"] .resource-card,
[data-theme="dark"] .gk-term,
[data-theme="dark"] .pr-block,
[data-theme="dark"] [class*="-card"]:not([class*="-card-"]):not([class*="card-bg"]):not([class*="bg-card"]):not(.gk-term):not(.resource-card):not(.toc-quote-card) {
  background-color: #161B24 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(30,41,59,0.35), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(38,34,50,0.26), transparent 55%) !important;
  border: 1px solid rgba(226, 232, 240, 0.14) !important;
}

/* ---- B. hover：仅轻微提亮 + 极细冷红边线（240ms；filter 提亮不产生发光/厚重阴影） ---- */
.resource-card:hover, .gk-term:hover, .pr-block:hover,
[class*="-card"]:not([class*="-card-"]):not([class*="card-bg"]):not([class*="bg-card"]):not(.gk-term):not(.resource-card):not(.toc-quote-card):hover {
  filter: brightness(1.04);
  border-color: rgba(191, 59, 68, 0.38) !important;
}
/* 降级：filter 与多层渐变不支持的设备自动回落为纯色卡（background-color 兜底），页面不破版 */

/* ---- C. 按钮统一：16px 圆角 + 240ms 过渡 + hover 冷红细边（不改主次按钮底色） ---- */
.btn, .button, .btn-primary, .btn-action, .btn-secondary, .btn-outline, .btn-ghost,
.submit-btn, .auth-submit, .nav-login-btn, .confirm-btn.ok-btn, .quick-link,
[class*="btn"]:not(.btn-text):not(.text-button) {
  border-radius: 16px !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out, color 240ms ease-out !important;
}
.btn:hover, .button:hover, .btn-primary:hover, .btn-action:hover,
.btn-secondary:hover, .btn-outline:hover, .btn-ghost:hover,
[class*="btn"]:not(.btn-text):not(.text-button):hover {
  border-color: rgba(191, 59, 68, 0.40) !important;
}

/* ---- D. 标签/胶囊统一：16px 圆角 + 240ms + hover 冷红细边 ---- */
.tag, .badge, .chip, [class*="chip"], [class*="-tag"] {
  border-radius: 16px !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out, color 240ms ease-out !important;
}
.tag:hover, .badge:hover, .chip:hover, [class*="chip"]:hover, [class*="-tag"]:hover {
  border-color: rgba(191, 59, 68, 0.40) !important;
}

/* ---- E. 系统性降级：低性能设备纯色卡（@supports 检测多层渐变） ---- */
@supports not (background-image: radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,0.1), transparent)) {
  .resource-card, .gk-term, .pr-block,
  [class*="-card"]:not([class*="-card-"]):not([class*="card-bg"]):not([class*="bg-card"]):not(.gk-term):not(.resource-card):not(.toc-quote-card) {
    background-image: none !important;
  }
}
/* 系统减少动画：hover 提亮即时生效（filter 非动画），过渡统一关闭（全局 * 规则已覆盖） */

/* ============ 十二、遗漏组件补全层：面板 / 分区模块 / 侧栏块 / tab（扫描46页补齐） ============ */
/* 与十一段同一套冷调规范：深浅渐变 + 发丝分离线 + 16px + hover 轻微提亮+冷红细边 */

/* ---- 面板与分区模块（含宽幅模块大卡） ---- */
.admin-panel, .tab-panel, .sm-panel, .gv-panel,
.lm-section, .lm-module, .pr-section, .cat-section, .demo-section, .mc-section,
.res-section, .reading-section, .coop-section, .tool-section, .resource-section,
.road-section, .privacy-section {
  /* 浅色默认 */
  background-color: #F0F3F7 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(196,208,224,0.40), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(216,212,230,0.30), transparent 55%) !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 16px !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out !important;
}
[data-theme="dark"] .admin-panel, [data-theme="dark"] .tab-panel, [data-theme="dark"] .sm-panel,
[data-theme="dark"] .gv-panel, [data-theme="dark"] .lm-section, [data-theme="dark"] .lm-module,
[data-theme="dark"] .pr-section, [data-theme="dark"] .cat-section, [data-theme="dark"] .demo-section,
[data-theme="dark"] .mc-section, [data-theme="dark"] .res-section, [data-theme="dark"] .reading-section,
[data-theme="dark"] .coop-section, [data-theme="dark"] .tool-section, [data-theme="dark"] .resource-section,
[data-theme="dark"] .road-section, [data-theme="dark"] .privacy-section {
  background-color: #161B24 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(30,41,59,0.32), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(38,34,50,0.24), transparent 55%) !important;
  border: 1px solid rgba(226, 232, 240, 0.14) !important;
}

/* ---- 侧栏块 / 信息盒 ---- */
.gk-rail-block, .tt-rail-block, .pw-rail-block, .gv-rail-block, .ad-rail-block,
.cs-rail-block, .hv-rail-block, .gv-d-block, .roam-box, .ad-pal-box, .cs-pal-box,
.coop-contact-box, .pr-block {
  background-color: #F0F3F7 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(196,208,224,0.40), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(216,212,230,0.30), transparent 55%) !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 16px !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out !important;
}
[data-theme="dark"] .gk-rail-block, [data-theme="dark"] .tt-rail-block, [data-theme="dark"] .pw-rail-block,
[data-theme="dark"] .gv-rail-block, [data-theme="dark"] .ad-rail-block, [data-theme="dark"] .cs-rail-block,
[data-theme="dark"] .hv-rail-block, [data-theme="dark"] .gv-d-block, [data-theme="dark"] .roam-box,
[data-theme="dark"] .ad-pal-box, [data-theme="dark"] .cs-pal-box, [data-theme="dark"] .coop-contact-box,
[data-theme="dark"] .pr-block {
  background-color: #161B24 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(30,41,59,0.32), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(38,34,50,0.24), transparent 55%) !important;
  border: 1px solid rgba(226, 232, 240, 0.14) !important;
}

/* ---- hover：轻微提亮 + 冷红细边线（240ms） ---- */
.admin-panel:hover, .tab-panel:hover, .sm-panel:hover, .gv-panel:hover,
.lm-section:hover, .lm-module:hover, .pr-section:hover, .cat-section:hover,
.demo-section:hover, .mc-section:hover, .res-section:hover, .reading-section:hover,
.coop-section:hover, .tool-section:hover, .resource-section:hover, .road-section:hover,
.privacy-section:hover, .gk-rail-block:hover, .tt-rail-block:hover, .pw-rail-block:hover,
.gv-rail-block:hover, .ad-rail-block:hover, .cs-rail-block:hover, .hv-rail-block:hover,
.gv-d-block:hover, .roam-box:hover, .ad-pal-box:hover, .cs-pal-box:hover,
.coop-contact-box:hover, .pr-block:hover {
  filter: brightness(1.04);
  border-color: rgba(191, 59, 68, 0.38) !important;
}

/* ---- tab 标签页按钮：16px + 240ms + hover 冷红细边 ---- */
.tab {
  border-radius: 16px !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out, color 240ms ease-out !important;
}
.tab:hover { border-color: rgba(191, 59, 68, 0.40) !important; }

/* ============ 十三、动态/低频组件通配补全（JS 渲染类与扫描低频类） ============ */
/* 面板通配：覆盖 JS 动态渲染的 panel 容器（排除 panel- 子元素） */
[class*="panel"]:not([class*="panel-"]):not([class*="card-"]) {
  background-color: #F0F3F7 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(196,208,224,0.40), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(216,212,230,0.30), transparent 55%) !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 16px !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out !important;
}
[data-theme="dark"] [class*="panel"]:not([class*="panel-"]):not([class*="card-"]) {
  background-color: #161B24 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(30,41,59,0.32), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(38,34,50,0.24), transparent 55%) !important;
  border: 1px solid rgba(226, 232, 240, 0.14) !important;
}
[class*="panel"]:not([class*="panel-"]):hover { filter: brightness(1.04); border-color: rgba(191, 59, 68, 0.38) !important; }

/* 侧栏块通配：-block 后缀容器（rail-block / d-block 等） */
[class*="-block"] {
  background-color: #F0F3F7 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(196,208,224,0.40), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(216,212,230,0.30), transparent 55%) !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 16px !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out !important;
}
[data-theme="dark"] [class*="-block"] {
  background-color: #161B24 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(30,41,59,0.32), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(38,34,50,0.24), transparent 55%) !important;
  border: 1px solid rgba(226, 232, 240, 0.14) !important;
}
[class*="-block"]:hover { filter: brightness(1.04); border-color: rgba(191, 59, 68, 0.38) !important; }

/* 分区通配：-section 容器（排除 -section- 子元素如 title/desc/head） */
[class*="-section"]:not([class*="-section-"]) {
  background-color: #F0F3F7 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(196,208,224,0.40), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(216,212,230,0.30), transparent 55%) !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 16px !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out !important;
}
[data-theme="dark"] [class*="-section"]:not([class*="-section-"]) {
  background-color: #161B24 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(30,41,59,0.32), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(38,34,50,0.24), transparent 55%) !important;
  border: 1px solid rgba(226, 232, 240, 0.14) !important;
}
[class*="-section"]:not([class*="-section-"]):hover { filter: brightness(1.04); border-color: rgba(191, 59, 68, 0.38) !important; }

/* 信息盒名单（box 后缀中的容器类，搜索框等输入型除外） */
.roam-box, .ad-pal-box, .cs-pal-box, .coop-contact-box, .info-box, .metric-box, .side-box, .toc-box {
  background-color: #F0F3F7 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(196,208,224,0.40), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(216,212,230,0.30), transparent 55%) !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 16px !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out !important;
}
[data-theme="dark"] .roam-box, [data-theme="dark"] .ad-pal-box, [data-theme="dark"] .cs-pal-box,
[data-theme="dark"] .coop-contact-box, [data-theme="dark"] .info-box, [data-theme="dark"] .metric-box,
[data-theme="dark"] .side-box, [data-theme="dark"] .toc-box {
  background-color: #161B24 !important;
  background-image:
    radial-gradient(120% 90% at 15% 10%, rgba(30,41,59,0.32), transparent 60%),
    radial-gradient(110% 85% at 85% 90%, rgba(38,34,50,0.24), transparent 55%) !important;
  border: 1px solid rgba(226, 232, 240, 0.14) !important;
}
.roam-box:hover, .ad-pal-box:hover, .cs-pal-box:hover, .coop-contact-box:hover,
.info-box:hover, .metric-box:hover, .side-box:hover, .toc-box:hover {
  filter: brightness(1.04); border-color: rgba(191, 59, 68, 0.38) !important;
}

/* ============ 十四、提示词工坊专用层：低饱和石墨灰系统（仅限 pw- 组件，不涉外页） ============ */
/* 目标：去蓝紫底、去亮黄变量、去脏灰字；面板分三档明度差 + 发丝分离线 + 冷红点缀 */
/* 浅色默认，深色 [data-theme="dark"] 特异性更高自动胜出，两套独立、切换无滞留 */

/* ---- 1. 信息面板组（三档石墨灰明度差，冷调无蓝） ---- */
.pw-fc, .pw-pal-box, .pw-pal-row, .pw-group-head, .pw-feature, .pw-feature-head, .pw-cmp-col {
  background-color: #EDF0F4 !important;            /* 浅档1 */
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 16px !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out !important;
}
.pw-prompt, .pw-entry, .pw-detail, .pw-gen-results, .pw-prompt-bar, .pw-fc-peek {
  background-color: #E6EAEF !important;            /* 浅档2 */
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 16px !important;
  transition: background-color 240ms ease-out, border-color 240ms ease-out !important;
}
[data-theme="dark"] .pw-fc, [data-theme="dark"] .pw-pal-box, [data-theme="dark"] .pw-pal-row,
[data-theme="dark"] .pw-group-head, [data-theme="dark"] .pw-feature, [data-theme="dark"] .pw-feature-head,
[data-theme="dark"] .pw-cmp-col {
  background-color: #171C23 !important;            /* 深档1：冷石墨 */
  border: 1px solid rgba(226, 232, 240, 0.14) !important;
}
[data-theme="dark"] .pw-prompt, [data-theme="dark"] .pw-entry, [data-theme="dark"] .pw-detail,
[data-theme="dark"] .pw-gen-results, [data-theme="dark"] .pw-prompt-bar, [data-theme="dark"] .pw-fc-peek {
  background-color: #1A2129 !important;            /* 深档2：深青灰（示例/结果区微亮） */
  border: 1px solid rgba(226, 232, 240, 0.14) !important;
}

/* ---- 2. 代码片段 / 变量代码区：冷灰蓝底 ---- */
.pw-pre, .pw-varcode {
  background-color: #E8EDF3 !important;            /* 浅：冷灰蓝 */
  color: #1F2937 !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  border-radius: 12px !important;
}
[data-theme="dark"] .pw-pre, [data-theme="dark"] .pw-varcode {
  background-color: #151C26 !important;            /* 深：冷灰蓝 */
  color: #DCE3EC !important;
  border: 1px solid rgba(226, 232, 240, 0.10) !important;
}

/* ---- 3. 参数/字段/变量标签组：低饱和紫灰标签（去除亮黄） ---- */
.pw-var, .pw-field-label, .pw-prompt-tag, .pw-idtag, .pw-fc-kicker, .pw-group-lv, .pw-name, .pw-count {
  background-color: rgba(125, 115, 175, 0.14) !important;   /* 浅：浅紫灰 */
  color: #4A4660 !important;
  border-color: rgba(125, 115, 175, 0.28) !important;
  border-radius: 8px !important;
}
[data-theme="dark"] .pw-var, [data-theme="dark"] .pw-field-label, [data-theme="dark"] .pw-prompt-tag,
[data-theme="dark"] .pw-idtag, [data-theme="dark"] .pw-fc-kicker, [data-theme="dark"] .pw-group-lv,
[data-theme="dark"] .pw-name, [data-theme="dark"] .pw-count {
  background-color: rgba(125, 115, 175, 0.16) !important;   /* 深：柔和紫灰 */
  color: #D8D5E8 !important;
  border-color: rgba(125, 115, 175, 0.35) !important;
}

/* ---- 4. 说明文字组：浅银灰 / 浅灰蓝，去除脏灰 ---- */
.pw-hint, .pw-sub, .pw-fc-note, .pw-rail-note, .pw-lede, .pw-meta, .pw-points, .pw-prompt-meta {
  color: #6B7280 !important;                        /* 浅：中冷灰 */
}
[data-theme="dark"] .pw-hint, [data-theme="dark"] .pw-sub, [data-theme="dark"] .pw-fc-note,
[data-theme="dark"] .pw-rail-note, [data-theme="dark"] .pw-lede, [data-theme="dark"] .pw-meta,
[data-theme="dark"] .pw-points, [data-theme="dark"] .pw-prompt-meta {
  color: #9AA5B1 !important;                        /* 深：浅银灰 */
}

/* ---- 5. 正文色统一（面板内主文字） ---- */
.pw-fc-body, .pw-detail, .pw-gen-results, .pw-prompt, .pw-feature-rule, .pw-formula {
  color: #1F2937 !important;
}
[data-theme="dark"] .pw-fc-body, [data-theme="dark"] .pw-detail, [data-theme="dark"] .pw-gen-results,
[data-theme="dark"] .pw-prompt, [data-theme="dark"] .pw-feature-rule, [data-theme="dark"] .pw-formula {
  color: #E8ECEF !important;
}

/* ---- 6. 对比标签：保留 good/bad 语义，压低饱和度（good=低饱和青绿，bad=低饱和冷红） ---- */
.pw-cmp-label.good {
  background-color: rgba(70, 150, 140, 0.16) !important;
  color: #3F7A72 !important;
  border-color: rgba(70, 150, 140, 0.40) !important;
}
[data-theme="dark"] .pw-cmp-label.good {
  background-color: rgba(70, 150, 140, 0.20) !important;
  color: #9FD8CF !important;
  border-color: rgba(70, 150, 140, 0.45) !important;
}
.pw-cmp-label.bad {
  background-color: rgba(191, 59, 68, 0.16) !important;
  color: #A03A44 !important;
  border-color: rgba(191, 59, 68, 0.40) !important;
}
[data-theme="dark"] .pw-cmp-label.bad {
  background-color: rgba(191, 59, 68, 0.22) !important;
  color: #F0A0A8 !important;
  border-color: rgba(191, 59, 68, 0.45) !important;
}

/* ---- 7. 重点项：冷红细边框 / 冷红标签（极少量点缀） ---- */
.pw-points, .pw-count { border: 1px solid rgba(191, 59, 68, 0.35) !important; }

/* ---- 8. 字段行分隔：透明底 + 发丝下边线 ---- */
.pw-field { background-color: transparent !important; border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important; }
[data-theme="dark"] .pw-field { border-bottom: 1px solid rgba(226, 232, 240, 0.10) !important; }

/* ===== 阶段：全站移动端统一间距收紧（2026-09-29） =====
   追加于各页最后加载的 css 末尾，确保全站生效；PC 端零影响 */
@media (max-width: 768px) {
  .section {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    margin-top: 0 !important;
  }
  .section + .section { margin-top: 12px !important; }
  .section-header { padding: 0 !important; margin-bottom: 10px !important; }
  .section-title {
    font-size: 17px !important;
    margin: 0 0 2px !important;
    line-height: 1.35 !important;
  }
  .section-subtitle { font-size: 12px !important; margin: 0 !important; }
  .card, .panel, .glow-tip, .glow-roam, .roam-card, .module-card, .res-card,
  .stat-card, .toc-card, .tool-card, .case-card, .lesson-card, .knowledge-card,
  .step-card, .note-card, .explore-grid > *, .card-grid > *, .module-grid > *,
  .res-grid > *, .tool-grid > * { padding: 12px 14px !important; }
  .card-grid, .module-grid, .res-grid, .explore-grid, .tool-grid, .list-grid,
  .glow-grid { gap: 10px !important; }
  .roam-cards { gap: 6px !important; }

  .home-split .section-title { font-size: 17px !important; }
  .home-split > section,
  .home-split .home-glow > .container,
  .home-split .home-explore > .container { padding-top: 4px !important; }


  .lq-fun, .reading-section, .lq-path, .lq-kb-quick,
  .wiki-section, .wiki-group, .module, .block,
  .tool-section, .case-section, .lesson-section, .roadmap-section,
  .prompt-section, .model-section, .stat-section, .learn-section {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }


  /* 移动端资源分类：一行2张、收窄、保留横滑能力 */
  .resource-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    width: 100% !important;
  }
  .resource-card {
    min-width: 0 !important;
    padding: 13px 12px !important;
    margin: 0 !important;
    flex: none !important;
  }


  /* 移动端资源分类卡片：进一步压缩尺寸，整体变矮变窄 */
  .resource-card {
    padding: 10px 10px !important;
    border-radius: 12px !important;
  }
  .resource-card-icon {
    width: 24px !important;
    height: 24px !important;
    font-size: 12px !important;
    margin-bottom: 6px !important;
    line-height: 24px !important;
  }
  .resource-card-icon svg {
    width: 18px !important;
    height: 18px !important;
  }
  .resource-card-title {
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin: 0 0 3px !important;
  }
  .resource-card-desc {
    font-size: 12px !important;
    line-height: 1.45 !important;
    margin: 0 0 6px !important;
  }
  .resource-card-action {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .home-split { padding: 12px !important; }
}

/* ===== 底部 footer 压缩成小字公告（2026-09-29）===== */
.footer {
  padding: 10px 0 8px !important;
  font-size: 12px !important;
}
.footer-text { font-size: 11px !important; margin: 0 0 3px !important; }
footer .footer-links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 3px 12px !important;
  margin-top: 4px !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  grid-template-columns: none !important;
}
.footer-link { font-size: 11px !important; line-height: 1.4 !important; }
.footer-icp { font-size: 11px !important; margin: 3px 0 0 !important; }
.footer-donate-mini { margin-top: 3px !important; }
.footer-donate-btn { font-size: 11px !important; padding: 2px 12px !important; }
.footer-disclaimer {
  margin-top: 4px !important;
  padding-top: 3px !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.footer-disclaimer p { margin: 0 0 2px !important; }
.footer-contact { margin-top: 3px !important; font-size: 11px !important; }
.footer-sponsor { margin-top: 3px !important; font-size: 11px !important; }
.footer-sponsor-btn { padding: 2px 10px !important; font-size: 11px !important; }
@media (max-width: 768px) {
  .footer { padding: 8px 0 6px !important; }
  footer .footer-links { gap: 3px 10px !important; }
  .footer-disclaimer { font-size: 10px !important; line-height: 1.3 !important; }
}

/* ===== footer 免责声明再压缩：PC 双列、移动端单列小字 ===== */
.footer-disclaimer p { display: block !important; }
@media (min-width: 769px) {
  .footer-disclaimer {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 18px !important;
    text-align: left !important;
  }
}
@media (max-width: 768px) {
  .footer-disclaimer { font-size: 9px !important; line-height: 1.2 !important; }
  .footer-disclaimer p { margin: 0 0 1px !important; }
  .footer-text { font-size: 10px !important; margin: 0 0 2px !important; }
  .footer-icp { font-size: 10px !important; margin: 2px 0 0 !important; }
  .footer-donate-mini { margin-top: 2px !important; }
  .footer-donate-btn { font-size: 10px !important; padding: 2px 10px !important; }
  footer .footer-links { gap: 2px 8px !important; }
}

/* ===== footer 免责折叠（方案2：移动端摘要+展开，PC 完整）===== */
.footer-disclaimer-toggle { display: none; }
@media (max-width: 768px) {
  .footer-disclaimer {
    max-height: 3.6em !important;
    overflow: hidden !important;
    transition: max-height 0.24s ease-out !important;
  }
  .footer-disclaimer.open {
    max-height: 3000px !important;
  }
  .footer-disclaimer-toggle {
    display: block !important;
    margin: 2px auto 0 !important;
    background: none !important;
    border: none !important;
    padding: 2px 8px !important;
    font-size: 11px !important;
    color: var(--color-primary, #C41E3A) !important;
    cursor: pointer !important;
    transition: opacity 0.24s ease-out !important;
  }
  .footer-disclaimer-toggle:active { opacity: 0.7 !important; }
}

/* ===== footer 重构：一行小字 + 站点声明弹窗（2026-09-29）===== */
.footer-mini {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 4px 8px !important;
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-family: var(--font-sans, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif) !important;
  color: var(--color-text-muted) !important;
  text-align: center !important;
  letter-spacing: 0.01em !important;
}
.footer-icp-val { color: var(--color-text-muted) !important; }
.footer-decl-btn {
  display: inline-block !important;
  margin: 0 !important;
  background: none !important;
  border: 1px solid var(--color-border, #e5e5e7) !important;
  color: var(--color-text-secondary, #666) !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  padding: 3px 12px !important;
  border-radius: 20px !important;
  cursor: pointer !important;
  transition: border-color 0.24s ease-out, color 0.24s ease-out, background 0.24s ease-out !important;
}
.footer-decl-btn:hover {
  border-color: var(--color-primary, #C41E3A) !important;
  color: var(--color-primary, #C41E3A) !important;
  background: var(--color-surface-hover, rgba(0,0,0,0.02)) !important;
}

/* 站点声明弹窗 */
.decl-modal-overlay {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  background: rgba(0, 0, 0, 0.55) !important;
  z-index: 20000 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  opacity: 0;
  transition: opacity 0.24s ease-out !important;
}
.decl-modal {
  position: relative !important;
  background: var(--color-bg, #fff) !important;
  border: 1px solid var(--color-border, #e5e5e7) !important;
  border-radius: 16px !important;
  max-width: 640px !important;
  width: 100% !important;
  max-height: 86vh !important;
  overflow-y: auto !important;
  padding: 26px 24px 22px !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35) !important;
  font-family: var(--font-sans, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif) !important;
}
.decl-modal-close {
  position: absolute !important;
  top: 12px !important; right: 16px !important;
  background: none !important;
  border: none !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: var(--color-text-muted, #999) !important;
  cursor: pointer !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  transition: color 0.24s ease-out, background 0.24s ease-out !important;
}
.decl-modal-close:hover { color: var(--color-text, #111) !important; background: var(--color-surface-hover, rgba(0,0,0,0.04)) !important; }
.decl-modal-title {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--color-text, #111) !important;
  margin: 0 0 14px !important;
  letter-spacing: 0.02em !important;
}
.decl-section-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--color-primary, #C41E3A) !important;
  margin: 18px 0 8px !important;
  padding-bottom: 6px !important;
  border-bottom: 1px solid var(--color-border, #e5e5e7) !important;
  letter-spacing: 0.02em !important;
}
/* 弹窗内免责：双语对齐、行高统一、不折叠 */
#declModalOverlay .footer-disclaimer {
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  text-align: left !important;
  font-family: var(--font-sans, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif) !important;
  letter-spacing: 0.01em !important;
  color: var(--color-text-secondary, #666) !important;
}
#declModalOverlay .footer-disclaimer p { margin: 0 0 6px !important; }
/* 弹窗内导航 */
#declModalOverlay .decl-links {
  margin: 0 0 6px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 6px 14px !important;
}
#declModalOverlay .decl-links .footer-link {
  font-size: 12px !important;
  line-height: 1.6 !important;
  color: var(--color-text-secondary, #666) !important;
  text-decoration: none !important;
  transition: color 0.24s ease-out !important;
}
#declModalOverlay .decl-links .footer-link:hover { color: var(--color-primary, #C41E3A) !important; }
#declModalOverlay .decl-contact { margin: 4px 0 0 !important; font-size: 12px !important; line-height: 1.6 !important; }
/* 弹窗内打赏区 */
#declModalOverlay .decl-donate { text-align: center !important; }
#declModalOverlay .decl-donate .footer-donate-btn {
  background: transparent !important;
  border: 1px solid var(--color-border, #e5e5e7) !important;
  color: var(--color-text-secondary, #666) !important;
  font-size: 12px !important;
  padding: 6px 18px !important;
  border-radius: 20px !important;
  cursor: pointer !important;
  transition: all 0.24s ease-out !important;
}
#declModalOverlay .decl-donate .footer-donate-btn:hover {
  border-color: var(--color-primary, #C41E3A) !important;
  color: var(--color-primary, #C41E3A) !important;
  background: var(--color-surface-hover, rgba(0,0,0,0.02)) !important;
}
/* 打赏弹窗提升层级（在声明弹窗内部） */
#declModalOverlay .donate-modal-overlay { z-index: 30000 !important; }
/* 旧折叠按钮隐藏（已迁移弹窗） */
.footer-disclaimer-toggle { display: none !important; }
@media (max-width: 768px) {
  .footer-mini { font-size: 11px !important; gap: 3px 6px !important; }
  .decl-modal { padding: 22px 16px 18px !important; max-width: 100% !important; }
  #declModalOverlay .footer-disclaimer { font-size: 11.5px !important; line-height: 1.65 !important; }
}

/* ===== 移动端 footer 底部安全区（2026-09-29）：适配系统手势条，防遮挡 ===== */
@media (max-width: 768px) {
  .footer {
    padding-top: 8px !important;
    padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .footer-mini {
    padding: 0 !important;
    line-height: 1.7 !important;
    min-height: 24px !important;
    align-items: center !important;
  }
  .footer-decl-btn {
    padding: 5px 12px !important;
    min-height: 30px !important;
    box-sizing: border-box !important;
  }
}

/* ===== 首页百科板块 A/B/C 分组折叠（2026-09-29）===== */
#wikiGrid { display: block; }
.wiki-group { margin-bottom: 24px; }
.wiki-group-title {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0 0 14px;
  padding: 10px 14px;
  background: var(--color-surface-2, #f2f2f4);
  border: 1px solid var(--color-border, #e5e5e7);
  border-radius: 8px;
  color: var(--color-text, #111);
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  transition: background 0.24s ease-out, border-color 0.24s ease-out, color 0.24s ease-out;
}
.wiki-group-title:hover {
  border-color: var(--color-primary, #C41E3A);
  background: var(--color-surface-hover, rgba(0,0,0,0.03));
}
.wg-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: var(--color-primary, #C41E3A);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.wg-name { flex: 0 0 auto; }
.wg-count {
  flex: 1;
  font-size: 11px;
  font-weight: 400;
  color: var(--color-text-muted, #999);
}
.wg-arrow {
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(225deg);
  transition: transform 0.24s ease-out;
  flex-shrink: 0;
}
.wiki-group-title.open .wg-arrow { transform: rotate(45deg); }
.wiki-group-panel {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.24s ease-out, opacity 0.24s ease-out;
}
.wiki-group-panel.open { max-height: 2000px; opacity: 1; }
.wiki-group-panel .wiki-grid { margin-top: 0; margin-bottom: 0; }
/* PC：卡片紧凑化 */
@media (min-width: 769px) {
  .wiki-group-panel .wiki-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .wiki-group-panel .wiki-card { padding: 20px; }
  .wiki-group-panel .wiki-icon { width: 44px; height: 44px; margin-bottom: 12px; }
  .wiki-group-panel .wiki-title { font-size: 16px; }
  .wiki-group-panel .wiki-desc { font-size: 14px; }
}
@media (max-width: 768px) {
  .wiki-group { margin-bottom: 10px !important; }
  .wiki-group-title { margin-bottom: 0 !important; padding: 10px 12px !important; font-size: 13px !important; }
  .wiki-group-panel .wiki-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin-top: 8px !important; }
  .wiki-group-panel .wiki-card { padding: 16px !important; }
  .wiki-group-panel .wiki-icon { width: 38px !important; height: 38px !important; margin-bottom: 10px !important; }
  .wiki-group-panel .wiki-title { font-size: 14px !important; }
  .wiki-group-panel .wiki-desc { font-size: 12px !important; }
  .wiki-group-panel.open { max-height: 2400px !important; }
}

/* ===== 全站移动端间距统一收紧（2026-09-29）===== */
@media (max-width: 768px) {
  /* 一、词条详情板块间距压缩 */
  .gk-term { padding: 18px 12px 20px !important; margin-bottom: 10px !important; }
  .gk-detail { margin-top: 8px !important; padding: 8px 0 0 !important; }
  .gk-field { padding: 10px 14px !important; }
  .gk-field-label { margin-top: 16px !important; margin-bottom: 6px !important; font-size: 15px !important; line-height: 1.4 !important; }
  .gk-field-body { margin-bottom: 12px !important; line-height: 1.7 !important; font-size: 14px !important; }
  /* 二、百科板块卡片进一步紧凑 */
  .wiki-group-panel .wiki-card { padding: 14px !important; }
  .wiki-card .wiki-icon { width: 36px !important; height: 36px !important; margin-bottom: 8px !important; }
  .wiki-card .wiki-title { line-height: 1.4 !important; }
  .wiki-card .wiki-desc { line-height: 1.5 !important; }
    /* 模型库/工具库列表卡片上下压缩 */
  main .mm-entry { padding: 18px 8px 20px 52px !important; }
  main .tt-entry { padding: 18px 12px 20px !important; }
/* 三、主内容区常见卡片统一压缩（不触碰侧边栏/顶部导航/footer） */
  main .card,
  main .entry-card,
  main .tool-card,
  main .model-card,
  main .resource-card,
  main .learning-card,
  main .prompt-card {
    padding: 14px !important;
  }
  main .card-title,
  main .entry-card__title,
  main .tool-card__title,
  main .model-card__title {
    line-height: 1.4 !important;
  }
  main .card-desc,
  main .entry-card__desc,
  main .tool-card__desc,
  main .model-card__desc {
    line-height: 1.5 !important;
  }
}

/* ===== 全站减少动画偏好（2026-09-29）===== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

/* ===== 抽屉 transform 过渡修复（2026-09-29）===== */
html[data-theme] .toc-drawer {
  transition: transform 0.24s ease-out, background-color 0.24s ease-out, border-color 0.24s ease-out, color 0.24s ease-out !important;
}

/* ===== 折叠面板/箭头过渡修复（2026-09-29）===== */
html[data-theme] [class*="panel"].wiki-group-panel {
  transition: max-height 0.24s ease-out, opacity 0.24s ease-out !important;
}
html[data-theme] .wg-arrow {
  transition: transform 0.24s ease-out !important;
}
