/* ============================================================
   大发快三彩票 —— 共享站点样式 /assets/site.css
   深海蓝黑 + 鎏金 + 电光青，切角面板与轨道导航
   ============================================================ */

:root{
  color-scheme: dark;

  --abyss-950:#06111F;
  --abyss-900:#08192A;
  --abyss-800:#0C2138;
  --abyss-700:#123049;
  --steel-100:#E8EDF2;
  --steel-400:#A9B8C6;
  --mist-50:#F7F9FB;
  --gold-500:#D6A84B;
  --gold-300:#F0CF8A;
  --cyan-400:#29C7C9;
  --cinnabar-500:#D94A3A;
  --ink-900:#101820;
  --graphite-600:#5A6B7B;

  --line:rgba(232,237,242,.12);
  --line-gold:rgba(214,168,75,.32);
  --line-cyan:rgba(41,199,201,.42);

  --font-display:"Barlow Condensed","Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --font-body:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --font-mono:"IBM Plex Mono","Roboto Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --rail-w:clamp(206px,17vw,254px);
  --bar-h:58px;
  --content-max:1320px;
  --gutter:clamp(1rem,2.6vw,2.6rem);
  --cut:16px;
  --ease:cubic-bezier(.2,.7,.3,1);
}

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

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

body{
  margin:0;
  padding-top:calc(3px + var(--bar-h));
  background:var(--abyss-950);
  color:var(--steel-100);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.nav-open{ overflow:hidden; }

img,svg{ max-width:100%; }
img{ height:auto; }

h1,h2,h3,h4{
  margin:0 0 .55em;
  font-family:var(--font-display);
  font-weight:800;
  font-stretch:condensed;
  line-height:1.08;
  letter-spacing:.01em;
}
h1{ font-size:clamp(2.3rem,5.6vw,4.4rem); }
h2{ font-size:clamp(1.65rem,3.2vw,2.5rem); }
h3{ font-size:clamp(1.18rem,1.9vw,1.5rem); }
h4{ font-size:1.05rem; letter-spacing:.04em; }

p{ margin:0 0 1em; }
p:last-child{ margin-bottom:0; }

a{ color:var(--gold-300); text-decoration:none; }
a:hover{ color:var(--gold-500); }

ul,ol{ margin:0 0 1em; padding-left:1.25em; }

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

#main-content{ scroll-margin-top:calc(3px + var(--bar-h) + 12px); }
#main-content:focus{ outline:none; }

/* ---------- 工具类 ---------- */

.sr-only{
  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;
}

.skip-link{
  position:fixed;
  top:.6rem; left:.6rem;
  z-index:200;
  padding:.7rem 1.15rem;
  background:var(--gold-500);
  color:#08131F;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.06em;
  text-decoration:none;
  transform:translateY(-180%);
  transition:transform .2s var(--ease);
}
.skip-link:focus,
.skip-link:focus-visible{
  transform:none;
  color:#08131F;
  outline:2px solid var(--cyan-400);
  outline-offset:2px;
}

.container{
  width:100%;
  max-width:var(--content-max);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.section{ padding-block:clamp(2.6rem,6vw,5.5rem); }
.section--tight{ padding-block:clamp(1.6rem,3vw,2.8rem); }

.cut-panel{
  --cut:16px;
  background:var(--abyss-800);
  border:1px solid var(--line);
  clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  margin:0 0 1rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--cyan-400);
}
.eyebrow::before{
  content:"";
  width:26px; height:1px;
  background:currentColor;
  flex:0 0 auto;
}

.num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}

.divider-track{
  height:1px;
  border:0;
  margin:0;
  background:repeating-linear-gradient(90deg, var(--line-gold) 0 12px, transparent 12px 21px);
}

