:root{
  --night:#0B1220;
  --ink:#05090C;
  --pitch:#10251C;
  --neon:#3CE08A;
  --mint:#B8F5CE;
  --white:#F2F6F4;
  --amber:#F2A93B;
  --red:#E4403F;
  --away:#5C8DFF;
  --gray:#7C8F87;
  --brut:#23302B;
  --shadow:7px 7px 0 var(--brut);
  --wrap:1240px;
  --gutter:clamp(16px,4vw,40px);
  --font-display:"Arial Narrow","Helvetica Neue",Impact,"PingFang SC","Microsoft YaHei",sans-serif;
  --font-serif:"Songti SC","Noto Serif SC",Georgia,"SimSun",serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;
  --font-body:system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}
html[data-contrast="high"]{
  --night:#000508;
  --ink:#000000;
  --pitch:#0A1712;
  --gray:#AFC2B9;
  --brut:#3B4B44;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--night);
  color:var(--white);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg,video{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:800;line-height:1.14;letter-spacing:-.01em}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
address{font-style:normal}
:focus-visible{outline:2px solid var(--neon);outline-offset:3px}
#main-content:focus{outline:none}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- skip link ---------- */
.skip-link{
  position:absolute;left:10px;top:-70px;z-index:200;
  background:var(--neon);color:var(--ink);
  font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.1em;
  padding:11px 18px;border:2px solid var(--ink);
  transition:top .18s ease;
}
.skip-link:focus{top:10px}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:90;
  background:var(--ink);
  border-bottom:3px solid var(--brut);
}
.header-top{
  border-bottom:1px solid var(--brut);
  background:linear-gradient(90deg,rgba(60,224,138,.10),rgba(60,224,138,0) 62%);
}
.header-top__inner{
  display:flex;align-items:center;gap:clamp(14px,3vw,34px);
  min-height:40px;padding-block:6px;
  overflow-x:auto;white-space:nowrap;
  scrollbar-width:none;-ms-overflow-style:none;
}
.header-top__inner::-webkit-scrollbar{display:none}
.brand-line{
  margin:0;flex:none;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mint);
}
.status-band{
  margin:0;flex:none;display:inline-flex;align-items:center;gap:9px;
  font-size:12px;letter-spacing:.06em;color:var(--gray);
}
.status-band::before{
  content:"";width:7px;height:7px;flex:none;background:var(--neon);
  box-shadow:0 0 0 3px rgba(60,224,138,.16);
}
.top-util{display:inline-flex;align-items:center;gap:16px;margin:0 0 0 auto;flex:none}
.util-btn{
  background:transparent;border:1px solid var(--brut);color:var(--gray);
  font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;
  padding:4px 10px;cursor:pointer;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}
.util-btn:hover{color:var(--neon);border-color:var(--neon)}
.util-btn[aria-pressed="true"]{background:var(--neon);border-color:var(--neon);color:var(--ink)}
.util-link{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--amber);
  border-bottom:1px solid rgba(242,169,59,.45);padding-bottom:2px;
  transition:color .18s ease,border-color .18s ease;
}
.util-link:hover{color:var(--white);border-color:var(--white)}

.header-main__inner{
  display:flex;align-items:center;gap:clamp(12px,2vw,26px);
  min-height:72px;padding-block:8px;
}
.brand{display:inline-flex;align-items:center;gap:12px;flex:none;color:var(--white)}
.brand__mark{
  width:42px;height:42px;flex:none;display:grid;place-items:center;
  background:var(--neon);color:var(--ink);
  font-family:var(--font-mono);font-weight:700;font-size:15px;letter-spacing:.04em;
  border:2px solid var(--ink);
  box-shadow:4px 4px 0 rgba(60,224,138,.26);
  transition:box-shadow .18s ease;
}
.brand:hover .brand__mark{box-shadow:7px 7px 0 rgba(60,224,138,.32)}
.brand__text{display:block;line-height:1.2}
.brand__name{display:block;font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:.1em}
.brand__sub{display:block;margin-top:2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;color:var(--gray)}

.nav-filter{display:block;margin:0 0 0 clamp(6px,1.4vw,18px)}
.nav-filter input{
  width:136px;background:var(--pitch);border:2px solid var(--brut);color:var(--white);
  font-size:13px;padding:8px 10px;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.nav-filter input::placeholder{color:var(--gray)}
.nav-filter input:focus{border-color:var(--neon);box-shadow:3px 3px 0 rgba(60,224,138,.22);outline:none}

.nav-toggle{
  display:none;align-items:center;gap:10px;
  background:transparent;border:2px solid var(--brut);color:var(--white);
  font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.14em;
  padding:9px 13px;cursor:pointer;
  transition:border-color .18s ease,color .18s ease;
}
.nav-toggle:hover{border-color:var(--neon);color:var(--neon)}
.nav-toggle__bars{display:grid;gap:4px;width:18px}
.nav-toggle__bars span{display:block;height:2px;background:var(--neon);transition:transform .2s ease,opacity .2s ease}
.site-header[data-open="true"] .nav-toggle__bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.site-header[data-open="true"] .nav-toggle__bars span:nth-child(2){opacity:0}
.site-header[data-open="true"] .nav-toggle__bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.site-nav{margin-left:auto}
.site-nav__list{display:flex;align-items:stretch;gap:2px}
.site-nav__item{display:block}
.site-nav__item[hidden]{display:none}
.site-nav__link{
  display:flex;align-items:center;gap:7px;
  padding:8px 11px 10px;
  font-size:15px;font-weight:600;color:var(--gray);
  border-bottom:3px solid transparent;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}
.site-nav__link:hover{color:var(--white);border-bottom-color:rgba(60,224,138,.45);background-color:rgba(60,224,138,.05)}
.site-nav__link[aria-current="page"]{color:var(--white);border-bottom-color:var(--neon)}
.site-nav__num{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--gray)}
.site-nav__link[aria-current="page"] .site-nav__num{color:var(--neon)}

