:root{--bg:#171614;--bg-raised:#1e1d1a;--bg-card:#1b1a17;--ink:#d9d4c7;--ink-strong:#f2eee4;--ink-dim:#877f72;--rule:#2c2a26;--green:#8fbf7f;--yellow:#d6b35a;--red:#d9695a;--magenta:#c98bb4;--cyan:#74b8b8;--row:1.6rem;font-variant-numeric:tabular-nums;--buncss-light: ;--buncss-dark:initial;color-scheme:dark;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.55}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}h1,h2{font-size:inherit;color:var(--ink-strong);margin:0;font-weight:600}p{margin:0}code{color:var(--ink-strong)}.dim{color:var(--ink-dim)}.loud{font-weight:600}.num{text-align:right;white-space:nowrap}.abbr{color:var(--ink-dim)}.label{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;font-size:.8em}.ent-item{color:var(--green)}.ent-course,.ent-segment{color:var(--yellow)}.ent-device{color:var(--cyan)}.ent-racer,.ent-team{color:var(--ink-strong)}.tone-incident,.tone-crate{color:var(--yellow)}.tone-incident-severe,.tone-block{color:var(--red)}.tone-item,.tone-modifier{color:var(--magenta)}.tone-device{color:var(--cyan)}.tone-expired,.tone-header{color:var(--ink-dim)}.line:not(.tone-plain):not(.tone-header) .ent-racer{color:inherit}.tok{display:inline-block;border:1px solid var(--rule);white-space:nowrap;border-radius:3px;margin-right:.3em;padding:0 .35em;font-size:.85em;line-height:1.3}.tok small{color:var(--ink-dim);font-size:.85em}.has-tip{position:relative;cursor:default;border-radius:2px}.has-tip:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.tip{position:fixed;z-index:10;pointer-events:none;background:var(--bg-raised);border:1px solid var(--rule);color:var(--ink);text-align:left;white-space:normal;text-decoration:none;border-radius:4px;min-width:17rem;max-width:22rem;padding:.5rem .65rem;font-weight:400;line-height:1.5;box-shadow:0 6px 20px #00000073}.tip-head{margin-bottom:.1rem}.tip-state{margin-top:.2rem}.tip-effects{margin-top:.3rem}dl.tip-stats{display:grid;grid-template-columns:auto 1fr;gap:.05rem .6rem;margin:.45rem 0 0;font-size:.85em}dl.tip-stats div{display:contents}dl.tip-stats dt{color:var(--ink-dim)}dl.tip-stats dd{display:flex;align-items: center;gap:.4rem;margin:0}dl.tip-stats dd i{display:block;background:var(--ink-dim);opacity:.7;border-radius:2px;max-width:calc(100% - 2.2rem);height:4px}dl.tip-stats dd .num{min-width:1.6rem}button,.button,select{font:inherit;color:var(--ink);background:var(--bg-raised);border:1px solid var(--rule);cursor:pointer;border-radius:3px;padding:.1rem .5rem;line-height:1.5}button:hover,.button:hover,select:hover{border-color:var(--ink-dim);color:var(--ink-strong)}.transport button{display:inline-flex;justify-content:center;align-items: center;width:2rem;height:1.75rem;padding:0}.transport button.play{color:var(--ink-strong);width:2.6rem}.transport select{margin-left:.3rem}.transport button.live{letter-spacing:.08em;text-transform:uppercase;width:auto;padding:0 .6rem;font-size:.75rem}.transport button.live.behind{color:var(--ink-dim)}.transport button:disabled{opacity:.35;cursor:default}.race .strip .lap.on-air{color:var(--ink-strong);font-weight:600}.button input[type=file]{display:none}input[type=range]{accent-color:var(--ink-dim);flex:1;min-width:6rem;margin:0}.app{display:flex;flex-direction:column;min-height:100vh}main.races{flex:1}.app.dragging{outline:2px dashed var(--ink-dim);outline-offset:-8px}.empty{display:flex;text-align:center;flex-direction:column;justify-content:center;align-items: center;gap:.75rem;min-height:100vh;padding:2rem}header.top{display:flex;border-bottom:1px solid var(--rule);align-items: center;gap:1rem;padding:.5rem 1rem}header.top h1{margin-right:auto}header.top .pickers{display:flex;gap:.5rem;min-width:0}header.top .pickers select{max-width:24rem}header.top select:disabled{color:var(--ink-dim);cursor:default}main.races .hint{text-align:center;padding:3rem 0}.notices{color:var(--yellow);border-bottom:1px solid var(--rule);margin:0;padding:.4rem 1rem .4rem 2.25rem}main.races{display:flex;flex-direction:column;gap:1rem;max-width:96rem;margin:0 auto;padding:1rem}.race{border:1px solid var(--rule);background:var(--bg-card);overflow:hidden;border-radius:5px}.race .strip{display:flex;border-bottom:1px solid var(--rule);background:var(--bg-raised);flex-wrap:wrap;align-items: center;gap:.4rem 1.25rem;padding:.45rem .9rem}.race .strip .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:18rem}.transport{display:flex;align-items: center;gap:.25rem}.race .strip .progress{display:flex;flex:16rem;align-items: center;gap:.5rem}.race .strip .where{overflow:hidden;display:flex;white-space:nowrap;flex:0 0 15rem;align-items: center;gap:.4rem;min-width:0}.race .strip .counter{flex:0 0 4.5rem}.race .strip .close{color:var(--ink-dim);background:0 0;border-color:#0000;flex:none;width:1.75rem;height:1.75rem;margin-left:-.5rem;padding:0}.race .strip .close:hover{color:var(--ink-strong);border-color:var(--rule)}.race .blocks{display:grid;grid-template-columns:minmax(13rem,.7fr)minmax(24rem,1.5fr)minmax(20rem,1.5fr);background:var(--rule);gap:1px}.race .blocks>section{background:var(--bg-card);overflow:hidden;min-width:0;height:14.2rem;padding:.6rem .9rem}.match{display:flex;flex-direction:column;gap:.35rem}.match .team{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;align-items: center;column-gap:.75rem;padding:.35rem 0}.match .team-name{grid-column:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.match .team-drivers{grid-column:1;font-size:.9em}.match .team-record{grid-column:1;font-size:.85em}.match .team-points{grid-column:2;grid-row:1/span 3;color:var(--ink-dim);min-width:2ch;font-size:1.7em;font-weight:600}.match .team.ahead .team-points{color:var(--ink-strong)}.match .verdict{margin-top:auto;font-size:.9em}.tower{position:relative}.tower .row{position:absolute;height:var(--row);display:flex;white-space:nowrap;align-items: center;gap:.5rem;transition:transform .45s;left:0;right:0}.tower .row.out,.tower .row.out .ent-racer{color:var(--ink-dim)}.tower .pos{flex:0 0 2.2rem}.tower .name{overflow:hidden;text-overflow:ellipsis;flex:0 13rem;min-width:6rem}.tower .abbr{flex:0 0 2.4rem}.tower .gap{flex:0 0 2.6rem}.tower .pts{flex:0 0 3.6rem}.tower .extras{flex:1 1 0;min-width:5rem}.tower .extras .tok{flex:none;margin-right:0}.glide{display:block;overflow:hidden;white-space:nowrap}.glide .track{display:inline-flex;white-space:nowrap;align-items: center;gap:.3rem}.glide.scrolls{mask-image:linear-gradient(90deg,#0000,#000 .6rem calc(100% - .6rem),#0000)}.glide.scrolls .track{animation:glide var(--glide,8s)ease-in-out infinite}.glide.scrolls:hover .track{animation-play-state:paused}.race .strip .where .glide{flex:1 1 0;min-width:0}@keyframes glide{0%,20%{transform:translate(0)}70%,to{transform:translateX(var(--shift))}}.ticker{display:flex;flex-direction:column}.recent{overflow-y:auto;flex:1;min-height:0}.loglines .line{white-space:pre-wrap;padding-left:1rem}.loglines .kind-segment{margin-top:.7rem;padding-left:0}.recent .kind-segment:first-child{margin-top:0}.loglines .kind-detail{color:var(--ink-dim);padding-left:3rem}.loglines .kind-lap{border-top:1px solid var(--rule);color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;margin:.6rem 0 0;padding:.2rem 0;font-size:.85em}.loglines .kind-score{color:var(--ink-strong);margin-top:.75rem;padding-left:0}.loglines .kind-raw{color:var(--ink-dim);font-size:.9em}.board-wrap{border-top:1px solid var(--rule);padding:.25rem 1.25rem .9rem}.board-wrap p{padding:.35rem 0 .5rem}table.board{border-collapse:collapse}table.board th{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;text-align:left;font-size:.8em;font-weight:400}table.board th,table.board td{padding:.05rem .6rem .05rem 0}table.board tr.dim .ent-team{color:var(--ink-dim)}table.board tr.entrant{font-weight:600}.booth{background:var(--bg-card);border-top:1px solid var(--rule);min-width:0;padding:.5rem 1.25rem .9rem}.booth-title{text-transform:uppercase;letter-spacing:.08em;padding-bottom:.3rem;font-size:.8em}.booth-columns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2rem}.booth .said{overflow-y:auto;height:22rem;font-size:1.05em;line-height:1.55}.booth .said p{margin-top:.3rem}@media (max-width:64rem){.booth-columns{grid-auto-flow:row}}.said .speaker{color:var(--ink-strong);font-weight:600}.said p{white-space:pre-wrap;margin:.15rem 0 0}.said .b{color:var(--ink-strong);font-weight:600}.said .i{font-style:italic}.said .hue-red{color:var(--red)}.said .hue-yellow{color:var(--yellow)}.said .hue-green{color:var(--green)}.said .hue-cyan{color:var(--cyan)}.said .hue-magenta{color:var(--magenta)}.said .hue-dim{color:var(--ink-dim)}.transcript{border-top:1px solid var(--rule);overflow-y:auto;max-height:32rem;padding:.25rem 1.25rem .9rem}.transcript section{padding:.5rem 0 .25rem}.transcript h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);margin:0 0 .25rem;font-size:.8em;font-weight:400}.transcript .said{max-width:72ch;padding-bottom:.4rem}.transcript>p{padding-top:.5rem}details.fulllog{border-top:1px solid var(--rule)}details.fulllog summary{cursor:pointer;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;list-style:none;padding:.35rem .9rem;font-size:.8em}details.fulllog summary::-webkit-details-marker{display:none}details.fulllog summary:before{content:"+";display:inline-block;width:1.2rem}details.fulllog[open] summary:before{content:"–"}details.fulllog summary:hover{color:var(--ink)}.log{overflow:auto;border-top:1px solid var(--rule);scroll-behavior:smooth;max-height:70vh;padding:.25rem 1.25rem 3rem}.log section.lap h2{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;margin:1rem 0 .25rem;font-size:.85em}@media (max-width:1100px){.race .blocks{grid-template-columns:minmax(14rem,1fr)minmax(18rem,1.4fr)}.race .blocks>.ticker{grid-column:1/-1}}@media (max-width:700px){.race .blocks{grid-template-columns:minmax(0,1fr)}.race .strip .where{flex:0 8rem}}.tabs{display:flex;gap:.25rem}.tabs .tab{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:1px solid #0000;padding:.25rem .7rem;font-size:.8em}.tabs .tab:hover{color:var(--ink)}.tabs .tab.current{color:var(--ink-strong);border-color:var(--rule);background:var(--bg-raised)}.tabs.small{border-bottom:1px solid var(--rule);background:var(--bg-card);padding:.3rem .6rem}.today,.results{display:flex;flex-direction:column;gap:1rem}.panel{background:var(--bg-card);border:1px solid var(--rule);padding:.6rem .9rem .7rem}.panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);margin:0 0 .4rem;font-size:.8em;font-weight:400}.up-next{position:sticky;display:flex;border-top:1px solid var(--rule);background:var(--bg-raised);flex-wrap:wrap;align-items:baseline;gap:.25rem 1.75rem;padding:.45rem 1rem;bottom:0}.up-next .kicker{text-transform:uppercase;letter-spacing:.1em;font-size:.75em}.up-next .entry{white-space:nowrap}.up-next .entry .num{color:var(--ink-strong);margin-left:.25rem}main.races{padding-bottom:1.5rem}.marquee{padding:1.1rem 1.25rem 1.2rem}.marquee .kicker{text-transform:uppercase;letter-spacing:.1em;font-size:.75em}.marquee .headline{color:var(--ink-strong);margin-top:.35rem;font-size:1.6em;line-height:1.25}.marquee .venue{margin-top:.15rem}.marquee .countdown{color:var(--ink-strong);letter-spacing:.02em;margin-top:.6rem;font-size:2.6em;line-height:1.1}.marquee .podium{display:flex;flex-wrap:wrap;gap:.4rem 2.5rem;margin-top:.9rem}.marquee .podium .step.first .rank{color:var(--yellow);font-weight:600}.marquee .podium .step.first .ent-team{color:var(--ink-strong);font-weight:600}.last-race-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.5rem;padding:.2rem 0 .6rem;font-size:1.05em}.last-race .last-word{border-top:1px solid var(--rule);margin-top:.4rem;padding-top:.7rem}.last-race .last-word .said p{max-width:64ch;font-size:1.05em;line-height:1.55}.strong{color:var(--ink-strong)}.last-word-panel .last-word{border-top:0;margin-top:0;padding-top:0}.standings-tables{display:flex;flex-wrap:wrap;align-items: flex-start;gap:.5rem 2rem}.slate td,.recent-results td{vertical-align:baseline;white-space:nowrap;padding:.15rem .8rem .15rem 0}.panel{overflow-x:auto}.slate tr.live .live{color:var(--ink-strong);font-weight:600}.slate tr.live td:first-child{box-shadow:inset 3px 0 0 var(--green);padding-left:.6rem}.slate tr.live .ent-team{color:var(--ink-strong)}.slate tr td:first-child,.results tr td:first-child{padding-left:.35rem}.slate td,.results td{border-top:1px solid var(--rule);vertical-align:baseline;padding:.5rem 1.4rem .5rem 0}.slate tr:first-child td,.results tr:first-child td{border-top:0}.slate td.num:last-child{text-align:left;white-space:nowrap}.score{display:inline-block;min-width:10ch}.score .tiebreak{margin-left:.5rem;font-size:.85em}.results .said{margin-bottom:0}table.board tr.top .ent-team,table.board tr.top .ent-racer{color:var(--ink-strong)}table.board tr.top-1 .rank{color:var(--yellow);font-weight:600}table.board tr.top-1 .ent-team,table.board tr.top-1 .ent-racer{font-weight:600}table.board tr.top-2 .rank,table.board tr.top-3 .rank{color:var(--ink)}.standings-view table.board td,.standings-view table.board th{padding:.3rem 1.1rem .3rem 0}.standings-view table.board tbody tr{border-top:1px solid var(--rule)}.standings-view table.board tr.top-3 td{border-bottom:1px solid var(--ink-dim)}.last-word-panel .said p{max-width:64ch;font-size:1.05em;line-height:1.55}.standings-view .standings-tables{gap:1rem 3rem}table.board td,table.board th{padding-top:.15rem;padding-bottom:.15rem}header.top .tabs{margin-right:auto}header.top h1{margin-right:1.5rem}.slate tr.finished .ent-course{color:var(--ink-dim)}.score .won{color:var(--ink-strong);font-weight:600}button.link{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}button.link:hover .ent-team{text-decoration:underline}.last-word{border-top:1px solid var(--rule);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:1.25rem;margin-top:.6rem;padding-top:.5rem}.last-word .said{max-width:60ch}.day-kind{letter-spacing:.04em;font-variant-caps:all-small-caps}.day-kind.derby{color:var(--accent,#d9534f)}.day-kind.finals{color:var(--gold,#c9a227);font-weight:600}html{-webkit-text-size-adjust:100%}.app{overflow-x:clip}.app>main,.app>header,.app>footer,.race{min-width:0}.tabs .tab{white-space:nowrap}@media (max-width:40rem){:root{font-size:14px}header.top{flex-wrap:wrap;gap:.4rem .75rem;padding:.5rem .75rem 0}header.top h1{white-space:nowrap;margin-right:auto}header.top .pickers select{max-width:10rem}header.top .open{display:none}header.top .tabs{overflow-x:auto;scrollbar-width:none;flex:100%;order:3;margin:0 -.75rem;padding:0 .5rem}header.top .tabs::-webkit-scrollbar{display:none}.tabs .tab{padding:.5rem .7rem}.tabs.small .tab{padding:.4rem .6rem}main.races{gap:.75rem;padding:.75rem .5rem 1.5rem}.notices{padding-left:1.75rem}.panel,.marquee{padding-left:.75rem;padding-right:.75rem}.race .strip{gap:.4rem .6rem;padding:.45rem .6rem}.race .strip .title{flex:60%;order:-1;min-width:0}.race .strip .close{order:-1;margin-left:auto}.race .strip .progress{flex:100%}.race .strip .where{flex:0 11rem}.race .strip .counter{display:none}.transport{flex:auto}.transport button{width:2.4rem;height:2.2rem}.transport button.play{width:3rem}.race .blocks{grid-template-columns:minmax(0,1fr)}.race .blocks>section{height:auto;padding:.6rem}.race .blocks>section.ticker{height:14.2rem}.tower .abbr{display:none}.tower .name{flex:8rem}.tower .extras{flex:0 auto;min-width:0;max-width:45%}.tower .row{gap:.4rem}.booth,.board-wrap,.transcript,.log{padding-left:.75rem;padding-right:.75rem}.booth-columns{gap:.75rem}.booth .said{height:auto;max-height:16rem}.loglines .line{padding-left:.6rem}.loglines .kind-detail{padding-left:1.6rem}.last-word{grid-auto-flow:row}.standings-view .standings-tables{gap:1rem}.standings-view table.board td,.standings-view table.board th{padding-right:.6rem}.slate td,.results td{white-space:normal;padding-right:.6rem}.slate td.num,.results td.num,.slate td:first-child,.results td:first-child{white-space:nowrap}.slate td.ent-course,.results td.ent-course{display:none}.score{min-width:0}.marquee .headline{font-size:1.3em}.marquee .countdown{font-size:2em}.marquee .podium{flex-direction:column;gap:.25rem}.up-next{overflow:hidden;flex-wrap:nowrap;gap:.25rem .75rem;padding:.5rem .75rem}.up-next .entry{overflow:hidden;text-overflow:ellipsis;min-width:0}.up-next .entry:not(:first-of-type){display:none}.tip{min-width:0;max-width:calc(100vw - 1rem)}}
