/* ============================================================
   东赢电竞 · 共享样式表 /assets/site.css
   深夜电竞指挥中心 × 足球数据演播室
   ============================================================ */

/* ---------- 1. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;color-scheme:dark}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
table{border-collapse:collapse;width:100%}
[data-filter-item][hidden]{display:none !important}

/* ---------- 2. 变量 ---------- */
:root{
  --bg:#05070E;
  --panel:#0B1224;
  --layer:#141C31;
  --line:#26314D;
  --cyan:#00E5FF;
  --orange:#FF6A1A;
  --green:#37D67A;
  --amber:#FFC857;
  --ink:#EAF2FF;
  --muted:#93A3C0;

  --font-head:"Barlow Condensed","Oswald","Source Han Sans SC","Noto Sans SC",system-ui,"PingFang SC","Microsoft YaHei",sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --font-body:"Inter","Noto Sans SC",system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;

  --shell:1240px;
  --gap:clamp(16px,2.4vw,32px);
  --cut:14px;
}

/* ---------- 3. 基底 ---------- */
body{
  min-height:100vh;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  position:relative;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(1100px 520px at 84% -12%, rgba(0,229,255,.10), transparent 62%),
    radial-gradient(880px 460px at -14% 6%, rgba(255,106,26,.085), transparent 60%),
    linear-gradient(180deg, rgba(11,18,36,.9), rgba(5,7,14,0) 44%);
}
main,#main-content,.site-header,.site-footer{position:relative;z-index:1}

h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:800;
  line-height:1.08;
  letter-spacing:.012em;
  text-wrap:balance;
}
h1{font-size:clamp(32px,5vw,64px)}
h2{font-size:clamp(24px,3vw,40px)}
h3{font-size:clamp(19px,2vw,24px)}
p{text-wrap:pretty}

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

/* ---------- 4. 容器与网格 ---------- */
.shell{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:clamp(16px,4vw,40px);
}
.stack{display:grid;gap:clamp(14px,2.2vw,26px)}
.grid{display:grid;gap:var(--gap)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--7-5{grid-template-columns:7fr 5fr}
.grid--5-7{grid-template-columns:5fr 7fr}
.divider{height:1px;border:0;background:var(--line);margin-block:clamp(24px,4vw,48px)}

/* ---------- 5. 堆叠面板 ---------- */
.panel{
  position:relative;
  border:1px solid var(--line);
  background:var(--panel);
  padding:clamp(20px,3vw,36px);
}
.panel--layer{background:var(--layer)}
.panel--offset{margin-left:clamp(0px,3.5vw,56px)}
.panel::before{
  content:"";
  position:absolute;top:-1px;left:-1px;
  width:44px;height:3px;
  background:var(--cyan);
}

.section-head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px 24px;
  margin-bottom:clamp(18px,2.6vw,30px);
}
.section-head h2{flex:1 1 auto}

/* ---------- 6. 文字与数据 ---------- */
.lede{
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.75;
  color:var(--muted);
  max-width:52ch;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-mono);
  font-size:12px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--cyan);
  margin-bottom:12px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.stat-num{
  font-family:var(--font-mono);
  font-size:clamp(48px,8vw,120px);
  line-height:.88;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
  color:var(--ink);
}
.prose{max-width:68ch;color:var(--muted);line-height:1.85}
.prose h2,.prose h3{color:var(--ink);margin-top:1.5em}
.prose p{margin-block:1em}
.prose ul,.prose ol{margin-block:1em;padding-left:1.3em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose a{color:var(--cyan);border-bottom:1px solid rgba(0,229,255,.4)}
.c-cyan{color:var(--cyan)}
.c-orange{color:var(--orange)}
.c-green{color:var(--green)}
.c-amber{color:var(--amber)}
.c-muted{color:var(--muted)}

/* ---------- 7. 标签 ---------- */
.tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 9px;
  font-family:var(--font-mono);
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--line);
  background:rgba(20,28,49,.72);
  color:var(--muted);
}
.tag--cyan{color:var(--cyan);border-color:rgba(0,229,255,.5)}
.tag--orange{color:var(--orange);border-color:rgba(255,106,26,.5)}
.tag--green{color:var(--green);border-color:rgba(55,214,122,.5)}
.tag--amber{color:var(--amber);border-color:rgba(255,200,87,.5)}

