/* ===== 01 reset ===== */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body,h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd,ol,ul{margin:0;}
ol[class],ul[class]{list-style:none;padding:0;}
img,svg,video{max-width:100%;display:block;}
a{color:inherit;}
button{border:0;background:none;padding:0;cursor:pointer;}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}

/* ===== 02 tokens ===== */
:root{
  --ink:#0E2A24;
  --ink-deep:#0A201B;
  --charcoal:#14181A;
  --paper:#F3EFE6;
  --blue:#4A7DFF;
  --gold:#D6A84B;
  --amber:#E0A15A;
  --slate:#9DB7B1;
  --wine:#6B2233;
  --indigo:#3B2F63;
  --mist:#C9D2CE;
  --rule:rgba(201,210,206,.20);
  --rule-strong:rgba(201,210,206,.38);
  --font-sans:"Noto Sans SC","Source Han 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;
  --shell:1280px;
  --gutter:24px;
  --header-h:108px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ===== 03 base ===== */
body{
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-sans);
  font-size:17px;
  line-height:1.8;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-underline-offset:3px;
}
::selection{background:var(--blue);color:#fff;}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
#main-content{padding-top:var(--header-h);scroll-margin-top:calc(var(--header-h) + 12px);}
.stage--under-header{margin-top:calc(var(--header-h) * -1);padding-top:calc(var(--header-h) + 24px);}
.skip-link{
  position:fixed;top:8px;left:8px;z-index:200;
  padding:10px 16px;
  background:var(--paper);color:var(--ink);
  font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-decoration:none;
  transform:translateY(-160%);
  transition:transform .18s var(--ease);
}
.skip-link:focus-visible{transform:translateY(0);}

/* ===== 04 typography ===== */
.display{font-size:clamp(44px,7.4vw,112px);line-height:1.02;letter-spacing:-.02em;font-weight:300;margin:0;}
.display--tight{font-weight:800;letter-spacing:-.045em;line-height:1.06;}
.section-title{font-size:clamp(24px,3vw,34px);line-height:1.28;letter-spacing:-.01em;font-weight:600;margin:0;}
.lede{font-size:clamp(17px,1.35vw,20px);line-height:1.85;color:var(--mist);max-width:30em;font-weight:400;}
.body-copy{font-size:16px;line-height:1.85;color:var(--mist);max-width:34em;}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--blue);margin:0 0 14px;
}
.kicker::before{content:"";width:22px;height:1px;background:currentColor;display:block;}
.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.num--gold{color:var(--gold);}
.num--blue{color:var(--blue);}

/* ===== 05 layout ===== */
.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter);}
.section{padding-block:clamp(40px,6vw,88px);}
.section--tight{padding-block:clamp(26px,4vw,52px);}
.section__head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;
  padding-bottom:18px;margin-bottom:clamp(24px,3vw,40px);
  border-bottom:1px solid var(--rule);
}
.layout-index{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,4vw,56px);align-items:start;}
.layout-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);align-items:start;}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(16px,2.4vw,28px);}
.stack{display:grid;gap:clamp(12px,1.6vw,20px);}
.rule{height:1px;border:0;background:var(--rule);margin:0;}

/* ===== 06 basic components ===== */
.tag{
  display:inline-flex;align-items:center;gap:8px;
  padding:4px 10px;border:1px solid var(--rule-strong);
  font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mist);background:rgba(243,239,230,.04);
}
.tag--rank{color:var(--gold);border-color:rgba(214,168,75,.5);background:rgba(214,168,75,.10);}
.tag--injury{color:var(--amber);border-color:rgba(224,161,90,.5);background:rgba(224,161,90,.10);}
.tag--transfer{color:var(--slate);border-color:rgba(157,183,177,.45);background:rgba(157,183,177,.10);}
.tag--data{color:var(--blue);border-color:rgba(74,125,255,.5);background:rgba(74,125,255,.12);}

