/* ==========================================================================
   宝威赛场 · 共享样式表  /assets/site.css
   夜场墨绿底 · 荧光青数据 · 信号橙比分 · 框架式导航边框
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,p,ul,ol,li,figure,blockquote,dl,dd,table,th,td{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit;text-decoration:none}
table{border-collapse:collapse}
summary{list-style:none}

:root{
  --ink:#06120F;
  --board:#0C231D;
  --raise:#143A31;
  --cyan:#2BE8C8;
  --cyan-dim:#14A88F;
  --orange:#FF6A2B;
  --orange-soft:#FFB37A;
  --paper:#F4EDDC;
  --paper-ink:#12211C;
  --mist:#C3D6CF;
  --mute:#7FA69C;

  --font-display:"Barlow Condensed","Roboto Condensed","Arial Narrow","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-mono:ui-monospace,"JetBrains Mono","SFMono-Regular",Menlo,Consolas,"Courier New",monospace;

  --rail-w:15rem;
  --topbar-h:3.25rem;
  --gutter:clamp(1rem,3vw,2.5rem);
  --shell-max:84rem;
  --radius-l:26px;
  --radius-m:16px;
  --radius-pill:999px;
  --dur:200ms;
  --ease:cubic-bezier(.22,.61,.36,1);
  --edge:1px solid rgba(43,232,200,.16);
}

body{
  background:var(--ink);
  color:var(--mist);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.75;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
@media (min-width:1024px){ body{font-size:17px} }

h1,h2,h3{
  font-family:var(--font-display);
  font-weight:800;
  line-height:1.1;
  letter-spacing:.01em;
  color:var(--paper);
  text-wrap:balance;
}
h4,h5{font-family:var(--font-body);font-weight:700;line-height:1.35;color:var(--paper)}
h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.02}
h2{font-size:clamp(1.6rem,3.6vw,2.5rem)}
h3{font-size:clamp(1.25rem,2.4vw,1.7rem)}

strong{color:var(--paper);font-weight:700}
::selection{background:var(--cyan);color:var(--ink)}

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

/* ---------------- 布局容器 ---------------- */
.shell{
  width:100%;
  max-width:var(--shell-max);
  margin-inline:0 auto;
  padding-inline:var(--gutter);
}
.main{
  display:block;
  padding-block:clamp(2rem,5vw,3.5rem) clamp(3rem,7vw,6rem);
}
.stack{display:grid;gap:clamp(.9rem,2vw,1.5rem);align-content:start}
.stack--tight{gap:.55rem}
.stack--loose{gap:clamp(1.6rem,4vw,3rem)}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}

.grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(1rem,2.4vw,2rem);
}
.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}
.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}
.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}
.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}
.col-full{grid-column:1 / -1}
@media (max-width:719.98px){
  .grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .col-7,.col-8,.col-9,.col-10,.col-11,.col-12{grid-column:1 / -1}
  .col-6{grid-column:1 / -1}
}

/* ---------------- 跳转链接 ---------------- */
.skip-link{
  position:fixed;
  top:-5rem;
  left:1rem;
  z-index:200;
  padding:.6rem 1.1rem;
  border-radius:var(--radius-pill);
  background:var(--cyan);
  color:var(--ink);
  font-weight:700;
  font-size:.9rem;
  transition:top var(--dur) var(--ease);
}
.skip-link:focus{top:.75rem}

/* ---------------- 页头框架 ---------------- */
.scroll-progress{
  position:fixed;
  top:0;left:0;right:0;
  height:3px;
  background:var(--cyan);
  transform:scaleX(0);
  transform-origin:0 50%;
  z-index:120;
  pointer-events:none;
}

.site-header{
  position:sticky;
  top:0;
  z-index:90;
  background:rgba(6,18,15,.94);
  backdrop-filter:blur(8px);
  border-bottom:var(--edge);
}

