/* ============================================================
   九体育CN · /assets/site.css
   夜场灯光下的竞技档案室：深墨绿铺底、荧光青绿给数据、
   橙红只给比分与当前栏目。粗边框 + 硬阴影 + 2px 圆角。
   ============================================================ */

/* ---------- 1. reset ---------- */
*,
*::before,
*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}

body,
h1,h2,h3,h4,h5,h6,
p,figure,blockquote,
ul,ol,dl,dd,fieldset{ margin:0; }

ul,ol{ padding:0; list-style:none; }

a{ color:inherit; text-decoration:none; }

button{
  font:inherit;
  color:inherit;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
}

img,svg,video{ display:block; max-width:100%; height:auto; }

table{ border-collapse:collapse; width:100%; }

/* ---------- 2. 变量 ---------- */
:root{
  /* 色彩体系：夜场墨底 → 面板抬升 → 荧光信号 */
  --ink-000:#06100C;
  --ink-100:#0D1E17;
  --ink-200:#13291F;
  --line-000:#274636;
  --volt:#38E39B;
  --signal:#FF5A2B;
  --cyan:#7FD6FF;
  --paper:#F1F6F2;
  --muted:#94AFA1;
  --lime:#C8F45A;

  /* 固定字号刻度 12 / 14 / 16 / 20 / 28 / 40 / 64 / 96 / 128 */
  --fs-12:0.75rem;
  --fs-14:0.875rem;
  --fs-16:1rem;
  --fs-20:1.25rem;
  --fs-28:1.75rem;
  --fs-40:2.5rem;
  --fs-64:4rem;
  --fs-96:6rem;
  --fs-128:8rem;

  /* 字体 */
  --font-display:"PingFang SC","Hiragino Sans GB","Source Han Sans SC","Noto Sans CJK SC","Microsoft YaHei",system-ui,sans-serif;
  --font-body:var(--font-display);
  --font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;

  /* 结构 */
  --wrap:1280px;
  --gutter:clamp(16px,4.5vw,48px);
  --radius:2px;
  --hard:4px 4px 0 0 #000;
  --ease:cubic-bezier(.4,0,.2,1);
  --dur:240ms;
}

/* ---------- 3. 基础排版 ---------- */
body{
  min-height:100vh;
  background-color:var(--ink-000);
  background-image:
    linear-gradient(rgba(39,70,54,.28) 1px,transparent 1px),
    linear-gradient(90deg,rgba(39,70,54,.28) 1px,transparent 1px);
  background-size:72px 72px;
  background-attachment:fixed;
  color:var(--paper);
  font-family:var(--font-body);
  font-size:var(--fs-16);
  font-weight:400;
  line-height:1.85;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.12;
  color:var(--paper);
}

strong,b{ font-weight:700; }

code,kbd,samp{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
}

::selection{
  background:var(--volt);
  color:var(--ink-000);
}

:focus-visible{
  outline:2px solid var(--volt);
  outline-offset:3px;
}

#main-content{ scroll-margin-top:130px; }

/* ---------- 4. 容器 ---------- */
.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

/* ---------- 5. 跳转链接 ---------- */
.skip-link{
  position:fixed;
  top:12px;
  left:12px;
  z-index:200;
  padding:10px 18px;
  border:2px solid var(--volt);
  border-radius:var(--radius);
  background:var(--ink-000);
  color:var(--volt);
  font-size:var(--fs-14);
  font-weight:700;
  letter-spacing:.04em;
  transform:translateY(-240%);
  transition:transform var(--dur) var(--ease);
}
.skip-link:focus-visible{ transform:translateY(0); }

/* ---------- 6. 页头 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  background:var(--ink-000);
  border-bottom:2px solid var(--line-000);
  isolation:isolate;
}

.site-header::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,var(--signal) 0 14%,var(--volt) 14% 100%);
}

/* 6.1 报头 */
.masthead{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:clamp(18px,3vw,30px) var(--gutter) clamp(14px,2vw,20px);
  border-bottom:1px solid var(--line-000);
  background:
    radial-gradient(120% 200% at 50% -60%,rgba(56,227,155,.18),transparent 62%),
    var(--ink-000);
}

.brand{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  color:var(--paper);
}

.brand__name{
  display:inline-flex;
  align-items:flex-start;
  gap:6px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(30px,6.4vw,58px);
  letter-spacing:-.045em;
  line-height:1;
}

.brand__cn{
  font-family:var(--font-mono);
  font-weight:700;
  font-size:.26em;
  letter-spacing:.08em;
  color:var(--volt);
  transform:translateY(.42em);
  line-height:1;
}

