/* =========================================================
   88体育赛场 · /assets/site.css
   01 变量 / 02 重置 / 03 排版 / 04 布局 / 05 按钮与标签
   06 头部 / 07 移动导航 / 08 页脚 / 09 通用组件 / 10 动效与无障碍
   ========================================================= */

/* ---------- 01 变量 ---------- */
:root{
  --ink:#0B0E0C;
  --console:#161B18;
  --lime:#C6FF2E;
  --blue:#2F6BFF;
  --orange:#FF7A3D;
  --paper:#F2EFE6;
  --paper-deep:#E7E3D6;
  --muted:#5A625C;
  --line:#D8D4C8;
  --alert:#E5483F;
  --white:#FFFFFF;

  --font-display:"Barlow Condensed","HarmonyOS Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-body:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-mono:"JetBrains Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;

  --shell:1320px;
  --gutter:clamp(1rem,4vw,3rem);
  --ease:cubic-bezier(.2,.7,.25,1);
  --dur:200ms;
}

/* ---------- 02 重置 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:7.5rem}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.55;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;margin:0}
ul[class],ol[class]{list-style:none}
img,svg,video{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
strong,b{font-weight:700}
[hidden]{display:none !important}

/* ---------- 03 排版 ---------- */
.display-xl{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(3.5rem,11vw,10.5rem);
  line-height:.84;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.display-lg{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(2rem,5.5vw,3.5rem);
  line-height:.94;
  letter-spacing:-.03em;
}
.display-md{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.375rem,2.6vw,2rem);
  line-height:1.08;
  letter-spacing:-.015em;
}
.lede{
  font-size:clamp(1rem,1.5vw,1.125rem);
  line-height:1.62;
  color:var(--muted);
  max-width:34em;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.2em;
  line-height:1;
  text-transform:uppercase;
  color:var(--muted);
}
.eyebrow::before{
  content:"";
  width:1.75rem;
  height:1px;
  background:currentColor;
  flex:0 0 auto;
}
.eyebrow--lime{color:var(--lime)}
.annot{
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  margin:0;
}
.rule{
  border:0;
  border-top:1px solid var(--line);
  margin-block:clamp(1.5rem,3vw,2.5rem);
}