.panel{position:relative;background:rgba(243,239,230,.04);border:1px solid var(--rule);padding:clamp(20px,3vw,34px);}
.panel--paper{background:var(--paper);color:var(--ink);border-color:rgba(14,42,36,.18);}
.panel--paper .lede,.panel--paper .body-copy{color:#28403A;}
.panel--paper .kicker{color:#2C4BC0;}
.panel--wine{background:var(--wine);border-color:rgba(243,239,230,.24);color:var(--paper);}
.panel--indigo{background:var(--indigo);border-color:rgba(243,239,230,.24);color:var(--paper);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 22px;border:1px solid var(--rule-strong);background:transparent;
  color:var(--paper);text-decoration:none;font-size:14px;letter-spacing:.04em;
  transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease);
}
.btn:hover{border-color:var(--blue);background:rgba(74,125,255,.14);}
.btn--solid{background:var(--blue);border-color:var(--blue);color:#fff;}
.btn--solid:hover{background:#3C6BE8;border-color:#3C6BE8;}
.btn--gold{background:var(--gold);border-color:var(--gold);color:#241A08;}
.btn--gold:hover{background:#C79B3D;border-color:#C79B3D;}
.btn--ghost{color:var(--mist);}
.btn__arrow{font-family:var(--font-mono);}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;}

.crumbs{padding-block:18px;border-bottom:1px solid var(--rule);}
.crumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);}
.crumbs__link{color:var(--mist);text-decoration:none;border-bottom:1px solid transparent;transition:color .18s,border-color .18s;}
.crumbs__link:hover{color:var(--paper);border-bottom-color:var(--blue);}
.crumbs__sep{color:rgba(157,183,177,.5);}
.crumbs__current{color:var(--paper);}

.index-list{display:grid;gap:0;}
.index-list__item{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:baseline;
  padding:16px 0;border-bottom:1px solid var(--rule);
  text-decoration:none;color:var(--paper);
  transition:background-color .18s var(--ease),padding-inline .18s var(--ease);
}
.index-list__item:hover{background:rgba(243,239,230,.05);}
.index-list__num{font-family:var(--font-mono);font-size:12px;color:var(--gold);letter-spacing:.08em;}

.aside-note{padding:16px 0 16px 20px;border-left:2px solid var(--blue);font-size:14px;line-height:1.85;color:var(--mist);}
.aside-note__title{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:8px;}

.frame{position:relative;display:block;overflow:hidden;border:1px solid var(--rule-strong);background:linear-gradient(160deg,rgba(74,125,255,.14),rgba(10,32,27,.92));}
.frame::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    repeating-linear-gradient(0deg,rgba(243,239,230,.07) 0 1px,transparent 1px 48px),
    repeating-linear-gradient(90deg,rgba(243,239,230,.07) 0 1px,transparent 1px 48px);
}
.frame__media{display:block;width:100%;aspect-ratio:16/10;overflow:hidden;}
.frame__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.06);}
.frame__caption{
  position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;
  padding:11px 14px;border-top:1px solid var(--rule);
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);
}
.frame--wide .frame__media{aspect-ratio:21/9;}
.frame--tall .frame__media{aspect-ratio:3/4;}

/* ===== 07 显现协议 ===== */
html.js-reveal [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease);}
html.js-reveal [data-reveal].is-revealed{opacity:1;transform:none;}

