/* ============================================================
   7安装攻略站 · 共享样式 /assets/site.css
   深夜机房 · 开服控制台
   ============================================================ */

*,*::before,*::after{ box-sizing:border-box; }

:root{
  --ink-900:#080D26;
  --ink-800:#101A3F;
  --ink-700:#1B2757;
  --cyan-400:#35E6D8;
  --magenta-500:#FF3F87;
  --amber-400:#FFB224;
  --mint-300:#6FE3A5;
  --slate-200:#C9D4EC;
  --slate-400:#8C9BC4;
  --white-50:#F2F6FF;
  --glass:rgba(24,36,84,.55);

  --rail-w:96px;
  --bar-h:58px;
  --content:1180px;
  --measure:68ch;
  --ease:cubic-bezier(.22,.61,.36,1);

  --font-sans:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
}

html{ -webkit-text-size-adjust:100%; }

body{
  margin:0;
  min-height:100vh;
  background-color:var(--ink-900);
  background-image:
    linear-gradient(180deg, rgba(53,230,216,.055) 0, rgba(53,230,216,0) 560px),
    repeating-linear-gradient(0deg, rgba(27,39,87,.30) 0 1px, transparent 1px 96px),
    repeating-linear-gradient(90deg, rgba(27,39,87,.22) 0 1px, transparent 1px 96px);
  color:var(--slate-200);
  font-family:var(--font-sans);
  font-size:16.5px;
  font-weight:400;
  line-height:1.75;
  overflow-x:hidden;
}

img,picture,svg,video{ max-width:100%; }
img{ height:auto; border:0; }

h1,h2,h3,h4,h5,h6{
  margin:0 0 .6em;
  color:var(--white-50);
  font-weight:600;
  line-height:1.24;
  letter-spacing:-.02em;
}
h1{ font-size:clamp(32px,5.4vw,64px); }
h2{ font-size:clamp(24px,3.2vw,38px); }
h3{ font-size:clamp(19px,2vw,25px); }
p{ margin:0 0 1.1em; }
ul,ol{ margin:0 0 1.1em; padding-left:1.3em; }
hr{ border:0; border-top:1px solid var(--ink-700); margin:36px 0; }

a{ color:var(--cyan-400); }
button{ font:inherit; }

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

/* ---------- 通用工具 ---------- */
.mono{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; letter-spacing:0; }

.anno{
  writing-mode:vertical-rl;
  font-size:10.5px;
  letter-spacing:.24em;
  color:var(--slate-400);
}

.node{
  display:inline-block;
  flex:none;
  width:5px;
  height:5px;
  background:var(--cyan-400);
}

/* ---------- 正文容器与网格 ---------- */
.wrap{
  width:100%;
  max-width:var(--content);
  margin:0 auto;
  padding:0 clamp(16px,4vw,48px);
}
.prose{ max-width:var(--measure); }
.prose p{ margin:0 0 1.2em; }

.lede{
  max-width:36em;
  font-size:clamp(16px,1.3vw,18.5px);
  color:var(--slate-200);
}
.eyebrow{
  display:inline-block;
  font-size:11.5px;
  letter-spacing:.2em;
  color:var(--slate-400);
  margin-bottom:10px;
}

.stack{ display:flex; flex-direction:column; gap:clamp(16px,2.2vw,28px); }

.grid{ display:grid; gap:clamp(18px,2.6vw,34px); }
.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,1fr) 320px; align-items:start; }

/* ---------- 面层 ---------- */
.pane{
  background:var(--ink-800);
  border:1px solid var(--ink-700);
  padding:clamp(18px,2.4vw,30px);
}
.pane--glass{
  background:var(--glass);
  -webkit-backdrop-filter:blur(12px) saturate(130%);
  backdrop-filter:blur(12px) saturate(130%);
  border-color:rgba(53,230,216,.22);
}
.pane--ink{ background:var(--ink-900); }

/* ---------- 信号线 ---------- */
.sigline{
  position:relative;
  height:1px;
  margin:34px 0;
  background:var(--ink-700);
}
.sigline::before,
.sigline::after{
  content:"";
  position:absolute;
  top:-2px;
  width:5px;
  height:5px;
  background:var(--ink-700);
}
.sigline::before{ left:0; }
.sigline::after{ right:0; }

.sigline--v{
  width:1px;
  height:auto;
  min-height:90px;
  margin:0 20px;
  align-self:stretch;
}

