/* ============================================================
   安博体育赛事 · 共享样表 /assets/site.css
   基调：深夜数据指挥中心 × 老球迷观赛笔记
   分区：变量 / Reset / 排版 / 骨架 / 头部 / 页脚 / 通用组件
   ============================================================ */

/* ---------- 1. 变量 ---------- */
:root{
  --ink:#08120E;
  --deep:#0F241B;
  --lift:#173B2C;
  --fog:#EAF6EF;
  --moss:#9DB8AA;
  --lime:#C8FF3D;
  --orange:#FF8A3D;
  --cyan:#4DD6C8;
  --amber:#F5C451;
  --line:rgba(157,184,170,.22);
  --line-strong:rgba(157,184,170,.4);
  --rail:76px;
  --maxw:1280px;
  --sans:"HarmonyOS Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"JetBrains Mono","IBM Plex Mono",SFMono-Regular,Consolas,monospace;
  --body:"Noto Sans SC","Source Han Sans SC","Microsoft YaHei",sans-serif;
  --ease:cubic-bezier(.25,.6,.3,1);
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,h5,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
::selection{background:var(--lime);color:var(--ink)}

/* ---------- 3. 中文排版 ---------- */
body{
  min-height:100vh;
  font-family:var(--body);
  font-size:16px;
  line-height:1.75;
  color:var(--fog);
  background-color:var(--ink);
  background-image:
    radial-gradient(880px 520px at 88% -12%,rgba(23,59,44,.9),transparent 68%),
    radial-gradient(720px 460px at -6% 104%,rgba(15,36,27,.95),transparent 66%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--sans);font-weight:900;line-height:1.15;letter-spacing:-.01em;color:var(--fog)}
h1{font-size:clamp(40px,5.6vw,72px)}
h2{font-size:clamp(26px,3.4vw,42px)}
h3{font-size:clamp(19px,2.2vw,26px)}
strong{font-weight:800;color:var(--fog)}
small{font-size:12px;letter-spacing:.06em;color:var(--moss)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:700}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- 4. 骨架与容器 ---------- */
#main-content{display:block;scroll-margin-top:110px}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:20px}
.section{padding-block:clamp(40px,6vw,80px)}
.section-head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:14px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--line);
}
.section-title{font-size:clamp(22px,3vw,32px);font-weight:900}
.section-note{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--moss);text-transform:uppercase}
.rule{height:8px;border-top:1px solid var(--line);background-image:repeating-linear-gradient(90deg,var(--line-strong) 0 1px,transparent 1px 18px);background-repeat:repeat-x;background-position:0 2px;background-size:auto 6px}

/* ---------- 5. 头部 ---------- */
.skip-link{
  position:fixed;top:10px;left:10px;z-index:200;
  display:inline-block;padding:12px 20px;
  font-size:13px;font-weight:800;letter-spacing:.08em;
  color:var(--ink);background:var(--lime);border-radius:2px;
  box-shadow:0 0 0 2px var(--orange);
  transform:translateY(-180%);transition:transform .2s var(--ease);
}
.skip-link:focus{transform:translateY(0)}

