/* =============================================================
   theme.css — 全站统一设计系统 (Single Source of Truth)
   版本: 20260809-01
   定位: 在所有页面 </head> 前最后加载，覆盖各页内联 :root，
         把"主站体系"(--bg-body/--bg-card/--primary) 与
         "blog体系"(--bg/--surface/--ink/--muted/--line/--glass)
         对齐到同一组「淡青玻璃」值，消除"一坨黑"与配色漂移。
   原理: 各页组件用 var(--bg-card)/var(--surface) 等取值，
         本文件重定义这些变量即可全站生效，无需逐页改 HTML。
   ============================================================= */

/* ---------- 暗色（默认 + 显式 dark） ---------- */
:root,
:root[data-theme="dark"] {

  /* 基础底色：明显提亮（深青炭灰，不再近黑） */
  --bg-body: #16292B;
  --bg-elevated: rgba(30, 50, 52, .55);

  /* 卡片/面板：更通透的玻璃，让青绿背景透出（修复"太暗"） */
  --bg-card: rgba(26, 44, 46, .30);
  --surface: rgba(26, 44, 46, .30);
  --surface-2: rgba(32, 52, 54, .42);   /* blockquote/code 稍实，保可读 */

  /* blog 体系对齐 */
  --bg: transparent;                     /* 露出背景层，不再实心黑 */
  --glass: rgba(24, 42, 44, .32);

  /* 文本（略微提亮，增强可读性） */
  --text-primary: rgba(232, 245, 243, .96);
  --text-secondary: rgba(208, 230, 226, .80);
  --text-muted: rgba(184, 212, 208, .62);
  --ink: rgba(232, 245, 243, .96);
  --muted: rgba(184, 212, 208, .66);

  /* 主色（青绿）统一 */
  --primary: #19C2AE;
  --primary-2: #3FE0CC;
  --primary-deep: #0F8C7E;
  --primary-ink: #052722;

  /* 字体（统一字体栈，消除各页字体漂移） */
  --font-sans: 'Noto Sans SC', system-ui, -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-serif: 'Noto Serif SC', Georgia, 'Songti SC', serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* 状态色 */
  --warn: #EF4444;

  /* 玻璃材质 token（更通透） */
  --glass-bg: rgba(24, 42, 44, .22);
  --glass-bg-strong: rgba(24, 42, 44, .32);
  --glass-border: rgba(63, 224, 204, .22);
  --glass-blur: 18px;
  --glass-saturate: 1.5;
  --glass-shadow: 0 10px 36px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .06);
  --glass-bg-hover: rgba(24, 42, 44, .42);       /* 卡片 hover 实化 */
  --glass-border-hover: rgba(63, 224, 204, .32);

  /* 边框/分隔线统一 */
  --border-subtle: rgba(45, 212, 191, .14);
  --border-card: rgba(45, 212, 191, .14);
  --line: rgba(45, 212, 191, .14);

  /* 圆角统一 */
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 16px;
  --radius-xl: 22px;
  --radius: 14px;            /* 基础圆角别名（部分页面 var(--radius) 引用） */
  --radius-full: 999px;      /* 全圆（胶囊/徽标） */

  /* 容器最大宽度（供 .site-container 等工具类及后续布局统一） */
  --maxw: 1100px;

  /* 间距（容器宽度 --maxw 留给各页自身，避免跨项目撑坏版式；宽度统一见 Phase 2） */
  --gap: 24px;

  /* 阴影 */
  --shadow-card: 0 10px 30px rgba(0, 0, 0, .25);
  --shadow-pop: 0 18px 50px rgba(0, 0, 0, .35);
  --shadow-lg: 0 22px 60px rgba(0, 0, 0, .38);   /* 大浮层/模态 */
}

