/* ============================================================
   新世纪体育 · 共享样式 /assets/site.css
   夜间球场 + 老式记分牌 + 技术蓝图
   ============================================================ */

:root{
  --ne-ink:#0A1F1A;
  --ne-ink-2:#123A31;
  --ne-ink-3:#1F5C4B;
  --ne-cyan:#3BF2C8;
  --ne-cyan-deep:#12B392;
  --ne-orange:#FF6B2C;
  --ne-lime:#D8FF4E;
  --ne-cream:#F4EEE1;
  --ne-brown:#1A1712;
  --ne-mist:#93A79F;
  --ne-paper:#E3D9C6;

  --ne-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  --ne-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Roboto Mono","Courier New",monospace;

  --ne-max:1320px;
  --ne-gut:clamp(16px,4vw,56px);
  --ne-radius:2px;
  --ne-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,h5,p,figure,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit;text-decoration:none}
input,textarea,select{font:inherit}

/* ---------- 基础排版 ---------- */
body{
  background:var(--ne-ink);
  color:var(--ne-cream);
  font-family:var(--ne-sans);
  font-size:16px;
  line-height:1.75;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
:focus-visible{outline:2px solid var(--ne-cyan);outline-offset:3px;border-radius:2px}
.ne-on-cream :focus-visible{outline-color:var(--ne-orange)}

.ne-shell{width:100%;max-width:var(--ne-max);margin:0 auto;padding-inline:var(--ne-gut)}
.ne-main{display:block;padding-top:clamp(104px,11vw,140px)}

.ne-display{
  font-weight:900;
  font-size:clamp(38px,7vw,88px);
  line-height:.94;
  letter-spacing:-.02em;
  color:var(--ne-cream);
}
.ne-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ne-mist);
}
.ne-label::before{content:"";width:22px;height:1px;background:var(--ne-cyan)}
.ne-mono{font-family:var(--ne-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.ne-rule{height:1px;border:0;margin:0;background:rgba(31,92,75,.7)}

.ne-prose{font-size:16.5px;line-height:1.8;color:var(--ne-cream)}
.ne-prose p + p{margin-top:1.2em}
.ne-prose h2,.ne-prose h3{
  margin-top:1.8em;margin-bottom:.6em;font-weight:800;
  line-height:1.15;letter-spacing:-.01em;color:var(--ne-cream);
}
.ne-prose h2{font-size:clamp(24px,3vw,34px)}
.ne-prose h3{font-size:clamp(18px,2vw,24px)}
.ne-prose ul,.ne-prose ol{margin-top:1em;padding-left:1.2em;list-style:disc}
.ne-prose li{margin-bottom:.4em}
.ne-prose a{color:var(--ne-cyan);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.ne-prose--measure{max-width:68ch}

/* ---------- 跳转链 ---------- */
.ne-skip{
  position:fixed;top:8px;left:8px;z-index:300;
  padding:12px 20px;
  background:var(--ne-lime);color:var(--ne-brown);
  font-size:13px;font-weight:700;letter-spacing:.16em;
  border-radius:var(--ne-radius);
  transform:translateY(-180%);
  transition:transform .2s var(--ne-ease);
}
.ne-skip:focus{transform:translateY(0)}

/* ---------- 按钮 ---------- */
.ne-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 20px;
  border:1px solid transparent;border-radius:999px;
  font-size:13px;font-weight:700;letter-spacing:.12em;line-height:1;
  text-align:center;white-space:nowrap;
  transition:background .2s var(--ne-ease),color .2s var(--ne-ease),
             border-color .2s var(--ne-ease),transform .2s var(--ne-ease);
}
.ne-btn:active{transform:translateY(1px)}
.ne-btn--primary{background:var(--ne-orange);border-color:var(--ne-orange);color:var(--ne-brown)}
.ne-btn--primary:hover{background:var(--ne-lime);border-color:var(--ne-lime)}
.ne-btn--ghost{background:transparent;border-color:rgba(59,242,200,.45);color:var(--ne-cyan)}
.ne-btn--ghost:hover{background:rgba(59,242,200,.12);border-color:var(--ne-cyan)}
.ne-btn--block{width:100%}

/* ---------- 头部 ---------- */
.ne-header{
  position:fixed;top:0;left:0;right:0;z-index:120;
  display:flex;justify-content:center;
  padding:14px var(--ne-gut);
  transition:padding .3s var(--ne-ease);
}
.ne-header[data-scrolled]{padding-top:6px;padding-bottom:6px}
.ne-header__inner{
  position:relative;
  display:flex;align-items:center;gap:clamp(10px,1.8vw,26px);
  width:100%;max-width:var(--ne-max);
  padding:9px 12px 9px 14px;
  border:1px solid rgba(59,242,200,.26);
  border-radius:999px;
  background:rgba(10,31,26,.76);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  backdrop-filter:blur(14px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(59,242,200,.12), 0 18px 40px -30px #000;
  transition:background .3s var(--ne-ease),padding .3s var(--ne-ease),border-color .3s var(--ne-ease);
}
.ne-header[data-scrolled] .ne-header__inner{
  padding-top:5px;padding-bottom:5px;
  background:rgba(10,31,26,.94);
  border-color:rgba(59,242,200,.42);
}

.ne-header__brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.ne-header__brand-mark{
  display:grid;place-items:center;
  width:38px;height:38px;flex:0 0 auto;
  border:1px solid var(--ne-ink-3);border-radius:50%;
  background:radial-gradient(circle at 50% 30%,rgba(59,242,200,.18),rgba(10,31,26,.9) 70%);
  color:var(--ne-lime);
  font-family:var(--ne-mono);font-size:12px;font-weight:700;letter-spacing:.04em;
  box-shadow:inset 0 0 12px rgba(216,255,78,.16);
}
.ne-header__brand-text{display:block;line-height:1.1}
.ne-header__brand-name{
  display:block;font-size:15px;font-weight:800;letter-spacing:.06em;color:var(--ne-cream);
}
.ne-header__brand-tagline{
  display:block;margin-top:3px;
  font-size:10px;letter-spacing:.18em;color:var(--ne-mist);white-space:nowrap;
}

.ne-nav{flex:1 1 auto;display:flex;justify-content:center;min-width:0}
.ne-nav__list{display:flex;align-items:center;gap:2px}
.ne-nav__item{display:block}
.ne-nav__link{
  position:relative;display:block;
  padding:8px 12px;border-radius:999px;
  font-size:13px;letter-spacing:.1em;color:var(--ne-mist);white-space:nowrap;
  transition:color .2s var(--ne-ease),background .2s var(--ne-ease);
}
.ne-nav__link::after{
  content:"";position:absolute;left:12px;right:12px;bottom:4px;height:1px;
  background:var(--ne-cyan);transform:scaleX(0);transform-origin:left;
  transition:transform .24s var(--ne-ease);
}
.ne-nav__link:hover{color:var(--ne-cream);background:rgba(59,242,200,.08)}
.ne-nav__link:hover::after{transform:scaleX(1)}
.ne-nav__link[aria-current="page"]{
  color:var(--ne-ink);background:var(--ne-cyan);
  font-weight:700;letter-spacing:.08em;
}
.ne-nav__link[aria-current="page"]::after{display:none}

.ne-nav__foot{display:none}
.ne-nav__alt{
  display:block;padding:8px;text-align:center;
  font-size:12px;letter-spacing:.16em;color:var(--ne-mist);
  transition:color .2s var(--ne-ease);
}
.ne-nav__alt:hover{color:var(--ne-cyan)}

.ne-header__actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}

.ne-nav-toggle{
  display:none;align-items:center;gap:8px;
  padding:9px 14px;
  border:1px solid rgba(59,242,200,.4);border-radius:999px;
  color:var(--ne-cyan);font-size:12px;letter-spacing:.14em;
}
.ne-nav-toggle__bars{display:grid;gap:4px;width:16px}
.ne-nav-toggle__bars span{
  display:block;height:1px;background:currentColor;
  transition:transform .24s var(--ne-ease),opacity .24s var(--ne-ease);
}
.ne-nav-toggle__label{line-height:1}
.ne-header[data-open] .ne-nav-toggle__bars span:first-child{transform:translateY(2.5px) rotate(45deg)}
.ne-header[data-open] .ne-nav-toggle__bars span:last-child{transform:translateY(-2.5px) rotate(-45deg)}

.ne-header__progress{
  position:fixed;top:0;left:0;right:0;z-index:130;
  display:block;height:2px;background:transparent;pointer-events:none;
}
.ne-header__progress-bar{
  display:block;width:0;height:100%;
  background:linear-gradient(90deg,var(--ne-cyan),var(--ne-lime));
  box-shadow:0 0 10px rgba(59,242,200,.6);
  transition:width .12s linear;
}

/* ---------- 头部：≤1080px 抽屉 ---------- */
@media (max-width:1080px){
  .ne-header__inner{border-radius:22px}
  .ne-header__brand-tagline{display:none}
  .ne-header__actions{display:none}
  .ne-nav-toggle{display:inline-flex}

  .ne-nav{
    position:absolute;top:calc(100% + 10px);left:0;right:0;
    display:block;
    padding:12px;
    border:1px solid rgba(59,242,200,.3);border-radius:20px;
    background:rgba(10,31,26,.97);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    backdrop-filter:blur(18px) saturate(140%);
    box-shadow:0 24px 50px -28px #000;
    max-height:min(72vh,560px);overflow:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .24s var(--ne-ease),transform .24s var(--ne-ease),visibility .24s var(--ne-ease);
  }
  .ne-nav__list{flex-direction:column;align-items:stretch;gap:2px}
  .ne-nav__link{
    padding:13px 14px;border-radius:12px;
    font-size:15px;letter-spacing:.08em;color:var(--ne-cream);
    border-bottom:1px solid rgba(31,92,75,.45);
  }
  .ne-nav__link::after{display:none}
  .ne-nav__link:hover{background:rgba(59,242,200,.1)}
  .ne-nav__link[aria-current="page"]{background:var(--ne-cyan);color:var(--ne-ink);border-bottom-color:transparent}
  .ne-nav__foot{
    display:flex;flex-direction:column;gap:6px;
    margin-top:14px;padding-top:14px;
    border-top:1px solid rgba(31,92,75,.6);
  }
  .ne-header[data-open] .ne-nav{opacity:1;visibility:visible;transform:translateY(0)}
  .ne-header[data-open] .ne-header__inner{
    border-color:rgba(59,242,200,.6);
    background:rgba(10,31,26,.98);
  }
}
@media (max-width:420px){
  .ne-header{padding-left:10px;padding-right:10px}
  .ne-header__brand-name{font-size:14px}
  .ne-header__brand-mark{width:34px;height:34px;font-size:11px}
}

/* ---------- 页脚 ---------- */
.ne-footer{
  position:relative;overflow:hidden;
  background:var(--ne-ink);
  border-top:1px solid var(--ne-ink-3);
  color:var(--ne-cream);
}
.ne-footer__grid-lines{
  position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(90deg,rgba(59,242,200,.07) 1px,transparent 1px);
  background-size:calc(100% / 6) 100%;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 72%);
  mask-image:linear-gradient(180deg,#000,transparent 72%);
  opacity:.85;
}
.ne-footer__inner{
  position:relative;z-index:1;
  width:100%;max-width:var(--ne-max);margin:0 auto;
  padding:clamp(40px,6vw,76px) var(--ne-gut) 26px;
}
.ne-footer__top{
  display:grid;
  grid-template-columns:1.6fr .8fr .8fr .8fr 1.3fr;
  gap:clamp(20px,3vw,44px);
  padding-bottom:clamp(28px,4vw,52px);
  border-bottom:1px solid rgba(31,92,75,.55);
}
.ne-footer__brand{display:block}
.ne-footer__brand-mark{
  display:grid;place-items:center;
  width:44px;height:44px;margin-bottom:14px;
  border:1px solid var(--ne-ink-3);border-radius:50%;
  background:radial-gradient(circle at 50% 30%,rgba(59,242,200,.16),rgba(10,31,26,.9) 70%);
  color:var(--ne-lime);font-family:var(--ne-mono);font-size:13px;font-weight:700;letter-spacing:.04em;
}
.ne-footer__brand-name{
  font-size:20px;font-weight:800;letter-spacing:.08em;line-height:1.2;color:var(--ne-cream);
}
.ne-footer__brand-line{
  margin-top:10px;max-width:34ch;
  font-size:13px;line-height:1.7;color:var(--ne-mist);
}
.ne-footer__cta{margin-top:18px}

.ne-footer__col{display:block}
.ne-footer__col-title{
  display:flex;align-items:center;gap:8px;
  margin-bottom:14px;
  font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ne-cyan);
}
.ne-footer__col-title::after{content:"";flex:1;height:1px;background:rgba(31,92,75,.8)}
.ne-footer__links{display:grid;gap:2px}
.ne-footer__link{
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 0;font-size:14px;color:var(--ne-mist);
  transition:color .2s var(--ne-ease);
}
.ne-footer__link::before{
  content:"";width:0;height:1px;background:var(--ne-cyan);
  transition:width .24s var(--ne-ease);
}
.ne-footer__link:hover{color:var(--ne-cream)}
.ne-footer__link:hover::before{width:14px}

.ne-footer__contact{display:block}
.ne-footer__contact-list{display:grid;gap:10px}
.ne-footer__contact-item{
  display:grid;grid-template-columns:44px 1fr;gap:8px;
  font-size:13px;line-height:1.65;color:var(--ne-cream);
}
.ne-footer__contact-key{
  padding-top:2px;font-size:11px;letter-spacing:.16em;color:var(--ne-mist);
}
.ne-footer__contact-val{word-break:break-word}
.ne-footer__contact-note{
  margin-top:14px;max-width:30ch;
  font-size:12px;line-height:1.7;color:var(--ne-mist);
}

.ne-footer__base{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;
  padding-top:22px;
  font-size:12px;letter-spacing:.1em;color:var(--ne-mist);
}
.ne-footer__legal{display:flex;flex-wrap:wrap;gap:18px}
.ne-footer__legal-link{color:var(--ne-mist);transition:color .2s var(--ne-ease)}
.ne-footer__legal-link:hover{color:var(--ne-cyan)}
.ne-footer__icp{font-family:var(--ne-mono);letter-spacing:.04em}
.ne-footer__copy{margin-left:auto;letter-spacing:.06em}

@media (max-width:1024px){
  .ne-footer__top{grid-template-columns:1.4fr 1fr 1fr;row-gap:34px}
  .ne-footer__brand{grid-column:1 / -1}
  .ne-footer__contact{grid-column:1 / -1}
  .ne-footer__contact-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .ne-footer__contact-note{max-width:56ch}
}
@media (max-width:680px){
  .ne-footer__top{grid-template-columns:1fr 1fr;row-gap:28px}
  .ne-footer__contact-list{grid-template-columns:1fr}
  .ne-footer__copy{margin-left:0;flex-basis:100%}
  .ne-footer__legal{gap:14px}
}

/* ---------- 面包屑 ---------- */
.ne-crumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:12px;letter-spacing:.14em;color:var(--ne-mist);
}
.ne-crumbs__link{color:var(--ne-mist);transition:color .2s var(--ne-ease)}
.ne-crumbs__link:hover{color:var(--ne-cyan)}
.ne-crumbs__sep{color:var(--ne-ink-3)}
.ne-crumbs__current{color:var(--ne-cream)}

