/* ==========================================================================
   乐鱼平台赛事 · 城市坐标站  /assets/site.css
   设计语汇：深海蓝画板 · 珊瑚橙索引 · 极细边界 · 编辑刊物排版
   ========================================================================== */

/* ---------- 0. 变量 ---------- */
:root{
  --sea:#071C33;
  --sea-2:#0E2F4F;
  --sea-3:#123A5E;
  --sea-deep:#04121F;
  --coral:#FF6B4A;
  --coral-soft:#FF9A7A;
  --ice:#DCE6EF;
  --sand:#C8A165;
  --teal:#36D6C3;
  --paper:#F6F8FA;
  --ink:#0A1018;
  --ink-soft:#22303F;
  --slate:#5B7186;

  --ice-08:rgba(220,230,239,.08);
  --ice-14:rgba(220,230,239,.14);
  --ice-24:rgba(220,230,239,.24);
  --ice-64:rgba(220,230,239,.64);
  --ink-12:rgba(10,16,24,.12);
  --ink-64:rgba(10,16,24,.66);

  --font-display:"Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,"Times New Roman",serif;
  --font-head:"Barlow Condensed","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-body:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --shell:1200px;
  --gutter:clamp(18px,4vw,40px);
  --radius-s:2px;
  --radius-m:4px;
  --shadow-panel:0 1px 0 rgba(220,230,239,.05), 0 20px 44px -30px rgba(0,0,0,.85);
  --shadow-float:0 12px 28px -18px rgba(0,0,0,.9);
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:180ms;
}

/* ---------- 1. Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:132px;
}
body{
  margin:0;
  background:var(--sea);
  color:var(--ice);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block;}
button{font:inherit;color:inherit;}
a{color:inherit;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p{margin:0;}
table{border-collapse:collapse;width:100%;}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px;}
#main-content:focus{outline:none;}

/* ---------- 2. 中文排版基础 ---------- */
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:800;
  line-height:1.18;
  letter-spacing:.01em;
  text-wrap:balance;
}
p{text-wrap:pretty;}
strong{font-weight:700;color:#fff;}
.band--paper strong{color:var(--ink);}

/* ---------- 3. 工具类 ---------- */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.is-mono{font-family:var(--font-mono);letter-spacing:.02em;font-variant-numeric:tabular-nums;}
.skip-link{
  position:absolute;left:var(--gutter);top:8px;z-index:999;
  transform:translateY(-240%);
  background:var(--coral);color:#1A0A05;
  font-family:var(--font-head);font-weight:800;font-size:15px;
  padding:10px 18px;border-radius:var(--radius-s);text-decoration:none;
  transition:transform var(--dur) var(--ease);
}
.skip-link:focus{transform:translateY(0);}

/* ---------- 4. 布局容器 ---------- */
.shell{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.section{padding-block:clamp(40px,6.5vw,88px);}
.band--paper{
  background:var(--paper);
  color:var(--ink);
  border-top:1px solid var(--ink-12);
  border-bottom:1px solid var(--ink-12);
}
.band--paper .prose{color:var(--ink-64);}
.grid{display:grid;gap:clamp(16px,2.4vw,28px);}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid--split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);}