.site-head{
  position:sticky;top:0;z-index:90;
  background:linear-gradient(180deg,#0B1A13 0%,var(--deep) 100%);
  border-bottom:1px solid var(--line);
  box-shadow:0 24px 48px -34px rgba(0,0,0,.95);
}
.head-rail{display:none}
.head-body{position:relative;width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:20px}

.rail-mark{font-family:var(--sans);font-weight:900;font-size:16px;letter-spacing:.34em;color:var(--lime);writing-mode:vertical-rl}
.rail-label{font-family:var(--mono);font-size:10px;letter-spacing:.36em;color:var(--moss);writing-mode:vertical-rl}
.rail-ticks{
  flex:1;width:12px;
  background-image:repeating-linear-gradient(180deg,rgba(157,184,170,.45) 0 1px,transparent 1px 13px);
  background-repeat:repeat-y;background-position:center top;
}
.rail-seal{font-family:var(--mono);font-size:9px;letter-spacing:.3em;color:rgba(157,184,170,.7);writing-mode:vertical-rl}
.rail-progress{position:absolute;right:-1px;top:0;bottom:0;width:3px;background:rgba(157,184,170,.12)}
.rail-progress-bar{
  display:block;width:100%;height:0;
  background:linear-gradient(180deg,var(--lime),var(--cyan));
  transition:height .12s linear;
}

.head-top{display:flex;align-items:center;gap:14px;padding-block:13px;border-bottom:1px dashed var(--line);flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:0}
.brand-badge{
  display:grid;place-items:center;width:40px;height:40px;flex:none;
  font-family:var(--sans);font-weight:900;font-size:18px;
  color:var(--ink);background:var(--lime);border-radius:2px;
  box-shadow:3px 3px 0 rgba(255,138,61,.55);
  transition:box-shadow .2s var(--ease),transform .2s var(--ease);
}
.brand:hover .brand-badge{transform:translate(-1px,-1px);box-shadow:5px 5px 0 rgba(255,138,61,.75)}
.brand-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.brand-name{font-family:var(--sans);font-weight:900;font-size:19px;letter-spacing:.04em;line-height:1.2}
.brand-line{font-size:11px;letter-spacing:.16em;color:var(--moss);line-height:1.4}

.head-meta{display:none;align-items:center;gap:8px}
.head-chip{
  display:inline-flex;align-items:baseline;gap:8px;
  padding:7px 12px;font-size:12px;font-weight:700;letter-spacing:.04em;
  color:var(--fog);border:1px solid var(--line-strong);border-radius:2px;
  transition:border-color .18s var(--ease),background .18s var(--ease),color .18s var(--ease);
}
.head-chip:hover,.head-chip:focus-visible{border-color:var(--lime);background:rgba(200,255,61,.1);color:var(--lime)}
.head-chip-key{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--moss)}
.head-chip:hover .head-chip-key{color:var(--lime)}

.nav-toggle{
  display:inline-flex;align-items:center;gap:9px;margin-left:auto;
  padding:10px 13px;font-size:12px;font-weight:800;letter-spacing:.14em;
  color:var(--fog);border:1px solid var(--line-strong);border-radius:2px;
  transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease);
}
.nav-toggle:hover{border-color:var(--lime);color:var(--lime)}
.nav-toggle-bars{position:relative;display:block;width:16px;height:10px}
.nav-toggle-bars::before,.nav-toggle-bars::after{
  content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;
  transition:transform .25s var(--ease),top .25s var(--ease),bottom .25s var(--ease);
}
.nav-toggle-bars::before{top:0}
.nav-toggle-bars::after{bottom:0}
.site-head[data-open] .nav-toggle{color:var(--lime);border-color:var(--lime);background:rgba(200,255,61,.08)}
.site-head[data-open] .nav-toggle-bars::before{top:4px;transform:rotate(45deg)}
.site-head[data-open] .nav-toggle-bars::after{bottom:4px;transform:rotate(-45deg)}

.site-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-block:9px 11px}
.nav-list{display:flex;align-items:center;flex-wrap:wrap;gap:2px}
.nav-link{
  position:relative;display:inline-flex;align-items:center;gap:7px;
  padding:9px 12px;font-size:14px;font-weight:700;letter-spacing:.02em;
  color:rgba(234,246,239,.82);border-radius:2px;
  transition:color .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease);
}
.nav-link::after{
  content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;
  background:var(--lime);transform:scaleX(0);transform-origin:0 50%;
  transition:transform .22s var(--ease);
}
.nav-link:hover{color:var(--lime)}
.nav-link:hover::after{transform:scaleX(1)}
.nav-link[aria-current="page"]{color:var(--ink);background:var(--lime);box-shadow:inset 0 -3px 0 var(--orange)}
.nav-link[aria-current="page"]::after{display:none}
.nav-index{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--moss)}
.nav-link:hover .nav-index{color:var(--cyan)}
.nav-link[aria-current="page"] .nav-index{color:rgba(8,18,14,.62)}

.nav-aside{display:flex;align-items:center;gap:10px;margin-left:auto}

.head-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;background:rgba(157,184,170,.14)}
.head-progress-bar{
  display:block;width:100%;height:100%;
  background:linear-gradient(90deg,var(--lime),var(--orange));
  transform:scaleX(0);transform-origin:0 50%;
  transition:transform .12s linear;
}