/* ---------- 04 布局 ---------- */
.container{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.container--narrow{max-width:860px}
.section{padding-block:clamp(2.75rem,7vw,5.5rem)}
.section--paper{background:var(--paper);color:var(--ink)}
.section--ink{background:var(--ink);color:var(--white)}
.section--console{background:var(--console);color:var(--white)}
.section--slab{
  background:var(--ink);
  color:var(--white);
  clip-path:polygon(0 3.5vw,100% 0,100% 100%,0 100%);
  padding-block:clamp(4rem,9vw,7rem);
}
.grid-12{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(.75rem,2vw,1.5rem);
}
.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-12{grid-column:1 / -1}
@media (min-width:768px){
  .span-3{grid-column:span 3}
  .span-4{grid-column:span 4}
  .span-5{grid-column:span 5}
  .span-6{grid-column:span 6}
  .span-7{grid-column:span 7}
  .span-8{grid-column:span 8}
  .span-12{grid-column:span 12}
}

/* ---------- 05 按钮与标签 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.85rem 1.35rem;
  border:1px solid transparent;
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.btn:hover{transform:translateY(-2px)}
.btn--lime{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.btn--lime:hover{background:var(--white);border-color:var(--white)}
.btn--blue{background:var(--blue);color:var(--white);border-color:var(--blue)}
.btn--blue:hover{background:var(--ink);border-color:var(--ink)}
.btn--outline{background:transparent;color:inherit;border-color:currentColor}
.btn--outline:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}

.tag{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.26rem .55rem;
  border:1px solid currentColor;
  font-family:var(--font-mono);
  font-size:.625rem;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1.2;
  text-transform:uppercase;
  white-space:nowrap;
}
.tag--lime{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.tag--blue{border-color:var(--blue);color:var(--blue)}
.tag--orange{border-color:var(--orange);color:var(--orange)}
.tag--alert{border-color:var(--alert);color:var(--alert)}

.status-dot{
  display:inline-block;
  width:.5rem;
  height:.5rem;
  border-radius:50%;
  background:var(--lime);
  flex:0 0 auto;
  animation:dot-breathe 2s ease-in-out infinite;
}

/* ---------- 06 头部 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:var(--ink);
  color:var(--white);
  border-bottom:1px solid rgba(198,255,46,.22);
}
.skip-link{
  position:absolute;
  left:var(--gutter);
  top:-100px;
  z-index:200;
  padding:.7rem 1.1rem;
  background:var(--lime);
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:top var(--dur) var(--ease);
}
.skip-link:focus,
.skip-link:focus-visible{top:.55rem;outline:2px solid var(--ink);outline-offset:-4px}

.header-ticker{
  background:var(--console);
  border-bottom:1px solid rgba(255,255,255,.07);
  padding:.42rem var(--gutter);
  overflow:hidden;
}
.ticker-inner{
  display:flex;
  align-items:center;
  gap:.75rem;
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  min-width:0;
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
.ticker-lamp{
  flex:0 0 auto;
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:var(--lime);
  animation:dot-breathe 2s ease-in-out infinite;
}
.ticker-text{
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ticker-meta{
  flex:0 0 auto;
  color:rgba(198,255,46,.78);
}
.header-bar{
  display:flex;
  align-items:center;
  gap:clamp(.75rem,2vw,1.75rem);
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding:.8rem var(--gutter);
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  flex:0 0 auto;
  min-width:0;
}
.brand-mark{
  display:grid;
  place-items:center;
  padding:.14em .34em .2em;
  background:var(--lime);
  color:var(--ink);
  font-family:var(--font-mono);
  font-weight:800;
  font-size:1.5rem;
  line-height:1;
  letter-spacing:-.06em;
  transform:skewX(-6deg);
  transition:background var(--dur) var(--ease);
}
.brand:hover .brand-mark{background:var(--white)}
.brand-type{display:flex;flex-direction:column;gap:.12rem;min-width:0}
.brand-name{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.0625rem;
  line-height:1.1;
  letter-spacing:.07em;
  color:var(--white);
  white-space:nowrap;
}
.brand-sub{
  font-family:var(--font-mono);
  font-size:.5625rem;
  letter-spacing:.18em;
  line-height:1.2;
  text-transform:uppercase;
  color:rgba(255,255,255,.42);
  white-space:nowrap;
}
.nav-toggle{
  display:none;
  align-items:center;
  gap:.5rem;
  padding:.55rem .7rem;
  border:1px solid rgba(198,255,46,.45);
  color:var(--lime);
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.nav-toggle:hover{background:rgba(198,255,46,.12);border-color:var(--lime)}
.nav-toggle-bars{
  width:1.05rem;
  height:.7rem;
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
  background-size:100% 2px;
  background-position:0 0,0 50%,0 100%;
  background-repeat:no-repeat;
  transition:transform var(--dur) var(--ease);
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars{transform:rotate(90deg)}
.nav-toggle-label{white-space:nowrap}

.primary-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1rem;
  flex:1 1 auto;
  min-width:0;
}
.nav-list{
  display:flex;
  align-items:center;
  gap:clamp(.15rem,.8vw,.6rem);
  list-style:none;
}
.nav-item{display:block}
.nav-link{
  position:relative;
  display:inline-flex;
  align-items:baseline;
  gap:.38rem;
  padding:.5rem .45rem .55rem;
  border-bottom:2px solid transparent;
  color:rgba(255,255,255,.72);
  font-size:.9375rem;
  font-weight:500;
  letter-spacing:.02em;
  white-space:nowrap;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.nav-link:hover{color:var(--white);background:rgba(255,255,255,.05)}
.nav-index{
  font-family:var(--font-mono);
  font-size:.625rem;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--blue);
  transition:color var(--dur) var(--ease);
}
.nav-link:hover .nav-index{color:var(--lime)}
.nav-label{display:inline-block}
.nav-link[aria-current="page"]{color:var(--lime);border-bottom-color:var(--lime)}
.nav-link[aria-current="page"] .nav-index{color:var(--lime)}
.nav-hint{
  display:none;
  font-family:var(--font-mono);
  font-size:.625rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
}
.header-cta{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.68rem 1.15rem .7rem;
  background:var(--lime);
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1;
  clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%);
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.header-cta:hover{background:var(--white);transform:translateX(3px)}

/* ---------- 07 移动导航 ---------- */
@media (max-width:900px){
  .header-ticker{padding-inline:var(--gutter)}
  .ticker-meta{display:none}
  .header-bar{flex-wrap:wrap;row-gap:.65rem}
  .brand{order:1}
  .brand-sub{display:none}
  .nav-toggle{order:2;display:inline-flex;margin-left:auto}
  .header-cta{order:3;padding:.6rem .85rem .62rem;font-size:.6875rem;letter-spacing:.08em}
  .primary-nav{
    order:4;
    flex:1 1 100%;
    display:none;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    padding-top:.7rem;
    border-top:1px solid rgba(255,255,255,.1);
  }
  .primary-nav[data-open="true"]{display:flex}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-item{border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-item:last-child{border-bottom:0}
  .nav-link{
    display:flex;
    width:100%;
    justify-content:flex-start;
    padding:.8rem .2rem;
    font-size:1rem;
    border-bottom:0;
  }
  .nav-link:hover{background:transparent;color:var(--lime)}
  .nav-link[aria-current="page"]{
    border-bottom:0;
    padding-left:.7rem;
    box-shadow:inset 3px 0 0 var(--lime);
    background:rgba(198,255,46,.07);
  }
  .nav-hint{display:block;padding:.9rem .2rem .3rem}
}
@media (max-width:420px){
  .brand-name{font-size:.9375rem;letter-spacing:.04em}
  .brand-mark{font-size:1.25rem}
  .header-cta{padding:.55rem .7rem .58rem}
}

/* ---------- 08 页脚 ---------- */
.site-footer{
  position:relative;
  background:var(--ink);
  color:rgba(255,255,255,.78);
  padding-top:clamp(2.5rem,6vw,4.5rem);
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,var(--lime) 0 34%,var(--blue) 34% 64%,var(--orange) 64% 100%);
}
.footer-main{
  display:grid;
  gap:clamp(2rem,4vw,3.5rem);
  grid-template-columns:minmax(0,1fr);
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding:0 var(--gutter) clamp(2rem,4vw,3rem);
}
.footer-brand{display:block}
.footer-brand-mark{
  font-family:var(--font-mono);
  font-weight:800;
  font-size:clamp(3rem,7vw,4.5rem);
  line-height:.82;
  letter-spacing:-.08em;
  color:var(--lime);
}
.footer-brand-name{
  margin-top:.55rem;
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.25rem;
  letter-spacing:.08em;
  color:var(--white);
}
.footer-tagline{
  margin-top:.35rem;
  font-family:var(--font-mono);
  font-size:.625rem;
  letter-spacing:.2em;
  line-height:1.5;
  text-transform:uppercase;
  color:rgba(255,255,255,.42);
}
.footer-grid{
  display:grid;
  gap:clamp(1.75rem,3vw,2.5rem);
  grid-template-columns:minmax(0,1fr);
}
.footer-col{min-width:0}
.footer-col-title{
  padding-bottom:.6rem;
  border-bottom:1px solid rgba(255,255,255,.14);
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.22em;
  line-height:1.2;
  text-transform:uppercase;
  color:var(--lime);
}
.footer-list{
  display:grid;
  gap:.1rem;
  margin-top:.85rem;
  list-style:none;
}
.footer-link{
  display:inline-flex;
  padding:.28rem 0;
  font-size:.9375rem;
  color:rgba(255,255,255,.75);
  transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.footer-link:hover{color:var(--lime);transform:translateX(3px)}
.footer-contact{
  display:grid;
  gap:.7rem;
  margin-top:.9rem;
  list-style:none;
}
.contact-line{
  display:grid;
  grid-template-columns:3.25rem minmax(0,1fr);
  gap:.6rem;
  align-items:baseline;
  font-size:.9375rem;
}
.contact-key{
  font-family:var(--font-mono);
  font-size:.625rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
}
.contact-value{
  color:var(--white);
  line-height:1.45;
  overflow-wrap:anywhere;
}
.footer-note{
  margin-top:1.1rem;
  padding-left:.75rem;
  border-left:2px solid var(--orange);
  font-size:.8125rem;
  line-height:1.6;
  color:rgba(255,255,255,.5);
}
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:.5rem 1.5rem;
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding:1.05rem var(--gutter) 1.8rem;
  border-top:1px solid rgba(255,255,255,.12);
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.1em;
  line-height:1.6;
  color:rgba(255,255,255,.42);
}
.footer-copy{margin:0}
.footer-disclaimer{margin:0;color:rgba(255,255,255,.34)}
.footer-icp{
  margin:0;
  padding:.15rem .45rem;
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.55);
  white-space:nowrap;
}
@media (min-width:640px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:900px){
  .footer-main{grid-template-columns:minmax(200px,.85fr) minmax(0,2fr);align-items:start}
}
@media (min-width:1080px){
  .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ---------- 09 通用组件 ---------- */
.breadcrumb{
  display:block;
  margin-block:clamp(.75rem,2vw,1.25rem);
}
.breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  list-style:none;
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.breadcrumb__item{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted)}
.breadcrumb__item + .breadcrumb__item::before{content:"/";color:var(--line)}
.breadcrumb__link{color:var(--muted);transition:color var(--dur) var(--ease)}
.breadcrumb__link:hover{color:var(--ink);text-decoration:underline}
.breadcrumb__current{color:var(--ink);font-weight:700}