/* ---------- 5. 堆叠面板 ---------- */
.stack{display:grid;gap:clamp(18px,2.6vw,34px);}
.panel{
  position:relative;
  background:var(--sea-2);
  border:1px solid var(--ice-14);
  border-radius:var(--radius-m);
  box-shadow:var(--shadow-panel);
  padding:clamp(20px,3.2vw,42px);
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.panel--paper{background:var(--paper);color:var(--ink);border-color:var(--ink-12);}
.panel--inset{margin-inline:clamp(0px,4vw,56px);}
.panel:hover{border-color:var(--ice-24);}

/* ---------- 6. 章节与标题 ---------- */
.chapter{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:baseline;
  gap:clamp(12px,2vw,26px);
}
.chapter__num{
  font-family:var(--font-mono);
  font-size:clamp(2rem,4.4vw,3.6rem);
  line-height:.9;
  letter-spacing:-.02em;
  color:var(--sand);
  font-variant-numeric:tabular-nums;
}
.chapter__title{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(1.55rem,3.1vw,2.5rem);
  font-weight:800;
  line-height:1.16;
}
.band--paper .chapter__num{color:#A8823F;}
.eyebrow{
  display:inline-flex;align-items:center;gap:.65em;
  font-family:var(--font-mono);
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--coral);
}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;}
.band--paper .eyebrow{color:#D9502F;}
.meta-line{
  display:flex;flex-wrap:wrap;gap:.4em 1.1em;align-items:center;
  font-family:var(--font-mono);
  font-size:11.5px;letter-spacing:.1em;
  color:var(--ice-64);
}
.band--paper .meta-line{color:rgba(10,16,24,.55);}

/* ---------- 7. 正文 ---------- */
.prose{
  max-width:38em;
  font-size:16.5px;
  line-height:1.8;
  color:rgba(220,230,239,.78);
}
.prose p{margin-bottom:1.1em;}
.prose p:last-child{margin-bottom:0;}
.prose a{
  color:var(--coral-soft);
  text-decoration:none;
  border-bottom:1px solid rgba(255,154,122,.4);
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.prose a:hover{border-bottom-color:var(--coral);color:#fff;}

/* ---------- 8. 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--font-head);
  font-weight:800;font-size:15px;line-height:1;letter-spacing:.03em;
  padding:12px 18px;
  border-radius:var(--radius-s);
  border:1px solid transparent;
  text-decoration:none;
  cursor:pointer;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),
             border-color var(--dur) var(--ease),transform var(--dur) var(--ease),
             box-shadow var(--dur) var(--ease);
}
.btn--coral{
  background:var(--coral);color:#1A0A05;border-color:var(--coral);
  box-shadow:0 10px 24px -16px rgba(255,107,74,.9);
}
.btn--coral:hover{background:var(--coral-soft);border-color:var(--coral-soft);transform:translateY(-1px);}
.btn--ghost{background:transparent;color:var(--ice);border-color:var(--ice-24);}
.btn--ghost:hover{border-color:var(--coral);color:var(--coral-soft);transform:translateY(-1px);}
.band--paper .btn--ghost{color:var(--ink);border-color:var(--ink-12);}
.band--paper .btn--ghost:hover{border-color:var(--coral);color:#D9502F;}

/* ---------- 9. 标签与筛选 ---------- */
.chip{
  display:inline-flex;align-items:center;gap:.5em;
  padding:7px 13px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;
  color:rgba(220,230,239,.78);
  background:transparent;
  border:1px solid var(--ice-24);
  border-radius:999px;
  cursor:pointer;
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.chip:hover{border-color:var(--coral);color:var(--coral-soft);}
.chip[aria-pressed="true"],
.chip[data-selected]{
  border-color:var(--teal);
  background:rgba(54,214,195,.12);
  color:#fff;
}
.chip[aria-pressed="true"]::before,
.chip[data-selected]::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--coral);
}
.band--paper .chip{color:var(--ink-64);border-color:var(--ink-12);}
.band--paper .chip:hover{border-color:var(--coral);color:#D9502F;}
.band--paper .chip[aria-pressed="true"],
.band--paper .chip[data-selected]{color:var(--ink);border-color:#1AA394;background:rgba(54,214,195,.16);}
.tag{
  display:inline-block;
  padding:3px 8px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sand);
  border:1px solid rgba(200,161,101,.42);
  border-radius:var(--radius-s);
}

/* ---------- 10. 面包屑 ---------- */
.breadcrumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:.55em;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ice-64);
}
.breadcrumbs a{
  color:inherit;text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.breadcrumbs a:hover{color:var(--coral-soft);border-bottom-color:var(--coral);}
.breadcrumbs__sep{color:var(--coral);opacity:.85;}
.breadcrumbs [aria-current="page"]{color:var(--ice);}

/* ---------- 11. 图片容器基础规则 ---------- */
.media{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:var(--radius-m);
  border:1px solid var(--ice-14);
  background:linear-gradient(152deg,var(--sea-3) 0%,var(--sea-2) 42%,var(--sea-deep) 100%);
  isolation:isolate;
}
.media::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(118deg,transparent 46%,rgba(255,107,74,.16) 46.4%,transparent 47%),
    radial-gradient(circle at 82% 16%,rgba(54,214,195,.18),transparent 58%),
    radial-gradient(circle at 12% 92%,rgba(200,161,101,.14),transparent 60%);
  mix-blend-mode:screen;
}
.media > img{
  position:relative;z-index:0;
  width:100%;height:100%;
  object-fit:cover;
  filter:saturate(1.06) contrast(1.04);
}
.media--wide{aspect-ratio:16/9;}
.media--panel{aspect-ratio:4/3;}
.media--tall{aspect-ratio:3/4;}
.media--square{aspect-ratio:1/1;}
.media--hero{aspect-ratio:5/4;}
.media__caption{
  margin-top:10px;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ice-64);
}
.band--paper .media{border-color:var(--ink-12);}
.band--paper .media__caption{color:rgba(10,16,24,.5);}

