/* ==========================================================================
   亿万国游戏 · 共享样式 /assets/site.css
   技术蓝图网格 × 珠宝色分区 × 切角面板
   ========================================================================== */

:root{
  --void:#05070E;
  --panel:#0B1220;
  --panel-2:#132238;
  --jade:#0E3B3A;
  --cyan:#00E5D0;
  --amber:#FFB020;
  --magenta:#FF3D8B;
  --violet:#7C5CFF;
  --wine:#B3123C;
  --ink:#E8F1FF;
  --mist:#8FA3BF;
  --line:#1F3350;

  --maxw:1280px;
  --gutter:24px;
  --header-h:88px;
  --header-h-slim:56px;

  --font-display:"Arial Narrow","Helvetica Neue",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --ease:cubic-bezier(.22,.61,.36,1);
  --hex:polygon(25% 2%,75% 2%,99% 50%,75% 98%,25% 98%,1% 50%);
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  min-height:100%;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.75;
  background-color:var(--void);
  background-image:
    radial-gradient(920px 620px at 88% -8%, rgba(0,229,208,.10), transparent 72%),
    radial-gradient(760px 520px at 2% 6%, rgba(124,92,255,.10), transparent 72%),
    repeating-linear-gradient(to right, rgba(31,51,80,.52) 0 1px, transparent 1px 80px),
    repeating-linear-gradient(to bottom, rgba(31,51,80,.38) 0 1px, transparent 1px 80px);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}
body.nav-open{ overflow:hidden; }
h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote,dl,dd{ margin:0; }
ul,ol{ padding:0; list-style:none; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
img,svg,video{ display:block; max-width:100%; }
table{ border-collapse:collapse; width:100%; }
[hidden]{ display:none !important; }

:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:3px;
  border-radius:2px;
}

/* ---------- 通用排版 ---------- */
.container{ width:min(100% - (var(--gutter) * 2), var(--maxw)); margin-inline:auto; }
.section{ padding:96px 0; border-top:1px solid var(--line); }
.section--tight{ padding:64px 0; }
.section-head{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:12px 28px;
  margin-bottom:40px;
}
.eyebrow{
  font-family:var(--font-mono);
  font-size:12px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--cyan);
}
.section-title{
  font-family:var(--font-display);
  font-weight:300;
  font-stretch:condensed;
  font-size:clamp(28px,4.4vw,56px);
  line-height:1.08;
  letter-spacing:.08em;
}
.section-sub{ max-width:42ch; color:var(--mist); font-size:15px; }
.display-num{
  font-family:var(--font-mono);
  font-weight:700;
  font-size:clamp(56px,11vw,96px);
  line-height:.95;
  letter-spacing:-.01em;
  color:var(--ink);
}
.display-num--amber{ color:var(--amber); }