.panel{
  position:relative;
  padding:clamp(1rem,2vw,1.5rem);
  background:var(--console);
  color:var(--white);
  border:1px solid rgba(255,255,255,.12);
}
.panel__head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:.5rem 1rem;
  padding-bottom:.7rem;
  margin-bottom:.9rem;
  border-bottom:1px dashed rgba(255,255,255,.18);
}
.panel__title{
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--lime);
}
.panel__meta{
  font-family:var(--font-mono);
  font-size:.625rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
}
.panel__body{font-size:.9375rem;line-height:1.6;color:rgba(255,255,255,.78)}
.panel--light{background:var(--paper-deep);color:var(--ink);border-color:var(--line)}
.panel--light .panel__head{border-bottom-color:rgba(11,14,12,.18)}
.panel--light .panel__title{color:var(--ink)}
.panel--light .panel__meta{color:var(--muted)}
.panel--light .panel__body{color:var(--muted)}
.data-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  padding:.6rem 0;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.data-row:last-child{border-bottom:0}
.data-row__label{
  font-size:.875rem;
  color:rgba(255,255,255,.68);
}
.data-row__value{
  font-family:var(--font-mono);
  font-weight:700;
  font-size:1.25rem;
  letter-spacing:-.02em;
  color:var(--lime);
}
.panel--light .data-row{border-bottom-color:rgba(11,14,12,.12)}
.panel--light .data-row__label{color:var(--muted)}
.panel--light .data-row__value{color:var(--ink)}

