/* =========================================================
   浩瀚体育主站 — 共享站点套件
   文件路径：/assets/site.css
   01 设计变量 / 02 重置 / 03 中文排版 / 04 基础组件
   05 侧边轨道头部 / 06 页脚 / 07 响应式 / 08 动效与可达性
   ========================================================= */

/* ---------- 01 设计变量 ---------- */
:root{
  --night:#071A2F;
  --night-2:#0E2A46;
  --paper:#F2E9D8;
  --paper-2:#E7DCC6;
  --ink:#0A1A2B;
  --ice:#6FE3E1;
  --blue:#2F7BD9;
  --white:#F7FBFF;
  --red:#E4573D;
  --green:#3FAE7A;
  --yellow:#F2C14E;
  --mute:#A9BCCB;

  --rail-w:264px;
  --pad-x:clamp(18px,4vw,64px);
  --gap:clamp(16px,2.2vw,28px);

  --r-xl:28px;
  --r-lg:20px;
  --r-md:14px;
  --r-pill:999px;

  --font-serif:"Songti SC","SimSun","Source Han Serif SC","Noto Serif CJK SC",Georgia,serif;
  --font-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Cascadia Mono","Courier New",monospace;

  --ease:cubic-bezier(.22,.68,.28,1);
}

/* ---------- 02 重置 ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--night);
  color:var(--white);
  font-family:var(--font-sans);
  font-size:16px;
  font-weight:400;
  line-height:1.7;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0;}
ul,ol{margin:0;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;padding:0;}
table{border-collapse:collapse;width:100%;}
#main-content{scroll-margin-top:88px;}

/* ---------- 03 中文排版 ---------- */
h1,h2,h3{
  font-family:var(--font-serif);
  font-weight:800;
  line-height:1.16;
  letter-spacing:.012em;
  text-wrap:balance;
}
h1{font-size:clamp(38px,5.4vw,76px);}
h2{font-size:clamp(26px,3.2vw,40px);}
h3{font-size:clamp(19px,2.2vw,26px);}
p{text-wrap:pretty;}
.title-sans{font-family:var(--font-sans);font-weight:800;letter-spacing:.02em;}
.data{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.06em;}

/* ---------- 04 基础组件 ---------- */
.container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:var(--pad-x);}
.section{padding-block:clamp(48px,7vw,104px);}
.section--tight{padding-block:clamp(28px,4vw,56px);}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);
  font-size:12px;letter-spacing:.24em;
  color:var(--ice);
  margin-bottom:16px;
}
.eyebrow::before{
  content:"";width:22px;height:1px;background:currentColor;display:block;
}
.section-title{margin:0 0 18px;color:var(--white);}
.section-title--paper{color:var(--ink);}
.muted{color:var(--mute);}

.grid{display:grid;gap:var(--gap);}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid--split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);}
.grid--split-rev{grid-template-columns:minmax(0,5fr) minmax(0,7fr);}