/* ---------- 栅格 ---------- */
.ne-grid{display:grid;gap:clamp(16px,2vw,28px)}
.ne-grid--12{grid-template-columns:repeat(12,minmax(0,1fr))}
.ne-grid--auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media (max-width:860px){
  .ne-grid--12{grid-template-columns:repeat(6,minmax(0,1fr))}
}

/* ---------- 资料卡 ---------- */
.ne-card{
  position:relative;
  padding:clamp(18px,2vw,28px);
  background:var(--ne-ink-2);
  border:1px solid var(--ne-ink-3);
  border-radius:var(--ne-radius);
  transition:background .24s var(--ne-ease),border-color .24s var(--ne-ease);
}
.ne-card:hover{background:#14453A;border-color:rgba(59,242,200,.5)}
.ne-card--cut{
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
}

/* ---------- 比分牌 ---------- */
.ne-scoreboard{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:clamp(10px,2vw,20px);
  padding:14px 18px;
  border:1px solid var(--ne-ink-3);border-radius:var(--ne-radius);
  background:linear-gradient(180deg,rgba(18,58,49,.92),rgba(10,31,26,.92));
}
.ne-scoreboard__team{
  font-size:14px;letter-spacing:.08em;color:var(--ne-cream);line-height:1.4;
}
.ne-scoreboard__team--right{text-align:right}
.ne-scoreboard__score{
  font-family:var(--ne-mono);font-variant-numeric:tabular-nums;
  font-size:clamp(24px,3vw,34px);font-weight:700;letter-spacing:.02em;
  color:var(--ne-lime);text-shadow:0 0 18px rgba(216,255,78,.35);
}

/* ---------- 标签 ---------- */
.ne-tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 10px;border:1px solid var(--ne-ink-3);border-radius:999px;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ne-mist);
}
.ne-tag--live{background:var(--ne-lime);border-color:var(--ne-lime);color:var(--ne-brown)}
.ne-tag--live::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--ne-orange);box-shadow:0 0 8px var(--ne-orange);
}