/* ---------- 12. 编辑部目录列表 ---------- */
.index-list{border-top:1px solid var(--ice-14);}
.index-list__item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:baseline;
  gap:clamp(12px,2vw,26px);
  padding:16px 4px;
  border-bottom:1px solid var(--ice-14);
  text-decoration:none;
  transition:background var(--dur) var(--ease),padding-left var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.index-list__item:hover{background:rgba(220,230,239,.05);padding-left:12px;border-bottom-color:rgba(255,107,74,.5);}
.index-list__num{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--sand);}
.index-list__title{font-family:var(--font-head);font-weight:700;font-size:17px;color:var(--ice);}
.index-list__meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--ice-64);}
.band--paper .index-list{border-top-color:var(--ink-12);}
.band--paper .index-list__item{border-bottom-color:var(--ink-12);}
.band--paper .index-list__item:hover{background:rgba(10,16,24,.035);}
.band--paper .index-list__title{color:var(--ink);}
.band--paper .index-list__meta{color:rgba(10,16,24,.55);}

/* ---------- 13. 页头 ---------- */
.site-header{
  position:sticky;top:0;z-index:120;
  background:linear-gradient(180deg,#08223B 0%,var(--sea) 100%);
  border-bottom:1px solid var(--ice-14);
  box-shadow:0 22px 36px -34px rgba(0,0,0,.95);
}
.header-strip{
  background:var(--sea-2);
  border-bottom:1px solid var(--ice-08);
}
.header-strip__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;
  min-height:34px;
  padding-block:5px;
  font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(220,230,239,.52);
}
.header-strip__brandline{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.header-strip__status{
  margin:0;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
}
.pulse-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--teal);
  animation:pulse 2.8s var(--ease) infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(54,214,195,.45);}
  70%{box-shadow:0 0 0 9px rgba(54,214,195,0);}
  100%{box-shadow:0 0 0 0 rgba(54,214,195,0);}
}

