/* ==========================================================================
   南宫赛事 · 共享样式 /assets/site.css
   夜间球场画册：双层页头 / 非对称栅格 / 玻璃层与实色层并置
   ========================================================================== */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --ink-950:#06110E;
  --ink-900:#0B2B23;
  --ink-850:#0E3329;
  --ink-800:#123E33;
  --cyan:#4FE3C1;
  --cyan-soft:#8CF3DC;
  --flame:#FF5A36;
  --flame-soft:#FFB3A0;
  --chalk:#E8F5F0;
  --sage:#9DB8AE;
  --amber:#F2C14E;

  --glass:rgba(232,245,240,.05);
  --glass-strong:rgba(232,245,240,.09);
  --glass-line:rgba(140,243,220,.22);
  --glass-line-soft:rgba(140,243,220,.10);

  --wrap:1220px;
  --gutter:clamp(18px,5vw,64px);
  --rail:260px;

  --font-display:"Oswald","Barlow Condensed","Arial Narrow","Noto Sans SC",system-ui,sans-serif;
  --font-body:Inter,"Noto Sans SC",system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  --ease:cubic-bezier(.2,.7,.25,1);
  --dur:.22s;

  --strip-h:34px;
  --bar-h:66px;
  --radius-s:4px;
  --radius-m:12px;
  --radius-l:22px;
}

/* ---------- 2. 基础重置与中文排版 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  background:var(--ink-950);
  scroll-padding-top:calc(var(--bar-h) + 20px);
}
body{
  margin:0;
  min-height:100vh;
  color:var(--chalk);
  font-family:var(--font-body);
  font-size:clamp(15px,1.05vw,17px);
  line-height:1.75;
  letter-spacing:.012em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 6%, rgba(18,62,51,.9), transparent 46%),
    radial-gradient(circle at 88% 2%, rgba(79,227,193,.10), transparent 42%),
    radial-gradient(circle at 62% 118%, rgba(255,90,54,.10), transparent 56%);
}
h1,h2,h3,h4,p,figure,blockquote{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
img,svg{display:block;max-width:100%}
button{border:0;background:none;cursor:pointer}
a{color:inherit;text-decoration:none}
[hidden]{display:none !important}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:3px}

@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}

/* ---------- 3. 布局骨架 ---------- */
.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.section{padding-block:clamp(48px,8vw,110px)}
.section--tight{padding-block:clamp(26px,4vw,56px)}
.grid{display:grid;gap:clamp(16px,3vw,32px)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--rail{grid-template-columns:var(--rail) minmax(0,1fr);gap:clamp(22px,4vw,56px)}
.rule{height:1px;border:0;margin:0;background:linear-gradient(90deg,var(--glass-line),transparent)}
.visually-hidden{
  position:absolute!important;
  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;
}

/* ---------- 4. 排版层级 ---------- */
.display{
  font-family:var(--font-display);
  font-weight:700;
  line-height:.94;
  letter-spacing:-.005em;
  color:var(--chalk);
}
.display--xl{font-size:clamp(46px,9vw,128px);letter-spacing:-.02em}
.display--skew{transform:skewX(-3deg);transform-origin:0 100%}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cyan);
}
.eyebrow::before{
  content:"";
  width:28px;height:2px;
  background:linear-gradient(90deg,var(--cyan),transparent);
}
.section-head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:clamp(22px,4vw,46px);
}
.section-head__title{
  font-family:var(--font-display);
  font-size:clamp(26px,4vw,48px);
  font-weight:700;
  line-height:1.04;
  letter-spacing:.005em;
  margin:0;
}
.section-head__note{
  margin:0;
  max-width:38ch;
  font-size:14px;
  color:var(--sage);
}
.lead{
  font-size:clamp(16px,1.5vw,19px);
  line-height:1.7;
  color:#CFE6DE;
  max-width:32em;
}
.prose{max-width:34em;color:var(--chalk)}
.prose p{margin:0 0 1.15em}
.prose ul{list-style:disc;padding-left:1.25em;margin:0 0 1.2em}
.prose li{margin-bottom:.4em}
.mono{font-family:var(--font-mono);font-size:.92em;letter-spacing:.02em}
.meta{font-size:12.5px;letter-spacing:.06em;color:var(--sage)}

/* ---------- 5. 材质：玻璃层与实色层 ---------- */
.glass{
  background:var(--glass);
  border:1px solid var(--glass-line-soft);
  border-radius:var(--radius-m);
  backdrop-filter:blur(12px) saturate(120%);
  -webkit-backdrop-filter:blur(12px) saturate(120%);
}
.panel{
  background:var(--ink-900);
  border-radius:var(--radius-m);
  padding:clamp(18px,3vw,32px);
}
.panel--line{border:1px solid var(--glass-line-soft)}