.card{
  position:relative;
  background:var(--night-2);
  border:1px solid rgba(111,227,225,.16);
  border-radius:var(--r-xl);
  padding:clamp(20px,3vw,34px);
  box-shadow:0 30px 60px -48px rgba(2,10,20,.95);
}
.card--paper{
  background:linear-gradient(180deg,#F6EEDF 0%,var(--paper) 60%,var(--paper-2) 100%);
  color:var(--ink);
  border-color:rgba(10,26,43,.14);
}
.card--paper .section-title,.card--paper h2,.card--paper h3{color:var(--ink);}

.prose{font-size:clamp(15px,1.1vw,17px);line-height:1.85;color:rgba(247,251,255,.86);}
.prose p + p{margin-top:1em;}
.prose h3{margin:1.6em 0 .6em;color:var(--white);}
.prose ul,.prose ol{margin:1em 0;padding-left:1.25em;}
.prose ul{list-style:disc;}
.prose ol{list-style:decimal;}
.prose li + li{margin-top:.4em;}
.prose a{color:var(--ice);text-decoration:underline;text-underline-offset:3px;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;
  border-radius:var(--r-pill);
  border:1px solid transparent;
  font-size:14px;font-weight:700;line-height:1.2;letter-spacing:.02em;
  text-decoration:none;cursor:pointer;
  transition:transform .22s var(--ease),background .24s linear,color .24s linear,border-color .24s linear;
}
.btn:hover{transform:translateY(-1px);}
.btn:active{transform:translateY(0);}
.btn--solid{background:var(--ink);color:var(--paper);}
.btn--solid:hover{background:#123050;}
.btn--outline{border-color:rgba(10,26,43,.34);color:var(--ink);background:transparent;}
.btn--outline:hover{background:rgba(10,26,43,.08);}
.btn--ice{background:var(--ice);color:var(--night);}
.btn--ice:hover{background:#8CEBE9;}
.btn--ghost{border-color:rgba(247,251,255,.36);color:var(--white);background:transparent;}
.btn--ghost:hover{background:rgba(111,227,225,.12);border-color:var(--ice);}

.copy-btn{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:14px;padding:9px 18px;
  border-radius:var(--r-pill);
  border:1px dashed rgba(111,227,225,.5);
  background:rgba(111,227,225,.08);
  color:var(--ice);
  font-size:13px;font-weight:700;letter-spacing:.04em;
  cursor:pointer;
  transition:background .24s linear,color .24s linear,border-color .24s linear;
}
.copy-btn:hover{background:rgba(111,227,225,.18);border-color:var(--ice);}
.copy-btn.is-copied{background:var(--green);border-color:var(--green);color:#04241A;}

.tag{
  display:inline-flex;align-items:center;
  padding:5px 13px;
  border-radius:var(--r-pill);
  font-family:var(--font-mono);
  font-size:11px;font-weight:600;letter-spacing:.14em;
  border:1px solid currentColor;
  white-space:nowrap;
}
.tag--ice{color:var(--ice);}
.tag--red{color:var(--red);}
.tag--green{color:var(--green);}
.tag--yellow{color:var(--yellow);}
.tag--blue{color:var(--blue);}

.stat{display:flex;flex-direction:column;gap:6px;}
.stat__value{
  font-family:var(--font-mono);
  font-size:clamp(26px,3.6vw,44px);
  line-height:1.05;
  color:var(--ice);
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
}
.stat__label{font-size:13px;letter-spacing:.1em;color:var(--mute);}

.table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid rgba(111,227,225,.2);
  border-radius:var(--r-md);
  background:rgba(14,42,70,.62);
}
.matrix{min-width:620px;font-size:15px;}
.matrix thead th{
  position:sticky;top:0;z-index:2;
  background:var(--night-2);
  color:var(--ice);
  font-family:var(--font-mono);
  font-size:12px;font-weight:600;letter-spacing:.16em;
  text-align:left;
  padding:14px 18px;
  border-bottom:1px solid rgba(111,227,225,.28);
  white-space:nowrap;
}
.matrix td{
  padding:14px 18px;
  border-bottom:1px solid rgba(169,188,203,.14);
  vertical-align:top;
  color:rgba(247,251,255,.86);
}
.matrix tbody tr:last-child td{border-bottom:0;}
.matrix tbody tr:hover{background:rgba(111,227,225,.07);}

.fold{
  border:1px solid rgba(169,188,203,.22);
  border-radius:var(--r-md);
  background:rgba(14,42,70,.55);
  margin-bottom:12px;
  overflow:hidden;
}
.fold__head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 20px;
  cursor:pointer;
  font-weight:700;font-size:16px;
  list-style:none;
  color:var(--white);
}
.fold__head::-webkit-details-marker{display:none;}
.fold__head::after{
  content:"+";
  font-family:var(--font-mono);
  color:var(--ice);
  font-size:18px;
}
.fold[open] .fold__head::after{content:"–";}
.fold__body{padding:0 20px 20px;font-size:15px;line-height:1.8;color:rgba(247,251,255,.82);}

.breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  font-family:var(--font-mono);
  font-size:12px;letter-spacing:.1em;
  color:var(--mute);
  margin:0 0 26px;
}
.breadcrumb__item{display:inline-flex;align-items:center;gap:10px;}
.breadcrumb a{
  color:rgba(247,251,255,.8);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .2s linear,border-color .2s linear;
}
.breadcrumb a:hover{color:var(--ice);border-bottom-color:var(--ice);}
.breadcrumb__sep{color:rgba(169,188,203,.5);}
.breadcrumb__current{color:var(--ice);}

.media{
  position:relative;
  overflow:hidden;
  border-radius:var(--r-lg);
  aspect-ratio:16 / 10;
  background:
    radial-gradient(120% 120% at 18% 0%,rgba(111,227,225,.28) 0%,rgba(111,227,225,0) 62%),
    linear-gradient(158deg,#0E2A46 0%,#071A2F 72%);
  border:1px solid rgba(111,227,225,.14);
}
.media img,.media video{width:100%;height:100%;object-fit:cover;}
.media--wide{aspect-ratio:21 / 9;}
.media--tall{aspect-ratio:4 / 5;}
.media--square{aspect-ratio:1 / 1;}
.media__label{
  position:absolute;left:14px;bottom:14px;
  padding:6px 13px;
  border-radius:var(--r-pill);
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-mono);
  font-size:11px;letter-spacing:.16em;
}
.media__caption{margin-top:10px;font-size:13px;line-height:1.6;color:var(--mute);}

/* ---------- 05 侧边轨道头部 ---------- */
.site-rail{
  position:fixed;
  top:0;left:0;bottom:0;
  width:var(--rail-w);
  z-index:90;
  display:flex;
  flex-direction:column;
  gap:22px;
  padding:26px 20px 20px;
  overflow-y:auto;
  overscroll-behavior:contain;
  color:var(--ink);
  border-right:1px solid rgba(10,26,43,.18);
  background:
    radial-gradient(120% 50% at 100% 0%,rgba(111,227,225,.42) 0%,rgba(111,227,225,0) 58%),
    radial-gradient(90% 44% at 0% 100%,rgba(47,123,217,.16) 0%,rgba(47,123,217,0) 62%),
    linear-gradient(180deg,#F6EEDF 0%,#EFE4D0 54%,#E5D6BE 100%);
}

.skip-link{
  position:fixed;top:12px;left:12px;z-index:300;
  padding:12px 22px;
  border-radius:var(--r-pill);
  background:var(--ice);
  color:var(--night);
  font-size:14px;font-weight:700;
  text-decoration:none;
  transform:translateY(-200%);
  transition:transform .2s var(--ease);
}
.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);}

