/* ============================================================
   必一体育 · 共享样式 /assets/site.css
   夜场看台 × 实时数据流：斜向网格、坐标点阵、比分节奏
   ============================================================ */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --be-void:#070B14;
  --be-slate:#111C2B;
  --be-indigo:#1B2350;
  --be-teal:#0B3B3C;
  --be-wine:#4A1330;
  --be-cyan:#22E0FF;
  --be-orange:#FF7A2F;
  --be-green:#3ED598;
  --be-amber:#FFC24B;
  --be-text:#E9EFF6;
  --be-muted:#9FB0C4;

  --be-line:rgba(233,239,246,.14);
  --be-line-soft:rgba(233,239,246,.07);
  --be-cyan-soft:rgba(34,224,255,.10);
  --be-cyan-edge:rgba(34,224,255,.45);
  --be-orange-edge:rgba(255,122,47,.40);

  --be-sans:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC","Noto Sans CJK SC",sans-serif;
  --be-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;

  --be-container:1240px;
  --be-header-container:1440px;
  --be-radius:12px;
  --be-radius-sm:8px;
  --be-shadow:0 18px 40px rgba(0,0,0,.52);
  --be-shadow-soft:0 10px 26px rgba(0,0,0,.38);
}

/* ---------- 2. 重置 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--be-void);
  color:var(--be-text);
  font-family:var(--be-sans);
  font-size:16px;
  font-weight:400;
  line-height:1.75;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5,p,figure,blockquote{margin:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
table{border-collapse:collapse;width:100%}
hr{border:0;border-top:1px solid var(--be-line);margin:0}

/* ---------- 3. 中文排版与焦点 ---------- */
h1,h2,h3,h4{font-weight:800;line-height:1.15;letter-spacing:-.01em;color:var(--be-text)}
p{max-width:42ch}
:focus-visible{outline:2px solid var(--be-cyan);outline-offset:2px;border-radius:3px}

/* ---------- 4. 布局容器与段落节奏 ---------- */
.be-container{width:min(var(--be-container),100% - 40px);margin-inline:auto}
.be-section{padding:72px 0}
.be-section__head{display:grid;gap:12px;margin-bottom:32px;max-width:60ch}
.be-eyebrow{
  font-family:var(--be-mono);
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--be-cyan);
}
.be-title{font-size:clamp(32px,4.6vw,56px);font-weight:850;line-height:1.04;letter-spacing:-.02em}
.be-title--2{font-size:clamp(24px,2.8vw,40px);font-weight:800;line-height:1.12;letter-spacing:-.015em}
.be-lede{font-size:17px;color:var(--be-muted);line-height:1.75;max-width:40ch}
.be-num{
  font-family:var(--be-mono);
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
  letter-spacing:.02em;
}
.be-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.be-grid--split{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.be-ruler{
  height:10px;
  background-image:repeating-linear-gradient(90deg,rgba(233,239,246,.34) 0 1px,transparent 1px 16px);
  background-repeat:repeat-x;
  background-position:0 100%;
  opacity:.5;
}

/* ---------- 5. 按钮与标签 ---------- */
.be-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 20px;
  border:1px solid var(--be-line);
  border-radius:999px;
  background:var(--be-slate);
  color:var(--be-text);
  font-size:15px;
  font-weight:600;
  letter-spacing:.02em;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
.be-btn:hover{transform:translateY(-2px);box-shadow:var(--be-shadow-soft);border-color:var(--be-cyan-edge)}
.be-btn--primary{background:var(--be-orange);border-color:transparent;color:#2B0C00}
.be-btn--primary:hover{box-shadow:0 14px 30px rgba(255,122,47,.32);border-color:transparent}
.be-btn--ghost{background:transparent}
.be-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 9px;
  border:1px solid var(--be-line);
  border-radius:4px;
  background:rgba(17,28,43,.72);
  font-family:var(--be-mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--be-muted);
}
.be-tag--live{background:var(--be-green);border-color:transparent;color:#04231A}
.be-tag--hot{background:var(--be-orange);border-color:transparent;color:#2B0C00}
.be-marker{
  display:inline-block;
  width:10px;height:10px;
  background:var(--be-cyan);
  transform:rotate(45deg);
  box-shadow:0 0 0 4px rgba(34,224,255,.16);
}
.be-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--be-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--be-muted);
}
.be-status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--be-green)}
.be-status--live::before{background:var(--be-orange)}