/* ---------- 面包屑 ---------- */
.breadcrumb{ padding:20px 0 0; }
.breadcrumb-list{ display:flex; flex-wrap:wrap; gap:8px; font-size:12px; letter-spacing:.12em; color:var(--mist); }
.breadcrumb-item + .breadcrumb-item::before{ content:"/"; margin-right:8px; color:var(--line); }
.breadcrumb-item a:hover{ color:var(--cyan); }

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 20px;
  font-size:14px; letter-spacing:.1em;
  border:1px solid transparent;
  transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);
}
.btn:hover{ transform:translateY(-1px); }
.btn-primary{ background:var(--cyan); color:#04121A; font-weight:600; }
.btn-primary:hover{ background:#3BF3E2; }
.btn-amber{ background:var(--amber); color:#1A1205; font-weight:600; }
.btn-amber:hover{ background:#FFC554; }
.btn-quiet{ border-color:var(--line); background:rgba(19,34,56,.55); color:var(--ink); }
.btn-quiet:hover{ border-color:var(--cyan); color:var(--cyan); }
.btn-ghost{ border-color:rgba(0,229,208,.5); color:var(--cyan); }
.btn-ghost:hover{ background:rgba(0,229,208,.12); border-color:var(--cyan); }

/* ---------- 跳转链接 ---------- */
.skip-link{
  position:fixed; top:12px; left:12px; z-index:200;
  padding:10px 16px;
  background:var(--cyan); color:#04121A;
  font-size:13px; letter-spacing:.1em;
  transform:translateY(-160%);
  transition:transform .18s var(--ease);
}
.skip-link:focus{ transform:translateY(0); }

/* ==========================================================================
   头部
   ========================================================================== */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(5,7,14,.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-grid{
  width:min(100% - (var(--gutter) * 2), var(--maxw));
  margin-inline:auto;
  min-height:var(--header-h);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:24px;
  transition:min-height .24s var(--ease);
}
.site-header[data-shrunk="true"] .header-grid{ min-height:var(--header-h-slim); }
.site-header[data-shrunk="true"] .brand-index,
.site-header[data-shrunk="true"] .header-status,
.site-header[data-shrunk="true"] .header-cta{ display:none; }

/* 品牌块 */
.brand-block{ display:flex; align-items:center; gap:18px; min-width:0; }
.brand-mark{ display:inline-flex; align-items:center; gap:10px; }
.brand-glyph{
  width:16px; height:18px; flex:none;
  background:linear-gradient(140deg,var(--cyan),var(--violet));
  clip-path:var(--hex);
}
.brand-name{
  font-family:var(--font-display);
  font-size:19px; font-weight:400;
  letter-spacing:.14em;
  white-space:nowrap;
}
.brand-index{
  display:flex; align-items:center; gap:8px;
  padding-left:18px;
  border-left:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:11px; letter-spacing:.1em;
  color:var(--mist);
  white-space:nowrap;
}
.index-label{ opacity:.75; }
.index-value{ color:var(--cyan); font-size:13px; letter-spacing:.06em; }
.pulse-dot{
  width:6px; height:6px; flex:none; border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 0 0 rgba(0,229,208,.55);
  animation:pulse 2.6s var(--ease) infinite;
}
@keyframes pulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(0,229,208,.5); opacity:1; }
  70%{ box-shadow:0 0 0 8px rgba(0,229,208,0); opacity:.72; }
}

/* 中间状态条 */
.header-status{
  display:flex; align-items:center; gap:10px;
  font-size:11px; letter-spacing:.12em;
  color:var(--mist);
  white-space:nowrap; overflow:hidden;
}
.status-dot{ width:5px; height:5px; flex:none; border-radius:50%; background:var(--amber); }
.status-sep{ width:1px; height:11px; background:var(--line); flex:none; }

/* 主导航 */
.primary-nav{ display:flex; justify-content:flex-end; }
.nav-list{ display:flex; align-items:center; gap:22px; }
.nav-link{
  position:relative;
  display:inline-block;
  padding:10px 2px;
  font-size:14px; letter-spacing:.14em;
  color:var(--mist);
  transition:color .18s var(--ease);
}
.nav-link::after{
  content:"";
  position:absolute; left:0; right:0; bottom:4px; height:1px;
  background:var(--cyan);
  transform:scaleX(0); transform-origin:left center;
  transition:transform .24s var(--ease);
}
.nav-link:hover,.nav-link:focus-visible{ color:var(--ink); }
.nav-link:hover::after,.nav-link:focus-visible::after{ transform:scaleX(1); }
.nav-link[aria-current="page"]{ color:var(--cyan); }
.nav-link[aria-current="page"]::after{ transform:scaleX(1); opacity:.7; }

/* 工具区 */
.header-utility{ display:flex; align-items:center; gap:16px; }
.search-slot{ position:relative; }
.search-trigger{
  display:inline-flex; align-items:center; gap:9px;
  padding:9px 2px;
  font-size:12px; letter-spacing:.14em; color:var(--mist);
  transition:color .18s var(--ease);
}
.search-trigger:hover,
.search-trigger[aria-expanded="true"]{ color:var(--cyan); }
.search-icon{
  position:relative;
  width:13px; height:13px; flex:none;
  border:1px solid currentColor; border-radius:50%;
}
.search-icon::after{
  content:"";
  position:absolute; right:-4px; bottom:-3px;
  width:6px; height:1px;
  background:currentColor;
  transform:rotate(45deg);
}
.search-paths{
  position:absolute; top:calc(100% + 14px); right:0; z-index:70;
  width:290px;
  background:rgba(11,18,32,.98);
  border:1px solid var(--line);
  box-shadow:0 24px 48px rgba(0,0,0,.55);
}
.search-paths::before{
  content:"快捷入口";
  display:block;
  padding:10px 14px;
  font-family:var(--font-mono);
  font-size:10px; letter-spacing:.22em;
  color:var(--mist);
  border-bottom:1px solid var(--line);
}
.path-item{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:2px 10px;
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  transition:background .18s var(--ease);
}
.path-item:last-child{ border-bottom:0; }
.path-item:hover{ background:rgba(0,229,208,.07); }
.path-num{ font-family:var(--font-mono); font-size:11px; color:var(--cyan); letter-spacing:.1em; }
.path-name{ font-size:14px; letter-spacing:.08em; }
.path-note{ grid-column:2; font-size:11px; letter-spacing:.1em; color:var(--mist); }

/* 移动导航按钮 */
.nav-toggle{
  display:none;
  align-items:center; gap:8px;
  padding:10px 12px;
  border:1px solid var(--line);
  color:var(--mist);
  transition:border-color .18s var(--ease), color .18s var(--ease);
}
.nav-toggle:hover{ border-color:var(--cyan); color:var(--cyan); }
.nav-toggle-bar{
  display:block;
  width:15px; height:1px;
  background:currentColor;
  transition:transform .2s var(--ease), opacity .2s var(--ease);
}
.nav-toggle.is-active .nav-toggle-bar:nth-child(1){ transform:translateY(4px) rotate(45deg); }
.nav-toggle.is-active .nav-toggle-bar:nth-child(2){ opacity:0; }
.nav-toggle.is-active .nav-toggle-bar:nth-child(3){ transform:translateY(-4px) rotate(-45deg); }
.nav-toggle-text{ font-size:11px; letter-spacing:.18em; }

/* 阅读进度 */
.scroll-progress{ height:1px; background:transparent; }
.progress-bar{
  display:block; height:1px; width:100%;
  background:linear-gradient(90deg,var(--cyan),var(--amber));
  transform:scaleX(0); transform-origin:left center;
}

/* ==========================================================================
   页脚
   ========================================================================== */
.site-footer{
  position:relative;
  margin-top:40px;
  border-top:1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(11,18,32,.6), rgba(5,7,14,.95)),
    repeating-linear-gradient(to right, rgba(31,51,80,.35) 0 1px, transparent 1px 80px);
  padding:64px 0 24px;
}
.footer-grid{
  width:min(100% - (var(--gutter) * 2), var(--maxw));
  margin-inline:auto;
  display:grid;
  grid-template-columns:1.4fr repeat(4, minmax(0,1fr));
  gap:40px 32px;
}
.footer-brand{ display:flex; flex-direction:column; gap:12px; }
.brand-mark--footer .brand-name{ font-size:21px; }
.footer-tagline{
  font-family:var(--font-mono);
  font-size:11px; letter-spacing:.16em;
  color:var(--cyan);
}
.footer-note{ font-size:12px; line-height:1.9; color:var(--mist); max-width:30ch; }
.footer-title{
  font-size:12px; font-weight:500;
  letter-spacing:.2em;
  color:var(--mist);
  margin-bottom:16px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.footer-list{ display:flex; flex-direction:column; gap:10px; }
.footer-list a{
  font-size:13px; letter-spacing:.05em;
  color:var(--ink);
  opacity:.82;
  transition:color .18s var(--ease), opacity .18s var(--ease);
}
.footer-list a:hover,.footer-list a:focus-visible{ color:var(--cyan); opacity:1; }

.footer-contact{
  width:min(100% - (var(--gutter) * 2), var(--maxw));
  margin:48px auto 0;
  padding:24px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px 32px;
}
.contact-line{ display:flex; flex-wrap:wrap; gap:10px; font-size:13px; }
.contact-label{
  font-family:var(--font-mono);
  font-size:11px; letter-spacing:.16em;
  color:var(--mist);
  padding-top:2px;
}
.contact-value{ color:var(--ink); letter-spacing:.04em; }

.footer-status{
  width:min(100% - (var(--gutter) * 2), var(--maxw));
  margin:20px auto 0;
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px;
  font-family:var(--font-mono);
  font-size:11px; letter-spacing:.14em;
  color:var(--mist);
}
.footer-year{ white-space:nowrap; }

/* 返回顶部 */
.back-top{
  position:fixed; right:var(--gutter); bottom:var(--gutter); z-index:70;
  display:inline-flex; align-items:center; gap:10px;
  padding:11px 16px;
  background:rgba(11,18,32,.94);
  border:1px solid var(--line);
  color:var(--mist);
  font-size:11px; letter-spacing:.18em;
  opacity:0; visibility:hidden;
  transform:translateY(14px);
  transition:opacity .24s var(--ease), transform .24s var(--ease), visibility .24s, border-color .18s var(--ease), color .18s var(--ease);
}
.back-top[data-visible="true"]{ opacity:1; visibility:visible; transform:translateY(0); }
.back-top[data-visible="true"] .back-top-line{ transform:scaleY(1); }
.back-top:hover{ border-color:var(--cyan); color:var(--cyan); }
.back-top-line{
  width:1px; height:20px;
  background:linear-gradient(to top,var(--cyan),transparent);
  transform:scaleY(0); transform-origin:bottom center;
  transition:transform .32s var(--ease);
}
.back-top-text{ white-space:nowrap; }

/* ==========================================================================
   通用内容组件
   ========================================================================== */
.split-layout{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(0,3fr);
  gap:48px;
  align-items:start;
}
.split-main{ min-width:0; }
.split-aside{ min-width:0; display:flex; flex-direction:column; gap:28px; }

/* 面板 */
.panel{
  position:relative;
  background:linear-gradient(160deg, rgba(19,34,56,.72), rgba(11,18,32,.92));
  border-top:1px solid var(--line);
  padding:24px;
}
.panel-head{
  display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:10px 20px;
  padding-bottom:14px; margin-bottom:18px;
  border-bottom:1px solid var(--line);
}
.panel-body{ font-size:15px; color:var(--ink); }
.cut-panel{
  --cut:20px;
  position:relative;
  background:linear-gradient(160deg, rgba(19,34,56,.86), rgba(11,18,32,.94));
  border-top:1px solid var(--line);
  padding:26px;
  clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));
}
.cut-panel::before,
.cut-panel::after{
  content:"";
  position:absolute;
  width:var(--cut); height:var(--cut);
  pointer-events:none;
}
.cut-panel::before{
  top:0; left:0;
  background:linear-gradient(45deg, transparent calc(50% - 1px), var(--line) calc(50% - 1px), var(--line) 50%, transparent calc(50% + 0.5px));
}
.cut-panel::after{
  bottom:0; right:0;
  background:linear-gradient(45deg, transparent calc(50% - 1px), var(--line) calc(50% - 1px), var(--line) 50%, transparent calc(50% + 0.5px));
}
.panel--jade{ background:linear-gradient(160deg, rgba(14,59,58,.85), rgba(11,18,32,.94)); }
.panel--wine{ background:linear-gradient(160deg, rgba(179,18,60,.28), rgba(11,18,32,.94)); }

/* 数据表 */
.table-scroll{
  overflow-x:auto;
  border:1px solid var(--line);
  background:rgba(11,18,32,.72);
}
.data-table{ min-width:640px; font-size:14px; }
.data-table th,
.data-table td{
  padding:12px 16px;
  text-align:left;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.data-table thead th{
  position:sticky; top:0; z-index:2;
  background:#0B1220;
  font-family:var(--font-mono);
  font-size:11px; font-weight:500; letter-spacing:.16em;
  color:var(--mist);
}
.data-table tbody tr{ transition:background .16s var(--ease); }
.data-table tbody tr:hover{ background:rgba(0,229,208,.06); }
.data-table tbody tr:last-child td{ border-bottom:0; }
.data-table .num{ font-family:var(--font-mono); color:var(--cyan); letter-spacing:.04em; }

/* 折叠 */
.fold{ border-top:1px solid var(--line); }
.fold-summary{
  padding:14px 0;
  font-family:var(--font-mono);
  font-size:12px; letter-spacing:.16em;
  color:var(--cyan);
  cursor:pointer;
  list-style:none;
}
.fold-summary::-webkit-details-marker{ display:none; }
.fold-summary::before{ content:"＋ "; color:var(--mist); }
.fold[open] > .fold-summary::before{ content:"－ "; }
.fold-summary:hover{ color:var(--ink); }

/* 标签与胶囊 */
.tag{
  display:inline-flex; align-items:center; gap:6px;
  padding:3px 10px;
  font-size:12px; letter-spacing:.12em;
  border:1px solid var(--line);
  background:rgba(19,34,56,.5);
  color:var(--mist);
}
.tag--cyan{ color:var(--cyan); border-color:rgba(0,229,208,.42); }
.tag--amber{ color:var(--amber); border-color:rgba(255,176,32,.42); }
.tag--magenta{ color:var(--magenta); border-color:rgba(255,61,139,.42); }
.tag--violet{ color:var(--violet); border-color:rgba(124,92,255,.5); }
.tag--wine{ color:#FF7A9C; border-color:rgba(179,18,60,.65); }
.chip{
  display:inline-flex; align-items:center;
  padding:4px 12px;
  font-family:var(--font-mono);
  font-size:11px; letter-spacing:.14em;
  color:var(--mist);
  border:1px solid var(--line);
  background:rgba(11,18,32,.7);
}

/* 数字块 */
.stat{ display:flex; flex-direction:column; gap:4px; }
.stat-value{
  font-family:var(--font-mono);
  font-size:clamp(24px,3vw,34px);
  line-height:1.1;
  color:var(--cyan);
  letter-spacing:.02em;
}
.stat-label{ font-size:12px; letter-spacing:.14em; color:var(--mist); }

/* 提示条 */
.callout{
  border-left:2px solid var(--cyan);
  background:rgba(0,229,208,.07);
  padding:16px 20px;
  font-size:15px;
}
.callout--warn{ border-left-color:var(--amber); background:rgba(255,176,32,.09); }
.callout--alert{ border-left-color:var(--wine); background:rgba(179,18,60,.18); }

/* 时间轴 */
.timeline{ position:relative; overflow-x:auto; padding:8px 0 16px; }
.timeline-track{
  position:relative;
  display:flex; gap:24px;
  min-width:max-content;
  padding-top:28px;
}
.timeline-track::before{
  content:"";
  position:absolute; left:0; right:0; top:12px; height:1px;
  background:linear-gradient(90deg, transparent, var(--line) 6%, var(--line) 94%, transparent);
}
.timeline-node{ position:relative; width:250px; }
.timeline-node::before{
  content:"";
  position:absolute; top:-21px; left:18px;
  width:9px; height:9px;
  background:var(--void);
  border:1px solid var(--cyan);
  transform:rotate(45deg);
  transition:background .24s var(--ease), box-shadow .24s var(--ease);
}
.timeline-node.is-revealed::before{ background:var(--cyan); box-shadow:0 0 14px rgba(0,229,208,.55); }
.timeline-card{ border-left:1px solid var(--line); padding-left:16px; }
.timeline-time{
  font-family:var(--font-mono);
  font-size:20px; letter-spacing:.04em;
  color:var(--amber);
  margin-bottom:6px;
}

/* 蜂巢礼包阵列 */
.honeycomb{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
}
.comb-cell{
  position:relative;
  clip-path:var(--hex);
  background:var(--line);
  isolation:isolate;
  transition:transform .24s var(--ease);
}
.comb-cell::before{
  content:"";
  position:absolute; inset:-40%;
  z-index:0;
  opacity:0;
  background:conic-gradient(from 0deg, transparent 0 58%, var(--comb-accent,var(--cyan)) 76%, transparent 94%);
  transition:opacity .24s var(--ease);
}
.comb-cell:hover{ transform:translateY(-4px); }
.comb-cell:hover::before{ opacity:1; animation:comb-spin 3.2s linear infinite; }
@keyframes comb-spin{ to{ transform:rotate(360deg); } }
.comb-inner{
  position:relative; z-index:1;
  margin:1px;
  min-height:172px;
  padding:26px 20px;
  display:flex; flex-direction:column; gap:8px;
  justify-content:center; align-items:flex-start;
  background:linear-gradient(165deg, rgba(19,34,56,.95), rgba(11,18,32,.98));
  clip-path:var(--hex);
}
.comb-icon{
  width:16px; height:16px;
  background:var(--comb-accent,var(--cyan));
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
.comb-name{ font-size:15px; letter-spacing:.1em; }
.comb-count{
  font-family:var(--font-mono);
  font-size:11px; letter-spacing:.14em;
  color:var(--mist);
}
.comb--cyan{ --comb-accent:var(--cyan); }
.comb--amber{ --comb-accent:var(--amber); }
.comb--magenta{ --comb-accent:var(--magenta); }
.comb--violet{ --comb-accent:var(--violet); }
.comb--wine{ --comb-accent:var(--wine); }
.comb--jade{ --comb-accent:#12A08C; }

/* 图片容器 */
.figure{ margin:0; display:flex; flex-direction:column; gap:10px; }
.figure-frame{
  position:relative;
  overflow:hidden;
  background:var(--panel);
  border:1px solid var(--line);
}
.figure-frame::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background:
    radial-gradient(120% 80% at 80% 0%, rgba(0,229,208,.14), transparent 62%),
    linear-gradient(180deg, rgba(5,7,14,0) 55%, rgba(5,7,14,.6));
}
.figure-frame--wide{ aspect-ratio:16 / 9; }
.figure-frame--square{ aspect-ratio:1 / 1; }
.figure-frame--portrait{ aspect-ratio:4 / 5; }
.figure-frame--tall{ aspect-ratio:3 / 4; }
.figure-media{ width:100%; height:100%; object-fit:cover; display:block; }
.figure-caption{
  font-size:12px; letter-spacing:.1em;
  color:var(--mist);
}
.figure-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;
}

/* 章节目录 */
.toc{ position:sticky; top:calc(var(--header-h-slim) + 28px); }
.toc-title{
  font-family:var(--font-mono);
  font-size:11px; letter-spacing:.22em;
  color:var(--mist);
  margin-bottom:14px;
}
.toc-list{ display:flex; flex-direction:column; }
.toc-link{
  display:block;
  padding:9px 12px;
  border-left:1px solid var(--line);
  font-size:13px; letter-spacing:.06em;
  color:var(--mist);
  transition:color .18s var(--ease), border-color .18s var(--ease), background .18s var(--ease);
}
.toc-link:hover{ color:var(--ink); }
.toc-link[aria-current="true"]{
  color:var(--cyan);
  border-left-color:var(--cyan);
  background:rgba(0,229,208,.07);
}

/* 滚动显现 */
[data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .42s var(--ease), transform .42s var(--ease);
}
[data-reveal].is-revealed{ opacity:1; transform:none; }

/* ==========================================================================
   响应式
   ========================================================================== */
@media (max-width:1180px){
  .header-status{ display:none; }
  .header-grid{ grid-template-columns:auto minmax(0,1fr) auto auto; }
  .nav-list{ gap:16px; }
  .nav-link{ font-size:13px; letter-spacing:.1em; }
}

@media (max-width:1024px){
  .footer-grid{ grid-template-columns:1.4fr 1fr 1fr; }
  .split-layout{ grid-template-columns:1fr; gap:36px; }
  .toc{ position:static; }
}

@media (max-width:960px){
  :root{ --header-h:72px; }
  .header-grid{ grid-template-columns:auto 1fr auto; gap:16px; }
  .nav-toggle{ display:inline-flex; }
  .primary-nav{
    position:fixed;
    inset:0;
    z-index:55;
    display:block;
    padding:calc(var(--header-h) + 28px) var(--gutter) 40px;
    background:rgba(5,7,14,.985);
    border-bottom:1px solid var(--line);
    overflow-y:auto;
    opacity:0; visibility:hidden;
    transform:translateY(-10px);
    transition:opacity .22s var(--ease), transform .22s var(--ease), visibility .22s;
  }
  .primary-nav[data-open="true"]{ opacity:1; visibility:visible; transform:none; }
  .nav-list{ flex-direction:column; align-items:stretch; gap:0; width:100%; }
  .nav-link{
    display:block;
    padding:16px 0;
    font-size:21px;
    letter-spacing:.1em;
    color:var(--ink);
    border-bottom:1px solid var(--line);
  }
  .nav-link::after{ display:none; }
  .nav-link[aria-current="page"]{ padding-left:14px; border-left:2px solid var(--cyan); }
  .header-utility{ gap:10px; }
  .search-paths{ position:fixed; top:calc(var(--header-h) + 8px); left:var(--gutter); right:var(--gutter); width:auto; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:32px 24px; }
  .footer-brand{ grid-column:1 / -1; }
}

@media (max-width:720px){
  .section{ padding:64px 0; }
  .header-cta{ display:none; }
  .brand-index{ display:none; }
  .footer-contact{ grid-template-columns:1fr; }
  .footer-status{ flex-direction:column; gap:6px; }
  .back-top{ right:16px; bottom:16px; padding:10px 12px; }
  .comb-inner{ min-height:150px; padding:22px 16px; }
}

@media (max-width:480px){
  :root{ --gutter:18px; }
  .brand-name{ font-size:17px; letter-spacing:.1em; }
  .nav-toggle-text{ display:none; }
  .footer-grid{ grid-template-columns:1fr; }
}

/* ==========================================================================
   动效降级
   ========================================================================== */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  [data-reveal]{ opacity:1; transform:none; }
  .back-top{ transform:none; }
  .progress-bar{ transition:none; }
}