.rail__top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;}
.brand__mark{display:flex;align-items:flex-end;gap:3px;height:28px;}
.brand__bar{display:block;width:5px;border-radius:3px;}
.brand__bar:nth-child(1){height:13px;background:var(--blue);}
.brand__bar:nth-child(2){height:20px;background:var(--red);}
.brand__bar:nth-child(3){height:27px;background:var(--ink);}
.brand__text{display:flex;flex-direction:column;gap:2px;}
.brand__name{
  font-family:var(--font-serif);
  font-size:21px;font-weight:800;letter-spacing:.08em;line-height:1.1;
}
.brand__edition{
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.14em;
  color:rgba(10,26,43,.55);
  white-space:nowrap;
}

.nav-toggle{
  display:none;
  align-items:center;gap:9px;
  padding:9px 16px;
  border:1px solid rgba(10,26,43,.3);
  border-radius:var(--r-pill);
  background:rgba(255,255,255,.4);
  color:var(--ink);
  font-size:13px;font-weight:700;
  cursor:pointer;
}
.nav-toggle__bars{
  position:relative;display:block;width:17px;height:2px;
  background:var(--ink);border-radius:2px;
  transition:background .2s linear;
}
.nav-toggle__bars::before,.nav-toggle__bars::after{
  content:"";position:absolute;left:0;
  width:17px;height:2px;border-radius:2px;
  background:var(--ink);
  transition:transform .25s var(--ease);
}
.nav-toggle__bars::before{top:-6px;}
.nav-toggle__bars::after{top:6px;}
.site-rail[data-open] .nav-toggle__bars{background:transparent;}
.site-rail[data-open] .nav-toggle__bars::before{transform:translateY(6px) rotate(45deg);}
.site-rail[data-open] .nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg);}

.rail__nav{display:flex;flex-direction:column;gap:14px;flex:1 1 auto;}
.rail__nav-label{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-mono);
  font-size:10px;letter-spacing:.28em;
  color:rgba(10,26,43,.48);
}
.rail__nav-label::after{content:"";flex:1;height:1px;background:rgba(10,26,43,.22);}