/* ---------- 图片容器 ---------- */
.ne-figure{
  position:relative;margin:0;overflow:hidden;
  aspect-ratio:16 / 9;
  border:1px solid var(--ne-ink-3);border-radius:var(--ne-radius);
  background:var(--ne-ink-2);
}
.ne-figure--wide{aspect-ratio:21 / 9}
.ne-figure--tall{aspect-ratio:4 / 5}
.ne-figure--square{aspect-ratio:1 / 1}
.ne-figure__media{
  display:block;width:100%;height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(1.06);
}
.ne-figure__media--placeholder{
  display:grid;place-items:center;padding:16px;text-align:center;
  background:
    repeating-linear-gradient(45deg,rgba(59,242,200,.05) 0 1px,transparent 1px 10px),
    radial-gradient(circle at 50% 42%,rgba(59,242,200,.16),transparent 62%),
    #0F3129;
  color:var(--ne-cyan-deep);
  font-family:var(--ne-mono);font-size:12px;letter-spacing:.2em;
}
.ne-figure::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(10,31,26,0) 52%,rgba(10,31,26,.6) 100%),
    repeating-linear-gradient(180deg,rgba(255,255,255,.026) 0 1px,transparent 1px 3px);
}
.ne-figure__cap{
  position:absolute;left:12px;right:12px;bottom:10px;z-index:2;
  font-size:11px;letter-spacing:.16em;line-height:1.5;color:var(--ne-cream);
  text-shadow:0 1px 8px rgba(0,0,0,.8);
}

