:root{
  --ink:#05070A;
  --ink-2:#0B1110;
  --lime:#B6FF3B;
  --lime-soft:rgba(182,255,59,.12);
  --blue:#35C8FF;
  --orange:#FF7A1A;
  --paper:#EAF0E6;
  --white:#F4F7F2;
  --steel:#8A968E;
  --line:#243029;
  --red:#FF4D4F;
  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:32px;
  --radius-pill:999px;
  --w:1200px;
  --w-narrow:760px;
  --font-display:"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:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box;}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:150px;
}
body{
  margin:0;
  background:var(--ink);
  color:var(--white);
  font-family:var(--font-body);
  font-size:clamp(16px,1.05vw,17px);
  line-height:1.75;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
img,svg,video{display:block;max-width:100%;}
button{font:inherit;color:inherit;}
h1,h2{font-family:var(--font-display);font-weight:900;line-height:1.02;letter-spacing:-.03em;}
h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.25;letter-spacing:-.01em;}
a{color:inherit;text-decoration:none;transition:color .18s ease;}
a:hover{color:var(--lime);}
::selection{background:var(--lime);color:var(--ink);}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:6px;}
.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;
}
/* ---------- 容器与章节 ---------- */
.container{width:min(var(--w),100% - 40px);margin-inline:auto;}
.container--narrow{width:min(var(--w-narrow),100% - 40px);margin-inline:auto;}
.section{padding-block:clamp(48px,7vw,96px);}
.section--tight{padding-block:clamp(32px,4vw,56px);}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.06em;}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:11px;font-weight:600;
  letter-spacing:.26em;text-transform:uppercase;color:var(--lime);
}
.section-index{
  display:block;font-family:var(--font-mono);font-weight:700;
  font-size:clamp(40px,7vw,88px);line-height:.8;letter-spacing:-.04em;
  color:rgba(182,255,59,.3);font-variant-numeric:tabular-nums;
}
/* ---------- 跳转链接 ---------- */
.skip-link{
  position:fixed;top:8px;left:8px;z-index:200;
  padding:12px 22px;border-radius:var(--radius-pill);
  background:var(--lime);color:var(--ink);
  font-size:14px;font-weight:700;
  transform:translateY(-160%);
  transition:transform .2s ease;
}
.skip-link:focus-visible{transform:translateY(0);color:var(--ink);outline-offset:4px;}
/* ---------- 刊头 ---------- */
.site-header{
  position:sticky;top:0;z-index:80;
  background:rgba(5,7,10,.93);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.header-strip{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  width:min(var(--w),100% - 40px);margin-inline:auto;
  padding:8px 0;
  max-height:48px;overflow:hidden;
  border-bottom:1px solid var(--line);
  font-size:12px;
  transition:max-height .24s ease,opacity .24s ease,padding .24s ease;
}
.strip-live{
  display:inline-flex;align-items:center;gap:9px;
  color:var(--white);letter-spacing:.1em;white-space:nowrap;
}
.strip-live::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--lime);flex:none;
  animation:live-pulse 2.6s ease-in-out infinite;
}
@keyframes live-pulse{
  0%,100%{box-shadow:0 0 0 3px rgba(182,255,59,.18);}
  50%{box-shadow:0 0 0 8px rgba(182,255,59,0);}
}
.strip-meta{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--steel);white-space:nowrap;
}
.header-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;gap:18px;
  width:min(var(--w),100% - 40px);margin-inline:auto;
  padding:20px 0;
  transition:padding .22s ease;
}
.header-side{
  display:flex;align-items:center;gap:12px;
  font-size:13px;color:var(--steel);min-width:0;
}
.header-side--left{
  justify-self:start;
  font-family:var(--font-mono);font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--steel);
  white-space:nowrap;
}
.header-side--right{justify-self:end;}
.brand{
  display:inline-flex;flex-direction:column;align-items:center;gap:3px;
  justify-self:center;text-align:center;color:var(--white);
}
.brand__cn{
  font-family:var(--font-display);font-weight:900;
  font-size:clamp(24px,3.2vw,38px);line-height:1;
  letter-spacing:.06em;color:inherit;
  transition:font-size .2s ease,color .18s ease;
}
.brand__en{
  font-family:var(--font-mono);font-size:10px;font-weight:600;
  letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;
  color:var(--lime);
}
.brand:hover .brand__cn{color:var(--lime);}
.chip-link{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:var(--radius-pill);
  border:1px solid var(--line);background:var(--lime-soft);
  color:var(--white);font-size:13px;font-weight:600;
  white-space:nowrap;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.chip-link:hover{
  background:var(--lime);border-color:var(--lime);color:var(--ink);
  transform:translateY(-2px);
}
.header-mail{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;
  color:var(--steel);white-space:nowrap;
}
.nav-toggle{
  display:none;align-items:center;gap:9px;
  padding:9px 16px;border-radius:var(--radius-pill);
  border:1px solid var(--line);background:transparent;
  color:var(--white);font-size:13px;font-weight:600;cursor:pointer;
  transition:border-color .18s ease,color .18s ease;
}
.nav-toggle:hover{border-color:var(--lime);color:var(--lime);}
.nav-toggle__bars{
  position:relative;display:block;width:16px;height:2px;
  background:currentColor;border-radius:2px;
  transition:background-color .2s ease;
}
.nav-toggle__bars::before,
.nav-toggle__bars::after{
  content:"";position:absolute;left:0;width:16px;height:2px;
  background:currentColor;border-radius:2px;
  transition:transform .2s ease;
}
.nav-toggle__bars::before{top:-5px;}
.nav-toggle__bars::after{top:5px;}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars{background:transparent;}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(5px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-5px) rotate(-45deg);}
.nav-toggle__label{line-height:1;}
.site-nav{border-top:1px solid var(--line);}
.site-nav__list{
  display:flex;flex-wrap:wrap;justify-content:center;gap:4px;
  width:min(var(--w),100% - 40px);margin-inline:auto;
  padding:8px 0 12px;
}
.site-nav__item{display:block;}
.site-nav__link{
  display:block;padding:9px 18px;border-radius:var(--radius-pill);
  font-size:14px;letter-spacing:.05em;color:var(--steel);
  transition:color .18s ease,background-color .18s ease,transform .18s ease;
}
.site-nav__link:hover{color:var(--white);background:rgba(244,247,242,.07);transform:translateY(-1px);}
.site-nav__link[aria-current="page"]{
  background:var(--lime);color:var(--ink);font-weight:700;
}
.site-nav__link[aria-current="page"]:hover{background:var(--lime);color:var(--ink);}
.scroll-progress{
  position:absolute;left:0;bottom:-1px;height:2px;width:0;
  background:linear-gradient(90deg,var(--lime),var(--blue));
  transition:width .09s linear;
  pointer-events:none;
}
.site-header.is-compact .header-strip{
  max-height:0;opacity:0;padding-block:0;border-bottom-color:transparent;
}
.site-header.is-compact .header-main{padding-block:10px;}
.site-header.is-compact .brand__cn{font-size:clamp(20px,2.2vw,27px);}
/* ---------- 页脚 ---------- */
.site-footer{
  position:relative;overflow:hidden;
  margin-top:clamp(72px,9vw,140px);
  background:var(--ink-2);
  border-top:1px solid var(--line);
  color:var(--steel);
}
.site-footer::before{
  content:"";position:absolute;left:0;right:0;top:-150px;height:300px;
  background:radial-gradient(58% 100% at 50% 100%,rgba(182,255,59,.11),transparent 72%);
  pointer-events:none;
}
.footer-inner{
  position:relative;
  width:min(var(--w),100% - 40px);margin-inline:auto;
  padding:clamp(40px,6vw,72px) 0 28px;
}
.footer-head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:24px;padding-bottom:clamp(24px,3vw,36px);
}
.brand--footer{align-items:flex-start;text-align:left;justify-self:start;gap:4px;}
.brand--footer .brand__cn{font-size:clamp(26px,3vw,34px);}
.footer-summary{
  max-width:40ch;font-size:15px;line-height:1.7;color:var(--steel);
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.7fr);
  gap:32px;
  padding-top:clamp(24px,3vw,36px);
  border-top:1px solid var(--line);
}
.footer-col__title{
  font-family:var(--font-display);font-size:12px;font-weight:700;
  letter-spacing:.2em;color:var(--lime);margin-bottom:14px;
}
.footer-links{display:grid;gap:10px;}
.footer-links a{
  display:inline-block;font-size:14px;color:var(--steel);
  transition:color .18s ease,transform .18s ease;
}
.footer-links a:hover{color:var(--white);transform:translateX(3px);}
.footer-col--contact{min-width:0;}
.footer-contact{display:grid;gap:10px;}
.footer-contact__item{
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:12px;align-items:start;font-size:14px;
}
.footer-contact__key{
  font-family:var(--font-mono);font-size:10px;font-weight:600;
  letter-spacing:.16em;color:var(--lime);padding-top:5px;
  text-transform:uppercase;white-space:nowrap;
}
.footer-contact__val{color:var(--white);word-break:break-word;line-height:1.6;}
.footer-contact__note{
  font-size:13px;line-height:1.65;color:var(--steel);
  padding-top:6px;border-top:1px dashed var(--line);
}
.footer-base{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:10px 24px;margin-top:clamp(28px,4vw,44px);padding-top:20px;
  border-top:1px solid var(--line);
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--steel);
}
.footer-base__item{margin:0;}
/* ---------- 通用排版组件 ---------- */
.prose{
  max-width:68ch;font-size:17px;line-height:1.8;
  color:rgba(244,247,242,.82);
}
.prose>*+*{margin-top:1.1em;}
.prose h2{font-size:clamp(24px,3vw,34px);color:var(--white);}
.prose h3{font-size:20px;color:var(--white);}
.prose ul,.prose ol{list-style:disc;padding-left:1.25em;}
.prose ol{list-style:decimal;}
.prose li+li{margin-top:.45em;}
.prose strong{color:var(--white);}
.prose a{border-bottom:1px solid rgba(182,255,59,.45);color:var(--lime);}
.grid{display:grid;gap:clamp(16px,2.4vw,28px);}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.card{
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:clamp(20px,2.6vw,28px);
  transition:transform .2s ease,border-color .2s ease,background-color .2s ease;
}
.card:hover{
  transform:translateY(-3px);
  border-color:rgba(182,255,59,.55);
}
/* ---------- 图片容器基础规则 ---------- */
.media-frame{
  position:relative;overflow:hidden;
  aspect-ratio:16/9;
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  background:
    radial-gradient(70% 90% at 20% 0%,rgba(53,200,255,.16),transparent 68%),
    radial-gradient(60% 80% at 90% 100%,rgba(182,255,59,.14),transparent 70%),
    var(--ink-2);
}
.media-frame--wide{aspect-ratio:21/9;}
.media-frame--tall{aspect-ratio:3/4;}
.media-frame--square{aspect-ratio:1/1;}
.media-frame img,
.media-frame video{
  width:100%;height:100%;object-fit:cover;
}
.media-frame__caption{
  position:absolute;left:0;right:0;bottom:0;
  padding:16px 20px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--steel);
  background:linear-gradient(180deg,transparent,rgba(5,7,10,.85));
}
/* ---------- 胶囊 / 按钮 / 面包屑 ---------- */
.pill-row{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 15px;border-radius:var(--radius-pill);
  border:1px solid var(--line);background:var(--ink-2);
  font-size:13px;color:var(--steel);cursor:pointer;
  transition:border-color .18s ease,color .18s ease,background-color .18s ease;
}
.chip:hover{border-color:var(--lime);color:var(--white);}
.chip[aria-pressed="true"],
.chip.is-active{
  border-color:var(--lime);background:var(--lime);color:var(--ink);font-weight:700;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 28px;border-radius:var(--radius-pill);
  border:1px solid transparent;background:transparent;
  font-family:var(--font-body);font-size:15px;font-weight:700;
  letter-spacing:.02em;cursor:pointer;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;
}
.btn--primary{background:var(--lime);color:var(--ink);}
.btn--primary:hover{background:#c9ff6b;color:var(--ink);transform:translateY(-2px);}
.btn--ghost{border-color:var(--line);color:var(--white);}
.btn--ghost:hover{border-color:var(--lime);color:var(--lime);transform:translateY(-2px);}
.btn--blue{border-color:rgba(53,200,255,.5);color:var(--blue);}
.btn--blue:hover{background:rgba(53,200,255,.12);color:var(--blue);transform:translateY(-2px);}
.breadcrumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  padding:18px 0;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--steel);
}
.breadcrumbs a:hover{color:var(--lime);}
.breadcrumbs__sep{opacity:.45;}
.breadcrumbs [aria-current="page"]{color:var(--white);}
/* ---------- 数据图形 ---------- */
.score-figure{
  display:inline-block;
  font-family:var(--font-mono);font-variant-numeric:tabular-nums;
  font-weight:700;font-size:clamp(56px,11vw,140px);
  line-height:.86;letter-spacing:-.03em;color:var(--orange);
}
.data-bar{
  height:6px;border-radius:var(--radius-pill);
  background:rgba(244,247,242,.1);overflow:hidden;
}
.data-bar__fill{
  height:100%;width:var(--value,0%);border-radius:inherit;
  background:linear-gradient(90deg,var(--lime),var(--blue));
  transition:width .28s ease;
}
/* ---------- 滚动显现 ---------- */
[data-reveal]{
  opacity:0;transform:translateY(14px);
  transition:opacity .5s ease,transform .5s ease;
}
[data-reveal].is-visible{opacity:1;transform:none;}
/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .header-mail{display:none;}
}
@media (max-width:900px){
  .grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
  .footer-head{align-items:flex-start;flex-direction:column;}
}
@media (max-width:860px){
  html{scroll-padding-top:110px;}
  .header-main{
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;padding:14px 0;
  }
  .header-side--left{display:none;}
  .brand{justify-self:start;align-items:flex-start;text-align:left;}
  .brand__en{letter-spacing:.3em;text-indent:.3em;}
  .nav-toggle{display:inline-flex;}
  .site-nav{display:none;background:var(--ink-2);}
  .site-nav[data-open="true"]{display:block;}
  .site-nav__list{
    flex-direction:column;align-items:stretch;
    gap:2px;padding:10px 0 18px;
  }
  .site-nav__link{
    padding:13px 18px;border-radius:var(--radius-sm);
    font-size:15px;
  }
  .site-nav__link:hover{transform:none;}
  .strip-meta{display:none;}
  .header-strip{justify-content:flex-start;}
}
@media (max-width:600px){
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-base{font-size:10px;letter-spacing:.08em;}
  .button-row{display:grid;grid-template-columns:1fr;}
}
@media (max-width:420px){
  .chip-link{display:none;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  [data-reveal]{opacity:1;transform:none;}
  .card:hover,.btn:hover,.chip-link:hover{transform:none;}
}