/* ---------- 8. 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 18px;
  border:1px solid var(--line);
  background:var(--layer);
  color:var(--ink);
  font-family:var(--font-head);
  font-size:15px;font-weight:700;letter-spacing:.08em;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.btn:hover{border-color:var(--cyan);color:var(--cyan)}
.btn--primary{background:var(--orange);border-color:var(--orange);color:#160703}
.btn--primary:hover{background:#ff8341;border-color:#ff8341;color:#160703}
.btn--ghost{background:transparent}
.btn--edge{clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}

/* ---------- 9. 卡片与媒体容器 ---------- */
.card{
  position:relative;
  border:1px solid var(--line);
  background:var(--panel);
  padding:clamp(16px,2.2vw,24px);
}
.card--cut{clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%)}

.media-frame{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:16/10;
  border:1px solid var(--line);
  background:var(--layer);
}
.media-frame > img,
.media-frame > video,
.media-frame > svg{width:100%;height:100%;object-fit:cover}
.media-frame::after{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(5,7,14,.62) 0%,rgba(5,7,14,0) 38%,rgba(5,7,14,.8) 100%);
}
.media-frame--wide{aspect-ratio:21/9}
.media-frame--tall{aspect-ratio:4/5}
.media-frame--square{aspect-ratio:1/1}
.media-frame--cut{clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%)}
.media-frame__tag{position:absolute;left:12px;bottom:12px;z-index:2}