/* ---------- 6. 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 20px;font-size:13px;font-weight:800;letter-spacing:.06em;
  border:1px solid transparent;border-radius:2px;
  transition:transform .18s var(--ease),background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.btn-primary{background:var(--orange);color:#180B02;box-shadow:3px 3px 0 rgba(200,255,61,.28)}
.btn-primary:hover,.btn-primary:focus-visible{background:#FFA266;transform:translate(-1px,-1px);box-shadow:5px 5px 0 rgba(200,255,61,.45)}
.btn-lime{background:var(--lime);color:var(--ink);box-shadow:3px 3px 0 rgba(255,138,61,.4)}
.btn-lime:hover,.btn-lime:focus-visible{background:#D7FF6B;transform:translate(-1px,-1px);box-shadow:5px 5px 0 rgba(255,138,61,.55)}
.btn-ghost{background:transparent;color:var(--fog);border-color:var(--line-strong)}
.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--lime);color:var(--lime);background:rgba(200,255,61,.08)}
.btn-sm{padding:8px 14px;font-size:12px;letter-spacing:.1em}

/* ---------- 7. 面包屑 / 章节 / 标签 ---------- */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:20px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--moss)}
.crumb{color:var(--moss);transition:color .18s var(--ease)}
.crumb:hover,.crumb:focus-visible{color:var(--lime)}
.crumb-sep{color:rgba(157,184,170,.5)}
.crumb-current{color:var(--fog)}

.chapter{display:flex;align-items:baseline;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.chapter-index{
  font-family:var(--mono);font-weight:700;font-size:clamp(32px,5.4vw,56px);line-height:.85;
  color:transparent;-webkit-text-stroke:1px var(--lime);
}
.chapter-title{font-size:clamp(18px,2.4vw,26px);font-weight:900}
.chapter-note{font-size:12px;letter-spacing:.14em;color:var(--moss)}

.tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;font-size:11px;font-weight:800;letter-spacing:.12em;
  color:var(--moss);border:1px solid var(--line-strong);border-radius:2px;
}
.tag-lime{color:var(--lime);border-color:var(--lime);background:rgba(200,255,61,.1)}
.tag-orange{color:#FFBB92;border-color:var(--orange);background:rgba(255,138,61,.12)}

/* ---------- 8. 面板 / 图片容器 ---------- */
.panel{position:relative;background:var(--lift);border:1px solid var(--line);border-radius:3px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.panel-title{font-family:var(--sans);font-size:14px;font-weight:800;letter-spacing:.1em}
.panel-body{padding:18px}

.media-frame{
  position:relative;overflow:hidden;display:block;
  aspect-ratio:16/9;border:1px solid var(--line);border-radius:3px;
  background:linear-gradient(160deg,var(--lift),var(--ink));
}
.media-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.06)}
.media-frame::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,18,14,0) 42%,rgba(8,18,14,.8) 100%);
}
.media-frame--tall{aspect-ratio:3/4}
.media-frame--square{aspect-ratio:1/1}
.media-caption{padding-top:9px;font-size:12px;letter-spacing:.06em;color:var(--moss)}