/* ---------- 展签 ---------- */
.placard{
  position:relative;
  display:flex;
  align-items:baseline;
  gap:12px;
  padding:10px 16px 10px 20px;
  background:var(--glass);
  border:1px solid var(--ink-700);
}
.placard::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:4px;
  background:var(--cyan-400);
  transition:width .18s var(--ease);
}
.placard:hover::before{ width:6px; }
.placard__no{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--cyan-400);
}
.placard__text{ font-size:13.5px; color:var(--slate-200); }
.placard--magenta::before{ background:var(--magenta-500); }
.placard--magenta .placard__no{ color:var(--magenta-500); }
.placard--amber::before{ background:var(--amber-400); }
.placard--amber .placard__no{ color:var(--amber-400); }
.placard--mint::before{ background:var(--mint-300); }
.placard--mint .placard__no{ color:var(--mint-300); }

/* ---------- 标签 ---------- */
.tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 9px;
  font-size:11.5px;
  letter-spacing:.08em;
  line-height:1.6;
  color:var(--slate-200);
  border:1px solid currentColor;
  border-radius:2px;
}
.tag--cyan{ color:var(--cyan-400); }
.tag--magenta{ color:var(--magenta-500); }
.tag--amber{ color:var(--amber-400); }
.tag--mint{ color:var(--mint-300); }

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 22px;
  font-family:inherit;
  font-size:14.5px;
  letter-spacing:.04em;
  line-height:1.4;
  text-decoration:none;
  border:1px solid transparent;
  border-radius:2px;
  cursor:pointer;
  transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.btn--cyan{ background:var(--cyan-400); color:#04211E; border-color:var(--cyan-400); }
.btn--cyan:hover{ box-shadow:0 0 0 3px rgba(53,230,216,.22); }
.btn--magenta{ background:var(--magenta-500); color:#2A0716; border-color:var(--magenta-500); }
.btn--magenta:hover{ box-shadow:0 0 0 3px rgba(255,63,135,.22); }
.btn--ghost{ background:transparent; color:var(--cyan-400); border-color:rgba(53,230,216,.5); }
.btn--ghost:hover{ background:rgba(53,230,216,.1); border-color:var(--cyan-400); }

/* ---------- 面包屑 ---------- */
.crumb{ margin:0 0 22px; font-size:12.5px; }
.crumb__list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.crumb__item{ display:flex; align-items:center; gap:8px; color:var(--slate-400); }
.crumb__sep{ color:var(--ink-700); }
.crumb__link{ color:var(--slate-200); text-decoration:none; }
.crumb__link:hover{ color:var(--cyan-400); }
.crumb__item[aria-current="page"]{ color:var(--white-50); }

/* ---------- 数据组 ---------- */
.stat{ display:flex; flex-direction:column; gap:6px; }
.stat__num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:clamp(26px,3.4vw,44px);
  line-height:1;
  letter-spacing:-.02em;
  color:var(--white-50);
}
.stat__key{ font-size:11.5px; letter-spacing:.14em; color:var(--slate-400); }
.stat--cyan .stat__num{ color:var(--cyan-400); }
.stat--amber .stat__num{ color:var(--amber-400); }
.stat--magenta .stat__num{ color:var(--magenta-500); }

/* ---------- 表格 ---------- */
.table{
  width:100%;
  border-collapse:collapse;
  font-size:14.5px;
}
.table caption{
  padding-bottom:12px;
  text-align:left;
  font-size:11.5px;
  letter-spacing:.14em;
  color:var(--slate-400);
}
.table th{
  padding:10px 12px;
  text-align:left;
  font-weight:500;
  font-size:11.5px;
  letter-spacing:.14em;
  color:var(--slate-400);
  border-bottom:1px solid var(--ink-700);
}
.table td{
  padding:12px;
  color:var(--slate-200);
  border-bottom:1px solid rgba(27,39,87,.7);
}
.table tbody tr{ transition:background .16s var(--ease); }
.table tbody tr:hover{ background:rgba(53,230,216,.06); }
.table tbody tr:hover td:first-child{ box-shadow:inset 3px 0 0 var(--cyan-400); }
.table--status td:first-child{ font-family:var(--font-mono); color:var(--white-50); }

/* ---------- 图像容器（页面阶段复用） ---------- */
.frame{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background:linear-gradient(135deg,var(--ink-800),var(--ink-900));
  border:1px solid var(--ink-700);
}
.frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:repeating-linear-gradient(0deg,rgba(53,230,216,.06) 0 1px,transparent 1px 4px);
}
.frame--wide{ aspect-ratio:21 / 9; }
.frame--square{ aspect-ratio:1 / 1; }
.frame__img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.frame__cap{
  display:block;
  padding-top:8px;
  font-family:var(--font-mono);
  font-size:11.5px;
  color:var(--slate-400);
}

