/* =====================================================================
   百博服务 · 知识星图 —— /assets/site.css
   共享层：设计变量 / 重置 / 中文排版 / 侧边轨道导航 / 页脚 / 通用组件
   ===================================================================== */

/* ---------- 1. 设计变量 ---------- */
:root{
  --abyss:#0B1B3A;
  --void:#050B1C;
  --mist:#14294F;
  --orbit:#2A4A85;
  --nebula:#6C4AB6;
  --nebula-lite:#A98BE0;
  --galaxy:#F2C14E;
  --galaxy-lite:#FFE1A3;
  --mint:#3DDC97;
  --star:#E8EEFC;
  --satellite:#9FB0D0;

  --shell:var(--abyss);
  --surface:var(--mist);
  --line:rgba(42,74,133,.75);
  --line-soft:rgba(42,74,133,.42);

  --rail-w:104px;
  --rail-open:266px;
  --bar-h:60px;
  --maxw:1200px;
  --gut:clamp(18px,4vw,48px);
  --r:3px;
  --dur:180ms;

  --font-display:"Source Han Sans SC","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-body:"HarmonyOS Sans SC","PingFang SC","Noto Sans SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-mono:"JetBrains Mono","Roboto Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
}

/* ---------- 2. 重置 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,h5,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0}
table{border-collapse:collapse;width:100%}
[hidden]{display:none !important}

/* ---------- 3. 基础底纹与中文排版 ---------- */
body{
  min-height:100vh;
  padding-top:var(--bar-h);
  background-color:var(--shell);
  background-image:
    radial-gradient(1100px 620px at 84% -10%, rgba(108,74,182,.30), transparent 68%),
    radial-gradient(760px 520px at 2% 104%, rgba(61,220,151,.10), transparent 70%),
    linear-gradient(to right, rgba(42,74,133,.16) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(42,74,133,.16) 1px, transparent 1px);
  background-size:auto,auto,64px 64px,64px 64px;
  background-attachment:fixed;
  color:var(--star);
  font-family:var(--font-body);
  font-size:16px;
  font-weight:400;
  line-height:1.85;
  letter-spacing:.01em;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:800;
  line-height:1.28;
  letter-spacing:.06em;
  color:var(--star);
}
h1{font-size:clamp(2.1rem,4vw,3.4rem);letter-spacing:.08em}
h2{font-size:clamp(1.5rem,2.4vw,2.1rem)}
h3{font-size:1.15rem;letter-spacing:.05em}
h4{font-size:1rem}
p{text-wrap:pretty}
strong{font-weight:700;color:#fff}
::selection{background:rgba(108,74,182,.6);color:#fff}
:focus-visible{outline:2px solid var(--galaxy);outline-offset:2px}
.ab-skip:focus-visible,.ab-nav__link:focus-visible,.ab-cta:focus-visible,.ab-btn:focus-visible{outline-offset:3px}

#main-content{display:block;scroll-margin-top:calc(var(--bar-h) + 16px)}

/* ---------- 4. 跳转链接 ---------- */
.ab-skip{
  position:fixed;top:-84px;left:12px;z-index:400;
  padding:10px 16px;border-radius:var(--r);
  background:var(--galaxy);color:#08152F;
  font-size:.875rem;font-weight:700;letter-spacing:.08em;text-decoration:none;
  transition:top var(--dur) ease;
}
.ab-skip:focus{top:10px}

/* ---------- 5. 头部：移动端顶部条 ---------- */
.ab-header{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:var(--bar-h);
  background:linear-gradient(180deg,#0C1E42 0%,#08152F 100%);
  border-bottom:1px solid var(--line);
}
.ab-header__bar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  height:var(--bar-h);padding:0 14px;
}

.ab-brand{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none}
.ab-brand__mark{
  display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;
  border:1px solid var(--orbit);
  color:var(--galaxy);font-size:.9rem;line-height:1;
  background:radial-gradient(circle at 32% 28%, rgba(108,74,182,.55), rgba(11,27,58,.35));
}
.ab-brand__text{display:flex;flex-direction:column;min-width:0}
.ab-brand__name{
  font-family:var(--font-display);font-weight:800;font-size:1rem;
  letter-spacing:.1em;line-height:1.35;color:var(--star);
}
.ab-brand__sub{font-size:.6875rem;letter-spacing:.06em;line-height:1.45;color:var(--satellite)}

.ab-navtoggle{
  display:inline-flex;align-items:center;gap:9px;
  padding:8px 12px;border:1px solid var(--line);border-radius:var(--r);
  background:rgba(20,41,79,.7);color:var(--star);
  font-size:.8125rem;cursor:pointer;
  transition:border-color var(--dur) ease,background var(--dur) ease;
}
.ab-navtoggle:hover{border-color:var(--nebula-lite);background:rgba(108,74,182,.22)}
.ab-navtoggle__bars{position:relative;display:block;width:18px;height:2px;background:var(--nebula-lite);transition:background var(--dur) ease}
.ab-navtoggle__bars::before,.ab-navtoggle__bars::after{
  content:"";position:absolute;left:0;width:18px;height:2px;background:var(--nebula-lite);
  transition:transform var(--dur) ease,background var(--dur) ease;
}
.ab-navtoggle__bars::before{top:-6px}
.ab-navtoggle__bars::after{top:6px}
.ab-navtoggle__label{letter-spacing:.14em}
.ab-header[data-open] .ab-navtoggle{border-color:var(--galaxy);background:rgba(242,193,78,.12)}
.ab-header[data-open] .ab-navtoggle__bars{background:transparent}
.ab-header[data-open] .ab-navtoggle__bars::before{transform:translateY(6px) rotate(45deg);background:var(--galaxy)}
.ab-header[data-open] .ab-navtoggle__bars::after{transform:translateY(-6px) rotate(-45deg);background:var(--galaxy)}

/* ---------- 6. 导航：移动端抽屉 ---------- */
.ab-nav{
  position:fixed;top:var(--bar-h);right:0;
  width:min(330px,88vw);
  height:calc(100vh - var(--bar-h));
  height:calc(100dvh - var(--bar-h));
  display:flex;flex-direction:column;min-height:0;
  padding:18px 16px 30px;
  background:linear-gradient(180deg,#0C1E42 0%,#050B1C 100%);
  border-left:1px solid var(--line);
  overflow-y:auto;overscroll-behavior:contain;
  transform:translateX(102%);visibility:hidden;
  transition:transform 220ms ease,visibility 220ms;
}
.ab-header[data-open] .ab-nav{transform:translateX(0);visibility:visible}

.ab-nav__title{
  margin:0 0 12px;padding-bottom:8px;
  border-bottom:1px dashed var(--line-soft);
  font-family:var(--font-mono);font-size:.6875rem;font-weight:500;
  letter-spacing:.24em;color:var(--satellite);
}
.ab-nav__list{display:flex;flex-direction:column;gap:4px}
.ab-nav__item{list-style:none}
.ab-nav__link{
  display:flex;align-items:center;gap:12px;
  padding:11px 12px;
  border:1px solid transparent;border-left:2px solid transparent;border-radius:var(--r);
  color:var(--star);font-size:.9375rem;letter-spacing:.04em;text-decoration:none;
  transition:background var(--dur) ease,border-color var(--dur) ease,color var(--dur) ease;
}
.ab-nav__coord{min-width:20px;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;color:var(--satellite)}
.ab-nav__icon{font-size:.9rem;line-height:1;color:var(--nebula-lite);transition:color var(--dur) ease,transform var(--dur) ease}
.ab-nav__text{flex:1 1 auto;white-space:nowrap}
.ab-nav__link:hover{background:rgba(108,74,182,.20);border-left-color:var(--nebula);color:#fff}
.ab-nav__link:hover .ab-nav__icon{color:var(--galaxy);transform:translateX(2px)}
.ab-nav__link[aria-current="page"]{
  background:linear-gradient(90deg,rgba(108,74,182,.44),rgba(108,74,182,.05));
  border-left-color:var(--galaxy);color:#fff;
}
.ab-nav__link[aria-current="page"] .ab-nav__coord,
.ab-nav__link[aria-current="page"] .ab-nav__icon{color:var(--galaxy)}

.ab-nav__foot{
  margin-top:auto;display:flex;flex-direction:column;gap:12px;
  padding-top:16px;border-top:1px dashed var(--line-soft);
}
.ab-status{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--satellite)}
.ab-status__text{letter-spacing:.04em}
.ab-status__dot{
  flex:0 0 auto;width:7px;height:7px;border-radius:50%;
  background:var(--mint);box-shadow:0 0 0 3px rgba(61,220,151,.16);
  animation:ab-pulse 6s ease-in-out infinite;
}

.ab-star{display:flex;flex-direction:column;gap:8px}
.ab-star__btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 12px;border:1px solid var(--line);border-radius:var(--r);
  background:rgba(20,41,79,.6);color:var(--satellite);
  font-size:.8125rem;letter-spacing:.06em;cursor:pointer;
  transition:border-color var(--dur) ease,color var(--dur) ease,background var(--dur) ease;
}
.ab-star__btn:hover{border-color:var(--galaxy);color:var(--galaxy-lite)}
.ab-star__btn[aria-pressed="true"]{border-color:var(--galaxy);background:rgba(242,193,78,.14);color:var(--galaxy)}
.ab-star__icon{font-size:.9rem;line-height:1}
.ab-star__label{white-space:nowrap}
.ab-star__cycles{
  display:flex;flex-direction:column;gap:6px;
  padding:10px;border:1px dashed var(--line-soft);border-radius:var(--r);
  background:rgba(5,11,28,.55);
}
.ab-star__hint{margin:0;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.2em;color:var(--satellite)}
.ab-star__chips{display:flex;flex-wrap:wrap;gap:6px}
.ab-chip{
  padding:5px 10px;border:1px solid var(--line);border-radius:999px;
  color:var(--satellite);font-size:.75rem;letter-spacing:.06em;cursor:pointer;
  transition:color var(--dur) ease,border-color var(--dur) ease,background var(--dur) ease;
}
.ab-chip:hover{color:var(--star);border-color:var(--nebula-lite)}
.ab-chip[aria-pressed="true"]{border-color:var(--galaxy);background:rgba(242,193,78,.12);color:var(--galaxy)}

.ab-cta{
  display:block;padding:12px 16px;border:1px solid var(--nebula);border-radius:var(--r);
  background:linear-gradient(135deg,rgba(108,74,182,.95),rgba(42,74,133,.8));
  color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.08em;
  text-align:center;text-decoration:none;
  transition:border-color var(--dur) ease,box-shadow var(--dur) ease;
}
.ab-cta:hover{
  border-color:var(--galaxy);
  box-shadow:0 0 0 1px rgba(242,193,78,.5),0 10px 26px -14px rgba(108,74,182,.95);
}

/* ---------- 7. 页脚 ---------- */
.ab-footer{
  position:relative;
  margin-top:clamp(56px,8vw,110px);
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,#0B1B3A 0%,#050B1C 74%);
  color:var(--satellite);
  font-size:.875rem;line-height:1.8;
}
.ab-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(108,74,182,.9),rgba(242,193,78,.9),transparent);
}
.ab-footer__inner{
  width:100%;max-width:var(--maxw);margin-inline:auto;
  padding:clamp(36px,6vw,64px) var(--gut) 28px;
}
.ab-footer__grid{display:grid;grid-template-columns:1fr;gap:32px}
.ab-footer__brand{min-width:0}
.ab-footer__brandline{
  font-family:var(--font-display);font-weight:800;font-size:1.0625rem;
  letter-spacing:.1em;color:var(--star);
}
.ab-footer__desc{margin-top:10px;max-width:36ch}
.ab-footer__meta{
  margin-top:14px;padding-top:10px;
  border-top:1px dashed var(--line-soft);
  font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;color:var(--nebula-lite);
}
.ab-footer__col{display:block;min-width:0}
.ab-footer__title{
  margin:0 0 12px;
  font-family:var(--font-mono);font-size:.75rem;font-weight:500;
  letter-spacing:.22em;color:var(--galaxy);
}
.ab-footer__list{display:flex;flex-direction:column;gap:8px}
.ab-footer__link{
  color:var(--satellite);text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color var(--dur) ease,border-color var(--dur) ease;
}
.ab-footer__link:hover{color:var(--star);border-bottom-color:var(--nebula-lite)}