/* ---------- 亮色 ---------- */
:root[data-theme="light"] {
  --bg-body: #F4F8F7;
  --bg-elevated: rgba(255, 255, 255, .80);
  --bg-card: rgba(255, 255, 255, .72);
  --surface: rgba(255, 255, 255, .72);
  --surface-2: rgba(255, 255, 255, .85);
  --bg: transparent;
  --glass: rgba(255, 255, 255, .78);
  --text-primary: rgba(15, 40, 38, .92);
  --text-secondary: rgba(30, 60, 56, .72);
  --text-muted: rgba(60, 90, 86, .55);
  --ink: rgba(15, 40, 38, .92);
  --muted: rgba(60, 90, 86, .60);
  --primary: #0D9488;
  --primary-2: #14B8A6;
  --primary-deep: #0F766E;
  --primary-ink: #FFFFFF;
  /* 字体 */
  --font-sans: 'Noto Sans SC', system-ui, -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-serif: 'Noto Serif SC', Georgia, 'Songti SC', serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* 状态色 */
  --warn: #EF4444;

  --glass-bg: rgba(255, 255, 255, .60);
  --glass-bg-strong: rgba(255, 255, 255, .78);
  --glass-border: rgba(13, 148, 136, .22);
  --glass-blur: 16px;
  --glass-saturate: 1.2;
  --glass-shadow: 0 8px 30px rgba(20, 60, 55, .12), inset 0 1px 0 rgba(255, 255, 255, .6);
  --border-subtle: rgba(13, 148, 136, .16);
  --border-card: rgba(13, 148, 136, .16);
  --line: rgba(13, 148, 136, .16);
  --shadow-card: 0 10px 30px rgba(20, 60, 55, .10);
  --shadow-pop: 0 18px 50px rgba(20, 60, 55, .16);

  /* 圆角别名 + 容器宽度（与暗色一致，两套显式声明） */
  --radius: 14px;
  --radius-full: 999px;
  --maxw: 1100px;

  /* 阴影（亮色浅阴影） */
  --shadow-lg: 0 22px 60px rgba(20, 60, 55, .18);

  /* 玻璃 hover（亮色浅化） */
  --glass-bg-hover: rgba(255, 255, 255, .88);
  --glass-border-hover: rgba(13, 148, 136, .30);
}

/* ---------- 全局基础 ---------- */
*, *::before, *::after { box-sizing: border-box; }

/* A2：主题切换平滑过渡 —— 仅「切换瞬间」(html.theme-animating) 启用全站颜色过渡，
   平时不挂全局 transition，避免拖慢 hover 等交互反馈（苹果风：平时 0 延迟，切换才顺）。
   缓动 cubic-bezier(.4,0,.2,1)，过渡背景/边框/颜色/阴影/模糊/文字描边。 */
html.theme-animating,
html.theme-animating *,
html.theme-animating *::before,
html.theme-animating *::after {
  transition-property: background-color, border-color, color, box-shadow, fill, stroke, backdrop-filter !important;
  transition-duration: .5s !important;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1) !important;
}

html { scroll-behavior: smooth; }

/* C 档：大标题负字距（苹果风紧排，提升中文标题精致度） */
h1 { letter-spacing: -.02em; }

body {
  background: var(--bg-body);
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  transition: background .5s, color .5s;
}

/* ---------- 暗色滚动条（青绿描边） ---------- */
:root[data-theme="dark"] ::-webkit-scrollbar { width: 10px; height: 10px; }
:root[data-theme="dark"] ::-webkit-scrollbar-track { background: rgba(12, 22, 24, .4); }
:root[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: rgba(45, 212, 191, .25); border-radius: 8px;
}
:root[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: rgba(45, 212, 191, .42); }

/* ---------- 安全网：内容页卡片显式玻璃化 ----------
   绝大多数组件已通过上面变量重定义生效；此处针对直接写死
   background 或需强制层级/模糊的内容壳，确保 青绿 透出。      */