/* ---------- 6. 按钮与标签 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 20px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.04em;
  white-space:nowrap;
  transition:transform var(--dur) var(--ease),background-color var(--dur) var(--ease),
             color var(--dur) var(--ease),border-color var(--dur) var(--ease),
             box-shadow var(--dur) var(--ease);
}
.btn--solid{
  background:linear-gradient(120deg,var(--cyan),var(--cyan-soft));
  color:#04120E;
  box-shadow:0 10px 26px -12px rgba(79,227,193,.75);
}
.btn--solid:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(79,227,193,.9)}
.btn--ghost{
  background:var(--glass);
  border-color:var(--glass-line);
  color:var(--chalk);
}
.btn--ghost:hover{border-color:var(--cyan-soft);color:var(--cyan-soft);transform:translateY(-2px)}
.btn--flame{background:var(--flame);color:#1A0703;box-shadow:0 10px 26px -14px rgba(255,90,54,.8)}
.btn--flame:hover{transform:translateY(-2px)}
.btn--block{width:100%}

.chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 12px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.08em;
  background:var(--glass-strong);
  border:1px solid var(--glass-line-soft);
  color:var(--sage);
}
.chip--round{color:var(--cyan);border-color:var(--glass-line)}
.chip--score{color:var(--flame-soft);border-color:rgba(255,90,54,.4)}
.chip--amber{color:var(--amber);border-color:rgba(242,193,78,.35)}

/* ---------- 7. 图片容器（供页面阶段放占位） ---------- */
.media{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:var(--radius-m);
  background:linear-gradient(160deg,var(--ink-800),var(--ink-950));
  isolation:isolate;
}
.media__frame{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  filter:saturate(.92) contrast(1.06);
}
.media__placeholder{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  background:
    repeating-linear-gradient(115deg, rgba(232,245,240,.05) 0 1px, transparent 1px 4px),
    linear-gradient(155deg,var(--ink-800),var(--ink-950) 70%);
}
.media--wide .media__frame,
.media--wide .media__placeholder{aspect-ratio:21/9}
.media--tall .media__frame,
.media--tall .media__placeholder{aspect-ratio:4/5}
.media--square .media__frame,
.media--square .media__placeholder{aspect-ratio:1/1}
.media--night::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 12%, rgba(79,227,193,.18), transparent 58%),
    linear-gradient(180deg, rgba(6,17,14,.08), rgba(6,17,14,.72));
}
.media__caption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:14px 16px;
  font-size:12.5px;
  letter-spacing:.06em;
  color:var(--sage);
}

/* ---------- 8. 面包屑 ---------- */
.breadcrumb{padding-block:16px 4px}
.breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:12.5px;
  letter-spacing:.06em;
  color:var(--sage);
}
.breadcrumb__item{display:inline-flex;align-items:center;gap:6px}
.breadcrumb__item + .breadcrumb__item::before{content:"/";color:var(--glass-line)}
.breadcrumb__link{color:var(--sage);transition:color var(--dur) var(--ease)}
.breadcrumb__link:hover{color:var(--cyan)}

/* ---------- 9. 可展开内容组 ---------- */
.disclosure{border-top:1px solid var(--glass-line-soft)}
.disclosure:last-of-type{border-bottom:1px solid var(--glass-line-soft)}
.disclosure__trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  padding:18px 4px;
  font-family:var(--font-body);
  font-size:clamp(16px,1.6vw,19px);
  font-weight:600;
  color:var(--chalk);
  text-align:left;
  transition:color var(--dur) var(--ease);
}
.disclosure__trigger:hover{color:var(--cyan-soft)}
.disclosure__trigger::after{
  content:"";
  flex:0 0 auto;
  width:11px;height:11px;
  border-right:2px solid var(--cyan);
  border-bottom:2px solid var(--cyan);
  transform:rotate(45deg);
  transition:transform var(--dur) var(--ease);
}
.disclosure[data-open] .disclosure__trigger{color:var(--cyan)}
.disclosure[data-open] .disclosure__trigger::after{transform:rotate(-135deg)}
.disclosure__panel{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows var(--dur) var(--ease);
}
.disclosure[data-open] .disclosure__panel{grid-template-rows:1fr}
.disclosure__body{overflow:hidden;padding-inline:4px;color:var(--sage)}
.disclosure__body > *:first-child{margin-top:0}
.disclosure__body > *:last-child{margin-bottom:22px}