/* ---------- 正文内链接 ---------- */
main a:not(.btn):not(.tag){
  color:var(--cyan-400);
  text-decoration:none;
  border-bottom:1px solid rgba(53,230,216,.28);
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:0% 1px;
  transition:background-size .22s var(--ease),color .18s var(--ease),border-color .18s var(--ease);
}
main a:not(.btn):not(.tag):hover{
  color:var(--white-50);
  border-color:transparent;
  background-size:100% 1px;
}

/* ============================================================
   头部：侧边轨道
   ============================================================ */
.skip-link{
  position:fixed;
  left:12px;
  top:12px;
  z-index:200;
  padding:10px 16px;
  background:var(--cyan-400);
  color:var(--ink-900);
  font-size:14px;
  text-decoration:none;
  border-radius:2px;
  transform:translateY(-180%);
  transition:transform .2s var(--ease);
}
.skip-link:focus{ transform:translateY(0); }

.rail{
  position:fixed;
  inset:0 auto 0 0;
  width:var(--rail-w);
  display:flex;
  flex-direction:column;
  padding:18px 0 14px;
  background:var(--glass);
  -webkit-backdrop-filter:blur(14px) saturate(130%);
  backdrop-filter:blur(14px) saturate(130%);
  border-right:1px solid rgba(53,230,216,.18);
  overflow:hidden;
  z-index:80;
}

.rail__top{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:0 8px 14px;
  border-bottom:1px solid var(--ink-700);
}

.rail__brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  text-decoration:none;
  border:0;
}
.rail__mark{
  writing-mode:vertical-rl;
  text-orientation:upright;
  font-size:17px;
  font-weight:600;
  letter-spacing:.2em;
  color:var(--white-50);
}
.rail__line{
  font-size:9.5px;
  line-height:1.55;
  letter-spacing:.04em;
  text-align:center;
  color:var(--slate-400);
}

.rail__status{
  display:flex;
  flex-direction:column;
  gap:5px;
  width:100%;
}
.rail__stat{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:4px;
  padding:4px 6px;
  background:rgba(8,13,38,.55);
  border:1px solid var(--ink-700);
}
.rail__statkey{ font-size:9.5px; letter-spacing:.08em; color:var(--slate-400); }
.rail__statval{ font-size:10.5px; color:var(--amber-400); }
.rail__stat + .rail__stat .rail__statval{ color:var(--cyan-400); }
.rail__stat--prog .rail__statval{ color:var(--magenta-500); }

.rail__drawer{
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1;
  min-height:0;
  padding-top:14px;
}

.rail__nav{
  flex:1;
  min-height:0;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--ink-700) transparent;
}
.rail__nav::-webkit-scrollbar{ width:4px; }
.rail__nav::-webkit-scrollbar-thumb{ background:var(--ink-700); }
.rail__navcap{
  display:block;
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:9px;
  letter-spacing:.16em;
  text-align:center;
  color:var(--slate-400);
}
.rail__list{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
}
.rail__link{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:8px 6px;
  font-size:12px;
  text-decoration:none;
  color:var(--slate-200);
  border:0;
  transition:color .18s var(--ease);
}
.rail__dot{
  width:5px;
  height:5px;
  background:var(--ink-700);
  border:1px solid rgba(53,230,216,.3);
  transition:background .18s var(--ease),box-shadow .18s var(--ease);
}
.rail__label{
  writing-mode:vertical-rl;
  text-orientation:upright;
  letter-spacing:.14em;
}
.rail__link:hover{ color:var(--white-50); }
.rail__link:hover .rail__dot{ background:var(--cyan-400); }
.rail__link[aria-current="page"]{ color:var(--cyan-400); }
.rail__link[aria-current="page"]::before{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(53,230,216,.45);
  pointer-events:none;
}
.rail__link[aria-current="page"] .rail__dot{
  background:var(--cyan-400);
  border-color:var(--cyan-400);
  box-shadow:0 0 0 3px rgba(53,230,216,.18);
}