.bg-content-page .sample,
.bg-content-page .doc-main,
.bg-content-page article,
.bg-content-page .article,
.bg-content-page .wrap {
  background: var(--glass-bg-strong) !important;
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow) !important;
}
.bg-content-page .sample,
.bg-content-page .doc-main,
.bg-content-page article,
.bg-content-page .article {
  border-radius: var(--radius-lg) !important;
}
/* 侧栏保留玻璃；导航卡片(.ln-card)去边框——大框内不再各自描小框 */
.bg-content-page .sidebar {
  background: var(--glass-bg) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate)) !important;
}
.bg-content-page .ln-card {
  background: transparent !important;
  border: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 分类标题（.cat-header）不要玻璃框——纯文字标题，不可点击 */
.bg-content-page .cat-header {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--glass-border) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 大框内产品/内容卡片去边框——不再各自描小框 */
.bg-content-page .content-card,
.bg-content-page .prod-card {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.bg-content-page .content-card:hover,
.bg-content-page .prod-card:hover {
  transform: translateY(-3px) translate(var(--mx,0px), var(--my,0px));
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
}

/* ---------- 共享布局工具类（供后续布局统一复用，非强制） ---------- */
.site-container { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.site-card {
  background: var(--glass-bg-strong);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--glass-shadow);
}
.site-card-hover { --mx:0px; --my:0px; transition: transform .42s cubic-bezier(.16, 1, .3, 1), box-shadow .35s; }
.site-card-hover:hover { transform: translateY(-4px) translate(var(--mx,0px), var(--my,0px)); box-shadow: var(--shadow-pop); }

/* ---------- 首页卡片玻璃磨砂（mini-card / law-nav-card / article-card 等） ---------- */
:root[data-theme="dark"] .mini-card,
:root[data-theme="dark"] .law-nav-card,
:root[data-theme="dark"] .law-ref-card,
:root[data-theme="dark"] .article-card,
:root[data-theme="dark"] .qr-card,
:root[data-theme="dark"] .folder-panel {
  background: var(--glass-bg-strong);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
}
:root[data-theme="light"] .mini-card,
:root[data-theme="light"] .law-nav-card,
:root[data-theme="light"] .law-ref-card,
:root[data-theme="light"] .article-card,
:root[data-theme="light"] .qr-card,
:root[data-theme="light"] .folder-panel {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
}
/* 悬浮增强 */
:root[data-theme="dark"] .mini-card:hover,
:root[data-theme="dark"] .law-nav-card:hover,
:root[data-theme="dark"] .law-ref-card:hover,
:root[data-theme="dark"] .article-card:hover,
:root[data-theme="dark"] .qr-card:hover,
:root[data-theme="dark"] .folder-panel:hover {
    background: var(--glass-bg-hover);
    border-color: var(--glass-border-hover);
    box-shadow: 0 14px 44px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .08);
}

/* ============================================================
   统一二级页头部 .subpage-header
   替代各页散乱的 .page-header / .page-hdr / .ph
   与 sticky 导航(60px)保持舒适呼吸距离 (padding-top:88px)
   结构: [.breadcrumb?] + [.eyebrow?] + h1 + [.lede?]
   ============================================================ */
.subpage-header{
  max-width:var(--maxw,1100px);
  margin:0 auto;
  padding:130px 24px 32px;
  text-align:center;
}
.subpage-header .breadcrumb{
  font-size:13px;color:var(--text-muted,var(--muted));margin-bottom:18px;line-height:1.6;
}
.subpage-header .breadcrumb a{color:var(--primary);text-decoration:none;}
.subpage-header .breadcrumb a:hover{text-decoration:underline;}
.subpage-header .eyebrow{
  display:inline-block;font-size:12px;letter-spacing:1px;
  color:var(--primary);font-weight:600;margin-bottom:12px;padding:5px 14px;
  background:var(--tint,rgba(45,212,191,.12));border-radius:999px;
}
.subpage-header h1{
  font-family:var(--font-serif,Georgia,serif);
  font-size:clamp(30px,5vw,42px);font-weight:800;line-height:1.18;
  color:var(--text-primary,var(--ink));margin-bottom:14px;letter-spacing:-.02em;
}
.subpage-header .lede{
  color:var(--text-muted,var(--muted));font-size:16px;line-height:1.8;
  max-width:620px;margin:0 auto;
}
/* 左对齐变体：法条检索等两栏布局，头部占满内容栏 */
.subpage-header.flush{text-align:left;max-width:none;padding-left:0;padding-right:0;}
.subpage-header.flush .lede{margin-left:0;}
@media(max-width:768px){
  .subpage-header{padding:64px 18px 24px;}
  .subpage-header h1{font-size:28px;}
  .subpage-header .lede{font-size:15px;}
}

/* ================================================================
   site-footer —— 全站统一底部
   标准内容：© 2026 孙功钦 · 钦律亲为（普法学习用途） | 用大白话讲法律
   特殊页可在内部追加内容（如 legal-search 的数据源、index 的邮箱）
   ================================================================ */
.site-footer{
  text-align:center;padding:32px 20px;font-size:13px;
  color:var(--text-muted);line-height:1.6;border-top:1px solid var(--border-card,rgba(128,128,128,.12));
  background:transparent;
}
.site-footer b{color:var(--text-primary);font-weight:500;}
.site-footer a{color:var(--primary);text-decoration:none;transition:color .2s;}
.site-footer a:hover{text-decoration:underline;color:var(--primary-deep);}
/* 紧凑变体：用于已有自己背景的页面 */
.site-footer.compact{border-top:none;padding:20px;}

/* ================================================================
   全站吉祥物徽标 .mascot（右下角「钦」）
   单一样式来源：所有页面通过 site-nav.js 注入，无需逐页内联
   ================================================================ */
.mascot{position:fixed;bottom:28px;right:28px;width:56px;height:56px;border-radius:var(--radius-md,16px);background:linear-gradient(135deg,var(--primary),var(--primary-deep));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif,serif);font-size:30px;font-weight:900;cursor:pointer;box-shadow:0 4px 24px rgba(20,184,166,.35),0 0 0 3px rgba(255,255,255,.35);z-index:999;animation:m-bounce 4s ease-in-out infinite;transition:transform .25s,box-shadow .25s;text-decoration:none;user-select:none;}
.mascot::before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border:1.5px solid rgba(255,255,255,.4);border-radius:var(--radius-sm,8px);pointer-events:none;}
.mascot:hover{transform:scale(1.12)!important;box-shadow:0 8px 32px rgba(20,184,166,.5),0 0 0 5px rgba(255,255,255,.5);animation:none!important;}
.mascot:active{transform:scale(.92)!important;}
@keyframes m-bounce{0%,100%{transform:translateY(0) rotate(0);}15%{transform:translateY(-14px) rotate(-3deg);}30%{transform:translateY(0) rotate(0);}45%{transform:translateY(-7px) rotate(2deg);}60%{transform:translateY(0) rotate(0);}}
@media (prefers-reduced-motion: reduce){ .mascot{ animation:none !important; transform:none !important; } }
@media(max-width:600px){.mascot{bottom:18px;right:18px;width:50px;height:50px;font-size:28px;}}