/* ===== 08 header ===== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:90;
  background:transparent;color:var(--paper);
  transition:background-color .2s var(--ease),box-shadow .2s var(--ease);
}
.site-header::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,32,27,.78),rgba(10,32,27,0));
  transition:opacity .2s var(--ease);
}
.site-header[data-scrolled="true"]{background:var(--ink);box-shadow:0 1px 0 var(--rule-strong);}
.site-header[data-scrolled="true"]::before{opacity:0;}

.site-header__utility{
  position:relative;overflow:hidden;max-height:40px;
  border-bottom:1px solid rgba(243,239,230,.14);
  transition:max-height .2s var(--ease),opacity .2s var(--ease),border-color .2s var(--ease);
}
.site-header[data-scrolled="true"] .site-header__utility{max-height:0;opacity:0;border-bottom-color:transparent;}
.site-header__utility-inner{
  display:flex;align-items:center;gap:14px;min-height:34px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);
}
.site-header__pulse{width:6px;height:6px;flex:0 0 auto;background:var(--blue);box-shadow:0 0 0 3px rgba(74,125,255,.22);}
.site-header__utility-text{flex:1 1 auto;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.site-header__utility-meta{margin:0;color:var(--blue);flex:0 0 auto;}

.site-header__bar{position:relative;z-index:2;display:flex;align-items:center;gap:28px;min-height:74px;padding-block:12px;}

.brand{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;text-decoration:none;color:var(--paper);}
.brand__mark{
  display:grid;place-items:center;width:42px;height:42px;
  border:1px solid var(--rule-strong);background:rgba(74,125,255,.16);
  font-size:13px;letter-spacing:.02em;line-height:1;color:var(--paper);
}
.brand__text{display:flex;flex-direction:column;gap:2px;}
.brand__name{font-size:19px;font-weight:700;letter-spacing:.06em;line-height:1.2;}
.brand__tagline{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--slate);line-height:1.4;}

.primary-nav{margin-inline-start:auto;z-index:1;}
.primary-nav__list{display:flex;align-items:center;gap:2px;}
.primary-nav__link{
  display:inline-flex;align-items:baseline;gap:7px;
  padding:10px 12px;text-decoration:none;
  color:var(--mist);font-size:14px;
  border-bottom:1px solid transparent;
  transition:color .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease);
}
.primary-nav__link:hover{color:var(--paper);border-bottom-color:var(--blue);background:rgba(243,239,230,.05);}
.primary-nav__num{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--blue);}
.primary-nav__label{white-space:nowrap;}
.primary-nav__link[aria-current="page"]{color:var(--paper);border-bottom-color:var(--gold);}
.primary-nav__link[aria-current="page"] .primary-nav__num{color:var(--gold);}

.nav-toggle{
  display:none;align-items:center;gap:10px;margin-inline-start:auto;
  padding:9px 14px;border:1px solid var(--rule-strong);
  color:var(--paper);font-size:12px;letter-spacing:.16em;
  transition:border-color .18s var(--ease),background-color .18s var(--ease);
}
.nav-toggle:hover{border-color:var(--blue);background:rgba(74,125,255,.14);}
.nav-toggle__label{font-family:var(--font-mono);}
.nav-toggle__bars{position:relative;display:block;width:16px;height:1px;background:currentColor;}
.nav-toggle__bars::before,.nav-toggle__bars::after{
  content:"";position:absolute;left:0;width:16px;height:1px;background:currentColor;
  transition:transform .2s var(--ease),opacity .2s var(--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);}

.scroll-progress{position:absolute;left:0;right:0;bottom:0;z-index:3;height:2px;background:rgba(243,239,230,.10);transition:opacity .2s var(--ease);}
.scroll-progress__bar{display:block;height:100%;width:0;background:var(--blue);transition:width .12s linear;}
body.is-nav-open{overflow:hidden;}
body.is-nav-open .scroll-progress{opacity:0;}

/* ===== 09 footer ===== */
.site-footer{background:var(--charcoal);color:var(--mist);border-top:1px solid var(--rule);}
.site-footer__top{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);
  gap:clamp(32px,5vw,72px);
  padding-block:clamp(48px,7vw,84px);
}
.site-footer__brand{min-width:0;border-left:1px solid var(--rule);padding-left:clamp(16px,2vw,26px);}
.site-footer__eyebrow{margin:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.site-footer__wordmark{margin:14px 0 18px;font-size:clamp(30px,4.2vw,54px);font-weight:700;letter-spacing:-.01em;line-height:1.05;color:var(--paper);}
.site-footer__summary{margin:0;max-width:30ch;font-size:15px;line-height:1.9;color:var(--mist);}
.site-footer__nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 28px;}
.footer-col{min-width:0;}
.footer-col__title{
  margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--rule);
  font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--paper);font-weight:400;
}
.footer-col__list{display:grid;gap:10px;}
.footer-col__link{
  display:inline-block;text-decoration:none;color:var(--mist);font-size:14px;line-height:1.6;
  border-bottom:1px solid transparent;
  transition:color .18s var(--ease),border-color .18s var(--ease);
}
.footer-col__link:hover{color:var(--paper);border-bottom-color:var(--gold);}
.site-footer__contact{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:rgba(59,47,99,.34);}
.site-footer__contact-inner{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 40px;
  padding-block:20px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;
}
.contact-line{display:inline-flex;align-items:baseline;gap:10px;margin:0;}
.contact-line__key{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);}
.contact-line__value{color:var(--paper);}
.contact-line__link{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(214,168,75,.45);transition:color .18s,border-color .18s;}
.contact-line__link:hover{color:var(--paper);border-bottom-color:var(--paper);}
.site-footer__legal-inner{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding-block:20px;}
.site-footer__copy{margin:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--slate);}
.legal-links{display:flex;flex-wrap:wrap;gap:18px;}
.legal-links a{font-size:13px;color:var(--mist);text-decoration:none;transition:color .18s;}
.legal-links a:hover{color:var(--paper);text-decoration:underline;}
.site-footer__icp{margin:0 0 0 auto;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--slate);}