.brand__line{
  font-size:var(--fs-12);
  letter-spacing:.5em;
  text-indent:.5em;
  color:var(--muted);
  line-height:1.7;
}

.masthead__tagline{
  font-size:var(--fs-12);
  letter-spacing:.34em;
  text-indent:.34em;
  color:var(--volt);
  line-height:1.9;
}

/* 6.2 报头数据刻度线 */
.ticker{
  border-bottom:2px solid var(--line-000);
  background:var(--ink-100);
}

.ticker__inner{
  display:flex;
  align-items:center;
  min-height:38px;
  overflow-x:auto;
  scrollbar-width:none;
}
.ticker__inner::-webkit-scrollbar{ display:none; }

.ticker__cell{
  display:inline-flex;
  align-items:baseline;
  gap:8px;
  padding-inline:clamp(10px,2vw,22px);
  border-right:1px solid var(--line-000);
  white-space:nowrap;
  font-size:var(--fs-12);
  line-height:1.5;
}
.ticker__cell:first-child{ padding-left:0; }
.ticker__cell:last-child{ border-right:0; }

.ticker__key{
  color:var(--muted);
  letter-spacing:.16em;
}

.ticker__val{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--paper);
}

.ticker__val--live{ color:var(--volt); }

.ticker__val--live::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:6px;
  border-radius:50%;
  background:var(--volt);
  vertical-align:middle;
}

/* 6.3 导航带 */
.navdeck{ background:var(--ink-000); }

.navdeck__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "meter tools"
    "nav nav";
  align-items:center;
  gap:0 12px;
  padding-block:10px;
}

/* 轮次刻度 */
.roundmeter{
  grid-area:meter;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  overflow:hidden;
}

.roundmeter__legend{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.22em;
  color:var(--muted);
  white-space:nowrap;
}

.roundmeter__ticks{
  display:flex;
  align-items:center;
  gap:clamp(1px,.9vw,8px);
  min-width:0;
}

.roundmeter__tick{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:11px;
  line-height:1;
  color:var(--line-000);
  padding:4px 2px;
  border-bottom:2px solid transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}

.roundmeter__tick[data-active="true"]{
  color:var(--volt);
  font-weight:700;
  border-bottom-color:var(--volt);
}

/* 主导航 */
.site-nav{
  grid-area:nav;
  display:none;
  min-width:0;
}

.site-nav[data-open="true"]{
  display:block;
  margin-top:10px;
  padding-top:8px;
  border-top:2px solid var(--line-000);
}

.site-nav__list{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.site-nav__link{
  display:block;
  padding:10px 4px;
  font-size:var(--fs-14);
  font-weight:500;
  letter-spacing:.02em;
  color:var(--muted);
  border-bottom:2px solid transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}

.site-nav__link:hover,
.site-nav__link:focus-visible{
  color:var(--paper);
  border-bottom-color:var(--volt);
}

.site-nav__link[aria-current="page"]{
  color:var(--paper);
  font-weight:700;
  border-bottom-color:var(--signal);
}

/* 右侧工具 */
.navdeck__tools{
  grid-area:tools;
  display:flex;
  align-items:center;
  gap:8px;
}

.navdeck__search{
  display:none;
  padding:6px 12px;
  border:2px solid var(--line-000);
  border-radius:var(--radius);
  color:var(--paper);
  font-size:var(--fs-12);
  letter-spacing:.08em;
  white-space:nowrap;
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.navdeck__search:hover{ border-color:var(--volt); color:var(--volt); }

.roundswitch{
  display:inline-flex;
  align-items:center;
  border:2px solid var(--line-000);
  border-radius:var(--radius);
  background:var(--ink-100);
  overflow:hidden;
}

.roundswitch__btn{
  width:26px;
  height:28px;
  display:grid;
  place-items:center;
  font-size:14px;
  line-height:1;
  color:var(--muted);
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.roundswitch__btn:hover{ background:var(--ink-200); color:var(--volt); }
.roundswitch__btn:focus-visible{ outline-offset:-3px; }

.roundswitch__now{
  min-width:30px;
  text-align:center;
  line-height:28px;
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:var(--fs-12);
  font-weight:700;
  color:var(--volt);
  border-inline:1px solid var(--line-000);
}

/* 移动导航按钮 */
.navtoggle{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:38px;
  height:32px;
  border:2px solid var(--line-000);
  border-radius:var(--radius);
  transition:border-color var(--dur) var(--ease);
}
.navtoggle:hover{ border-color:var(--volt); }
.navtoggle:focus-visible{ outline-offset:-3px; }

.navtoggle__bar{
  display:block;
  width:16px;
  height:2px;
  background:var(--paper);
  transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease);
}

.navtoggle[aria-expanded="true"]{ border-color:var(--volt); }
.navtoggle[aria-expanded="true"] .navtoggle__bar:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.navtoggle[aria-expanded="true"] .navtoggle__bar:nth-child(2){ opacity:0; }
.navtoggle[aria-expanded="true"] .navtoggle__bar:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

/* 6.4 滚动吸顶收窄 */
.site-header.is-stuck .masthead,
.site-header.is-stuck .ticker{ display:none; }

.site-header.is-stuck .navdeck__inner{ padding-block:0; }

/* ---------- 7. 页脚 ---------- */
.site-footer{
  position:relative;
  margin-top:clamp(48px,8vw,96px);
  background:var(--ink-100);
  border-top:2px solid var(--line-000);
}

.site-footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,var(--volt) 0 62%,var(--signal) 62% 100%);
}