.command-bar{position:relative;overflow:visible;}
.command-bar::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(104deg,transparent 0 58%,rgba(255,107,74,.09) 58%,rgba(255,107,74,.09) 58.35%,transparent 58.35%),
    linear-gradient(104deg,transparent 0 74%,rgba(220,230,239,.07) 74%,rgba(220,230,239,.07) 74.25%,transparent 74.25%);
}
.command-bar__inner{
  position:relative;
  display:flex;align-items:center;
  gap:clamp(10px,2vw,26px);
  min-height:64px;
  padding-block:10px;
}
.brand{
  display:inline-flex;align-items:center;gap:10px;
  flex:0 0 auto;
  text-decoration:none;color:var(--ice);
}
.brand__mark{
  display:grid;place-items:center;
  width:34px;height:34px;
  font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.04em;
  color:var(--coral);
  background:rgba(255,107,74,.09);
  border:1px solid var(--coral);
  clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%);
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease);
}
.brand:hover .brand__mark{background:var(--coral);color:#1A0A05;}
.brand__text{display:flex;flex-direction:column;line-height:1.1;}
.brand__name{
  font-family:var(--font-head);font-weight:800;font-size:17px;letter-spacing:.05em;color:var(--ice);
}
.brand__sub{
  margin-top:3px;
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.24em;
  color:rgba(220,230,239,.45);
}

.primary-nav{margin-left:auto;}
.primary-nav__list{display:flex;align-items:center;gap:2px;}
.nav-link{
  display:inline-flex;align-items:baseline;gap:7px;
  padding:9px 12px;
  font-family:var(--font-head);font-weight:700;font-size:14.5px;letter-spacing:.03em;
  color:rgba(220,230,239,.76);
  text-decoration:none;
  border:1px solid transparent;
  border-radius:var(--radius-s);
  white-space:nowrap;
  transition:color var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.nav-link__idx{
  font-family:var(--font-mono);font-size:9.5px;font-weight:500;letter-spacing:.06em;
  color:var(--sand);
  transition:color var(--dur) var(--ease);
}
.nav-link:hover{color:#fff;background:rgba(220,230,239,.07);border-color:var(--ice-14);}
.nav-link:hover .nav-link__idx{color:var(--coral-soft);}
.nav-link[aria-current="page"]{background:var(--coral);color:#1A0A05;border-color:var(--coral);}
.nav-link[aria-current="page"] .nav-link__idx{color:rgba(26,10,5,.66);}
.nav-link[aria-current="page"]:hover{background:var(--coral-soft);border-color:var(--coral-soft);color:#1A0A05;}

.command-bar__cta{flex:0 0 auto;margin-left:6px;}

.nav-toggle{
  display:none;align-items:center;gap:9px;
  padding:9px 12px;
  background:transparent;
  border:1px solid var(--ice-24);
  border-radius:var(--radius-s);
  color:var(--ice);
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;
  cursor:pointer;
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.nav-toggle:hover{border-color:var(--coral);color:var(--coral-soft);}
.nav-toggle__bars{display:inline-flex;flex-direction:column;justify-content:space-between;width:16px;height:11px;}
.nav-toggle__bars i{
  display:block;height:1.5px;background:currentColor;
  transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease);
}
.nav-toggle[aria-expanded="true"]{border-color:var(--coral);color:var(--coral);background:rgba(255,107,74,.08);}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars i:nth-child(1){transform:translateY(4.75px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars i:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars i:nth-child(3){transform:translateY(-4.75px) rotate(-45deg);}

.scroll-rail{
  position:absolute;left:0;right:0;bottom:-1px;
  height:2px;overflow:hidden;pointer-events:none;
  background:transparent;
}
.scroll-rail__fill{
  display:block;height:100%;width:100%;
  background:linear-gradient(90deg,var(--teal),var(--coral));
  transform:scaleX(0);transform-origin:0 50%;
  transition:transform .12s linear;
}

/* ---------- 14. 页脚 ---------- */
.site-footer{
  position:relative;
  margin-top:clamp(48px,7vw,96px);
  background:linear-gradient(180deg,var(--sea) 0%,#04121F 100%);
  border-top:1px solid var(--ice-14);
  color:var(--ice);
}
.site-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--coral),var(--sand),transparent);
  opacity:.65;
}
.footer-main{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1.5fr) minmax(0,.95fr);
  gap:clamp(24px,4vw,56px);
  padding-block:clamp(38px,5.5vw,72px);
}
.footer-brand__title{
  position:relative;
  margin:0 0 14px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.55rem,3.3vw,2.35rem);
  line-height:1.16;
  color:#fff;
}
.footer-brand__title::after{
  content:".";
  color:var(--coral);
  margin-left:.06em;
}
.footer-brand__summary{
  margin:0;
  max-width:30em;
  font-size:15px;
  line-height:1.75;
  color:rgba(220,230,239,.66);
}
.footer-brand__index{
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid var(--ice-08);
  font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--sand);
}
.footer-nav{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2.5vw,32px);
}
.footer-col__title{
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--ice-14);
  font-family:var(--font-mono);
  font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--coral);
}
.footer-col__list{display:grid;gap:10px;}
.footer-link{
  display:inline-block;
  font-size:14.5px;
  color:rgba(220,230,239,.78);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.footer-link:hover{color:#fff;border-bottom-color:var(--coral);}
.footer-contact{display:grid;gap:14px;align-content:start;}
.footer-contact__item{margin:0;display:grid;gap:4px;}
.footer-contact__label{
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(220,230,239,.42);
}
.footer-contact__value{
  font-size:14px;line-height:1.6;
  color:rgba(220,230,239,.86);
  word-break:break-word;
}
.footer-legal{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:8px 22px;
  padding-block:18px 26px;
  border-top:1px solid var(--ice-08);
  font-family:var(--font-mono);
  font-size:11px;letter-spacing:.1em;
  color:rgba(220,230,239,.45);
}
.footer-legal__copy{margin:0;}
.footer-legal__icp{margin:0;color:var(--sand);}
.footer-legal__note{margin:0;margin-left:auto;}

.to-top{
  position:fixed;
  right:clamp(14px,3vw,28px);
  bottom:clamp(14px,3vw,28px);
  z-index:130;
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;
  color:var(--ice);
  background:rgba(14,47,79,.94);
  border:1px solid var(--ice-24);
  border-radius:var(--radius-s);
  cursor:pointer;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  box-shadow:var(--shadow-float);
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.to-top::before{content:"↑";font-size:12px;line-height:1;}
.to-top:hover{border-color:var(--coral);color:var(--coral-soft);transform:translateY(-2px);}
.to-top[hidden]{display:none;}

/* ---------- 15. 入场显现（仅在 JS 就绪时启用） ---------- */
.js-on [data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .55s var(--ease),transform .55s var(--ease);
}
.js-on [data-reveal].is-inview{opacity:1;transform:none;}

/* ---------- 16. 响应式：平板 ---------- */
@media (max-width:1080px){
  .nav-toggle{display:inline-flex;order:3;margin-left:0;}
  .command-bar__cta{order:2;margin-left:auto;margin-right:0;}
  .brand{order:1;}

  .primary-nav{
    order:4;
    position:absolute;
    top:100%;left:0;right:0;
    margin-left:0;
    background:var(--sea-2);
    border-top:1px solid var(--ice-14);
    border-bottom:1px solid rgba(255,107,74,.4);
    box-shadow:0 30px 44px -32px rgba(0,0,0,.95);
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    transition:max-height .3s var(--ease),opacity .2s var(--ease),visibility 0s linear .3s;
  }
  .primary-nav[data-open]{
    max-height:min(72vh,540px);
    overflow-y:auto;
    opacity:1;
    visibility:visible;
    transition:max-height .34s var(--ease),opacity .22s var(--ease),visibility 0s linear 0s;
  }
  .primary-nav__list{flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 18px;}
  .primary-nav__list li + li{border-top:1px solid var(--ice-08);}
  .nav-link{
    display:flex;align-items:center;justify-content:flex-start;gap:12px;
    padding:14px 4px;
    font-size:16px;
    border:0;border-radius:0;
    white-space:normal;
  }
  .nav-link__idx{font-size:10.5px;}
  .nav-link:hover{background:rgba(220,230,239,.05);border:0;}
  .nav-link[aria-current="page"]{background:transparent;border:0;color:var(--coral);}
  .nav-link[aria-current="page"] .nav-link__idx{color:var(--coral);}
  .nav-link[aria-current="page"]:hover{background:rgba(255,107,74,.08);color:var(--coral-soft);}
  .nav-link[aria-current="page"]::after{
    content:"当前";
    margin-left:auto;
    padding:2px 7px;
    font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;
    color:var(--coral);
    border:1px solid rgba(255,107,74,.5);
    border-radius:var(--radius-s);
  }

  .footer-main{grid-template-columns:1fr;gap:36px;}
  .footer-contact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px 24px;}
  .grid--3,.grid--split{grid-template-columns:1fr;}
}

/* ---------- 17. 响应式：手机 ---------- */
@media (max-width:720px){
  .header-strip__status{display:none;}
  .header-strip__inner{justify-content:flex-start;font-size:9.5px;letter-spacing:.12em;}
  .grid--2{grid-template-columns:1fr;}
  .panel--inset{margin-inline:0;}
  .footer-nav{grid-template-columns:1fr 1fr;}
  .footer-legal__note{margin-left:0;width:100%;}
}
@media (max-width:640px){
  .nav-toggle__label{display:none;}
  .nav-toggle{padding:10px;}
  .command-bar__cta{font-size:12.5px;padding:10px 11px;letter-spacing:.02em;}
  .brand__sub{display:none;}
  .brand__name{font-size:15px;}
  .brand__mark{width:30px;height:30px;font-size:11px;}
  .chapter{grid-template-columns:1fr;gap:8px;}
  .chapter__num{font-size:1.9rem;}
  .index-list__item{grid-template-columns:auto minmax(0,1fr);row-gap:4px;}
  .index-list__meta{grid-column:2;}
  .media--tall{aspect-ratio:4/5;}
  .footer-contact{grid-template-columns:1fr;}
  .to-top{font-size:9.5px;padding:9px 11px;}
}
@media (max-width:380px){
  .brand__text{display:none;}
  .footer-nav{grid-template-columns:1fr;}
}

/* ---------- 18. 降低动效 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .pulse-dot{animation:none;box-shadow:0 0 0 3px rgba(54,214,195,.18);}
  .scroll-rail__fill{transition:none;}
  .js-on [data-reveal]{opacity:1;transform:none;transition:none;}
  .primary-nav[data-open]{max-height:min(72vh,540px);}
}