.ab-footer__contact{
  margin-top:clamp(28px,4vw,44px);padding-top:22px;
  border-top:1px dashed var(--line-soft);
  display:grid;grid-template-columns:1fr;gap:10px 34px;
}
.ab-footer__contactrow{display:flex;flex-wrap:wrap;gap:2px 12px}
.ab-footer__key{flex:0 0 auto;min-width:4.5em;font-size:.75rem;letter-spacing:.14em;color:var(--satellite)}
.ab-footer__val{color:var(--star)}

.ab-footer__legal{
  margin-top:26px;padding-top:18px;
  border-top:1px solid rgba(42,74,133,.5);
  display:flex;flex-wrap:wrap;gap:8px 26px;align-items:baseline;justify-content:space-between;
}
.ab-footer__legaline{margin:0;font-size:.8125rem;color:var(--satellite)}
.ab-footer__note{margin:0;font-size:.75rem;color:rgba(159,176,208,.85)}

/* ---------- 8. 通用组件 ---------- */
.ab-container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.ab-section{padding-block:clamp(38px,6.5vw,80px)}
.ab-section__head{
  display:grid;gap:8px;margin-bottom:clamp(20px,3vw,36px);
  padding-left:16px;border-left:2px solid var(--nebula);
}
.ab-section__title{margin:0}
.ab-eyebrow{
  font-family:var(--font-mono);font-size:.6875rem;font-weight:500;
  letter-spacing:.26em;color:var(--galaxy);text-transform:uppercase;
}
.ab-section__lead{margin:0;max-width:62ch;font-size:.9375rem;color:var(--satellite)}
.ab-glow{text-shadow:0 0 1px var(--nebula),0 0 18px rgba(108,74,182,.55)}

