:root{
  --bg:#0d0e13;
  --bg-2:#111219;
  --surface:#171924;
  --surface-2:#1c1f2c;
  --line:rgba(236,237,245,0.08);
  --line-2:rgba(236,237,245,0.14);
  --text:#ECEDF3;
  --muted:#9296a6;
  --muted-dim:#5a5e6e;
  --accent:oklch(0.62 0.2 25);
  --gold:oklch(0.82 0.11 84);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Hanken Grotesk',system-ui,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
input{font-family:inherit}
button{font-family:inherit}
::selection{background:color-mix(in oklch,var(--accent),transparent 60%);color:#fff}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:color-mix(in oklch,var(--accent),transparent 55%);border-radius:9px;border:2px solid var(--bg)}
@keyframes pbcPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.35;transform:scale(0.82)}}
@media(max-width:760px){.pbc-navlinks{display:none !important}}
.pbc-about-heading{white-space:nowrap}
@media(max-width:560px){.pbc-about-heading{white-space:normal;font-size:clamp(1.8rem,7vw,2.4rem) !important}}

/* About+map: text column gets real width on desktop so the heading and the
   generation-logo row fit on one line without shrinking or scrolling. Stacks
   single-column on narrow screens like before. */
.pbc-about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
@media(min-width:760px){.pbc-about-grid{grid-template-columns:1.5fr 1fr}}
.pbc-gen-caption{display:inline-block}
@media(max-width:560px){.pbc-gen-caption{display:none}}
@media(max-width:480px){#podium-grid{grid-template-columns:minmax(0,300px) !important;justify-content:center !important;max-width:none !important}.pbc-gold{order:-1}}

.sponsors-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(0.8rem,2vw,1.2rem)}
@media(max-width:900px){.sponsors-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.sponsors-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){#countdown-timer{margin-left:0 !important;justify-content:center;width:100%}}

/* generic scroll-reveal — toggled by main.js IntersectionObserver */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.16,.7,.2,1),transform .8s cubic-bezier(.16,.7,.2,1)}
[data-reveal].is-visible{opacity:1;transform:none}
[data-reveal-delay="100"].is-visible{transition-delay:100ms}
[data-reveal-delay="120"].is-visible{transition-delay:120ms}

/* events tab panes */
.pbc-tab-btn{background:none;border:none;cursor:pointer;font-family:'Hanken Grotesk';font-size:0.92rem;font-weight:700;letter-spacing:0.01em;text-transform:uppercase;padding:0.7em 1.3em;position:relative;transition:color .2s ease;color:var(--muted)}
.pbc-tab-btn.active{color:var(--accent)}
.pbc-tab-btn .pbc-tab-underline{position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);display:none}
.pbc-tab-btn.active .pbc-tab-underline{display:block}
.pbc-tab-pane{display:none}
.pbc-tab-pane.active{display:block}

/* full standings table */
.standings-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:1.1em;background:var(--surface)}
.standings-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1640px;font-variant-numeric:tabular-nums}
.standings-table th{position:sticky;top:0;z-index:4;background:var(--bg-2);padding:0.7em 0.6em;text-align:center;border-bottom:1px solid var(--line-2);white-space:nowrap;min-width:3.7rem}
.standings-table td{padding:0.7em 0.6em;text-align:center;border-bottom:1px solid var(--line);font-family:'Space Mono';font-size:0.82rem;min-width:3.7rem}
.standings-table .pin{position:sticky;z-index:6;background:var(--bg-2)}
.standings-table tbody .pin{z-index:3}
.col-rank{width:2.9rem;min-width:2.9rem;max-width:2.9rem;left:0}
.col-blader{width:11rem;min-width:11rem;left:2.9rem;text-align:left}
.col-bpi{width:3.8rem;min-width:3.8rem;left:calc(2.9rem + 11rem)}
.col-apt{width:3.6rem;min-width:3.6rem;left:calc(2.9rem + 11rem + 3.8rem)}
.col-tp{width:3.6rem;min-width:3.6rem;left:calc(2.9rem + 11rem + 3.8rem + 3.6rem)}
.col-ta{width:3.4rem;min-width:3.4rem;left:calc(2.9rem + 11rem + 3.8rem + 3.6rem + 3.6rem);border-right:2px solid var(--line-2);box-shadow:6px 0 12px -8px rgba(0,0,0,0.7)}
@media(max-width:600px){
  .col-rank{width:2.3rem;min-width:2.3rem;max-width:2.3rem}
  .col-blader{width:6.8rem;min-width:6.8rem;left:2.3rem}
  .col-bpi{width:3rem;min-width:3rem;left:calc(2.3rem + 6.8rem)}
  .col-apt{width:2.8rem;min-width:2.8rem;left:calc(2.3rem + 6.8rem + 3rem)}
  .col-tp{width:2.8rem;min-width:2.8rem;left:calc(2.3rem + 6.8rem + 3rem + 2.8rem)}
  .col-ta{width:2.7rem;min-width:2.7rem;left:calc(2.3rem + 6.8rem + 3rem + 2.8rem + 2.8rem)}
}
.sort-btn{cursor:pointer;padding:0.5em 0.95em;border-radius:0.55em;font-family:'Hanken Grotesk';font-size:0.76rem;font-weight:700;letter-spacing:0.01em;transition:all .18s ease;background:transparent;color:var(--muted);border:1px solid var(--line-2)}
.sort-btn.active{background:var(--accent);color:#fff;border-color:transparent}
.search-input{width:100%;padding:0.7em 1em 0.7em 2.6em;border-radius:0.65em;border:1px solid var(--line-2);background:var(--surface);color:var(--text);font-size:0.85rem;outline:none;transition:border-color .2s ease}
.search-input:focus{border-color:var(--accent)}