.scroll-progress{position:absolute;left:0;right:0;bottom:-3px;height:3px;pointer-events:none}
.scroll-progress__bar{
  display:block;height:100%;width:100%;
  transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--neon),var(--amber));
  transition:transform .12s linear;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 22px;
  font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  background:var(--neon);border:2px solid var(--neon);color:var(--ink);
  box-shadow:6px 6px 0 rgba(60,224,138,.22);cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease,border-color .16s ease;
}
.btn:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 rgba(60,224,138,.22)}
.btn--ghost{background:transparent;color:var(--white);border-color:var(--brut);box-shadow:6px 6px 0 rgba(0,0,0,.5)}
.btn--ghost:hover{border-color:var(--mint);color:var(--mint)}
.btn--amber{background:var(--amber);border-color:var(--amber);color:var(--ink);box-shadow:6px 6px 0 rgba(242,169,59,.22)}

/* ---------- breadcrumb ---------- */
.breadcrumb{
  padding-top:20px;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--gray);
}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.breadcrumb li{display:inline-flex;align-items:center}
.breadcrumb li::after{content:"/";margin-left:8px;color:var(--brut)}
.breadcrumb li:last-child::after{content:""}
.breadcrumb a{color:var(--gray)}
.breadcrumb a:hover{color:var(--neon)}
.breadcrumb [aria-current="page"]{color:var(--mint)}

/* ---------- section / prose ---------- */
.section{padding-block:clamp(48px,7vw,96px)}
.section--tight{padding-block:clamp(26px,4vw,48px)}
.section--ink{background:var(--ink);border-block:3px solid var(--brut)}
.section--pitch{background:var(--pitch)}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--neon);
}
.kicker::before{content:"";width:26px;height:2px;flex:none;background:var(--neon)}
.section-title{font-size:clamp(26px,3.4vw,54px)}
.lede{font-size:clamp(17px,1.6vw,20px);color:var(--mint);max-width:40em}
.prose{max-width:40em;font-size:16px;color:var(--white)}
.prose > * + *{margin-top:1em}
.prose h2,.prose h3{margin-top:1.6em}
.prose--serif{font-family:var(--font-serif);color:var(--mint)}

/* ---------- grid ---------- */
.grid{display:grid;gap:clamp(14px,2vw,26px)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--aside{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}

/* ---------- panel ---------- */
.panel{
  background:var(--pitch);border:3px solid var(--brut);
  box-shadow:var(--shadow);padding:clamp(18px,2.4vw,30px);
}
.panel--flat{box-shadow:none}

/* ---------- scoreboard ---------- */
.score{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  border:3px solid var(--brut);background:var(--pitch);box-shadow:var(--shadow);
}
.score__side{position:relative;padding:clamp(16px,2.2vw,28px)}
.score__side::before{content:"";position:absolute;left:0;right:0;top:0;height:4px}
.score__side--home{background:linear-gradient(180deg,rgba(60,224,138,.09),rgba(60,224,138,0))}
.score__side--home::before{background:var(--neon)}
.score__side--away{background:linear-gradient(180deg,rgba(92,141,255,.10),rgba(92,141,255,0));border-left:3px solid var(--brut)}
.score__side--away::before{background:var(--away)}

/* ---------- day strip ---------- */
.daystrip{display:flex;gap:10px;overflow-x:auto;padding:4px 0 14px;scroll-snap-type:x proximity}
.daystrip::-webkit-scrollbar{height:6px}
.daystrip::-webkit-scrollbar-thumb{background:var(--brut)}
.day-pill{
  flex:none;scroll-snap-align:start;white-space:nowrap;
  background:var(--ink);border:2px solid var(--brut);color:var(--gray);
  font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;
  padding:9px 14px;
  transition:border-color .18s ease,color .18s ease,background-color .18s ease;
}
.day-pill:hover,.day-pill[aria-current="true"]{border-color:var(--neon);color:var(--neon);background:rgba(60,224,138,.06)}

/* ---------- timeline ---------- */
.timeline{position:relative;padding-left:26px;display:grid;gap:16px}
.timeline::before{
  content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(180deg,var(--neon),var(--brut));
}
.timeline__item{position:relative}
.timeline__item::before{
  content:"";position:absolute;left:-26px;top:14px;
  width:11px;height:11px;background:var(--ink);border:2px solid var(--neon);
}
.timeline__time{display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--amber)}
.timeline__card{
  margin-top:8px;background:var(--pitch);border:2px solid var(--brut);
  padding:14px 16px;box-shadow:5px 5px 0 rgba(0,0,0,.4);
}

