:root{
  --ay-ink:#06201B;
  --ay-ink-700:#0C3A31;
  --ay-paper:#F4EEE2;
  --ay-mist:#DED6C4;
  --ay-cyan:#35F0D0;
  --ay-cyan-deep:#0E8F82;
  --ay-orange:#FF8A3D;
  --ay-ember:#C24E12;
  --ay-chalk:#F7FBF9;
  --ay-slate:#9FB4AE;
  --ay-rail-w:236px;
  --ay-topbar-h:64px;
  --ay-r-lg:26px;
  --ay-r-md:18px;
  --ay-r-pill:999px;
  --ay-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --ay-sans:system-ui,-apple-system,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --ay-line:rgba(222,214,196,.18);
  --ay-line-soft:rgba(222,214,196,.10);
  --ay-ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  padding-top:var(--ay-topbar-h);
  background-color:var(--ay-ink);
  background-image:
    linear-gradient(to right,var(--ay-line-soft) 1px,transparent 1px),
    linear-gradient(to bottom,var(--ay-line-soft) 1px,transparent 1px);
  background-size:72px 72px;
  color:var(--ay-chalk);
  font-family:var(--ay-sans);
  font-size:17px;
  line-height:1.85;
  letter-spacing:.005em;
  word-break:break-word;
}
h1,h2,h3,h4{font-weight:900;line-height:1.18;letter-spacing:-.012em;margin:0 0 .5em}
h1{font-size:clamp(28px,5.2vw,46px)}
h2{font-size:clamp(22px,3.4vw,32px)}
h3{font-size:clamp(18px,2.4vw,22px)}
p{margin:0 0 1em}
a{color:var(--ay-cyan);text-decoration:none}
a:hover{color:#7dfae4}
img,svg,video{max-width:100%}
ul,ol{margin:0;padding:0}
:focus-visible{outline:2px solid var(--ay-cyan);outline-offset:3px;border-radius:6px}
.ay-num{font-family:var(--ay-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.ay-skip{
  position:fixed;left:12px;top:12px;z-index:200;
  transform:translateY(-180%);
  background:var(--ay-cyan);color:#04211c;font-weight:800;
  padding:10px 18px;border-radius:var(--ay-r-pill);
  transition:transform .2s var(--ay-ease);
}
.ay-skip:focus{transform:translateY(0)}

/* ---------- header : top bar ---------- */
.ay-header{position:relative;z-index:60}
.ay-topbar{
  position:fixed;top:0;left:0;right:0;height:var(--ay-topbar-h);z-index:60;
  background:rgba(6,32,27,.94);
  border-bottom:1px solid var(--ay-line);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.ay-topbar__inner{display:flex;align-items:center;gap:14px;height:100%;padding:0 14px 0 0}
.ay-topbar__brand{display:flex;align-items:center;height:100%;padding:0 16px;border-right:1px solid var(--ay-line)}
.ay-brand{display:flex;flex-direction:column;justify-content:center;gap:2px;text-decoration:none;color:var(--ay-chalk)}
.ay-brand__mark{font-size:19px;font-weight:900;letter-spacing:-.02em;line-height:1.1}
.ay-brand__index{font-family:var(--ay-mono);font-size:10.5px;letter-spacing:.18em;color:var(--ay-slate)}
.ay-brand:hover .ay-brand__mark{color:var(--ay-cyan)}
.ay-topbar__status{
  display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap;
  font-family:var(--ay-mono);font-size:12.5px;letter-spacing:.05em;color:var(--ay-slate);
}
.ay-status-dot{
  width:8px;height:8px;border-radius:50%;background:var(--ay-cyan);flex:none;
  box-shadow:0 0 0 4px rgba(53,240,208,.16);
  animation:ay-pulse 2.6s var(--ay-ease) infinite;
}
.ay-topbar__status .ay-num{color:var(--ay-cyan)}
@keyframes ay-pulse{
  0%,100%{box-shadow:0 0 0 4px rgba(53,240,208,.16)}
  50%{box-shadow:0 0 0 9px rgba(53,240,208,.04)}
}
.ay-topbar__meta{
  display:none;margin:0;font-family:var(--ay-mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ay-slate);white-space:nowrap;
}
.ay-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 18px;border-radius:var(--ay-r-pill);
  background:var(--ay-orange);border:1px solid var(--ay-orange);color:#2A1809;
  font-weight:800;font-size:14px;line-height:1.2;text-decoration:none;white-space:nowrap;
  transition:background .2s var(--ay-ease),transform .14s var(--ay-ease),box-shadow .2s var(--ay-ease);
}
.ay-cta:hover{background:#FFA566;border-color:#FFA566;color:#2A1809;box-shadow:0 6px 22px rgba(255,138,61,.26)}
.ay-cta:active{transform:translateY(1px) scale(.99)}
.ay-cta--top{margin-left:auto}
.ay-navtoggle{
  display:inline-flex;align-items:center;gap:8px;flex:none;
  padding:9px 14px;border-radius:var(--ay-r-pill);
  border:1px solid var(--ay-line);background:transparent;color:var(--ay-chalk);
  font:inherit;font-size:13px;cursor:pointer;
  transition:border-color .2s var(--ay-ease),color .2s var(--ay-ease);
}
.ay-navtoggle:hover{border-color:var(--ay-cyan);color:var(--ay-cyan)}
.ay-navtoggle__bars{position:relative;width:16px;height:10px;flex:none}
.ay-navtoggle__bars::before,.ay-navtoggle__bars::after{
  content:"";position:absolute;left:0;right:0;height:1.6px;background:currentColor;border-radius:2px;
  transition:transform .22s var(--ay-ease);
}
.ay-navtoggle__bars::before{top:0}
.ay-navtoggle__bars::after{bottom:0}
.ay-navtoggle__text{font-family:var(--ay-mono);font-size:11.5px;letter-spacing:.12em}
.ay-progress{
  position:absolute;left:0;bottom:-1px;height:2px;width:100%;
  transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--ay-cyan),var(--ay-orange));
}

/* ---------- header : side rail / drawer ---------- */
.ay-rail{
  position:fixed;top:var(--ay-topbar-h);left:0;bottom:0;z-index:55;
  width:min(320px,86vw);
  display:flex;flex-direction:column;gap:20px;
  padding:22px 18px 30px;overflow-y:auto;
  background:linear-gradient(180deg,rgba(12,58,49,.97),rgba(6,32,27,.99));
  border-right:1px solid var(--ay-line);
  transform:translateX(-103%);
  transition:transform .32s var(--ay-ease);
}
.ay-rail[data-open]{transform:translateX(0)}
.ay-rail:focus{outline:none}
.ay-rail__group{padding-top:18px;border-top:1px solid var(--ay-line-soft)}
.ay-rail__group:first-child{padding-top:0;border-top:0}
.ay-rail__label{
  margin:0 0 10px;font-family:var(--ay-mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ay-slate);
}
.ay-rail__label .ay-num{color:var(--ay-cyan)}
.ay-nav__list{list-style:none;display:grid;gap:4px}
.ay-nav__link{
  position:relative;display:flex;align-items:baseline;gap:10px;
  padding:10px 12px 10px 18px;border-radius:14px;
  color:var(--ay-chalk);font-weight:600;font-size:15.5px;
  transition:background .2s var(--ay-ease),color .2s var(--ay-ease);
}
.ay-nav__link::before{
  content:"";position:absolute;left:5px;top:50%;
  width:3px;height:20px;border-radius:2px;background:var(--ay-cyan);
  transform:translateY(-50%) scaleY(0);transform-origin:50% 50%;
  transition:transform .24s var(--ay-ease);
}
.ay-nav__link:hover{background:rgba(53,240,208,.10);color:var(--ay-cyan)}
.ay-nav__link[aria-current="page"]{background:rgba(53,240,208,.08);color:var(--ay-cyan)}
.ay-nav__link[aria-current="page"]::before{transform:translateY(-50%) scaleY(1)}
.ay-nav__code{font-family:var(--ay-mono);font-size:11px;letter-spacing:.14em;color:var(--ay-slate)}
.ay-nav__link[aria-current="page"] .ay-nav__code{color:var(--ay-cyan)}
.ay-leagues{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ay-league{
  display:flex;align-items:center;gap:7px;width:100%;
  padding:8px 10px;border-radius:var(--ay-r-pill);
  border:1px solid var(--ay-line);background:transparent;color:var(--ay-chalk);
  font:inherit;font-size:13.5px;cursor:pointer;
  transition:border-color .2s var(--ay-ease),background .2s var(--ay-ease),color .2s var(--ay-ease);
}
.ay-league:hover{border-color:var(--ay-cyan)}
.ay-league[aria-pressed="true"]{border-color:var(--ay-cyan);background:rgba(53,240,208,.12);color:var(--ay-cyan)}
.ay-league__code{font-family:var(--ay-mono);font-size:11px;letter-spacing:.12em;color:var(--ay-slate)}
.ay-league[aria-pressed="true"] .ay-league__code{color:var(--ay-cyan)}
.ay-league__name{font-weight:700}
.ay-timeline{list-style:none;position:relative;padding-left:14px}
.ay-timeline::before{
  content:"";position:absolute;left:3px;top:8px;bottom:8px;width:1px;background:var(--ay-line);
}
.ay-tick{position:relative;display:flex;align-items:center;gap:10px;padding:7px 0;font-size:12.5px;color:var(--ay-slate)}
.ay-tick__time{min-width:52px;font-family:var(--ay-mono);font-size:12px;letter-spacing:.06em;color:var(--ay-chalk)}
.ay-tick__dot{
  position:absolute;left:-14px;top:50%;transform:translateY(-50%);
  width:7px;height:7px;border-radius:50%;background:var(--ay-ink-700);border:1px solid var(--ay-cyan);
}
.ay-tick__meta{margin-left:auto;font-family:var(--ay-mono);font-size:11px;letter-spacing:.12em}
.ay-scrim{
  position:fixed;inset:var(--ay-topbar-h) 0 0 0;z-index:54;
  border:0;padding:0;background:rgba(4,18,15,.68);
  opacity:0;visibility:hidden;cursor:pointer;
  transition:opacity .24s var(--ay-ease),visibility .24s var(--ay-ease);
}
.ay-scrim[data-open]{opacity:1;visibility:visible}

/* ---------- footer ---------- */
.ay-footer{margin-top:clamp(40px,7vw,96px);background:var(--ay-ink);border-top:1px solid var(--ay-line)}
.ay-footer__band{
  display:flex;flex-wrap:wrap;gap:10px 30px;align-items:center;justify-content:space-between;
  padding:20px clamp(16px,4vw,48px);
  background:var(--ay-ink-700);border-bottom:1px solid var(--ay-line);
}
.ay-band__text{margin:0;font-size:15.5px;color:var(--ay-chalk);max-width:56ch}
.ay-band__meta{margin:0;font-family:var(--ay-mono);font-size:12px;letter-spacing:.06em;color:var(--ay-slate)}
.ay-band__meta .ay-num{color:var(--ay-cyan)}
.ay-band__link{color:var(--ay-orange);border-bottom:1px solid rgba(255,138,61,.45);padding-bottom:1px}
.ay-band__link:hover{color:#FFA566}
.ay-footer__main{
  display:grid;gap:34px;
  padding:clamp(28px,5vw,56px) clamp(16px,4vw,48px);
}
.ay-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.ay-brand--footer .ay-brand__mark{font-size:24px}
.ay-footer__desc{margin:0;color:var(--ay-slate);font-size:15px;max-width:34ch}
.ay-cta--footer{margin-top:2px}
.ay-footer__groups{display:grid;gap:28px;grid-template-columns:1fr}
.ay-fgroup__title{
  display:flex;align-items:baseline;gap:9px;margin:0 0 12px;
  font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--ay-chalk);
}
.ay-fgroup__code{font-family:var(--ay-mono);font-size:11px;letter-spacing:.16em;color:var(--ay-slate);font-weight:500}
.ay-fgroup__list{list-style:none;display:grid;gap:4px}
.ay-fgroup__link{
  display:inline-flex;align-items:baseline;gap:9px;
  padding:5px 0;font-size:15px;color:var(--ay-slate);
  transition:color .2s var(--ay-ease)
}
.ay-fgroup__link::before{
  content:"";width:14px;height:1px;background:currentColor;flex:none;transform:translateY(-4px);
}
.ay-fgroup__link:hover{color:var(--ay-cyan)}
.ay-legal{
  padding:18px clamp(16px,4vw,48px) 26px;
  border-top:1px solid rgba(222,214,196,.28);
}
.ay-legal__row{display:flex;flex-wrap:wrap;gap:8px 26px;margin-bottom:10px}
.ay-legal__item{
  display:inline-flex;align-items:baseline;gap:8px;
  font-family:var(--ay-mono);font-size:12px;letter-spacing:.04em;color:var(--ay-slate);
}
.ay-legal__code{
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ay-cyan-deep);
  border:1px solid rgba(14,143,130,.55);border-radius:var(--ay-r-pill);padding:1px 7px;
}
.ay-legal__note{margin:0 0 8px;font-size:13.5px;color:var(--ay-slate);max-width:70ch;line-height:1.7}
.ay-legal__copy{margin:0;font-family:var(--ay-mono);font-size:11.5px;letter-spacing:.12em;color:var(--ay-slate)}
.ay-totop{
  position:fixed;right:16px;bottom:18px;z-index:70;
  padding:10px 15px;border-radius:var(--ay-r-pill);
  border:1px solid var(--ay-cyan);background:rgba(6,32,27,.92);color:var(--ay-cyan);
  font-family:var(--ay-mono);font-size:11px;letter-spacing:.14em;cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s var(--ay-ease),transform .25s var(--ay-ease),visibility .25s var(--ay-ease);
}
.ay-totop[data-visible="true"]{opacity:1;visibility:visible;transform:none}

/* ---------- shared page components ---------- */
.ay-page{max-width:1180px;margin:0 auto;padding:clamp(22px,4vw,56px) clamp(16px,4vw,48px)}
.ay-section{position:relative;padding:clamp(28px,5vw,68px) 0;border-top:1px solid var(--ay-line-soft)}
.ay-section:first-child{border-top:0;padding-top:clamp(16px,3vw,36px)}
.ay-section__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-bottom:clamp(16px,2.6vw,28px)}
.ay-eyebrow{
  margin:0;font-family:var(--ay-mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ay-slate)
}
.ay-lede{font-size:17.5px;line-height:1.9;color:var(--ay-slate);max-width:42ch}
.ay-rule{height:1px;border:0;margin:0;background:var(--ay-line)}
.ay-grid{display:grid;gap:clamp(14px,2.2vw,26px);grid-template-columns:1fr}
.ay-span-4,.ay-span-6,.ay-span-8,.ay-span-12{grid-column:1 / -1}
.ay-crumbs{padding-top:14px}
.ay-crumbs__list{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ay-crumbs__link{font-family:var(--ay-mono);font-size:11.5px;letter-spacing:.1em;color:var(--ay-slate)}
.ay-crumbs__link:hover{color:var(--ay-cyan)}
.ay-crumbs__current{font-family:var(--ay-mono);font-size:11.5px;letter-spacing:.1em;color:var(--ay-cyan)}
.ay-crumbs__link + .ay-crumbs__link::before,
.ay-crumbs__list li + li::before{content:"/";margin-right:8px;color:rgba(159,180,174,.5)}
.ay-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:var(--ay-r-pill);
  border:1px solid var(--ay-line);background:transparent;color:var(--ay-chalk);
  font:inherit;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;
  transition:border-color .2s var(--ay-ease),color .2s var(--ay-ease),background .2s var(--ay-ease);
}
.ay-btn--ghost:hover{border-color:var(--ay-cyan);color:var(--ay-cyan)}
.ay-btn--orange{background:var(--ay-orange);border-color:var(--ay-orange);color:#2A1809}
.ay-btn--orange:hover{background:#FFA566;border-color:#FFA566;color:#2A1809}
.ay-tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 12px;border-radius:var(--ay-r-pill);
  border:1px solid currentColor;font-family:var(--ay-mono);
  font-size:11px;letter-spacing:.12em;white-space:nowrap;
}
.ay-tag--cyan{color:var(--ay-cyan)}
.ay-tag--orange{color:var(--ay-orange)}
.ay-card{
  border:1px solid var(--ay-line);border-radius:var(--ay-r-lg);
  background:linear-gradient(180deg,rgba(12,58,49,.78),rgba(6,32,27,.62));
  padding:clamp(18px,2.4vw,26px);
}
.ay-card__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 14px}
.ay-card__title{margin:0;font-size:19px;font-weight:800;line-height:1.35}
.ay-card__meta{font-family:var(--ay-mono);font-size:11.5px;letter-spacing:.14em;color:var(--ay-slate)}
.ay-card__body{margin:10px 0 0;color:var(--ay-slate);font-size:15.5px;line-height:1.85;max-width:42ch}
.ay-panel{
  background:var(--ay-paper);color:var(--ay-ink);
  border-radius:var(--ay-r-lg);padding:clamp(20px,3vw,38px);
}
.ay-panel h1,.ay-panel h2,.ay-panel h3{color:var(--ay-ink)}
.ay-panel a{color:var(--ay-cyan-deep)}
.ay-panel a:hover{color:var(--ay-ember)}
.ay-panel__title{margin:0 0 12px;font-size:clamp(20px,2.6vw,26px);font-weight:900}
.ay-stat{display:flex;flex-direction:column;gap:4px}
.ay-stat__value{
  font-family:var(--ay-mono);font-variant-numeric:tabular-nums;
  font-weight:800;line-height:.92;letter-spacing:-.02em;
  font-size:clamp(44px,9vw,120px);color:var(--ay-cyan);
}
.ay-stat__label{font-family:var(--ay-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ay-slate)}
.ay-mono-label{font-family:var(--ay-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ay-slate)}
.ay-expand{border-top:1px solid var(--ay-line-soft)}
.ay-expand__btn{
  position:relative;width:100%;display:flex;align-items:center;gap:12px;
  padding:16px 34px 16px 0;border:0;background:transparent;color:var(--ay-chalk);
  font:inherit;font-weight:700;font-size:16px;text-align:left;cursor:pointer;
  transition:color .2s var(--ay-ease);
}
.ay-expand__btn:hover{color:var(--ay-cyan)}
.ay-expand__btn::after{
  content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-family:var(--ay-mono);font-size:17px;color:var(--ay-cyan);
}
.ay-expand__btn[aria-expanded="true"]::after{content:"–"}
.ay-expand__panel{
  display:grid;grid-template-rows:0fr;opacity:0;
  transition:grid-template-rows .32s var(--ay-ease),opacity .32s var(--ay-ease);
}
.ay-expand__panel[data-open]{grid-template-rows:1fr;opacity:1}
.ay-expand__panel > div{overflow:hidden;min-height:0}
.ay-media{
  position:relative;overflow:hidden;aspect-ratio:16/10;
  border-radius:var(--ay-r-lg);border:1px solid var(--ay-line);
  background:linear-gradient(140deg,var(--ay-ink-700),#082824);
}
.ay-media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(158deg,rgba(53,240,208,.18),rgba(255,138,61,.14));
  mix-blend-mode:screen;
}
.ay-media img{display:block;width:100%;height:100%;object-fit:cover}
.ay-media--wide{aspect-ratio:21/9}
.ay-media--tall{aspect-ratio:3/4}
.ay-media--square{aspect-ratio:1/1}
.ay-media__caption{
  margin:10px 0 0;font-family:var(--ay-mono);
  font-size:11.5px;letter-spacing:.1em;color:var(--ay-slate);
}

/* ---------- reveal ---------- */
.ay-js [data-reveal]{opacity:0;transform:translateY(16px)}
.ay-js [data-reveal]{transition:opacity .55s var(--ay-ease),transform .55s var(--ay-ease)}
.ay-js [data-reveal][data-revealed]{opacity:1;transform:none}

/* ---------- tablet ---------- */
@media (min-width:768px){
  .ay-topbar__inner{gap:18px;padding-right:20px}
  .ay-topbar__brand{padding:0 22px}
  .ay-topbar__meta{display:block}
  .ay-grid{grid-template-columns:repeat(12,1fr)}
  .ay-span-4{grid-column:span 4}
  .ay-span-6{grid-column:span 6}
  .ay-span-8{grid-column:span 8}
  .ay-span-12{grid-column:span 12}
  .ay-footer__groups{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:900px){
  .ay-footer__main{grid-template-columns:minmax(230px,1fr) 2fr;gap:clamp(30px,5vw,72px)}
}

/* ---------- desktop : rail becomes permanent column ---------- */
@media (min-width:1024px){
  body{padding-left:var(--ay-rail-w);padding-top:var(--ay-topbar-h)}
  .ay-topbar{
    background:rgba(6,32,27,.9);
  }
  .ay-topbar__brand{width:var(--ay-rail-w)}
  .ay-navtoggle{display:none}
  .ay-rail{transform:none;width:var(--ay-rail-w);transition:none}
  .ay-rail[data-open]{transform:none}
  .ay-scrim{display:none}
  .ay-totop{right:26px;bottom:26px}
}

/* ---------- motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .ay-status-dot{animation:none;box-shadow:0 0 0 4px rgba(53,240,208,.2)}
  .ay-js [data-reveal]{opacity:1;transform:none}
}