.scanline{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.scanline::before{
  content:"";
  position:absolute;left:0;right:0;height:46%;
  background:linear-gradient(180deg,transparent,rgba(0,229,255,.08),transparent);
  animation:scan 7s linear infinite;
}
@keyframes scan{
  0%{transform:translateY(-105%)}
  100%{transform:translateY(215%)}
}

/* ---------- 10. 跳过链接 ---------- */
.skip-link{
  position:fixed;
  top:8px;left:12px;
  z-index:200;
  padding:10px 16px;
  background:var(--cyan);
  color:#04121a;
  font-family:var(--font-head);
  font-weight:700;letter-spacing:.08em;
  transform:translateY(-180%);
  transition:transform .18s ease;
}
.skip-link:focus-visible{transform:translateY(0)}

/* ---------- 11. 页头 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(5,7,14,.86);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
  transition:background .22s ease,box-shadow .22s ease;
}
.site-header.is-scrolled{
  background:rgba(5,7,14,.96);
  box-shadow:0 20px 44px -34px rgba(0,229,255,.65);
}
.header-shell{
  display:flex;
  align-items:center;
  gap:clamp(14px,2vw,28px);
  min-height:78px;
  padding-block:14px;
  transition:min-height .22s ease,padding .22s ease;
}
.site-header.is-scrolled .header-shell{min-height:64px;padding-block:8px}

.brand-link{display:flex;align-items:center;gap:12px;flex:none}
.brand-mark{
  position:relative;
  display:grid;place-items:center;
  width:38px;height:38px;flex:none;
  background:linear-gradient(135deg,rgba(0,229,255,.16),rgba(255,106,26,.14));
  border:1px solid var(--cyan);
  clip-path:polygon(30% 0,100% 0,100% 70%,70% 100%,0 100%,0 30%);
}
.brand-mark::before{
  content:"";
  width:16px;height:16px;
  background:linear-gradient(90deg,var(--cyan) 0 45%,transparent 45% 55%,var(--orange) 55% 100%);
  transform:rotate(-45deg);
}
.brand-text{display:block}
.brand-name{
  display:block;
  font-family:var(--font-head);
  font-size:22px;font-weight:800;letter-spacing:.1em;line-height:1;
}
.brand-tag{
  display:block;
  margin-top:5px;
  font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);
  white-space:nowrap;
}

.primary-nav{margin-left:auto}
.nav-list{display:flex;align-items:center;gap:clamp(4px,1.5vw,20px)}
.nav-link{
  position:relative;
  display:inline-block;
  padding:9px 7px;
  font-family:var(--font-head);
  font-size:15px;font-weight:700;letter-spacing:.1em;
  color:var(--muted);
  transition:color .18s ease;
}
.nav-link::after{
  content:"";
  position:absolute;left:7px;right:7px;bottom:3px;height:2px;
  background:var(--cyan);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .22s ease;
}
.nav-link:hover{color:var(--ink)}
.nav-link:hover::after{transform:scaleX(1)}
.nav-link[aria-current="page"]{color:var(--ink)}
.nav-link[aria-current="page"]::after{
  transform:scaleX(1);
  box-shadow:0 0 10px rgba(0,229,255,.75);
}

.header-utility{display:flex;align-items:center;gap:12px;flex:none}
.header-utility .btn{padding:9px 16px;font-size:14px}

.nav-toggle{
  display:none;
  align-items:center;gap:9px;
  padding:9px 13px;
  border:1px solid var(--line);
  background:var(--layer);
  font-family:var(--font-head);
  font-size:14px;font-weight:700;letter-spacing:.1em;
  color:var(--ink);
  transition:border-color .18s ease,color .18s ease;
}
.nav-toggle:hover{border-color:var(--cyan);color:var(--cyan)}
.nav-toggle__bars{display:grid;gap:3px;width:16px}
.nav-toggle__bars span{display:block;height:2px;background:currentColor;transition:width .18s ease}
.nav-toggle__bars span:nth-child(2){width:68%}
.site-header[data-open="true"] .nav-toggle{border-color:var(--cyan);color:var(--cyan)}
.site-header[data-open="true"] .nav-toggle__bars span:nth-child(2){width:100%}

.header-progress{
  position:absolute;left:0;right:0;bottom:-1px;
  height:2px;
  overflow:hidden;
  pointer-events:none;
}
.header-progress__bar{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--cyan),var(--orange));
}

/* ---------- 12. 面包屑 ---------- */
.breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin-block:clamp(14px,2vw,22px);
  font-family:var(--font-mono);
  font-size:12px;letter-spacing:.08em;
  color:var(--muted);
}
.breadcrumb a{
  color:var(--muted);
  border-bottom:1px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
.breadcrumb a:hover{color:var(--cyan);border-color:var(--cyan)}
.breadcrumb__sep{color:var(--line)}
.breadcrumb [aria-current="page"]{color:var(--ink)}

/* ---------- 13. 筛选条 ---------- */
.filter-bar{display:flex;flex-wrap:wrap;gap:8px}
.filter-btn{
  padding:7px 13px;
  border:1px solid var(--line);
  background:var(--layer);
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:12px;letter-spacing:.12em;
  transition:color .18s ease,border-color .18s ease,background .18s ease;
}
.filter-btn:hover{color:var(--ink);border-color:var(--cyan)}
.filter-btn[aria-pressed="true"]{
  background:var(--orange);
  border-color:var(--orange);
  color:#160703;
  font-weight:700;
}
.filter-status{
  margin-top:10px;
  font-family:var(--font-mono);
  font-size:12px;letter-spacing:.1em;
  color:var(--muted);
}

/* ---------- 14. 页脚 ---------- */
.site-footer{
  margin-top:clamp(56px,9vw,110px);
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(11,18,36,.92),rgba(5,7,14,1));
}
.footer-grid{
  display:grid;
  grid-template-columns:1.45fr .95fr 1.6fr .95fr;
  gap:clamp(18px,2.6vw,34px);
  padding-block:clamp(34px,5.5vw,62px);
}
.footer-panel{
  position:relative;
  border:1px solid var(--line);
  background:rgba(11,18,36,.72);
  padding:20px 18px 22px;
}
.footer-panel::before{
  content:"";
  position:absolute;top:-1px;left:-1px;
  width:34px;height:3px;
  background:var(--cyan);
}
.footer-panel:nth-child(2)::before{background:var(--orange)}
.footer-panel:nth-child(3)::before{background:var(--green)}
.footer-panel:nth-child(4)::before{background:var(--amber)}