.ab-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border:1px solid var(--line);border-radius:var(--r);
  background:rgba(20,41,79,.6);color:var(--star);
  font-size:.9375rem;font-weight:600;letter-spacing:.06em;text-decoration:none;cursor:pointer;
  transition:border-color var(--dur) ease,background var(--dur) ease,color var(--dur) ease,transform var(--dur) ease;
}
.ab-btn:hover{border-color:var(--nebula-lite);background:rgba(108,74,182,.24);transform:translateX(2px)}
.ab-btn--primary{border-color:var(--nebula);background:linear-gradient(135deg,rgba(108,74,182,.95),rgba(42,74,133,.8));color:#fff}
.ab-btn--primary:hover{border-color:var(--galaxy);color:#fff}
.ab-btn--gold{border-color:var(--galaxy);background:linear-gradient(135deg,rgba(242,193,78,.95),rgba(255,225,163,.88));color:#08152F;font-weight:700}
.ab-btn--gold:hover{border-color:var(--galaxy-lite);color:#08152F}
.ab-btn--ghost{background:transparent;color:var(--nebula-lite)}

.ab-crumb{padding-top:clamp(18px,3vw,30px);font-size:.75rem;color:var(--satellite)}
.ab-crumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.ab-crumb__item{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);letter-spacing:.08em}
.ab-crumb__link{color:var(--nebula-lite);text-decoration:none;border-bottom:1px solid transparent}
.ab-crumb__link:hover{color:var(--star);border-bottom-color:var(--galaxy)}
.ab-crumb__sep{color:rgba(159,176,208,.55)}

.ab-grid{display:grid;gap:clamp(16px,2.4vw,28px);grid-template-columns:1fr}
.ab-card{
  position:relative;display:flex;flex-direction:column;gap:12px;
  padding:clamp(18px,2.2vw,26px);
  border:1px solid var(--line);border-radius:var(--r);
  background:linear-gradient(180deg,rgba(20,41,79,.92),rgba(11,27,58,.92));
  transition:border-color var(--dur) ease,transform var(--dur) ease,box-shadow var(--dur) ease;
}
.ab-card:hover{
  border-color:var(--nebula-lite);
  transform:translateY(-2px);
  box-shadow:0 18px 40px -28px rgba(108,74,182,.95);
}
.ab-card--accent{border-left:2px solid var(--nebula)}
.ab-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ab-card__title{margin:0;font-size:1.0625rem;letter-spacing:.05em}
.ab-card__body{margin:0;font-size:.9375rem;color:var(--satellite)}
.ab-card__meta{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;color:var(--satellite)}
.ab-card__more{
  display:inline-flex;align-items:center;gap:6px;margin-top:auto;
  color:var(--nebula-lite);font-size:.875rem;letter-spacing:.06em;text-decoration:none;
}
.ab-card__more::after{content:"→";transition:transform var(--dur) ease}
.ab-card__more:hover{color:var(--galaxy)}
.ab-card__more:hover::after{transform:translateX(2px)}

.ab-tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 9px;border:1px solid var(--line);border-radius:999px;
  font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;color:var(--satellite);
}
.ab-tag--mint{color:var(--mint);border-color:rgba(61,220,151,.6);background:rgba(61,220,151,.1)}
.ab-tag--gold{color:var(--galaxy);border-color:rgba(242,193,78,.6);background:rgba(242,193,78,.1)}
.ab-tag--purple{color:var(--nebula-lite);border-color:rgba(169,139,224,.6);background:rgba(108,74,182,.16)}

.ab-rule{height:1px;border:0;margin:clamp(24px,4vw,48px) 0;background:linear-gradient(90deg,transparent,rgba(42,74,133,.9),transparent)}
.ab-dotline{display:flex;align-items:center;gap:10px;margin:clamp(22px,3.4vw,40px) 0;color:var(--satellite)}
.ab-dotline::before,.ab-dotline::after{
  content:"";flex:1 1 auto;height:1px;
  background:repeating-linear-gradient(90deg,rgba(42,74,133,.95) 0 2px,transparent 2px 7px);
}
.ab-dotline__dot{
  flex:0 0 auto;width:5px;height:5px;border-radius:50%;
  background:var(--nebula-lite);box-shadow:0 0 8px rgba(169,139,224,.9);
  animation:ab-pulse 6s ease-in-out infinite;
}
.ab-dotline__label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.2em;color:var(--satellite)}

.ab-mono{font-family:var(--font-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.ab-data{font-family:var(--font-mono);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;letter-spacing:.04em;color:var(--galaxy)}

/* ---------- 9. 可复用图片容器 ---------- */
.ab-figure{margin:0}
.ab-media{
  position:relative;display:block;width:100%;overflow:hidden;
  border:1px solid var(--line);border-radius:var(--r);background:var(--surface);
}
.ab-media::before{content:"";display:block;padding-top:56.25%}
.ab-media--4x3::before{padding-top:75%}
.ab-media--1x1::before{padding-top:100%}
.ab-media--wide::before{padding-top:40%}
.ab-media img,.ab-media__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-media__ph{
  position:absolute;inset:0;display:grid;place-items:center;gap:6px;
  padding:16px;text-align:center;
  font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.2em;color:var(--satellite);
  background:
    radial-gradient(120% 90% at 18% 8%, rgba(108,74,182,.55), transparent 60%),
    radial-gradient(90% 70% at 92% 96%, rgba(61,220,151,.18), transparent 62%),
    linear-gradient(140deg,#14294F,#050B1C);
}
.ab-media__cap,
.ab-figure__cap{margin-top:8px;font-size:.75rem;letter-spacing:.04em;color:var(--satellite)}

/* ---------- 10. 交互附加组件（由 JS 或页面阶段启用） ---------- */
.ab-copy{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;border:1px solid var(--line);border-radius:var(--r);
  background:rgba(20,41,79,.6);color:var(--satellite);
  font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;cursor:pointer;
  transition:color var(--dur) ease,border-color var(--dur) ease,background var(--dur) ease;
}
.ab-copy:hover{color:var(--star);border-color:var(--nebula-lite)}
.ab-copy.is-done{border-color:var(--mint);background:rgba(61,220,151,.14);color:var(--mint)}

.ab-reveal{opacity:0;translate:0 12px;transition:opacity 220ms ease,translate 220ms ease}
.ab-reveal.is-in{opacity:1;translate:0 0}

.ab-progress{position:fixed;top:var(--bar-h);left:0;right:0;height:2px;z-index:210;pointer-events:none}
.ab-progress__bar{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--nebula),var(--galaxy),var(--mint));
  transition:width 90ms linear;
}

@keyframes ab-pulse{0%,100%{opacity:.6}50%{opacity:1}}

/* ---------- 11. 断点：平板 ---------- */
@media (min-width:640px){
  .ab-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
  .ab-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:760px){
  .ab-footer__contact{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- 12. 断点：桌面侧边轨道导航 ---------- */
@media (min-width:1024px){
  body{padding-top:0;padding-left:var(--rail-w);font-size:17px}
  #main-content{scroll-margin-top:24px}

  .ab-header{
    top:0;bottom:0;left:0;right:auto;
    width:var(--rail-w);height:auto;
    display:flex;flex-direction:column;min-height:0;
    border-bottom:0;border-right:1px solid var(--line);
    background:linear-gradient(180deg,#0C1E42 0%,#071230 58%,#050B1C 100%);
    overflow:hidden;
    transition:width 220ms ease,box-shadow 220ms ease;
  }
  .ab-header:hover,
  .ab-header:focus-within{width:var(--rail-open);box-shadow:18px 0 46px -22px rgba(0,0,0,.9)}

  .ab-header__bar{flex-direction:column;align-items:center;height:auto;padding:20px 10px 14px;gap:10px}
  .ab-navtoggle{display:none}

  .ab-brand{flex-direction:column;align-items:center;gap:8px;text-align:center}
  .ab-brand__text{align-items:center}
  .ab-brand__name{font-size:.9375rem;letter-spacing:.12em}
  .ab-brand__sub{max-width:84px;font-size:.625rem;line-height:1.5;letter-spacing:.04em;white-space:normal}
  .ab-header:hover .ab-brand,
  .ab-header:focus-within .ab-brand{flex-direction:row;text-align:left}
  .ab-header:hover .ab-brand__text,
  .ab-header:focus-within .ab-brand__text{align-items:flex-start}
  .ab-header:hover .ab-brand__sub,
  .ab-header:focus-within .ab-brand__sub{max-width:none;font-size:.6875rem}

  .ab-nav{
    position:static;transform:none;visibility:visible;
    width:auto;height:auto;flex:1 1 auto;min-height:0;
    padding:10px 10px 20px;
    background:transparent;border:0;
  }
  .ab-nav__title{text-align:center;font-size:.625rem;letter-spacing:.18em}
  .ab-nav__list{gap:2px}
  .ab-nav__link{flex-direction:column;align-items:center;gap:8px;padding:12px 4px;text-align:center}
  .ab-nav__coord{display:none}
  .ab-nav__icon{font-size:1rem}
  .ab-nav__text{
    flex:0 0 auto;white-space:nowrap;
    writing-mode:vertical-rl;text-orientation:upright;
    font-size:.8125rem;letter-spacing:.16em;line-height:1.1;
  }
  .ab-header:hover .ab-nav__title,
  .ab-header:focus-within .ab-nav__title{text-align:left;font-size:.6875rem}
  .ab-header:hover .ab-nav__link,
  .ab-header:focus-within .ab-nav__link{flex-direction:row;align-items:center;gap:12px;padding:11px 12px;text-align:left}
  .ab-header:hover .ab-nav__coord,
  .ab-header:focus-within .ab-nav__coord{display:inline-block}
  .ab-header:hover .ab-nav__text,
  .ab-header:focus-within .ab-nav__text{flex:1 1 auto;writing-mode:horizontal-tb;letter-spacing:.04em}

  .ab-status{flex-direction:column;justify-content:center;gap:6px;text-align:center}
  .ab-status__text{font-size:.625rem;line-height:1.5}
  .ab-header:hover .ab-status,
  .ab-header:focus-within .ab-status{flex-direction:row;text-align:left}
  .ab-header:hover .ab-status__text,
  .ab-header:focus-within .ab-status__text{font-size:.75rem}

  .ab-star__btn{justify-content:center;padding:9px 8px}
  .ab-cta{
    align-self:center;padding:16px 8px;
    writing-mode:vertical-rl;text-orientation:upright;
    font-size:.8125rem;letter-spacing:.14em;
  }
  .ab-header:hover .ab-cta,
  .ab-header:focus-within .ab-cta{
    align-self:stretch;padding:12px 14px;
    writing-mode:horizontal-tb;letter-spacing:.08em;
  }

  .ab-progress{top:0;left:var(--rail-w)}
  .ab-footer__grid{grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(120px,1fr));gap:40px}
  .ab-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ---------- 13. 可访问性偏好 ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .ab-reveal{opacity:1;translate:0 0}
  .ab-card:hover{transform:none}
  .ab-btn:hover{transform:none}
}