/* ---------- note band ---------- */
.note-band{
  border-left:4px solid var(--brut);background:rgba(35,48,43,.28);
  padding:14px 18px;font-size:14px;color:var(--gray);max-width:46em;
}
.note-band strong{color:var(--mint);font-weight:600}

/* ---------- stat ---------- */
.stat__value{
  display:block;font-family:var(--font-mono);font-weight:700;line-height:1;
  font-size:clamp(30px,4vw,56px);color:var(--amber);letter-spacing:-.02em;
}
.stat__label{display:block;margin-top:8px;font-size:13px;letter-spacing:.06em;color:var(--gray)}

/* ---------- media frames ---------- */
.frame{
  position:relative;display:block;width:100%;overflow:hidden;
  background:var(--pitch);border:3px solid var(--brut);box-shadow:var(--shadow);
}
.frame > img,.frame > picture,.frame > video{display:block;width:100%;height:100%;object-fit:cover}
.frame::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(60,224,138,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(60,224,138,.06) 1px,transparent 1px);
  background-size:34px 34px;
}
.frame--pano{aspect-ratio:21/9}
.frame--wide{aspect-ratio:16/9}
.frame--square{aspect-ratio:1/1}
.frame--tall{aspect-ratio:3/4}
.frame--cool > img,.frame--cool > picture > img{filter:saturate(.82) contrast(1.06) brightness(.94)}
.frame__tag{
  position:absolute;left:0;bottom:0;z-index:2;
  background:var(--ink);color:var(--mint);
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;
  padding:6px 10px;border-top:2px solid var(--neon);
}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);border-top:3px solid var(--brut);margin-top:clamp(48px,7vw,96px)}
.footer-main{padding-block:clamp(36px,5vw,64px)}
.footer-grid{
  display:grid;gap:clamp(22px,3vw,44px);
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
}
.footer-brand{max-width:36em}
.brand--footer{margin-bottom:16px}
.brand--footer .brand__name{font-size:17px}
.footer-pitch{font-size:14px;color:var(--gray);max-width:30em}
.footer-stamp{
  display:inline-flex;align-items:center;gap:9px;margin-top:16px;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--mint);
  border:1px solid var(--brut);padding:6px 11px;
}
.stamp-dot{width:7px;height:7px;flex:none;background:var(--neon)}
.footer-col__title{
  margin-bottom:14px;font-family:var(--font-mono);font-size:12px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--neon);
}
.footer-list{display:grid;gap:9px;font-size:14px}
.footer-list a{color:var(--gray);transition:color .16s ease,border-color .16s ease}
.footer-list a:hover{color:var(--white);border-bottom:1px solid var(--neon)}
.footer-list--plain li{color:var(--gray)}
.footer-contact{
  display:grid;gap:6px;margin-top:16px;
  font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;color:var(--mint);
  word-break:break-word;
}
.footer-note{margin-top:12px;font-size:12px;line-height:1.65;color:var(--gray);max-width:30em}
.footer-base{border-top:1px solid var(--brut);background:var(--night)}
.footer-base__inner{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:12px 24px;padding-block:18px;
}
.footer-closing{font-family:var(--font-serif);font-style:italic;font-size:14px;color:var(--mint)}
.footer-legal{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--gray)}

/* ---------- reveal ---------- */
html.reveal-ready [data-reveal]{
  opacity:0;transform:translateY(16px);
  transition:opacity .4s ease,transform .4s ease;
}
html.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav-filter{display:none}
}
@media (max-width:900px){
  .grid--2,.grid--3,.grid--aside{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-brand{grid-column:1 / -1}
}
@media (max-width:880px){
  .nav-toggle{display:inline-flex;margin-left:auto}
  .site-nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    margin-left:0;background:var(--ink);
    border-top:3px solid var(--brut);border-bottom:3px solid var(--brut);
    padding:10px var(--gutter) 22px;max-height:72vh;overflow-y:auto;
  }
  .site-header[data-open="true"] .site-nav{display:block}
  .site-nav__list{flex-direction:column;gap:0}
  .site-nav__link{
    font-size:17px;padding:14px 4px;
    border-bottom:1px solid var(--brut);border-left:3px solid transparent;
  }
  .site-nav__link[aria-current="page"]{
    border-bottom-color:var(--brut);border-left-color:var(--neon);padding-left:12px;
  }
  .site-nav__num{font-size:12px}
}
@media (max-width:640px){
  .footer-grid{grid-template-columns:1fr}
  .score{grid-template-columns:1fr}
  .score__side--away{border-left:0;border-top:3px solid var(--brut)}
  .header-top__inner{min-height:36px}
  .brand__sub{display:none}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  html.reveal-ready [data-reveal]{opacity:1;transform:none}
  .btn:hover{transform:none}
}