.media{
  position:relative;
  overflow:hidden;
  margin:0;
  aspect-ratio:16/10;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 28% 0%,rgba(198,255,46,.22),transparent 58%),
    radial-gradient(circle at 85% 110%,rgba(47,107,255,.28),transparent 62%),
    linear-gradient(158deg,#161B18 0%,#0B0E0C 62%,#1a2a12 100%);
}
.media__img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(1.05);
  transition:transform 600ms var(--ease);
}
.media:hover .media__img{transform:scale(1.03)}
.media__caption{
  position:absolute;
  left:0;
  bottom:0;
  right:0;
  padding:.55rem .75rem;
  background:linear-gradient(0deg,rgba(11,14,12,.92),rgba(11,14,12,0));
  font-family:var(--font-mono);
  font-size:.625rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.8);
}
.media--wide{aspect-ratio:16/9}
.media--tall{aspect-ratio:3/4}
.media--square{aspect-ratio:1/1}

.filter-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  padding-block:.85rem;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.filter-btn{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  padding:.48rem .75rem;
  border:1px solid var(--line);
  background:transparent;
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1;
  text-transform:uppercase;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.filter-btn:hover{border-color:var(--ink);color:var(--ink)}
.filter-btn[aria-pressed="true"]{
  background:var(--ink);
  border-color:var(--ink);
  color:var(--lime);
}
.filter-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.filter-status{
  margin-left:auto;
  font-family:var(--font-mono);
  font-size:.625rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.section--ink .filter-bar,
.section--console .filter-bar,
.section--slab .filter-bar{border-color:rgba(255,255,255,.16)}
.section--ink .filter-btn,
.section--console .filter-btn,
.section--slab .filter-btn{border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.65)}
.section--ink .filter-btn:hover,
.section--console .filter-btn:hover,
.section--slab .filter-btn:hover{color:var(--white);border-color:var(--white)}
.section--ink .filter-btn[aria-pressed="true"],
.section--console .filter-btn[aria-pressed="true"],
.section--slab .filter-btn[aria-pressed="true"]{
  background:var(--lime);
  border-color:var(--lime);
  color:var(--ink);
}
.section--ink .filter-status,
.section--console .filter-status,
.section--slab .filter-status{color:rgba(255,255,255,.5)}

/* ---------- 10 动效与无障碍 ---------- */
@keyframes dot-breathe{
  0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(198,255,46,.55)}
  50%{opacity:.5;box-shadow:0 0 0 6px rgba(198,255,46,0)}
}
[data-reveal]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity 560ms var(--ease),transform 560ms var(--ease);
}
[data-reveal][data-revealed="true"]{
  opacity:1;
  transform:none;
}
:focus-visible{
  outline:2px solid var(--lime);
  outline-offset:2px;
}
.section--paper :focus-visible,
.panel--light :focus-visible{
  outline-color:var(--blue);
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  [data-reveal]{opacity:1;transform:none}
}