.rail__quick{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px 8px 0;
  border-top:1px solid var(--ink-700);
}
.rail__quicklink{
  display:block;
  padding:8px 6px;
  font-size:11.5px;
  line-height:1.45;
  text-align:center;
  text-decoration:none;
  color:var(--white-50);
  background:rgba(8,13,38,.6);
  border:1px solid var(--ink-700);
  transition:border-color .18s var(--ease),color .18s var(--ease),background .18s var(--ease);
}
.rail__quicklink--cyan:hover{ border-color:var(--cyan-400); color:var(--cyan-400); background:rgba(53,230,216,.08); }
.rail__quicklink--magenta:hover{ border-color:var(--magenta-500); color:var(--magenta-500); background:rgba(255,63,135,.08); }

.rail__trace{
  position:absolute;
  top:0;
  right:0;
  width:3px;
  height:100%;
  background:rgba(53,230,216,.12);
}
.rail__tracebar{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(180deg,var(--cyan-400),var(--magenta-500));
  transform:scaleY(var(--scroll-p,0));
  transform-origin:top center;
  will-change:transform;
}

.rail__toggle{ display:none; }

.rail__scrim{
  position:fixed;
  inset:0;
  background:rgba(8,13,38,.74);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s var(--ease);
  z-index:85;
}

/* ============================================================
   页脚
   ============================================================ */
.foot{
  position:relative;
  margin-top:clamp(56px,9vw,120px);
  border-top:1px solid var(--ink-700);
  background:linear-gradient(180deg,rgba(16,26,63,.85),rgba(8,13,38,.98));
}
.foot__grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,3.4vw,48px);
  max-width:var(--content);
  margin:0 auto;
  padding:clamp(36px,5vw,60px) clamp(16px,4vw,48px) 30px;
}
.foot__brand{ display:flex; flex-direction:column; align-items:flex-start; }
.foot__mark{
  font-size:clamp(20px,2.2vw,26px);
  font-weight:600;
  letter-spacing:.06em;
  color:var(--white-50);
}
.foot__tag{
  margin-top:8px;
  font-size:11.5px;
  letter-spacing:.16em;
  color:var(--cyan-400);
}
.foot__note{
  max-width:34em;
  margin:16px 0 0;
  font-size:13.5px;
  line-height:1.8;
  color:var(--slate-400);
}
.foot__contact{
  margin:16px 0 0;
  font-size:13px;
  line-height:1.9;
  color:var(--slate-200);
}
.foot__contact .mono{ color:var(--amber-400); }

.foot__col{ display:block; }
.foot__coltitle{
  margin:0 0 16px;
  font-size:11.5px;
  font-weight:500;
  letter-spacing:.2em;
  color:var(--slate-400);
}
.foot__links{
  display:flex;
  flex-direction:column;
  gap:11px;
  margin:0;
  padding:0;
  list-style:none;
}
.foot__link{
  position:relative;
  display:inline-block;
  font-size:14.5px;
  color:var(--slate-200);
  text-decoration:none;
  transition:color .18s var(--ease);
}
.foot__link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .22s var(--ease);
}
.foot__link:hover{ color:var(--cyan-400); }
.foot__link:hover::after{ transform:scaleX(1); }

.foot__sig{
  position:relative;
  height:1px;
  max-width:var(--content);
  margin:0 auto;
  background:linear-gradient(90deg,transparent,rgba(53,230,216,.45),rgba(255,63,135,.35),transparent);
}
.foot__node{
  position:absolute;
  left:50%;
  top:-2px;
  width:5px;
  height:5px;
  background:var(--cyan-400);
}

.foot__base{
  display:flex;
  flex-wrap:wrap;
  gap:8px 28px;
  justify-content:space-between;
  max-width:var(--content);
  margin:0 auto;
  padding:20px clamp(16px,4vw,48px) 40px;
  font-size:12.5px;
  color:var(--slate-400);
}
.foot__legal{ font-family:var(--font-mono); color:var(--slate-200); }
.foot__addr{ text-align:right; }

/* ============================================================
   响应式：平板与桌面
   ============================================================ */
@media (min-width:881px){
  body{ padding-left:var(--rail-w); }
  .rail__scrim{ display:none; }
}

@media (max-width:1080px){
  .grid--3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:980px){
  .grid--split{ grid-template-columns:minmax(0,1fr); }
  .foot__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .foot__brand{ grid-column:1 / -1; }
}

/* ============================================================
   响应式：手机 —— 轨道收为顶栏，导航入抽屉
   ============================================================ */