/* ---------- 6. 分区板（珠宝色） ---------- */
.be-board{
  position:relative;
  overflow:hidden;
  padding:28px;
  border:1px solid var(--be-line);
  border-radius:var(--be-radius);
  background:var(--be-slate);
  color:var(--be-text);
}
.be-board::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(118deg,transparent 0 26px,rgba(233,239,246,.05) 26px 27px);
  pointer-events:none;
}
.be-board--indigo{background:linear-gradient(160deg,var(--be-indigo) 0%,#0C1130 100%)}
.be-board--teal{background:linear-gradient(160deg,var(--be-teal) 0%,#06211F 100%)}
.be-board--wine{background:linear-gradient(160deg,var(--be-wine) 0%,#29081B 100%)}

/* ---------- 7. 卡片 / 索引 / 规则清单 ---------- */
.be-card{
  position:relative;
  display:grid;
  gap:8px;
  align-content:start;
  padding:20px;
  border:1px solid var(--be-line);
  border-radius:var(--be-radius);
  background:var(--be-slate);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.be-card:hover,.be-card:focus-within{
  transform:translateY(-4px);
  box-shadow:var(--be-shadow);
  border-color:var(--be-cyan-edge);
}
.be-card__title{font-size:19px;font-weight:700;line-height:1.35}
.be-card__meta{font-family:var(--be-mono);font-size:12px;letter-spacing:.12em;color:var(--be-muted)}

.be-index{border-top:1px solid var(--be-line)}
.be-index__list{display:grid}
.be-index__item{border-bottom:1px solid var(--be-line)}
.be-index__link{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:16px;
  align-items:center;
  padding:16px 10px;
  transition:background-color .18s ease,padding-left .18s ease,color .18s ease;
}
.be-index__link:hover{background:var(--be-cyan-soft);padding-left:18px}
.be-index__no{font-family:var(--be-mono);font-size:13px;letter-spacing:.16em;color:var(--be-cyan)}
.be-index__label{font-size:16px;font-weight:600;color:var(--be-text)}

.be-rule-list{display:grid;gap:10px}
.be-rule{
  padding:14px 16px;
  border:1px solid var(--be-line);
  border-radius:var(--be-radius-sm);
  background:var(--be-slate);
  color:var(--be-muted);
  font-size:15px;
}
.be-rule__index{
  margin-right:10px;
  font-family:var(--be-mono);
  font-size:12px;
  letter-spacing:.16em;
  color:var(--be-amber);
}

/* ---------- 8. 图片容器（页面阶段放置） ---------- */
.be-media{
  position:relative;
  display:block;
  overflow:hidden;
  border:1px solid var(--be-line);
  border-radius:var(--be-radius);
  background:linear-gradient(140deg,#101A29 0%,var(--be-void) 100%);
  aspect-ratio:4 / 3;
}
.be-media::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(118deg,transparent 0 30px,rgba(233,239,246,.05) 30px 31px);
  pointer-events:none;
}
.be-media img{position:relative;width:100%;height:100%;object-fit:cover}
.be-media--wide{aspect-ratio:16 / 9}
.be-media--tall{aspect-ratio:3 / 4}
.be-media__caption{
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:1;
  padding:4px 9px;
  border:1px solid var(--be-line);
  border-radius:4px;
  background:rgba(7,11,20,.8);
  font-family:var(--be-mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--be-text);
}

/* ---------- 9. 面包屑 ---------- */
.be-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-family:var(--be-mono);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--be-muted);
}
.be-breadcrumb a:hover{color:var(--be-cyan)}
.be-breadcrumb__sep{color:rgba(159,176,196,.45)}

/* ---------- 10. 头部：左右分置 + 追比分节奏徽标 ---------- */
.be-header{
  position:relative;
  z-index:40;
  background:
    radial-gradient(120% 150% at 10% -30%,rgba(34,224,255,.16),transparent 58%),
    radial-gradient(90% 130% at 96% -40%,rgba(255,122,47,.12),transparent 60%),
    linear-gradient(180deg,#0A1120 0%,var(--be-void) 78%);
  border-bottom:1px solid var(--be-line);
}
.be-header::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(118deg,transparent 0 26px,rgba(233,239,246,.045) 26px 27px);
  pointer-events:none;
}
.be-header__inner{
  position:relative;
  z-index:1;
  width:min(var(--be-header-container),100% - 48px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  grid-template-areas:"brand void ticker nav";
  align-items:center;
  gap:0 24px;
  padding:20px 0 18px;
}
.be-skip{
  position:absolute;
  left:16px;
  top:-72px;
  z-index:120;
  padding:10px 16px;
  border-radius:var(--be-radius-sm);
  background:var(--be-cyan);
  color:#04121A;
  font-weight:700;
  transition:top .16s ease;
}
.be-skip:focus{top:12px}

.be-brand{grid-area:brand;display:flex;align-items:center;gap:12px;min-width:0}
.be-brand__mark{
  display:grid;
  place-items:center;
  width:38px;height:38px;
  flex:none;
  border-radius:9px;
  background:linear-gradient(140deg,var(--be-cyan),#0B7FA0);
  color:#04121A;
  font-family:var(--be-mono);
  font-size:14px;
  font-weight:700;
  letter-spacing:.04em;
  box-shadow:0 8px 20px rgba(34,224,255,.26);
}
.be-brand__name{
  font-size:22px;
  font-weight:900;
  letter-spacing:.02em;
  white-space:nowrap;
  color:var(--be-text);
}
.be-brand__name:hover{color:var(--be-cyan)}
.be-brand__tag{
  padding-left:12px;
  border-left:1px solid var(--be-line);
  font-family:var(--be-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--be-muted);
  white-space:nowrap;
}

.be-header__void{
  grid-area:void;
  display:flex;
  align-items:center;
  gap:16px;
  min-height:40px;
  max-width:none;
  overflow:hidden;
}
.be-void__label{
  font-family:var(--be-mono);
  font-size:11px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:rgba(159,176,196,.75);
  white-space:nowrap;
}
.be-void__ruler{
  position:relative;
  flex:1 1 auto;
  height:1px;
  min-width:40px;
  background:linear-gradient(90deg,rgba(34,224,255,0) 0%,rgba(34,224,255,.45) 40%,rgba(34,224,255,.12) 100%);
}
.be-void__ruler::after{
  content:"";
  position:absolute;
  right:0;
  top:-4px;
  width:8px;height:8px;
  background:var(--be-cyan);
  transform:rotate(45deg);
}

.be-ticker{
  grid-area:ticker;
  display:inline-flex;
  align-items:center;
  gap:10px;
  max-width:none;
  padding:7px 14px 7px 12px;
  border:1px solid var(--be-line);
  border-radius:999px;
  background:rgba(17,28,43,.86);
  font-family:var(--be-mono);
  font-size:12px;
  letter-spacing:.08em;
  white-space:nowrap;
}
.be-ticker__dot{
  width:8px;height:8px;
  flex:none;
  border-radius:50%;
  background:var(--be-orange);
  animation:be-pulse 2.6s ease-out infinite;
}
.be-ticker__label{color:var(--be-muted)}
.be-ticker__round{color:var(--be-text);font-weight:600;font-variant-numeric:tabular-nums}
@keyframes be-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,122,47,.55)}
  70%{box-shadow:0 0 0 8px rgba(255,122,47,0)}
  100%{box-shadow:0 0 0 0 rgba(255,122,47,0)}
}

.be-nav{grid-area:nav;justify-self:end}
.be-nav__list{display:flex;align-items:center;gap:2px}
.be-nav__item{display:block}
.be-nav__link{
  position:relative;
  display:inline-block;
  padding:9px 12px;
  border-radius:6px;
  font-size:15px;
  font-weight:500;
  letter-spacing:.03em;
  color:var(--be-muted);
  transition:color .18s ease,background-color .18s ease;
}
.be-nav__link:hover{color:var(--be-text);background:var(--be-cyan-soft)}
.be-nav__link::after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:3px;
  height:2px;
  background:var(--be-cyan);
  transform:scaleX(0);
  transform-origin:0 50%;
  transition:transform .2s ease;
}
.be-nav__link:hover::after{transform:scaleX(1)}
.be-nav__link[aria-current="page"]{color:var(--be-text)}
.be-nav__link[aria-current="page"]::after{transform:scaleX(1)}

.be-nav-toggle{
  grid-area:toggle;
  display:none;
  align-items:center;
  gap:10px;
  padding:9px 14px;
  border:1px solid var(--be-line);
  border-radius:999px;
  background:rgba(17,28,43,.86);
  color:var(--be-text);
}
.be-nav-toggle__bars{display:grid;gap:5px}
.be-nav-toggle__bar{display:block;width:16px;height:2px;background:var(--be-cyan)}
.be-nav-toggle__text{font-family:var(--be-mono);font-size:12px;letter-spacing:.16em}

/* ---------- 11. 页脚 ---------- */
.be-footer{
  position:relative;
  margin-top:auto;
  background:linear-gradient(180deg,var(--be-void) 0%,#04070E 100%);
  border-top:1px solid var(--be-line);
  color:var(--be-text);
}
.be-footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--be-cyan),transparent);
  opacity:.55;
}
.be-footer__inner{
  width:min(var(--be-container),100% - 48px);
  margin-inline:auto;
  padding:52px 0 32px;
}
.be-footer__coord{
  height:10px;
  margin-bottom:18px;
  background-image:repeating-linear-gradient(90deg,rgba(34,224,255,.5) 0 1px,transparent 1px 18px);
  opacity:.36;
}
.be-footer__head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px 28px;
  align-items:center;
  padding-bottom:28px;
  border-bottom:1px solid var(--be-line);
}
.be-footer__brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.be-footer__name{font-size:20px;font-weight:900;letter-spacing:.02em}
.be-footer__slogan{
  font-family:var(--be-mono);
  font-size:12px;
  letter-spacing:.12em;
  color:var(--be-muted);
}
.be-footer__cta{justify-self:end}
.be-footer__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:32px 28px;
  padding:36px 0 28px;
  border-bottom:1px solid var(--be-line);
}
.be-footer__col{display:grid;gap:12px;align-content:start}
.be-footer__title{
  font-family:var(--be-mono);
  font-size:12px;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--be-cyan);
}
.be-footer__list{display:grid;gap:8px}
.be-footer__link{
  display:inline-block;
  font-size:15px;
  color:var(--be-muted);
  transition:color .16s ease,padding-left .16s ease;
}
.be-footer__link:hover{color:var(--be-text);padding-left:4px}
.be-footer__meta{
  font-size:14px;
  line-height:1.9;
  color:var(--be-muted);
  max-width:34ch;
}
.be-footer__meta strong{color:var(--be-text);font-weight:600}
.be-footer__legal{display:grid;gap:10px;padding-top:24px}
.be-footer__legal-line{font-size:14px;font-weight:600;color:var(--be-text);max-width:none}
.be-footer__note{font-size:13px;color:var(--be-muted);max-width:66ch}
.be-footer__year{
  font-family:var(--be-mono);
  font-size:12px;
  letter-spacing:.12em;
  color:rgba(159,176,196,.7);
  max-width:none;
}