/* ---------- 10. 轮次横向时间带 ---------- */
.round-strip{
  display:flex;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  padding:6px 4px 18px;
  scrollbar-color:var(--glass-line) transparent;
  scrollbar-width:thin;
}
.round-strip__item{
  scroll-snap-align:start;
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:126px;
  padding:12px 15px;
  border:1px solid var(--glass-line-soft);
  border-radius:var(--radius-m);
  background:var(--glass);
  color:var(--sage);
  font:inherit;
  font-size:14px;
  text-align:left;
  transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),
             background-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.round-strip__item:hover,
.round-strip__item:focus-visible{
  transform:translateY(-4px);
  border-color:var(--cyan-soft);
  color:var(--chalk);
  background:var(--glass-strong);
}
.round-strip__item[aria-current="true"],
.round-strip__item[data-active]{
  border-color:var(--cyan);
  color:var(--chalk);
  box-shadow:inset 3px 0 0 var(--cyan);
}
.round-strip__label{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.18em;
  color:var(--cyan);
}

/* ---------- 11. 页头 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:60;
  background:linear-gradient(180deg,rgba(6,17,14,.97),rgba(6,17,14,.84));
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  border-bottom:1px solid var(--glass-line-soft);
}
.skip-link{
  position:absolute;
  left:clamp(12px,4vw,32px);
  top:-72px;
  z-index:120;
  padding:10px 18px;
  border-radius:0 0 12px 12px;
  background:var(--cyan);
  color:#04120E;
  font-size:13px;
  font-weight:700;
  transition:top var(--dur) var(--ease);
}
.skip-link:focus{top:0}

.header-strip{
  height:var(--strip-h);
  overflow:hidden;
  border-bottom:1px solid var(--glass-line-soft);
  background:linear-gradient(90deg,rgba(79,227,193,.12),rgba(255,90,54,.06) 70%,transparent);
  transition:height var(--dur) var(--ease),opacity var(--dur) var(--ease);
}
.header-strip__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  height:var(--strip-h);
}
.header-strip__note,
.header-strip__meta{
  font-size:12px;
  letter-spacing:.08em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.header-strip__note{color:var(--cyan)}
.header-strip__meta{color:var(--sage)}
.site-header[data-condensed] .header-strip{height:0;opacity:0;border-color:transparent}

.header-bar{position:relative}
.header-bar__inner{
  position:relative;
  display:flex;
  align-items:center;
  gap:clamp(14px,3vw,40px);
  min-height:var(--bar-h);
}
.brand{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto}
.brand__mark{
  position:relative;
  flex:0 0 auto;
  width:30px;height:30px;
  border-radius:50%;
  background:conic-gradient(from 200deg,var(--cyan),var(--flame) 52%,var(--ink-800) 88%);
  box-shadow:0 0 0 1px rgba(140,243,220,.35) inset,0 0 20px -4px rgba(79,227,193,.7);
}
.brand__mark::after{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:var(--ink-950);
}
.brand__text{display:flex;flex-direction:column;line-height:1.15}
.brand__name{
  font-family:var(--font-display);
  font-size:20px;
  font-weight:700;
  letter-spacing:.07em;
  color:var(--chalk);
}
.brand__tag{
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:.16em;
  color:var(--sage);
}
.brand:hover .brand__name{color:var(--cyan-soft)}

.nav-toggle{
  display:none;
  align-items:center;
  gap:10px;
  margin-left:auto;
  padding:10px 16px;
  border:1px solid var(--glass-line);
  border-radius:999px;
  background:var(--glass);
  color:var(--chalk);
  font-size:13px;
  letter-spacing:.12em;
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.nav-toggle:hover{border-color:var(--cyan-soft);color:var(--cyan-soft)}
.nav-toggle__bars{position:relative;display:block;width:18px;height:10px}
.nav-toggle__bars::before,
.nav-toggle__bars::after{
  content:"";
  position:absolute;
  left:0;right:0;
  height:2px;
  background:var(--cyan);
  transition:transform var(--dur) var(--ease),top var(--dur) var(--ease);
}
.nav-toggle__bars::before{top:0}
.nav-toggle__bars::after{top:8px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{top:4px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{top:4px;transform:rotate(-45deg)}

.site-nav{
  display:flex;
  align-items:center;
  gap:clamp(14px,2.6vw,34px);
  margin-left:auto;
}
.nav-list{display:flex;align-items:center;gap:clamp(2px,1.2vw,12px)}
.nav-link{
  display:inline-block;
  padding:9px 12px 9px 14px;
  border-left:2px solid transparent;
  font-size:14px;
  letter-spacing:.04em;
  color:var(--sage);
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),
             background-color var(--dur) var(--ease);
}
.nav-link:hover{
  color:var(--chalk);
  border-left-color:var(--glass-line);
}
.nav-link[aria-current="page"]{
  color:var(--cyan);
  border-left-color:var(--cyan);
  background:linear-gradient(90deg,rgba(79,227,193,.16),transparent);
}
.nav-actions{display:flex;align-items:center;gap:10px}

.scroll-progress{
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:2px;
  background:rgba(232,245,240,.06);
  overflow:hidden;
}
.scroll-progress__bar{
  display:block;
  width:100%;height:100%;
  transform:scaleX(var(--p,0));
  transform-origin:0 50%;
  background:linear-gradient(90deg,var(--cyan),var(--cyan-soft) 45%,var(--flame));
  transition:transform .12s linear;
}

/* ---------- 12. 页脚 ---------- */
.site-footer{
  position:relative;
  overflow:hidden;
  margin-top:clamp(60px,10vw,140px);
  border-top:1px solid var(--glass-line-soft);
  background:linear-gradient(180deg,rgba(11,43,35,.55),rgba(6,17,14,.98) 58%);
}
.site-footer::before{
  content:"";
  position:absolute;
  top:-30%;right:-12%;
  width:62%;height:76%;
  pointer-events:none;
  background:radial-gradient(circle at 68% 32%,rgba(79,227,193,.18),transparent 68%);
}
.site-footer__inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.45fr);
  gap:clamp(28px,5vw,72px);
  padding-block:clamp(38px,6vw,78px);
}
.footer-lead{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.footer-lead__note{
  max-width:30em;
  font-size:14px;
  color:var(--sage);
}
.footer-lead__contact{
  max-width:32em;
  font-size:13px;
  line-height:1.8;
  color:var(--sage);
}
.footer-cols{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,3vw,40px);
}
.footer-col__title{
  margin:0 0 14px;
  font-family:var(--font-display);
  font-size:12px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--cyan);
}
.footer-list{display:grid;gap:9px}
.footer-link{
  display:inline-block;
  padding-left:10px;
  border-left:2px solid transparent;
  font-size:14px;
  color:var(--sage);
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),
             transform var(--dur) var(--ease);
}
.footer-link:hover{
  color:var(--chalk);
  border-left-color:var(--flame);
  transform:translateX(3px);
}
.footer-base{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-block:22px;
  border-top:1px solid var(--glass-line-soft);
  font-size:12.5px;
  color:var(--sage);
}
.footer-base__legal,
.footer-base__info{margin:0}