/* ---------- 按钮 ---------- */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.82rem 1.35rem;
  border:1px solid transparent;
  background:var(--gold-500);
  color:#08131F;
  font-family:var(--font-display);
  font-weight:700;
  font-size:1rem;
  letter-spacing:.06em;
  line-height:1.2;
  cursor:pointer;
  text-decoration:none;
  clip-path:polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  transition:transform .18s var(--ease), background-color .18s var(--ease), box-shadow .18s var(--ease);
}
.btn:hover{
  transform:translateY(-2px);
  background:var(--gold-300);
  color:#08131F;
  box-shadow:0 14px 26px -18px rgba(214,168,75,.9);
}
.btn:focus-visible{
  outline:none;
  box-shadow:inset 0 0 0 2px var(--gold-300), 0 0 0 3px rgba(240,207,138,.35);
}
.btn--primary{ background:var(--gold-500); color:#08131F; }
.btn--ghost{
  background:transparent;
  color:var(--gold-300);
  border-color:var(--line-gold);
}
.btn--ghost:hover{
  background:rgba(214,168,75,.12);
  color:var(--gold-300);
  box-shadow:none;
}
.btn--alert{
  background:var(--cinnabar-500);
  color:#FFF4F2;
}
.btn--alert:hover{
  background:#E85C4B;
  color:#FFF4F2;
}

/* ---------- 标签 ---------- */

.tag{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.22rem .55rem;
  border:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--steel-100);
}
.tag--gold{ color:var(--gold-300); border-color:var(--line-gold); background:rgba(214,168,75,.1); }
.tag--cyan{ color:var(--cyan-400); border-color:var(--line-cyan); background:rgba(41,199,201,.1); }
.tag--alert{ color:#FFF4F2; background:var(--cinnabar-500); border-color:var(--cinnabar-500); }

/* ---------- 图片容器（页面阶段填入可视化图形） ---------- */

.media{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:16 / 9;
  background:var(--abyss-800);
  border:1px solid var(--line);
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%);
}
.media__img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.media--wide{ aspect-ratio:21 / 9; }
.media--tall{ aspect-ratio:4 / 5; }
.media__caption{
  margin-top:.65rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--steel-400);
}

/* ---------- 面包屑 ---------- */

.breadcrumb{ margin:0 0 1.5rem; }
.breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  margin:0;
  padding:0;
  list-style:none;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--steel-400);
}
.breadcrumb__item{ display:inline-flex; align-items:center; gap:.5rem; }
.breadcrumb__link{
  color:var(--steel-100);
  border-bottom:1px solid transparent;
  transition:color .16s var(--ease), border-color .16s var(--ease);
}
.breadcrumb__link:hover{ color:var(--gold-300); border-bottom-color:var(--line-gold); }
.breadcrumb__sep{ color:var(--graphite-600); }
.breadcrumb__current{ color:var(--gold-300); }

/* ---------- 页头外壳 ---------- */

.site-header{ position:relative; z-index:80; }

.topline{
  position:fixed;
  top:0; left:0; right:0;
  height:3px;
  z-index:120;
  background:rgba(232,237,242,.1);
  pointer-events:none;
}
.topline__bar{
  display:block;
  height:100%;
  width:0;
  background:linear-gradient(90deg, var(--cyan-400), var(--gold-500) 68%, var(--cinnabar-500));
  transition:width .12s linear;
}

.mobile-bar{ display:none; }
.nav-toggle{ display:none; }

.rail{
  position:fixed;
  top:3px; left:0; bottom:0;
  z-index:90;
  width:var(--rail-w);
  display:flex;
  flex-direction:column;
  gap:1.05rem;
  padding:clamp(1rem,1.6vw,1.5rem) clamp(.85rem,1.3vw,1.25rem) 1rem;
  background:linear-gradient(180deg, var(--abyss-800), var(--abyss-950) 64%);
  border-right:1px solid var(--line-gold);
  overflow-y:auto;
  scrollbar-width:thin;
  overscroll-behavior:contain;
}
.rail::before{
  content:"";
  position:absolute;
  top:0; right:-1px;
  width:1px; height:38%;
  background:linear-gradient(180deg, var(--cyan-400), transparent);
  opacity:.85;
  pointer-events:none;
}

.rail-scrim{ display:none; }

.brand{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.75rem .8rem;
  background:var(--abyss-900);
  border:1px solid var(--line-gold);
  color:var(--steel-100);
  text-decoration:none;
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%);
  transition:border-color .18s var(--ease), background-color .18s var(--ease);
}
.brand:hover{
  color:var(--steel-100);
  border-color:var(--gold-500);
  background:var(--abyss-800);
}
.brand:focus-visible{
  outline:none;
  box-shadow:inset 0 0 0 2px var(--gold-300);
}