.footer-top{
  padding-block:clamp(36px,6vw,68px) clamp(20px,3vw,30px);
}

.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(28px,5vw,44px);
}

.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}

.footer-brand .brand{
  align-items:flex-start;
  text-align:left;
}

.footer-brand .brand__name{ font-size:clamp(26px,4vw,36px); }

.footer-brand .brand__line{
  letter-spacing:.32em;
  text-indent:0;
}

.footer-tagline{
  font-size:var(--fs-14);
  letter-spacing:.2em;
  color:var(--muted);
  line-height:1.8;
}

.footer-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.footer-pill{
  display:inline-block;
  padding:6px 14px;
  border:2px solid var(--line-000);
  border-radius:var(--radius);
  font-size:var(--fs-12);
  letter-spacing:.06em;
  color:var(--muted);
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),background-color var(--dur) var(--ease);
}
.footer-pill:hover{
  border-color:var(--volt);
  color:var(--volt);
  background:rgba(56,227,155,.06);
}

.footer-col__title{
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  font-weight:700;
  letter-spacing:.24em;
  color:var(--volt);
  margin-bottom:16px;
  padding-bottom:8px;
  border-bottom:1px solid var(--line-000);
}

.footer-list{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.footer-list a{
  font-size:var(--fs-14);
  color:var(--muted);
  border-bottom:1px solid transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.footer-list a:hover{
  color:var(--paper);
  border-bottom-color:var(--volt);
}

.footer-list--contact li{
  font-size:var(--fs-14);
  line-height:1.75;
  color:var(--muted);
  word-break:break-word;
}

.footer-list--contact li:first-child{
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  color:var(--cyan);
  letter-spacing:.02em;
}

.footer-list--contact li:nth-child(2){
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:var(--fs-14);
  letter-spacing:.06em;
  color:var(--paper);
}

.footer-note{
  margin-top:clamp(28px,4vw,42px);
  padding-top:18px;
  border-top:1px solid var(--line-000);
  max-width:52em;
  font-size:var(--fs-12);
  line-height:1.9;
  color:var(--muted);
}

.footer-base{
  background:var(--ink-000);
  border-top:1px solid var(--line-000);
}

.footer-base__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:6px 24px;
  padding-block:16px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.06em;
  color:var(--muted);
}

/* ---------- 8. 通用按钮 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 22px;
  border:2px solid var(--volt);
  border-radius:var(--radius);
  background:var(--volt);
  color:var(--ink-000);
  font-size:var(--fs-14);
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.4;
  box-shadow:var(--hard);
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.btn:hover{
  background:transparent;
  color:var(--volt);
}

.btn--ghost{
  background:transparent;
  color:var(--paper);
  border-color:var(--line-000);
  box-shadow:none;
}
.btn--ghost:hover{
  border-color:var(--volt);
  color:var(--volt);
}

.btn--signal{
  background:var(--signal);
  border-color:var(--signal);
  color:var(--ink-000);
}
.btn--signal:hover{
  background:transparent;
  color:var(--signal);
}

/* ---------- 9. 面包屑 ---------- */
.crumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.04em;
  color:var(--muted);
}

.crumbs a{
  color:var(--muted);
  transition:color var(--dur) var(--ease);
}
.crumbs a:hover{ color:var(--volt); }

.crumbs__sep{ color:var(--line-000); }

.crumbs [aria-current="page"]{ color:var(--paper); }

/* ---------- 10. 文字组件 ---------- */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.26em;
  color:var(--volt);
}
.eyebrow::before{
  content:"";
  width:18px;
  height:2px;
  background:var(--volt);
}

.lede{
  font-size:clamp(15px,1.8vw,18px);
  line-height:1.85;
  color:var(--paper);
  max-width:34em;
}