.footer-mark{display:flex;align-items:flex-end;gap:4px;height:22px;margin-bottom:14px}
.footer-mark i{display:block;width:6px}
.footer-mark i:nth-child(1){height:10px;background:var(--cyan)}
.footer-mark i:nth-child(2){height:18px;background:var(--orange)}
.footer-mark i:nth-child(3){height:22px;background:var(--green)}

.footer-title{
  font-size:15px;
  letter-spacing:.16em;
  color:var(--ink);
  padding-bottom:10px;
  margin-bottom:14px;
  border-bottom:1px dashed var(--line);
}
.footer-note{color:var(--muted);font-size:14px;line-height:1.75;max-width:30ch}
.footer-list{display:grid;gap:9px}
.footer-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:14.5px;
  transition:color .18s ease;
}
.footer-link::before{
  content:"";
  width:6px;height:6px;
  background:var(--line);
  transition:background .18s ease;
}
.footer-link:hover{color:var(--cyan)}
.footer-link:hover::before{background:var(--cyan)}

.footer-list--contact{gap:12px}
.footer-list--contact li{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:baseline}
.footer-k{
  font-family:var(--font-mono);
  font-size:11px;letter-spacing:.14em;
  color:var(--muted);
}
.footer-v{
  font-family:var(--font-mono);
  font-size:13px;
  color:var(--ink);
  line-height:1.6;
  word-break:break-all;
}

.footer-legal{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 24px;
  padding-block:20px;
  border-top:1px solid var(--line);
}
.footer-copy{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.06em;
  color:var(--muted);
}
.footer-copy--muted{color:#6d7d9c}

/* ---------- 15. 显现动效 ---------- */
[data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .18s ease-out,transform .18s ease-out;
}
[data-reveal].is-revealed{opacity:1;transform:none}

/* ---------- 16. 响应式 ---------- */
@media (max-width:1080px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .nav-toggle{display:inline-flex}
  .primary-nav{
    position:absolute;
    top:100%;left:0;right:0;
    display:none;
    margin-left:0;
    padding:14px clamp(16px,4vw,40px) 18px;
    background:rgba(11,18,36,.985);
    border-bottom:1px solid var(--line);
    box-shadow:0 28px 50px -32px #000;
    z-index:60;
  }
  .site-header[data-open="true"] .primary-nav{display:block}
  .nav-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .nav-link{
    display:block;
    padding:12px 12px;
    border:1px solid var(--line);
    background:var(--layer);
    font-size:14px;
    letter-spacing:.06em;
  }
  .nav-link::after{left:12px;right:12px;bottom:7px}
  .grid--2,.grid--3,.grid--7-5,.grid--5-7{grid-template-columns:1fr}
}
@media (max-width:720px){
  .brand-tag{display:none}
  .header-utility .btn{padding:8px 12px;font-size:13px}
  .header-shell{gap:10px}
}
@media (max-width:620px){
  .footer-grid{grid-template-columns:1fr}
  .footer-legal{flex-direction:column;align-items:flex-start}
  .panel--offset{margin-left:0}
}

/* ---------- 17. 减弱动效 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .scanline::before{display:none}
  [data-reveal]{opacity:1;transform:none}
  .skip-link{transition:none}
}