/* ---------- 13. 进场与状态 ---------- */
[data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .26s var(--ease),transform .26s var(--ease);
}
[data-reveal].is-revealed{opacity:1;transform:none}

/* ---------- 14. 响应式 ---------- */
@media (max-width:1140px){
  .nav-actions .btn{padding:9px 14px;font-size:13px}
  .nav-link{padding:9px 8px 9px 11px;font-size:13.5px}
}
@media (max-width:980px){
  .header-strip__meta{display:none}
  .nav-toggle{display:inline-flex}
  .site-nav{
    position:absolute;
    top:100%;left:0;right:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    max-height:calc(100vh - var(--bar-h));
    overflow-y:auto;
    margin:0;
    padding:12px var(--gutter) 26px;
    border-bottom:1px solid var(--glass-line);
    background:linear-gradient(180deg,rgba(8,26,21,.985),rgba(6,17,14,.995));
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),
               visibility var(--dur) var(--ease);
  }
  .site-nav[data-open]{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-link{
    display:block;
    padding:14px 16px;
    border-left-width:3px;
    border-bottom:1px solid var(--glass-line-soft);
    font-size:16px;
  }
  .nav-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:18px}
  .grid--rail{grid-template-columns:minmax(0,1fr)}
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer__inner{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:660px){
  :root{--strip-h:30px;--bar-h:60px;--rail:100%}
  .brand__tag{display:none}
  .header-strip__note{font-size:11px;letter-spacing:.05em}
  .grid--2,.grid--3{grid-template-columns:minmax(0,1fr)}
  .footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-base{flex-direction:column;align-items:flex-start}
}
@media (max-width:420px){
  .footer-cols{grid-template-columns:minmax(0,1fr)}
  .nav-toggle__label{display:none}
}