.nav-list{display:flex;flex-direction:column;gap:3px;}
.nav-link{
  display:flex;align-items:center;gap:11px;
  padding:11px 14px;
  border-radius:var(--r-pill);
  font-size:15px;font-weight:600;
  color:rgba(10,26,43,.82);
  text-decoration:none;
  transition:background .22s linear,color .22s linear,padding-left .22s var(--ease);
}
.nav-link__num{
  font-family:var(--font-mono);
  font-size:11px;letter-spacing:.14em;
  color:rgba(10,26,43,.45);
  transition:color .22s linear;
}
.nav-link:hover{background:rgba(10,26,43,.08);padding-left:18px;}
.nav-link[aria-current="page"]{
  background:var(--ink);
  color:var(--paper);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.nav-link[aria-current="page"] .nav-link__num{color:var(--ice);}

.rail__aside{
  display:flex;flex-direction:column;gap:9px;
  margin-top:auto;
  padding-top:16px;
  border-top:1px dashed rgba(10,26,43,.24);
}
.rail__note{
  font-family:var(--font-mono);
  font-size:10px;line-height:1.6;letter-spacing:.08em;
  color:rgba(10,26,43,.5);
  margin-top:2px;
}

.rail__progress{
  position:absolute;top:0;right:0;
  width:3px;height:100%;
  background:rgba(10,26,43,.1);
  pointer-events:none;
}
.rail__progress-bar{
  display:block;width:100%;height:100%;
  background:linear-gradient(180deg,var(--ice) 0%,var(--blue) 100%);
  transform:scaleY(var(--p,0));
  transform-origin:top center;
  transition:transform .12s linear;
}

/* ---------- 06 页脚 ---------- */
.site-foot{
  position:relative;
  margin-top:clamp(40px,6vw,96px);
  padding:clamp(44px,6vw,72px) var(--pad-x) 28px;
  color:var(--white);
  border-top:1px solid rgba(111,227,225,.16);
  background:
    radial-gradient(90% 60% at 8% 0%,rgba(47,123,217,.2) 0%,rgba(47,123,217,0) 60%),
    radial-gradient(70% 50% at 96% 8%,rgba(111,227,225,.14) 0%,rgba(111,227,225,0) 62%),
    linear-gradient(180deg,#08192C 0%,#061322 100%);
  overflow:hidden;
}
.foot__flags{
  position:absolute;top:0;left:0;right:0;
  height:5px;
  background:linear-gradient(90deg,
    var(--blue) 0 20%,
    var(--white) 20% 40%,
    var(--red) 40% 60%,
    var(--green) 60% 80%,
    var(--yellow) 80% 100%);
  opacity:.92;
}
.foot__inner{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr) minmax(0,.75fr) minmax(0,1.1fr);
  gap:clamp(24px,3.6vw,52px);
  max-width:1240px;
  margin-inline:auto;
  align-items:start;
}
.foot__brand{display:flex;flex-direction:column;gap:14px;}
.foot__logo{
  font-family:var(--font-serif);
  font-size:26px;font-weight:800;letter-spacing:.1em;
  color:var(--white);
  text-decoration:none;
}
.foot__logo:hover{color:var(--ice);}
.foot__summary{
  font-size:15px;line-height:1.8;
  color:rgba(247,251,255,.78);
  max-width:32em;
}
.foot__tags{display:flex;flex-wrap:wrap;gap:8px;}

.foot__col{display:flex;flex-direction:column;}
.foot__title{
  font-family:var(--font-mono);
  font-size:11px;font-weight:600;letter-spacing:.24em;
  color:var(--ice);
  margin-bottom:14px;
}
.foot__title--gap{margin-top:24px;}
.foot__links{display:flex;flex-direction:column;gap:9px;}
.foot__link{
  display:inline-block;
  font-size:14px;
  color:rgba(247,251,255,.78);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .2s linear,border-color .2s linear,transform .2s var(--ease);
}
.foot__link:hover{color:var(--ice);border-bottom-color:rgba(111,227,225,.6);transform:translateX(3px);}

.foot__contact{display:flex;flex-direction:column;}
.foot__meta{display:flex;flex-direction:column;gap:8px;}
.foot__meta-row{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px;
  align-items:baseline;
}
.foot__meta dt{
  font-family:var(--font-mono);
  font-size:11px;letter-spacing:.14em;
  color:var(--mute);
}
.foot__meta dd{
  font-size:14px;line-height:1.6;
  color:rgba(247,251,255,.9);
  word-break:break-word;
}
.foot__note{
  margin-top:14px;
  font-size:12px;line-height:1.75;
  color:rgba(169,188,203,.82);
  border-left:2px solid rgba(111,227,225,.45);
  padding-left:12px;
}

.foot__legal{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:14px 24px;
  max-width:1240px;
  margin:clamp(30px,4vw,52px) auto 0;
  padding-top:18px;
  border-top:1px dashed rgba(169,188,203,.24);
  font-size:13px;
  color:var(--mute);
}
.foot__icp{font-family:var(--font-mono);letter-spacing:.08em;}
.foot__legal-links{display:flex;flex-wrap:wrap;gap:18px;}
.foot__legal-links a{
  color:rgba(247,251,255,.72);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .2s linear,border-color .2s linear;
}
.foot__legal-links a:hover{color:var(--ice);border-bottom-color:var(--ice);}
.foot__copy{font-family:var(--font-mono);letter-spacing:.06em;}
.foot__year{color:var(--ice);}

/* ---------- 07 响应式 ---------- */
@media (max-width:1180px){
  .foot__inner{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);}
  .foot__contact{grid-column:1 / -1;}
}
@media (max-width:900px){
  .grid--split,.grid--split-rev,.grid--2,.grid--3{grid-template-columns:minmax(0,1fr);}
  .foot__inner{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1023px){
  .site-rail{
    position:sticky;
    top:0;left:auto;right:auto;bottom:auto;
    width:100%;height:auto;
    flex-direction:column;
    gap:0;
    padding:12px clamp(16px,4vw,30px) 14px;
    overflow:visible;
    z-index:95;
    border-right:0;
    border-bottom:1px solid rgba(10,26,43,.2);
    box-shadow:0 12px 30px -24px rgba(2,10,20,.9);
  }
  .nav-toggle{display:inline-flex;}
  .brand__name{font-size:19px;}
  .rail__nav,.rail__aside{display:none;}
  .site-rail[data-open] .rail__nav{
    display:flex;
    gap:12px;
    margin-top:14px;
    padding-top:14px;
    border-top:1px dashed rgba(10,26,43,.24);
  }
  .site-rail[data-open] .rail__aside{
    display:flex;
    margin-top:14px;
    padding-top:14px;
    border-top:1px dashed rgba(10,26,43,.24);
  }
  .nav-link{padding:13px 16px;font-size:16px;border-radius:16px;}
  .nav-link:hover{padding-left:16px;background:rgba(10,26,43,.07);}
  .rail__progress{
    top:auto;bottom:0;left:0;right:0;
    width:100%;height:3px;
    background:rgba(10,26,43,.12);
  }
  .rail__progress-bar{
    transform:scaleX(var(--p,0));
    transform-origin:left center;
  }
  .site-foot{padding-inline:var(--pad-x);}
  .foot__legal{flex-direction:column;align-items:flex-start;}
}
@media (max-width:640px){
  body{font-size:15px;}
  .foot__inner{grid-template-columns:minmax(0,1fr);}
  .foot__meta-row{grid-template-columns:38px minmax(0,1fr);}
  .card{border-radius:var(--r-lg);}
}
@media (min-width:1024px){
  body{padding-left:var(--rail-w);}
}

/* ---------- 08 可达性与动效 ---------- */
:focus-visible{outline:2px solid var(--ice);outline-offset:3px;border-radius:4px;}
.site-rail :focus-visible,.site-foot :focus-visible{outline-color:var(--ice);}
.site-rail :focus-visible{outline-color:var(--ink);}
.foot__inner :focus-visible{outline-color:var(--ice);}

.js-ready [data-reveal]{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s var(--ease),transform .7s var(--ease);
  transition-delay:calc(var(--i,0) * 80ms);
}
.js-ready [data-reveal].is-inview{opacity:1;transform: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;
  }
  .js-ready [data-reveal]{opacity:1;transform:none;transition:none;}
  .rail__progress-bar{transition:none;}
  .skip-link{transition:none;}
  .btn:hover,.foot__link:hover{transform:none;}
}