.brand__mark{
  position:relative;
  flex:0 0 auto;
  display:block;
  width:30px; height:30px;
  border:1px solid var(--gold-500);
  background:linear-gradient(140deg, rgba(41,199,201,.28), transparent 62%);
  clip-path:polygon(0 0, 100% 0, 100% 70%, 70% 100%, 0 100%);
}
.brand__mark::before,
.brand__mark::after{
  content:"";
  position:absolute;
  left:5px; right:5px;
  height:2px;
  transform-origin:left center;
}
.brand__mark::before{ top:9px; background:var(--gold-300); transform:rotate(-24deg); }
.brand__mark::after{ bottom:9px; background:var(--cyan-400); transform:rotate(-24deg); opacity:.9; }

.brand__text{ display:block; min-width:0; }
.brand__name{
  display:block;
  font-family:var(--font-display);
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:.07em;
  line-height:1.25;
}
.brand__meta{
  display:block;
  margin-top:.22rem;
  font-family:var(--font-mono);
  font-size:.6rem;
  letter-spacing:.16em;
  color:var(--gold-300);
}

.rail__quick{ display:grid; gap:.4rem; }
.quick-link{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.52rem .7rem;
  border:1px solid var(--line);
  background:rgba(12,33,56,.62);
  color:var(--steel-100);
  font-size:.85rem;
  line-height:1.35;
  text-decoration:none;
  transition:border-color .18s var(--ease), background-color .18s var(--ease), transform .18s var(--ease);
}
.quick-link:hover{
  color:var(--steel-100);
  border-color:var(--line-cyan);
  background:rgba(41,199,201,.1);
  transform:translateX(3px);
}
.quick-link:focus-visible{
  outline:none;
  box-shadow:inset 0 0 0 2px var(--cyan-400);
}
.quick-link__num{
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.1em;
  color:var(--cyan-400);
}

.rail__nav{ margin-top:.25rem; }
.rail__nav-title{
  margin:0 0 .5rem;
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--steel-400);
}

.nav-list{ list-style:none; margin:0; padding:0; display:grid; gap:.12rem; }

.nav-link{
  display:flex;
  align-items:baseline;
  gap:.7rem;
  padding:.58rem .7rem;
  border-left:2px solid transparent;
  color:var(--steel-100);
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.02rem;
  letter-spacing:.05em;
  text-decoration:none;
  transition:color .18s var(--ease), background-color .18s var(--ease), border-color .18s var(--ease), padding-left .18s var(--ease);
}
.nav-link:hover{
  color:var(--steel-100);
  background:rgba(41,199,201,.08);
  border-left-color:var(--cyan-400);
  padding-left:1rem;
}
.nav-link__idx{
  font-family:var(--font-mono);
  font-weight:400;
  font-size:.66rem;
  letter-spacing:.08em;
  color:var(--steel-400);
}
.nav-link__label{ display:block; }

.nav-link[aria-current="page"]{
  color:var(--gold-300);
  background:linear-gradient(90deg, rgba(214,168,75,.2), transparent 82%);
  border-left-color:var(--gold-500);
  padding-left:1rem;
}
.nav-link[aria-current="page"] .nav-link__idx{ color:var(--gold-500); }

.rail__foot{
  margin-top:auto;
  display:grid;
  gap:.55rem;
  padding-top:.9rem;
  border-top:1px solid var(--line);
}
.rail__ghost{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--cyan-400);
  padding:.35rem .2rem;
  border-bottom:1px solid transparent;
  transition:border-color .18s var(--ease), color .18s var(--ease);
}
.rail__ghost:hover{
  color:var(--gold-300);
  border-bottom-color:var(--line-gold);
}
.rail__ghost:focus-visible{ outline:none; box-shadow:inset 0 0 0 2px var(--cyan-400); }

.rail__cta{
  display:block;
  padding:.7rem .6rem;
  background:var(--gold-500);
  color:#08131F;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.94rem;
  letter-spacing:.06em;
  text-align:center;
  text-decoration:none;
  clip-path:polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition:background-color .18s var(--ease), transform .18s var(--ease);
}
.rail__cta:hover{
  background:var(--gold-300);
  color:#08131F;
  transform:translateY(-2px);
}
.rail__cta:focus-visible{
  outline:none;
  box-shadow:inset 0 0 0 2px var(--abyss-950), inset 0 0 0 4px var(--gold-300);
}