.topbar{
  display:flex;
  align-items:center;
  gap:.65rem;
  min-height:var(--topbar-h);
  padding:.5rem var(--gutter);
}
.topbar__brand{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-width:0;
  font-family:var(--font-display);
  font-weight:800;
  letter-spacing:.02em;
  color:var(--paper);
  font-size:1.02rem;
}
.topbar__mark{
  width:.6rem;height:.6rem;flex:0 0 auto;
  border-radius:2px;
  background:var(--cyan);
}
.topbar__brand:hover .topbar__name{color:var(--cyan)}
.topbar__name{white-space:nowrap}
.topbar__sub{
  display:none;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.14em;
  color:var(--mute);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.topbar__tools{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:.5rem;
}
.topbar__entry{
  display:none;
  align-items:center;
  padding:.4rem .85rem;
  border-radius:var(--radius-pill);
  border:1px dashed rgba(43,232,200,.4);
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.08em;
  color:var(--cyan);
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.topbar__entry:hover{background:rgba(43,232,200,.12);border-style:solid;border-color:var(--cyan)}
.topbar__cta{display:none}

@media (min-width:560px){ .topbar__sub{display:inline} }
@media (min-width:600px){ .topbar__cta{display:inline-flex} }
@media (min-width:820px){ .topbar__entry{display:inline-flex} }

.nav-toggle{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.45rem .8rem;
  border-radius:var(--radius-pill);
  border:1px solid rgba(43,232,200,.4);
  color:var(--cyan);
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.14em;
  transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.nav-toggle:hover{background:rgba(43,232,200,.12);border-color:var(--cyan)}
.nav-toggle__bars{
  width:16px;height:2px;
  background:currentColor;
  box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;
  transition:box-shadow var(--dur) var(--ease);
}
.nav-toggle[aria-expanded="true"]{color:var(--orange-soft);border-color:var(--orange)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars{box-shadow:none}

/* 竖向导航栏：手机为抽屉，桌面为页框 */
.rail{
  position:fixed;
  top:0;left:0;
  width:min(84vw,20rem);
  height:100vh;
  height:100dvh;
  z-index:95;
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:1.4rem 1.15rem 1.6rem;
  background:var(--board);
  border-right:1px solid rgba(43,232,200,.24);
  overflow-y:auto;
  transform:translateX(-102%);
  transition:transform 220ms var(--ease);
}
.rail[data-open]{transform:translateX(0)}
.rail__caption{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.3em;
  color:var(--mute);
}
.rail__list{display:grid;gap:.1rem}
.rail__item{display:block}
.rail__link{
  display:flex;
  align-items:baseline;
  gap:.7rem;
  padding:.55rem .6rem;
  border-radius:var(--radius-m);
  color:var(--mist);
  transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease);
}
.rail__link:hover{color:var(--cyan);background:rgba(43,232,200,.08)}
.rail__link[aria-current="page"]{color:var(--cyan);background:rgba(43,232,200,.1)}
.rail__num{
  font-family:var(--font-mono);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--mute);
  padding:.1rem .4rem;
  border-radius:var(--radius-pill);
  border:1px solid rgba(127,166,156,.4);
  transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.rail__link:hover .rail__num,
.rail__link[aria-current="page"] .rail__num{
  color:var(--ink);
  background:var(--cyan);
  border-color:var(--cyan);
}
.rail__link[aria-current="page"] .rail__num{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.rail__text{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.02rem;
  letter-spacing:.02em;
}
.rail__note{
  margin-top:auto;
  padding-top:1rem;
  border-top:var(--edge);
  font-size:.76rem;
  line-height:1.6;
  color:var(--mute);
}

.nav-scrim{
  position:fixed;
  inset:0;
  z-index:88;
  background:rgba(6,18,15,.74);
  opacity:0;
  pointer-events:none;
  transition:opacity var(--dur) var(--ease);
}
.nav-scrim[data-open]{opacity:1;pointer-events:auto}

@media (max-width:1023.98px){
  body.nav-open{overflow:hidden}
}

@media (min-width:1024px){
  body{padding-left:var(--rail-w);padding-top:var(--topbar-h)}
  .site-header{position:static;background:none;border-bottom:0;backdrop-filter:none}
  .topbar{
    position:fixed;
    top:0;left:var(--rail-w);right:0;
    height:var(--topbar-h);
    z-index:80;
    padding-inline:clamp(1rem,2.4vw,2.25rem);
    background:rgba(6,18,15,.94);
    border-bottom:var(--edge);
    border-left:var(--edge);
    backdrop-filter:blur(8px);
  }
  .rail{
    width:var(--rail-w);
    transform:none;
    background:var(--ink);
    z-index:85;
    padding:1.5rem 1.15rem 1.6rem;
  }
  .rail__caption{letter-spacing:.24em}
  .nav-toggle{display:none}
  .nav-scrim{display:none}
  .scroll-progress{left:0}
}

/* ---------------- 按钮 ---------------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.62rem 1.15rem;
  border-radius:var(--radius-pill);
  border:1px solid transparent;
  font-family:var(--font-body);
  font-weight:700;
  font-size:.88rem;
  line-height:1.2;
  letter-spacing:.02em;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.btn--signal{background:var(--orange);color:var(--ink)}
.btn--signal:hover{background:var(--orange-soft);color:var(--ink)}
.btn--cyan{background:var(--cyan);color:var(--ink)}
.btn--cyan:hover{background:var(--paper)}
.btn--ghost{border-color:rgba(43,232,200,.5);color:var(--cyan);background:transparent}
.btn--ghost:hover{background:rgba(43,232,200,.12);color:var(--paper);border-color:var(--cyan)}
.btn--block{width:100%}

/* ---------------- 面包屑 / 页头 ---------------- */
.crumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.06em;
  color:var(--mute);
}
.crumbs__item{display:inline-flex;align-items:center;gap:.35rem}
.crumbs__item + .crumbs__item::before{content:"/";color:var(--raise)}
.crumbs__link{color:var(--mist)}
.crumbs__link:hover{color:var(--cyan)}
.crumbs__current{color:var(--cyan)}

.page-head{display:grid;gap:.85rem;padding-bottom:clamp(1.2rem,3vw,2rem)}
.eyebrow{
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.28em;
  color:var(--orange);
  text-transform:uppercase;
}
.page-head__lede{
  max-width:56ch;
  font-size:1.02rem;
  color:var(--mist);
}

/* ---------------- 编号章节 ---------------- */
.chapter{
  display:grid;
  grid-template-columns:minmax(0,auto) minmax(0,1fr);
  align-items:start;
  gap:.4rem 1.15rem;
}
.chapter__num{
  font-family:var(--font-mono);
  font-weight:700;
  font-size:clamp(2.85rem,8vw,5.5rem);
  line-height:.76;
  letter-spacing:-.03em;
  color:var(--raise);
  -webkit-text-stroke:1px var(--cyan-dim);
}
.chapter__title{
  align-self:end;
  font-size:clamp(1.3rem,2.8vw,2rem);
}
.chapter__meta{
  grid-column:2;
  font-size:.8rem;
  color:var(--mute);
}
@media (min-width:900px){
  .chapter{grid-template-columns:minmax(6rem,1fr) minmax(0,2fr)}
}

/* ---------------- 面板 / 卡片 ---------------- */
.panel{
  background:var(--board);
  border:var(--edge);
  border-radius:var(--radius-l);
  padding:clamp(1.1rem,2.6vw,1.9rem);
}
.panel--raise{background:var(--raise)}
.panel--paper{
  background:var(--paper);
  color:var(--paper-ink);
  border-color:transparent;
}
.panel--paper h2,.panel--paper h3,.panel--paper h4{color:var(--paper-ink)}
.panel--paper .annotation,.panel--paper .card__meta{color:#3C544B}

.card{
  display:flex;
  flex-direction:column;
  height:100%;
  background:var(--board);
  border:1px solid rgba(43,232,200,.12);
  border-radius:var(--radius-l);
  overflow:hidden;
  transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease);
}
.card:hover{border-color:rgba(43,232,200,.42);background:var(--raise)}
.card__body{
  display:grid;
  align-content:start;
  gap:.45rem;
  padding:1rem 1.15rem 1.25rem;
}
.card__meta{
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.1em;
  color:var(--mute);
}
.card__title{font-size:1.12rem;font-family:var(--font-display);font-weight:800;color:var(--paper)}
.card__desc{font-size:.92rem;color:var(--mist)}

/* ---------------- 比分 / 数据 / 标签 ---------------- */
.score{
  display:flex;
  align-items:baseline;
  gap:.7rem;
  font-family:var(--font-mono);
  font-weight:700;
  font-size:clamp(2.6rem,8vw,4.5rem);
  line-height:1;
  color:var(--orange);
  letter-spacing:-.02em;
}
.score__sep{color:var(--raise)}
.score__note{
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.14em;
  color:var(--mute);
}

.stat{display:grid;gap:.15rem}
.stat__label{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--mute);
}
.stat__value{
  font-family:var(--font-mono);
  font-size:1.45rem;
  font-weight:700;
  line-height:1.15;
  color:var(--cyan);
}
.stat__value--signal{color:var(--orange)}

.chip{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.28rem .72rem;
  border-radius:var(--radius-pill);
  border:1px solid rgba(127,166,156,.45);
  color:var(--mist);
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.06em;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.chip:hover{border-color:var(--cyan);color:var(--cyan)}
.chip.is-active,
.chip[aria-pressed="true"]{
  background:var(--orange);
  border-color:var(--orange);
  color:var(--ink);
  font-weight:700;
}
.chip--live{border-color:var(--cyan);color:var(--cyan)}

.toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem .75rem;
  padding:.7rem .9rem;
  background:var(--raise);
  border-radius:var(--radius-m);
}
.toolbar__label{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.16em;
  color:var(--mute);
}

/* ---------------- 数据表格 ---------------- */
.table-wrap{
  overflow-x:auto;
  background:var(--board);
  border:var(--edge);
  border-radius:var(--radius-l);
}
.data-table{
  width:100%;
  min-width:34rem;
  border-collapse:collapse;
  font-size:.9rem;
}
.data-table th{
  background:var(--raise);
  padding:.62rem .9rem;
  text-align:left;
  font-family:var(--font-mono);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--cyan);
  white-space:nowrap;
}
.data-table td{
  padding:.52rem .9rem;
  border-top:1px solid rgba(43,232,200,.09);
  color:var(--mist);
}
.data-table tbody tr{
  transition:background-color var(--dur) var(--ease),transform 120ms var(--ease);
}
.data-table tbody tr:hover{background:rgba(43,232,200,.07)}
.data-table .num{
  font-family:var(--font-mono);
  font-weight:700;
  color:var(--paper);
}
.data-table .num--signal{color:var(--orange)}

/* ---------------- 图片容器 ---------------- */
.media{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:var(--radius-l);
  background:var(--raise);
  aspect-ratio:16 / 9;
}
.media > img,
.media > svg,
.media > video{
  width:100%;
  height:100%;
  object-fit:cover;
}
.media--wide{aspect-ratio:21 / 9}
.media--tall{aspect-ratio:3 / 4}
.media--square{aspect-ratio:1 / 1}
.media__placeholder{
  position:absolute;
  inset:0;
  background-color:var(--board);
  background-image:
    repeating-linear-gradient(90deg,rgba(43,232,200,.16) 0 1px,transparent 1px 4.5rem),
    repeating-linear-gradient(0deg,rgba(43,232,200,.1) 0 1px,transparent 1px 3rem);
}
.media__caption{
  position:absolute;
  left:0;bottom:0;
  padding:.42rem .8rem;
  border-top-right-radius:var(--radius-m);
  background:rgba(6,18,15,.86);
  color:var(--paper);
  font-size:.76rem;
  letter-spacing:.04em;
}
.media__badge{
  position:absolute;
  top:.65rem;left:.65rem;
  padding:.24rem .6rem;
  border-radius:var(--radius-pill);
  background:var(--orange);
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:.72rem;
  font-weight:700;
}

/* ---------------- 横向片段带 ---------------- */
.track{
  display:flex;
  gap:clamp(.8rem,2vw,1.25rem);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:.75rem;
  scrollbar-color:var(--cyan-dim) transparent;
}
.track__item{
  flex:0 0 clamp(15rem,62vw,21rem);
  scroll-snap-align:start;
}
@media (min-width:900px){ .track__item{flex-basis:22rem} }

/* ---------------- 可展开组 ---------------- */
.fold{
  background:var(--board);
  border:1px solid rgba(43,232,200,.12);
  border-radius:var(--radius-m);
  padding:.85rem 1.05rem;
}
.fold + .fold{margin-top:.6rem}
.fold__head{
  display:flex;
  align-items:center;
  gap:.75rem;
  position:relative;
  padding-left:1.1rem;
  cursor:pointer;
  font-family:var(--font-display);
  font-weight:800;
  font-size:1.06rem;
  color:var(--paper);
}
.fold__head::-webkit-details-marker{display:none}
.fold__head::before{
  content:"";
  position:absolute;
  left:0;top:50%;
  width:2px;height:.85rem;
  border-radius:2px;
  background:var(--cyan-dim);
  transform:translateY(-50%);
  transition:height var(--dur) var(--ease),background-color var(--dur) var(--ease);
}
.fold[open] .fold__head::before{height:1.6rem;background:var(--orange)}
.fold[open] .fold__head{color:var(--cyan)}
.fold__body{
  padding:.7rem 0 .2rem 1.1rem;
  font-size:.95rem;
  color:var(--mist);
}

/* ---------------- 正文 ---------------- */
.prose{max-width:64ch;font-size:1.02rem;color:var(--mist)}
.prose > * + *{margin-top:1.05rem}
.prose h2{font-size:clamp(1.4rem,3vw,2rem);margin-top:2.2rem;color:var(--paper)}
.prose h3{font-size:clamp(1.15rem,2.2vw,1.45rem);margin-top:1.8rem}
.prose p{line-height:1.78}
.prose a{color:var(--cyan);text-decoration:underline;text-underline-offset:.28em;text-decoration-thickness:1px}
.prose a:hover{color:var(--orange-soft)}
.prose ul{display:grid;gap:.45rem}
.prose ul li{position:relative;padding-left:1.15rem}
.prose ul li::before{
  content:"";
  position:absolute;
  left:0;top:.72em;
  width:.5rem;height:2px;
  background:var(--cyan);
}
.prose blockquote{
  border-left:3px solid var(--cyan-dim);
  padding:.2rem 0 .2rem 1rem;
  color:var(--paper);
  font-family:var(--font-display);
  font-size:1.15rem;
}

/* ---------------- 批注与工具类 ---------------- */
.annotation{font-size:.78rem;line-height:1.65;color:var(--mute)}
.vertical-note{
  writing-mode:vertical-rl;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.3em;
  color:var(--cyan-dim);
}
.u-mono{font-family:var(--font-mono)}
.u-paper{color:var(--paper)}
.u-cyan{color:var(--cyan)}
.u-signal{color:var(--orange)}
.u-muted{color:var(--mute)}
.visually-hidden{
  position:absolute;
  width:1px;height:1px;
  margin:-1px;padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

.has-js .js-reveal{opacity:.62;transition:opacity 260ms var(--ease)}
.has-js .js-reveal.is-revealed{opacity:1}

/* ---------------- 页脚 ---------------- */
.site-footer{
  margin-top:clamp(3rem,8vw,6rem);
  background:var(--board);
  border-top:var(--edge);
  padding:clamp(2rem,5vw,3.5rem) var(--gutter) 1.75rem;
}
.footer__inner,
.footer__base{
  width:100%;
  max-width:var(--shell-max);
  margin-inline:0 auto;
}
.footer__inner{
  display:grid;
  gap:clamp(1.6rem,4vw,3rem);
  grid-template-columns:minmax(0,1fr);
}
.footer__brand{display:grid;gap:.35rem;align-content:start}
.footer__mark{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.8rem,4vw,2.5rem);
  line-height:1;
  color:var(--paper);
  letter-spacing:.01em;
}
.footer__tag{
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.24em;
  color:var(--cyan);
}
.footer__pulse{display:flex;align-items:center;gap:.3rem;margin-top:.35rem}
.footer__pulse span{
  display:block;
  width:100%;
  max-width:9rem;
  height:2px;
  background:linear-gradient(90deg,var(--cyan) 0 32%,rgba(43,232,200,.22) 32% 100%);
}
.footer__annotation{font-size:.78rem;color:var(--mute)}

.footer__grid{
  display:grid;
  gap:clamp(1.2rem,3vw,2rem);
  grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));
}
.footer__col{display:grid;gap:.6rem;align-content:start}
.footer__title{
  font-family:var(--font-mono);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.2em;
  color:var(--cyan-dim);
  text-transform:uppercase;
}
.footer__list{display:grid;gap:.4rem}
.footer__item{display:block}
.footer__link{
  display:inline-block;
  font-size:.94rem;
  color:var(--mist);
  transition:color var(--dur) var(--ease);
}
.footer__link:hover{color:var(--cyan)}
.footer__link:hover::after{content:"→";margin-left:.4rem;font-family:var(--font-mono);font-size:.8rem}

.footer__base{
  margin-top:clamp(1.8rem,4vw,2.8rem);
  padding-top:1.25rem;
  border-top:var(--edge);
  display:grid;
  gap:.4rem;
}
.footer__meta{
  font-family:var(--font-mono);
  font-size:.76rem;
  line-height:1.7;
  color:var(--mute);
  word-break:break-word;
}
.footer__note{font-size:.78rem;line-height:1.7;color:var(--mute);max-width:70ch}
.footer__copy{font-size:.78rem;color:var(--cyan-dim)}

@media (min-width:768px){
  .footer__inner{grid-template-columns:minmax(13rem,1fr) minmax(0,2.1fr)}
}

/* ---------------- 动效与可访问性 ---------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .has-js .js-reveal{opacity:1}
  .rail{transition:none}
}