/* ================================================================
   统一二级页内容组件（v20260809 — 消除各页"各自为政"）
   用法：各页内容区统一套这些类，不再自建 .ln-card/.prod-card/.tool-card/.site
   ================================================================ */

/* —— 统一卡片 .content-card —— */
/* 适用：wenshu 文书卡片 / law-nav 导航卡片 / legal-sites 站点卡片
   products 产品卡片因有图片+价格，保留 .prod-card 但对齐基础 token */
.content-card{
  --mx:0px; --my:0px;
  background: var(--bg-card); border: 1px solid var(--border-card);
  border-radius: var(--radius-lg); padding: 18px 22px;
  display: flex; flex-direction: column; gap: 8px;
  transition: transform .42s cubic-bezier(.16,1,.3,1), box-shadow .35s cubic-bezier(.16,1,.3,1), border-color .35s, background-color .35s;
  text-decoration: none; position: relative; overflow: hidden;
}
.content-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background: linear-gradient(90deg, var(--primary), var(--primary-2));
  opacity: 0; transition: opacity .3s;
}
.content-card:hover{
  border-color: rgba(45,212,191,.25); transform: translateY(-3px) translate(var(--mx,0px), var(--my,0px));
  box-shadow: 0 8px 24px rgba(0,0,0,.12), 0 0 0 1px rgba(45,212,191,.10);
}
.content-card:hover::before{ opacity: 1; }