/* ===== 10 平板 ===== */
@media (max-width:1080px){
  :root{--gutter:20px;}
  .site-header__bar{gap:18px;}
  .primary-nav__link{padding:10px 9px;font-size:13px;}
  .site-footer__top{grid-template-columns:1fr;gap:36px;}
  .site-footer__brand{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:24px;}
}

/* ===== 11 移动端 ===== */
@media (max-width:980px){
  :root{--header-h:64px;}
  .site-header__utility{display:none;}
  .site-header__bar{min-height:64px;padding-block:10px;gap:14px;}
  .brand__mark{width:36px;height:36px;font-size:12px;}
  .brand__name{font-size:17px;}
  .brand__tagline{font-size:9px;letter-spacing:.1em;}
  .nav-toggle{display:inline-flex;}

  .primary-nav{
    position:fixed;top:0;left:0;right:0;bottom:0;margin:0;
    padding:calc(var(--header-h) + 16px) var(--gutter) 48px;
    background:var(--ink);border-top:1px solid var(--rule);
    overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;
    transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s var(--ease);
  }
  .primary-nav[data-open="true"]{opacity:1;visibility:visible;transform:none;pointer-events:auto;}
  .primary-nav__list{flex-direction:column;align-items:stretch;gap:0;}
  .primary-nav__item + .primary-nav__item{border-top:1px solid var(--rule);}
  .primary-nav__link{display:flex;justify-content:space-between;align-items:center;width:100%;padding:18px 2px;font-size:20px;border-bottom:0;border-left:2px solid transparent;padding-left:12px;}
  .primary-nav__link[aria-current="page"]{border-bottom-color:transparent;border-left-color:var(--gold);}
  .primary-nav__num{font-size:12px;order:2;}

  .layout-index,.layout-split{grid-template-columns:1fr;gap:28px;}
  .section__head{align-items:flex-start;}
  .site-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;}
  .site-footer__contact-inner{flex-direction:column;align-items:flex-start;gap:10px;}
  .contact-line{flex-direction:column;gap:2px;}
  .site-footer__legal-inner{flex-direction:column;align-items:flex-start;gap:12px;}
  .site-footer__icp{margin:0;}
  .frame__media{aspect-ratio:4/3;}
}

@media (max-width:560px){
  :root{--gutter:18px;}
  body{font-size:16px;}
  .site-footer__nav{grid-template-columns:1fr;}
  .legal-links{gap:14px;}
  .btn{width:100%;}
  .btn-row{gap:10px;}
}

/* ===== 12 降低动态 ===== */
@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;
  }
  html.js-reveal [data-reveal]{opacity:1;transform:none;}
  .scroll-progress__bar{transition:none;}
}