/* ---------- 12. 交互层：进度、显现 ---------- */
.be-scroll-progress{
  position:fixed;
  inset:0 0 auto 0;
  height:3px;
  z-index:60;
  pointer-events:none;
  background:rgba(233,239,246,.06);
}
.be-scroll-progress__bar{
  display:block;
  height:100%;
  width:100%;
  transform:scaleX(0);
  transform-origin:0 50%;
  background:linear-gradient(90deg,var(--be-cyan),var(--be-green) 55%,var(--be-orange));
}
.be-reveal{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .5s ease,transform .5s ease;
}
.be-reveal.is-visible{opacity:1;transform:none}

/* ---------- 13. 响应式 ---------- */
@media (max-width:1120px){
  .be-void__label{display:none}
}
@media (max-width:1024px){
  .be-header__inner{
    grid-template-columns:1fr auto;
    grid-template-areas:
      "brand toggle"
      "ticker ticker"
      "nav nav";
    gap:0 16px;
    padding:16px 0 14px;
  }
  .be-header__void{display:none}
  .be-nav-toggle{display:inline-flex}
  .be-ticker{justify-self:start;margin-top:12px}
  .be-nav{
    display:none;
    justify-self:stretch;
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid var(--be-line);
  }
  .be-header[data-open] .be-nav{display:block}
  .be-nav__list{flex-direction:column;align-items:stretch;gap:2px}
  .be-nav__link{
    display:block;
    padding:12px 10px;
    border-left:2px solid transparent;
    border-radius:var(--be-radius-sm);
    font-size:16px;
  }
  .be-nav__link::after{display:none}
  .be-nav__link[aria-current="page"]{
    background:var(--be-cyan-soft);
    border-left-color:var(--be-cyan);
    color:var(--be-text);
  }
}
@media (max-width:900px){
  .be-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .be-footer__head{grid-template-columns:1fr}
  .be-footer__cta{justify-self:start}
}
@media (max-width:720px){
  .be-header__inner{
    grid-template-areas:
      "brand toggle"
      "nav nav";
    width:calc(100% - 32px);
  }
  .be-brand__tag{display:none}
  .be-brand__name{font-size:19px}
  .be-ticker{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:55;
    margin-top:0;
    justify-content:center;
    border-color:var(--be-orange-edge);
    background:rgba(9,14,24,.94);
    box-shadow:0 12px 30px rgba(0,0,0,.55);
  }
  body{padding-bottom:78px}
  .be-container{width:calc(100% - 32px)}
  .be-section{padding:52px 0}
  .be-board{padding:20px}
  .be-footer__inner{width:calc(100% - 32px);padding:40px 0 26px}
  .be-footer__grid{grid-template-columns:1fr;gap:26px;padding:28px 0 22px}
}
@media (max-width:420px){
  .be-title{font-size:30px}
  .be-title--2{font-size:23px}
  .be-lede{font-size:16px}
}

/* ---------- 14. 无障碍与减弱动效 ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .be-ticker__dot{animation:none}
  .be-reveal{opacity:1;transform:none}
  .be-skip{transition:none}
}