.rail__status{
  margin:0;
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.14em;
  color:var(--steel-400);
}
.rail__dot{
  display:inline-block;
  width:6px; height:6px;
  margin-right:.42rem;
  background:var(--cyan-400);
  transform:rotate(45deg);
}

/* ---------- 页脚 ---------- */

.site-footer{
  position:relative;
  overflow:hidden;
  padding:clamp(2.4rem,5vw,4rem) 0 1.6rem;
  background:linear-gradient(180deg, #05101C, var(--abyss-950));
  border-top:1px solid var(--line-gold);
  color:var(--steel-100);
}
.site-footer::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--cyan-400), var(--gold-500), var(--cinnabar-500), transparent);
  opacity:.7;
}
.site-footer::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:90px;
  background:
    repeating-linear-gradient(90deg, rgba(41,199,201,.1) 0 3px, transparent 3px 22px),
    repeating-linear-gradient(90deg, rgba(214,168,75,.08) 0 6px, transparent 6px 54px);
  -webkit-mask-image:linear-gradient(180deg, transparent, #000 72%);
  mask-image:linear-gradient(180deg, transparent, #000 72%);
  pointer-events:none;
}

.footer__inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width:var(--content-max);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.footer__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.7rem,3vw,2.8rem);
}

.footer__brand{ display:grid; align-content:start; gap:.8rem; }
.footer__brand-name{
  margin:0;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.5rem,2.6vw,2.1rem);
  letter-spacing:.05em;
  line-height:1.1;
  color:var(--mist-50);
}
.footer__tagline{
  margin:0;
  font-size:.95rem;
  color:var(--steel-400);
}
.footer__cert{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin:0;
  justify-self:start;
  padding:.34rem .65rem;
  border:1px solid var(--line-gold);
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.16em;
  color:var(--gold-300);
}
.footer__shortcut{
  justify-self:start;
  margin-top:.3rem;
  padding:.6rem 1rem;
  border:1px solid var(--line-cyan);
  color:var(--cyan-400);
  font-family:var(--font-display);
  font-weight:700;
  font-size:.92rem;
  letter-spacing:.06em;
  text-decoration:none;
  transition:background-color .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);
}
.footer__shortcut:hover{
  background:rgba(41,199,201,.14);
  color:var(--mist-50);
  transform:translateY(-2px);
}
.footer__shortcut:focus-visible{
  outline:none;
  box-shadow:inset 0 0 0 2px var(--cyan-400);
}

.footer__nav{ min-width:0; }
.footer__nav-title{
  margin:0 0 .8rem;
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--steel-400);
}
.footer__links{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:0 .9rem;
  margin:0;
  padding:0;
  list-style:none;
}
.footer__link{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.45rem 0;
  border-bottom:1px solid rgba(232,237,242,.08);
  color:var(--steel-100);
  font-size:.92rem;
  line-height:1.4;
  text-decoration:none;
  transition:color .16s var(--ease), padding-left .16s var(--ease);
}
.footer__link::before{
  content:"";
  flex:0 0 auto;
  width:6px; height:6px;
  border:1px solid var(--cyan-400);
  transform:rotate(45deg);
  transition:background-color .16s var(--ease), border-color .16s var(--ease);
}
.footer__link:hover{
  color:var(--gold-300);
  padding-left:.32rem;
}
.footer__link:hover::before{
  background:var(--gold-300);
  border-color:var(--gold-300);
}

.footer__contact{ display:grid; gap:.75rem; align-content:start; min-width:0; }
.footer__contact-item{
  display:grid;
  gap:.12rem;
  padding-bottom:.6rem;
  border-bottom:1px dashed rgba(232,237,242,.14);
}
.footer__label{
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--steel-400);
}
.footer__value{
  font-family:var(--font-mono);
  font-size:.94rem;
  color:var(--steel-100);
  overflow-wrap:break-word;
  word-break:break-word;
}
.footer__copy-btn{
  justify-self:start;
  margin-top:.35rem;
  padding:.28rem .62rem;
  border:1px solid var(--line-cyan);
  background:transparent;
  color:var(--cyan-400);
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.14em;
  cursor:pointer;
  transition:background-color .16s var(--ease), color .16s var(--ease);
}
.footer__copy-btn:hover{
  background:rgba(41,199,201,.16);
  color:var(--mist-50);
}
.footer__copy-btn:focus-visible{
  outline:none;
  box-shadow:inset 0 0 0 2px var(--cyan-400);
}
.footer__note{
  margin:0;
  font-size:.8rem;
  line-height:1.65;
  color:var(--steel-400);
}