/* ---------- 奶油底分区 ---------- */
.ne-on-cream{
  background:var(--ne-cream);
  color:var(--ne-brown);
}
.ne-on-cream .ne-display{color:var(--ne-brown)}
.ne-on-cream .ne-prose{color:var(--ne-brown)}
.ne-on-cream .ne-label{color:#6B6154}
.ne-on-cream .ne-label::before{background:var(--ne-orange)}
.ne-on-cream .ne-rule{background:rgba(26,23,18,.16)}
.ne-on-cream .ne-card{
  background:#FBF7EE;border-color:var(--ne-paper);
  box-shadow:0 1px 0 rgba(26,23,18,.05);
}
.ne-on-cream .ne-card:hover{background:#FFFDF8;border-color:rgba(255,107,44,.55)}
.ne-on-cream .ne-crumbs,.ne-on-cream .ne-crumbs__link{color:#6B6154}
.ne-on-cream .ne-crumbs__current{color:var(--ne-brown)}
.ne-on-cream .ne-tag{border-color:rgba(26,23,18,.22);color:#5B5347}
.ne-on-cream .ne-btn--ghost{color:var(--ne-brown);border-color:rgba(26,23,18,.35)}
.ne-on-cream .ne-btn--ghost:hover{background:rgba(26,23,18,.06);border-color:var(--ne-brown)}

/* ---------- 显现 ---------- */
[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ne-ease),transform .6s var(--ne-ease)}
[data-reveal].is-revealed{opacity:1;transform:none}

/* ---------- 动效降级 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  [data-reveal]{opacity:1;transform:none}
  .ne-header__progress-bar{transition:none}
  .ne-nav{transition:none}
}