@media (max-width:880px){
  body{ padding-left:0; padding-top:var(--bar-h); }

  .rail{
    inset:0 0 auto 0;
    width:auto;
    height:var(--bar-h);
    flex-direction:row;
    align-items:center;
    padding:0 clamp(12px,4vw,20px);
    overflow:visible;
    border-right:0;
    border-bottom:1px solid rgba(53,230,216,.22);
    background:rgba(10,16,42,.94);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  .rail__top{
    flex:1;
    min-width:0;
    flex-direction:row;
    align-items:center;
    gap:clamp(10px,3vw,24px);
    padding:0;
    border-bottom:0;
  }
  .rail__brand{ flex-direction:row; align-items:baseline; gap:8px; }
  .rail__mark{ writing-mode:horizontal-tb; font-size:16px; letter-spacing:.1em; }
  .rail__line{ font-size:9.5px; text-align:left; letter-spacing:.02em; }

  .rail__status{
    flex-direction:row;
    align-items:center;
    gap:6px;
    width:auto;
    margin-left:auto;
  }
  .rail__stat{ width:auto; gap:5px; padding:3px 7px; }
  .rail__statkey{ font-size:9px; }
  .rail__statval{ font-size:10px; }

  .rail__drawer{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    width:min(86vw,320px);
    flex:none;
    display:flex;
    flex-direction:column;
    gap:16px;
    padding:calc(var(--bar-h) + 20px) 20px 28px;
    background:rgba(16,26,63,.97);
    border-right:1px solid rgba(53,230,216,.3);
    overflow-y:auto;
    transform:translateX(-104%);
    transition:transform .26s var(--ease);
    z-index:110;
  }
  .rail[data-open] .rail__drawer{ transform:translateX(0); }

  .rail__nav{ flex:none; overflow:visible; }
  .rail__navcap{
    margin-bottom:14px;
    font-size:10px;
    text-align:left;
    letter-spacing:.2em;
  }
  .rail__list{ align-items:stretch; gap:0; }
  .rail__link{
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    padding:13px 10px;
    font-size:15.5px;
    border-bottom:1px solid var(--ink-700);
  }
  .rail__label{ writing-mode:horizontal-tb; letter-spacing:.06em; }
  .rail__link[aria-current="page"]::before{ border-color:transparent; border-left:2px solid var(--cyan-400); }
  .rail__link:hover{ background:rgba(53,230,216,.07); }

  .rail__quick{ padding:4px 0 0; border-top:0; }
  .rail__quicklink{ padding:11px 12px; font-size:13px; }

  .rail__scrim{ display:block; }
  .rail[data-open] .rail__scrim{ opacity:1; pointer-events:auto; }

  .rail__toggle{
    position:fixed;
    right:16px;
    bottom:16px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    width:62px;
    height:62px;
    padding:0;
    border-radius:50%;
    border:1px solid rgba(53,230,216,.5);
    background:rgba(24,36,84,.78);
    color:var(--cyan-400);
    cursor:pointer;
    z-index:120;
    transition:box-shadow .18s var(--ease),border-color .18s var(--ease);
  }
  .rail__toggle:hover{ box-shadow:0 0 0 4px rgba(53,230,216,.16); }
  .rail__toggleicon{ display:flex; flex-direction:column; gap:4px; }
  .rail__togglebar{
    display:block;
    width:20px;
    height:1.5px;
    background:currentColor;
    transition:transform .22s var(--ease),opacity .18s var(--ease);
  }
  .rail[data-open] .rail__togglebar:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
  .rail[data-open] .rail__togglebar:nth-child(2){ opacity:0; }
  .rail[data-open] .rail__togglebar:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }
  .rail__toggletxt{ font-size:9px; letter-spacing:.16em; }

  .rail__trace{
    top:auto;
    right:0;
    left:0;
    bottom:0;
    width:auto;
    height:3px;
  }
  .rail__tracebar{
    background:linear-gradient(90deg,var(--cyan-400),var(--magenta-500));
    transform:scaleX(var(--scroll-p,0));
    transform-origin:left center;
  }
}

@media (max-width:640px){
  .grid--2,
  .grid--3{ grid-template-columns:minmax(0,1fr); }
  .foot__grid{ grid-template-columns:minmax(0,1fr); }
  .foot__addr{ text-align:left; }
  .anno{ writing-mode:horizontal-tb; letter-spacing:.16em; }
  .sigline--v{ display:none; }
}

@media (max-width:520px){
  .rail__line{ display:none; }
  .rail__statkey{ display:none; }
}

/* ---------- 动效克制 ---------- */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