.prose{
  max-width:34em;
  font-size:var(--fs-16);
  line-height:1.85;
  color:var(--paper);
}
.prose p + p{ margin-top:1.1em; }
.prose h2,.prose h3{ margin-top:1.6em; margin-bottom:.5em; }
.prose ul,.prose ol{ margin-top:.8em; }
.prose li{ padding-left:1.1em; position:relative; }
.prose li + li{ margin-top:.4em; }
.prose li::before{
  content:"";
  position:absolute;
  left:0;
  top:.8em;
  width:6px;
  height:2px;
  background:var(--volt);
}
.prose a{
  color:var(--volt);
  border-bottom:1px solid rgba(56,227,155,.45);
}

/* ---------- 11. 网格 ---------- */
.cols{
  display:grid;
  gap:clamp(16px,3vw,28px);
}
.cols--2{ grid-template-columns:1fr; }
.cols--3{ grid-template-columns:1fr; }

/* ---------- 12. 图片容器 ---------- */
.figure{
  position:relative;
  display:block;
  overflow:hidden;
  border:2px solid var(--line-000);
  border-radius:var(--radius);
  background:var(--ink-200);
}

.figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.figure--wide{ aspect-ratio:16 / 9; }

.figure__ph{
  position:relative;
  min-height:180px;
  aspect-ratio:16 / 9;
  background:
    repeating-linear-gradient(90deg,rgba(56,227,155,.10) 0 20px,transparent 20px 40px),
    radial-gradient(120% 90% at 50% 120%,rgba(56,227,155,.26),transparent 60%),
    linear-gradient(160deg,var(--ink-200),var(--ink-000));
}

.figure__ph::after{
  content:"";
  position:absolute;
  inset:12px;
  border:1px dashed rgba(56,227,155,.35);
  border-radius:1px;
  pointer-events:none;
}

.figure__caption{
  padding:10px 12px;
  border-top:1px solid var(--line-000);
  background:var(--ink-100);
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  line-height:1.7;
  color:var(--muted);
}

/* ---------- 13. 数据锚点 ---------- */
.stat{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding-left:14px;
  border-left:2px solid var(--line-000);
}

.stat__num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  font-size:clamp(28px,5vw,40px);
  line-height:1;
  letter-spacing:-.02em;
  color:var(--paper);
}

.stat__num--volt{ color:var(--volt); }
.stat__num--signal{ color:var(--signal); }

.stat__label{
  font-size:var(--fs-12);
  letter-spacing:.16em;
  color:var(--muted);
}

/* ---------- 14. 标签 ---------- */
.tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 10px;
  border:1px solid var(--line-000);
  border-radius:var(--radius);
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.06em;
  color:var(--muted);
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}

.tag[data-active="true"]{
  background:var(--lime);
  border-color:var(--lime);
  color:var(--ink-000);
  font-weight:700;
}

/* ---------- 15. 分隔刻度线 ---------- */
.rule{
  height:2px;
  border:0;
  background:var(--line-000);
}

/* ---------- 16. 滚动显现 ---------- */
[data-reveal]{
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
  transition-delay:var(--reveal-delay,0ms);
}

html.js [data-reveal]:not(.is-in){
  opacity:0;
  transform:translateY(12px);
}

/* ---------- 17. 响应式 ---------- */
@media (min-width:640px){
  .footer-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width:720px){
  .navdeck__search{ display:inline-block; }
  .cols--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cols--3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:560px){
  .roundmeter__legend{ display:none; }
  .roundmeter{ gap:6px; }
}

@media (min-width:1000px){
  .navdeck__inner{
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:"meter nav tools";
    min-height:60px;
    padding-block:0;
    gap:0 clamp(12px,2.4vw,32px);
  }

  .site-nav{ display:block; }
  .site-nav[data-open="true"]{
    display:block;
    margin-top:0;
    padding-top:0;
    border-top:0;
  }

  .site-nav__list{
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:clamp(4px,1.4vw,18px);
  }

  .site-nav__link{
    padding:18px 2px;
    font-size:var(--fs-14);
    border-bottom:2px solid transparent;
  }

  .navtoggle{ display:none; }

  .roundswitch__btn{ width:28px; }

  .cols--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }

  .footer-grid{ grid-template-columns:1.6fr 1fr 1fr 1.5fr; }
}

@media (min-width:1280px){
  .masthead{ padding-top:34px; }
}

/* ---------- 18. 无障碍与动效降级 ---------- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }

  *,
  *::before,
  *::after{
    transition-duration:.001ms !important;
    transition-delay:0ms !important;
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
  }

  [data-reveal],
  html.js [data-reveal]:not(.is-in){
    opacity:1;
    transform:none;
  }

  .skip-link:focus-visible{ transform:translateY(0); }
}