/* 卡片内部结构 */
.card-top{ display: flex; align-items: center; gap: 12px; }
.card-title{ font-size: 15px; font-weight: 600; color: var(--text-primary); line-height: 1.4; }
.card-sub{ font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.card-desc{ font-size: 13px; color: var(--text-secondary); line-height: 1.65; }
.card-tags{ display: flex; gap: 6px; flex-wrap: wrap; margin-top: auto; }
.card-tag{ font-size: 10.5px; padding: 4px 8px; border-radius: 4px;
  background: rgba(45,212,191,.08); color: var(--primary-2); }

/* —— 统一图标徽标 .badge-icon —— */
/* 替代 wenshu 的 .ln-ico.teal / law-nav 的 .ln-ico.blue|orange|... */
.badge-icon{
  width: 40px; height: 40px; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: #fff; font-family: var(--font-serif);
  font-size: 16px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--primary-deep), var(--primary));
}
/* 彩色变体（law-nav 分类用） */
.badge-icon.blue   { background: linear-gradient(135deg,#1E40AF,#3B82F6); }
.badge-icon.green  { background: linear-gradient(135deg,#166534,#22C55E); }
.badge-icon.purple { background: linear-gradient(135deg,#6B21A8,#A855F7); }
.badge-icon.orange { background: linear-gradient(135deg,#C2410C,#F97316); }
.badge-icon.red    { background: linear-gradient(135deg,#991B1B,#EF4444); }
.badge-icon.amber  { background: linear-gradient(135deg,#92400E,#F59E0B); }

/* —— 统一章节标题 .section-heading —— */
/* 替代 wenshu .bian-head / law-nav .cat-header / legal-sites .cat h2 */
.section-heading{
  font-family: var(--font-serif); font-size: 20px; font-weight: 700;
  color: var(--text-primary);
  border-left: 3px solid var(--primary); padding-left: 14px;
  margin: 36px 0 18px; line-height: 1.35;
}
.section-heading + *{ margin-top: 4px; } /* 标题后紧贴内容 */

/* 带描述的章节标题（替代 .cat-header） */
.section-heading.has-desc{
  padding-bottom: 10px; border-bottom: 1px solid var(--border-card);
  border-left: none; padding-left: 0; margin-bottom: 16px;
}
.section-heading.has-desc .sh-title{ font-size: 20px; font-weight: 700; color: var(--text-primary); margin-bottom: 4px; }
.section-heading.has-desc .sh-desc{ font-size: 13px; color: var(--text-muted); }

/* —— 统一信息横幅 .info-banner —— */
/* 替代 wenshu .banner-civil */
.info-banner{
  background: rgba(45,212,191,.08); border: 1px solid rgba(45,212,191,.22);
  border-radius: var(--radius-md); padding: 14px 18px; margin: 18px 0;
  font-size: 14px; color: var(--text-secondary); line-height: 1.7;
}
.info-banner b{ color: var(--primary-2); }

/* —— 统一网格布局 —— */
.card-grid{ display: grid; grid-template-columns: repeat(auto-fill,minmax(300px,1fr)); gap: 16px; }
@media(max-width:960px){ .card-grid{ grid-template-columns: repeat(2,1fr); } }
@media(max-width:600px){ .card-grid{ grid-template-columns: 1fr; } }


/* ================================================================
   动效增强（苹果风格打磨 · 20260809）
   1) 卡片鼠标高光 spotlight（--mx/--my 由 site-nav.js 注入）
   2) 通用卡片磁吸提升（变量驱动，叠加现有 hover 背景/阴影）
   3) 通用按钮磁吸（.btn / [data-magnetic]）
   4) 无障碍：reduce-motion 下关闭磁吸与高光
   ================================================================ */

/* 1) spotlight：鼠标跟随径向高光，--gx/--gy 由 JS 注入（独立于磁吸 --mx/--my） */
.glow { position: relative; }
.glow::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(220px circle at var(--gx, 50%) var(--gy, 50%), rgba(63,224,204,.18), transparent 60%);
  opacity: 0; transition: opacity .35s ease;
}
.glow:hover::after { opacity: 1; }

/* 2) 通用卡片磁吸：变量驱动 transform，与现有 hover 背景/阴影叠加 */
.mini-card, .law-nav-card, .law-ref-card, .article-card, .qr-card, .folder-panel {
  --mx:0px; --my:0px;
  transition: transform .45s cubic-bezier(.16,1,.3,1), background-color .35s, border-color .35s, box-shadow .35s;
}
.mini-card:hover, .law-nav-card:hover, .law-ref-card:hover,
.article-card:hover, .qr-card:hover, .folder-panel:hover {
  transform: translateY(-4px) translate(var(--mx,0px), var(--my,0px));
}

/* 3) 通用按钮磁吸：跟随光标 + 按压反馈（变量驱动） */
.btn, [data-magnetic] {
  --mx:0px; --my:0px; --sc:1;
  transform: translate3d(var(--mx,0px), var(--my,0px), 0) scale(var(--sc,1));
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .25s, border-color .25s, background .25s;
}
.btn:hover, [data-magnetic]:hover { --sc:1.04; }
.btn:active, [data-magnetic]:active { --sc:.95; }

/* 4) 无障碍：减少动效时关闭磁吸/高光，保留基础状态 */
@media (prefers-reduced-motion: reduce) {
  html.theme-animating, html.theme-animating *, html.theme-animating *::before, html.theme-animating *::after {
    transition-duration: .01ms !important;
  }
  .glow::after { display: none; }
  .mini-card, .law-nav-card, .law-ref-card, .article-card, .qr-card, .folder-panel,
  .content-card, .site-card-hover, .site-theme-btn, .btn, [data-magnetic] {
    transform: none !important;
  }
}

/* 主页板块锚点定位：吸顶导航约 64px，预留偏移避免被遮挡 */
section[id] { scroll-margin-top: 80px; }

/* 代码窗口：亮色玻璃增强 —— 透化背景让点阵透出，顶部高光边勾出玻璃轮廓 */
[data-theme="light"] .code-window{
  background: rgba(255, 255, 255, .42);
  box-shadow: 0 22px 60px rgba(13, 80, 72, .16), inset 0 1px 0 rgba(255, 255, 255, .95), 0 0 0 1px rgba(13, 148, 136, .10);
}
[data-theme="light"] .code-window:hover{
  background: rgba(255, 255, 255, .56);
}
[data-theme="light"] .code-window-head{
  background: rgba(13, 148, 136, .06);
  border-bottom: 1px solid rgba(13, 148, 136, .14);
}

/* ================================================================
   内容页移动端适配（blog 文章 + wenshu 文书 全局覆盖）
   blog/*.html 和 wenshu*.html 各有内联 style，但类名统一，
   此处通过全局 @media 统一收窄间距/字号/溢出保护。
   ================================================================ */

/* --- Blog 文章页：平板/大手机 --- */
@media (max-width: 768px){
  .article-header{ padding:40px 18px 24px; }
  .article-header h1{ font-size:clamp(24px,6vw,32px); }
  article{ padding:0 18px 40px; }
  article h2{ font-size:21px; margin:36px 0 16px; padding-left:12px; }
  article h3{ font-size:17px; margin:26px 0 12px; padding-left:10px; }
  article p{ font-size:15px; margin-bottom:14px; }
  article ul, article ol{ font-size:14.5px; }
  article blockquote{ padding:14px 18px; font-size:14px; margin:18px 0; border-radius:0 var(--radius-sm) var(--radius-sm) 0; }
  article code{ font-size:12.5px; padding:2px 6px; }
  .article-author{ font-size:13px; margin:0 0 24px; }
}

/* --- Blog 文章页：小手机 --- */
@media (max-width: 520px){
  .article-header{ padding:32px 14px 20px; }
  .article-header h1{ font-size:clamp(22px,7vw,28px); letter-spacing:-.3px; }
  article{ padding:0 14px 32px; }
  article h2{ font-size:19px; margin:30px 0 14px; }
  article h3{ font-size:16px; margin:22px 0 10px; }
  article p, article ul, article ol{ font-size:14.5px; line-height:1.8; }
  article blockquote{ padding:12px 14px; font-size:13.5px; margin:14px 0; }
  article ul li{ padding-left:20px; }
  article ul li::before{ left:4px; top:9px; width:6px;height:6px; }
}

/* --- Wenshu 文书页：平板/大手机 --- */
@media (max-width: 768px){
  .doc-main{ padding:20px 18px 50px; }
  .doc-h1{ font-size:26px; }
  .doc-h3{ font-size:16px; margin:20px 0 8px; }
  .doc-h4{ font-size:14px; }
  .doc-main p{ font-size:14.5px; line-height:1.85; }
  .doc-ol{ font-size:14.5px; }
  .sample{ padding:18px 16px 16px; margin:12px 0; border-radius:var(--radius-md); }
  .sample-body{ font-size:15px; line-height:1.8; }
  .sample-body .dl-title{ font-size:17px; }
  .sample-body .dl-sub{ font-size:14px; }
  .disclaimer{ font-size:12px; padding-top:14px; margin-top:30px; line-height:1.65; }
  .prevnext{ flex-direction:column; gap:10px; }
  .pn{ max-width:100%; padding:10px 14px; }
  .pn.next{ text-align:left; }
  .sec-nav-inner{ padding:0 14px; }
  .banner-civil{ padding:12px 14px; font-size:13px; }
}

/* --- Wenshu 文书页：小手机 --- */
@media (max-width: 520px){
  .doc-main{ padding:16px 14px 40px; }
  .doc-h1{ font-size:22px; letter-spacing:-.3px; }
  .doc-h3{ font-size:15px; }
  .doc-main p, .doc-ol{ font-size:14px; line-height:1.8; }
  .sample{ padding:14px 14px 14px; border-radius:var(--radius-sm); margin:10px 0; }
  .sample-body{ font-size:14px; line-height:1.75; }
  .sample-body .dl-title{ font-size:16px; }
  .sample-body .dl-sub{ font-size:13px; }
  .copy-btn{ top:8px; right:10px; font-size:11px; padding:3px 10px; }
}