.footer__base{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.6rem 1.4rem;
  margin-top:clamp(1.6rem,3vw,2.4rem);
  padding-top:1.1rem;
  border-top:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.08em;
  color:var(--steel-400);
}
.footer__legal{ display:inline-block; }
.footer__year{ color:var(--steel-400); }

/* ---------- 平板 ---------- */

@media (min-width:720px){
  .footer__grid{ grid-template-columns:1.15fr .85fr; }
}

@media (min-width:1080px){
  .footer__grid{ grid-template-columns:1.25fr .9fr 1fr; }
}

/* ---------- 桌面：左侧常驻轨道 ---------- */

@media (min-width:1024px){
  body{ padding-left:var(--rail-w); padding-top:0; }
  #main-content{ scroll-margin-top:16px; }
}

/* ---------- 移动 / 平板：顶栏 + 抽屉 ---------- */

@media (max-width:1023px){
  .mobile-bar{
    display:flex;
    align-items:center;
    gap:.6rem;
    position:fixed;
    top:3px; left:0; right:0;
    height:var(--bar-h);
    padding:0 72px 0 18px;
    background:linear-gradient(180deg, rgba(12,33,56,.98), rgba(6,17,31,.94));
    border-bottom:1px solid var(--line-gold);
    z-index:100;
  }
  .mobile-bar__brand{
    font-family:var(--font-display);
    font-weight:800;
    font-size:1.06rem;
    letter-spacing:.08em;
    color:var(--steel-100);
    text-decoration:none;
    white-space:nowrap;
  }
  .mobile-bar__meta{
    padding-left:.6rem;
    border-left:1px solid var(--line-gold);
    font-family:var(--font-mono);
    font-size:.6rem;
    letter-spacing:.14em;
    color:var(--gold-300);
    white-space:nowrap;
  }

  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:fixed;
    top:12px; right:14px;
    z-index:110;
    width:46px; height:46px;
    padding:0;
    border:1px solid rgba(214,168,75,.55);
    background:rgba(6,17,31,.92);
    color:var(--gold-300);
    cursor:pointer;
    clip-path:polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%);
    transition:border-color .18s var(--ease), color .18s var(--ease);
  }
  .nav-toggle:hover{ border-color:var(--gold-300); color:var(--gold-300); }
  .nav-toggle:focus-visible{ outline:none; box-shadow:inset 0 0 0 2px var(--gold-300); }

  .nav-toggle__bars{
    position:relative;
    display:block;
    width:20px; height:12px;
  }
  .nav-toggle__bars span{
    position:absolute;
    left:0; right:0;
    height:2px;
    background:currentColor;
    transition:transform .22s var(--ease);
  }
  .nav-toggle__bars span:nth-child(1){ top:0; }
  .nav-toggle__bars span:nth-child(2){ bottom:0; }

  .site-header[data-open] .nav-toggle__bars span:nth-child(1){ transform:translateY(5px) rotate(45deg); }
  .site-header[data-open] .nav-toggle__bars span:nth-child(2){ transform:translateY(-5px) rotate(-45deg); }

  .rail{
    top:0; bottom:0;
    width:min(84vw,336px);
    padding-top:1.4rem;
    z-index:105;
    transform:translateX(-104%);
    visibility:hidden;
    box-shadow:26px 0 60px -34px #000;
    transition:transform .3s var(--ease), visibility .3s var(--ease);
  }
  .site-header[data-open] .rail{
    transform:none;
    visibility:visible;
  }

  .rail-scrim{
    display:block;
    position:fixed;
    inset:0;
    z-index:102;
    background:rgba(3,9,16,.72);
    opacity:0;
    visibility:hidden;
    transition:opacity .24s var(--ease), visibility .24s var(--ease);
  }
  .site-header[data-open] .rail-scrim{
    opacity:1;
    visibility:visible;
  }

  .nav-link{ font-size:1.08rem; padding-block:.66rem; }

  .footer__links{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}

@media (max-width:380px){
  .mobile-bar__meta{ display:none; }
  .footer__links{ 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;
    transition-delay:0ms !important;
  }
  .topline__bar{ transition:none; }
}
