:root{--fx-night:#10151f;--fx-turf:#1b2433;--fx-volt:#c8f03c;--fx-volt-d:#8fb31a;--fx-chalk:#f5f6f2;--fx-line:#2c3848;--fx-mute:#9aa6b6;--fx-ink:#1a1f27;--fx-paper:#ffffff;--fx-cone:#ff7a3d}
*{box-sizing:border-box}html{background:var(--fx-chalk)}
body{margin:0;background:var(--fx-chalk);color:var(--fx-ink);font:17px/1.72 "Barlow","Segoe UI","Helvetica Neue",Arial,sans-serif}
a{color:#3d5a0f;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--fx-volt-d)}a:hover{color:var(--fx-cone)}
.fx-frame{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.fx-rail{background:var(--fx-night);color:var(--fx-chalk);padding:28px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:26px}
.fx-badge{display:block;text-decoration:none;color:var(--fx-chalk);font:800 26px/0.95 "Oswald","Impact","Arial Narrow",sans-serif;letter-spacing:.02em;text-transform:uppercase}
.fx-badge b{display:inline-block;background:var(--fx-volt);color:var(--fx-night);padding:2px 7px;margin-top:6px;transform:skew(-8deg)}
.fx-drills{display:flex;flex-direction:column;gap:2px}
.fx-drills a{color:var(--fx-mute);text-decoration:none;font:600 14px/1.4 "Oswald","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.08em;padding:8px 0 8px 12px;border-left:3px solid transparent}
.fx-drills a:hover{color:var(--fx-volt);border-left-color:var(--fx-volt)}
.fx-railnote{margin-top:auto;font-size:12.5px;line-height:1.5;color:var(--fx-mute)}
.fx-pitch{padding:0 clamp(18px,4vw,56px) 60px;max-width:900px}
.fx-scoreboard{padding:52px 0 30px;border-bottom:2px solid var(--fx-ink)}
.fx-scoreboard h1{font:800 clamp(34px,6vw,62px)/1 "Oswald","Impact","Arial Narrow",sans-serif;text-transform:uppercase;margin:0 0 16px;max-width:16ch}
.fx-scoreboard p{margin:0;max-width:52ch;font-size:18px;color:#3b4452}
.fx-sessions{list-style:none;margin:0;padding:0;counter-reset:fxs}
.fx-session{counter-increment:fxs;border-bottom:1px solid #d9dcd4}
.fx-session a{display:grid;grid-template-columns:72px 1fr;gap:4px 18px;padding:24px 0;text-decoration:none;color:var(--fx-ink)}
.fx-session a::before{content:counter(fxs,decimal-leading-zero);grid-row:span 3;font:800 42px/1 "Oswald","Impact",sans-serif;color:var(--fx-volt-d)}
.fx-session a:hover::before{color:var(--fx-cone)}
.fx-session h2{margin:0;font:700 23px/1.25 "Oswald","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.01em}
.fx-session p{margin:0;color:#4a5361;font-size:15.5px;line-height:1.55}
.fx-rep{font:700 11.5px/1.5 "JetBrains Mono",Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--fx-cone)}
.fx-drill{padding:48px 0 20px;max-width:700px}
.fx-drill h1{font:800 clamp(30px,5vw,48px)/1.05 "Oswald","Impact","Arial Narrow",sans-serif;text-transform:uppercase;margin:10px 0 16px}
.fx-warmup{font-size:19px;line-height:1.6;color:#3b4452;margin:0 0 28px;padding:0 0 22px 18px;border-left:6px solid var(--fx-volt)}
.fx-drill h2{font:700 22px/1.3 "Oswald","Arial Narrow",sans-serif;text-transform:uppercase;margin:34px 0 8px;letter-spacing:.02em}
.fx-drill ul,.fx-drill ol{padding-left:22px}.fx-drill li{margin:6px 0}
.fx-whistle{display:block;background:var(--fx-turf);color:var(--fx-chalk);padding:16px 20px;border-radius:4px;font-size:15px;line-height:1.6;margin:30px 0}
.fx-whistle strong{color:var(--fx-volt)}
.fx-cooldown{margin-top:38px;font:12.5px/1.5 "JetBrains Mono",Menlo,monospace;color:#6b7482;text-transform:uppercase;letter-spacing:.06em}
.fx-tunnel{background:var(--fx-ink);color:var(--fx-mute);font-size:13.5px;padding:22px clamp(18px,4vw,56px);display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between}
.fx-tunnel a{color:var(--fx-chalk)}
@media(max-width:680px){.fx-frame{grid-template-columns:1fr}.fx-rail{position:static;height:auto;padding:18px 16px;gap:12px}
.fx-drills{flex-direction:row;flex-wrap:wrap;gap:0 14px}.fx-drills a{padding:4px 0;border-left:0}.fx-railnote{display:none}
.fx-pitch{padding:0 16px 40px}.fx-scoreboard{padding-top:30px}.fx-session a{grid-template-columns:48px 1fr}.fx-session a::before{font-size:30px}.fx-drill{padding-top:28px}}