/* ---------- 9. 页脚 ---------- */
.site-foot{position:relative;margin-top:clamp(48px,7vw,88px);background:var(--deep);border-top:1px solid var(--line-strong);color:var(--fog)}
.site-foot::before{
  content:"";position:absolute;left:0;right:0;top:0;height:6px;pointer-events:none;
  background-image:repeating-linear-gradient(90deg,var(--lime) 0 24px,transparent 24px 34px,var(--orange) 34px 42px,transparent 42px 68px);
  opacity:.55;
}
.foot-inner{
  display:grid;grid-template-columns:1fr;gap:34px;
  width:100%;max-width:var(--maxw);margin-inline:auto;
  padding:clamp(36px,5vw,56px) 20px 30px;
}
.foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.foot-seal{
  display:inline-grid;place-items:center;width:64px;height:64px;
  font-family:var(--sans);font-weight:900;font-size:17px;letter-spacing:.08em;
  color:var(--lime);background:rgba(200,255,61,.06);
  border:2px solid var(--lime);border-radius:3px;
  transform:rotate(-6deg);
  box-shadow:4px 4px 0 rgba(255,138,61,.28);
}
.foot-name{font-family:var(--sans);font-size:18px;font-weight:900;letter-spacing:.06em}
.foot-summary{max-width:34ch;font-size:13px;line-height:1.85;color:var(--moss)}
.foot-col-title{
  font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.24em;
  color:var(--moss);text-transform:uppercase;margin-bottom:14px;
}
.foot-list{display:flex;flex-direction:column;gap:9px}
.foot-link{
  display:inline-block;font-size:14px;color:rgba(234,246,239,.86);
  background-image:linear-gradient(var(--lime),var(--lime));
  background-repeat:no-repeat;background-size:0 1px;background-position:0 100%;
  transition:color .2s var(--ease),background-size .25s var(--ease);
}
.foot-link:hover,.foot-link:focus-visible{color:var(--lime);background-size:100% 1px}
.foot-contact{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.contact-list{display:flex;flex-direction:column;gap:9px;width:100%}
.contact-row{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:baseline;font-size:13px}
.contact-key{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--moss)}
.contact-val{color:var(--fog);word-break:break-all}
.foot-note{
  font-size:12px;line-height:1.8;color:var(--moss);
  padding:12px 14px;border-left:2px solid var(--amber);background:rgba(245,196,81,.06);
}
.foot-base{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;
  width:100%;max-width:var(--maxw);margin-inline:auto;
  padding:16px 20px 30px;border-top:1px dashed var(--line);
  font-size:12px;letter-spacing:.06em;color:var(--moss);
}
.foot-copy{color:var(--moss)}
.foot-icp{color:var(--moss);letter-spacing:.08em}
.foot-legal{display:flex;flex-wrap:wrap;gap:8px 18px;margin-left:auto}

/* ---------- 10. 渐显协议 ---------- */
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
[data-reveal].is-visible{opacity:1;transform:none}

/* ---------- 11. 断点 ---------- */
@media (min-width:768px){
  .head-meta{display:flex;margin-left:auto}
  .head-meta + .nav-toggle{margin-left:0}
  .foot-inner{grid-template-columns:repeat(2,1fr);padding-inline:24px}
  .foot-brand{grid-column:1 / -1}
  .foot-base{padding-inline:24px}
}

@media (min-width:900px){
  .nav-toggle{display:none}
  .site-nav{padding-block:10px 12px}
}

@media (max-width:899px){
  .head-top{gap:10px}
  .brand-name{font-size:17px}
  .brand-line{font-size:10px;letter-spacing:.1em}
  .site-nav{
    flex-direction:column;align-items:stretch;gap:14px;
    max-height:0;overflow:hidden;visibility:hidden;padding-block:0;
    transition:max-height .34s var(--ease),visibility .34s var(--ease),padding .34s var(--ease);
  }
  .site-head[data-open] .site-nav{max-height:76vh;overflow-y:auto;visibility:visible;padding-block:6px 18px}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-link{
    justify-content:flex-start;width:100%;padding:14px 12px;border-radius:0;
    border-bottom:1px solid var(--line);font-size:15px;
  }
  .nav-link::after{display:none}
  .nav-link[aria-current="page"]{box-shadow:inset 4px 0 0 var(--orange)}
  .nav-aside{margin-left:0;flex-wrap:wrap;padding-top:8px}
  .nav-aside .btn{flex:1 1 150px}
}

@media (min-width:1024px){
  body{padding-left:var(--rail)}
  .head-rail{
    display:flex;position:fixed;left:0;top:0;bottom:0;width:var(--rail);
    flex-direction:column;align-items:center;gap:16px;
    padding:22px 0 24px;z-index:95;
    background:linear-gradient(180deg,#050D0A 0%,var(--deep) 100%);
    border-right:1px solid var(--line);
  }
  .wrap{padding-inline:32px}
  .head-body{padding-inline:32px}
  .foot-inner{grid-template-columns:1.5fr .7fr .7fr 1.2fr;gap:40px;padding-inline:32px;padding-top:60px}
  .foot-brand{grid-column:auto}
  .foot-base{padding-inline:32px}
}

@media (min-width:1280px){
  .foot-inner{gap:56px}
}

/* ---------- 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;
  }
  [data-reveal]{opacity:1;transform:none}
  .skip-link{transition:none}
}
