@font-face{font-family:Titan One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/titan-one-latin-ext-400-normal-BW7cdQ38.woff2)format("woff2"),url(/assets/titan-one-latin-ext-400-normal-CiNNQIOC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Titan One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/titan-one-latin-400-normal-DwVbh4mi.woff2)format("woff2"),url(/assets/titan-one-latin-400-normal-VZVzRR2h.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html,body{background:#4099ff;width:100%;height:100%;margin:0;padding:0;overflow:hidden}#application-canvas{width:100%;height:100%;display:block}:root{--hud-font:"Titan One", "Arial Rounded MT Bold", system-ui, sans-serif;--ink:#1d1638;--housing:#2a2346;--housing-edge:#140f28;--pink:#ff5fa2;--yellow:#ffd23f;--lamp-stage:#fff4b8;--lamp-amber:#ffb31a;--lamp-green:#33ff5a;--lamp-red:#ff2626}.hud{pointer-events:none;font-family:var(--hud-font);color:#fff;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.hud button{pointer-events:auto;font-family:var(--hud-font)}.tree-hud{z-index:2;transform-origin:50% 0;opacity:1;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s;position:absolute;top:18vh;left:50%;transform:translate(-50%)scale(1)}.tree-hud.hidden{opacity:0;transform:translate(-50%)scale(.4)}.tree{--post:6vh;--bulb:5.2vh;--arm:2.2vh;filter:drop-shadow(0 1.2vh #140f288c)drop-shadow(0 2vh 3vh #00000059);flex-direction:column;align-items:center;gap:.7vh;padding-top:.4vh;display:flex;position:relative}.tree-post{width:var(--post);z-index:0;background:linear-gradient(90deg,#26232c,#0c0b10 45%,#1a1820);border-radius:.6vh;justify-content:center;align-items:flex-end;padding-bottom:2vh;display:flex;position:absolute;top:0;bottom:2.5vh;left:50%;transform:translate(-50%)}.tree-logo{writing-mode:vertical-rl;letter-spacing:.06em;color:#fff;margin-bottom:1vh;font-size:4.2vh;font-style:italic;line-height:1}.tree-stand{background:linear-gradient(90deg,#333,#0c0b10);width:1.2vh;height:2.5vh;margin-top:-.7vh}.tree-bar{z-index:1;width:calc(var(--post) + 4 * var(--bulb));text-align:center;letter-spacing:.05em;color:#fff;background:linear-gradient(#26232c,#0c0b10);border-radius:.5vh;padding:.35vh 0;font-size:1.9vh;font-style:italic;position:relative}.tree-row{z-index:1;justify-content:center;gap:var(--post);display:flex;position:relative}.tree-row.small{gap:calc(var(--post) + 1.5vh);margin-top:-.5vh}.bulb-pair{gap:.9vh;display:flex}.bulb-arm{align-items:center;display:flex}.bulb-arm.left{flex-direction:row}.bulb-arm.right{flex-direction:row-reverse}.bulb-arm:after{content:"";width:var(--arm);background:linear-gradient(#3a3740,#111015);height:2.2vh}.bulb{--c:#888;width:var(--bulb);height:var(--bulb);background:radial-gradient(circle at 32% 30%, #ffffff59 0 14%, transparent 16%), radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--c) 30%, #1a1420), color-mix(in srgb, var(--c) 12%, #07060a));border:.5vh solid #111015;border-radius:50%;transition:background 40ms,box-shadow 40ms;display:block}.bulb.small{border-width:.35vh;border-radius:50% 50% 46% 46%;width:2.8vh;height:3.2vh}.bulb.on{background:radial-gradient(circle at 32% 30%, #fffffff2 0 14%, transparent 18%), radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--c) 70%, #fff), var(--c) 55%, color-mix(in srgb, var(--c) 70%, #000));box-shadow:0 0 2.5vh var(--c), 0 0 6vh color-mix(in srgb, var(--c) 60%, transparent)}.bulb.stage{--c:var(--lamp-stage)}.bulb.amber{--c:var(--lamp-amber)}.bulb.green{--c:var(--lamp-green)}.bulb.red{--c:var(--lamp-red)}.tree-names{justify-content:space-between;gap:2vh;margin-top:1.8vh;display:flex}.lane-tag{min-width:10vh;color:var(--ink);text-align:center;border:.45vh solid var(--ink);box-shadow:0 .5vh 0 var(--ink);background:#fff;border-radius:99px;padding:.6vh 1.4vh;font-size:1.9vh}.lane-tag.you{background:var(--yellow)}.lane-tag small{opacity:.7;font-size:1.3vh;display:block}.banner{white-space:nowrap;color:#fff;-webkit-text-stroke:1.1vh var(--ink);paint-order:stroke fill;text-shadow:0 .9vh 0 var(--ink);letter-spacing:.02em;font-size:7vh;position:absolute;top:7vh;left:50%;transform:translate(-50%)}.banner.pop{animation:.45s cubic-bezier(.34,1.56,.64,1) pop}.banner.win{color:var(--yellow)}.banner.lose{color:#c9c3e8}.banner.red{color:var(--lamp-red)}@keyframes pop{0%{transform:translate(-50%)scale(.3)rotate(-6deg)}70%{transform:translate(-50%)scale(1.12)rotate(2deg)}to{transform:translate(-50%)scale(1)rotate(0)}}.race-controls{align-items:center;gap:3vh;display:flex;position:absolute;bottom:7vh;left:50%;transform:translate(-50%)}.race-controls[hidden]{display:none}.go-button,.nos-button{border:.8vh solid var(--ink);color:#fff;-webkit-text-stroke:.6vh var(--ink);paint-order:stroke fill;box-shadow:0 1.2vh 0 var(--ink);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;justify-content:center;align-items:center;transition:transform 80ms,box-shadow 80ms,opacity .2s;display:flex;position:relative}.go-button{background:var(--pink);border-radius:99px;width:30vh;height:12vh;font-size:6vh}.nos-button{background:#1f6bff;border-radius:50%;width:13vh;height:13vh;font-size:3.2vh}.go-button.pressed,.nos-button.pressed{box-shadow:0 .2vh 0 var(--ink);transform:translateY(1vh)}.go-button.pressed{background:#33d65a}.nos-button.pressed{background:#6fd8ff}.go-button.warn{background:#ff2626;animation:.35s ease-in-out infinite alternate hold-warn}@keyframes hold-warn{to{transform:scale(1.08)}}.go-button:disabled,.nos-button:disabled{opacity:.35;cursor:default}.go-button .hint,.nos-button .hint{-webkit-text-stroke:0;color:#fff;text-shadow:0 .3vh 0 var(--ink);white-space:nowrap;font-size:1.8vh;position:absolute;bottom:-4.6vh;left:50%;transform:translate(-50%)}.nos-gauge{border:.3vh solid var(--ink);background:#00000059;border-radius:99px;width:70%;height:1.1vh;margin-top:.5vh;display:block;overflow:hidden}.nos-gauge span{background:linear-gradient(90deg,#7fd8ff,#fff);width:100%;height:100%;display:block}.speedo{border:.6vh solid var(--ink);box-shadow:0 .8vh 0 var(--ink);background:#140f28cc;border-radius:2vh;padding:1.2vh 2.2vh 1.4vh;transition:opacity .25s,transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:5vh;left:3vh}.speedo.hidden{opacity:0;transform:translateY(4vh)scale(.8)}.speedo-readout{align-items:baseline;gap:1vh;display:flex}.speedo-value{text-align:right;min-width:3ch;color:var(--yellow);-webkit-text-stroke:.6vh var(--ink);paint-order:stroke fill;font-size:7vh;line-height:1}.speedo-unit{font-size:2.4vh}.speedo-bar{background:#ffffff26;border-radius:99px;height:1.2vh;margin-top:.8vh;overflow:hidden}.speedo-bar span{background:linear-gradient(90deg,#33d65a,#ffd23f 60%,#ff2626);width:0;height:100%;display:block}.again-button{border:.6vh solid var(--ink);background:var(--yellow);color:var(--ink);box-shadow:0 .9vh 0 var(--ink);cursor:pointer;border-radius:99px;padding:1.6vh 3.2vh;font-size:2.6vh;position:absolute;bottom:4vh;right:3vh}.again-button:active{box-shadow:0 .2vh 0 var(--ink);transform:translateY(.7vh)}.again-button[hidden]{display:none}.garage{pointer-events:auto;background:#1d163873;place-items:center;transition:opacity .25s;display:grid;position:absolute;inset:0}.garage.hidden{opacity:0;pointer-events:none}.garage-card{width:min(94vw,130vh);max-height:96vh;color:var(--ink);border:.8vh solid var(--ink);box-shadow:0 1.4vh 0 var(--ink);text-align:center;background:#fff;border-radius:3vh;padding:1.8vh 2.6vh 1.6vh;animation:.45s cubic-bezier(.34,1.56,.64,1) card-pop;overflow-y:auto}.garage-welcome{letter-spacing:.08em;color:#1f3fb3;margin-bottom:.6vh;font-size:2vh}.garage-welcome b{color:#e31e2e;font-weight:400}.garage h1{color:var(--pink);-webkit-text-stroke:.7vh var(--ink);paint-order:stroke fill;margin:0 0 .6vh;font-size:4.4vh;font-weight:400}.garage h2{letter-spacing:.08em;margin:1vh 0 .6vh;font-size:1.9vh;font-weight:400}.garage-row{grid-template-columns:repeat(var(--cols,4), 1fr);gap:1vh;display:grid}.part-card{border:.5vh solid var(--ink);color:var(--ink);box-shadow:0 .7vh 0 var(--ink);cursor:pointer;text-align:left;background:#f1eefc;border-radius:1.8vh;flex-direction:column;gap:.3vh;padding:.9vh 1vh;transition:transform .12s cubic-bezier(.34,1.56,.64,1),background .12s;display:flex}.part-card:hover{transform:translateY(-.4vh)}.part-card.selected{background:var(--yellow);transform:translateY(-.6vh)rotate(-1deg)}.part-card strong{font-size:1.9vh;font-weight:400}.part-card span{font-family:system-ui,sans-serif;font-size:1.4vh;font-weight:600}.part-card .plus{color:#138a3a}.part-card .minus{color:#b3203a}.garage-note{max-width:80%;margin:1.2vh auto 1vh;font-family:system-ui,sans-serif;font-size:1.7vh}.ready-button{border:.7vh solid var(--ink);background:var(--pink);color:#fff;-webkit-text-stroke:.5vh var(--ink);paint-order:stroke fill;box-shadow:0 1vh 0 var(--ink);cursor:pointer;border-radius:99px;padding:1.4vh 6vh;font-size:4vh}.ready-button:active{box-shadow:0 .2vh 0 var(--ink);transform:translateY(.8vh)}.garage-hint{opacity:.6;margin:1.6vh 0 0;font-size:1.5vh}@keyframes card-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.timing-slip{--u:1vh;width:calc(var(--u) * 46);padding:calc(var(--u) * 1.6) calc(var(--u) * 2);color:#22202e;border:calc(var(--u) * .5) solid var(--ink);border-radius:calc(var(--u) * 1.4);box-shadow:0 calc(var(--u) * 1) 0 var(--ink);font-family:ui-monospace,Consolas,monospace;font-size:calc(var(--u) * 1.9);background:#fffdf4;animation:.5s cubic-bezier(.34,1.56,.64,1) both slip-in}.timing-slip.compact{--u:.78vh}.slip-header{text-align:center;padding-bottom:calc(var(--u) * .8);border-bottom:calc(var(--u) * .3) dashed #22202e;margin-bottom:calc(var(--u) * .8)}.slip-title{font-family:var(--hud-font);font-size:calc(var(--u) * 2.8);color:var(--pink);-webkit-text-stroke:calc(var(--u) * .35) var(--ink);paint-order:stroke fill}.slip-sub{font-size:calc(var(--u) * 1.5);letter-spacing:.12em}.slip-row{grid-template-columns:22% 39% 39%;align-items:baseline;display:grid}.slip-row span:not(:first-child){text-align:right}.slip-sides{font-size:calc(var(--u) * 1.3);letter-spacing:.1em;opacity:.6}.slip-lanes{margin-bottom:calc(var(--u) * .6);align-items:start}.slip-lane{text-align:right;line-height:1.25}.slip-name{font-family:var(--hud-font);font-size:calc(var(--u) * 2.1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.slip-lane.you .slip-name{color:#d19a00}.slip-lane-no{font-size:calc(var(--u) * 1.25);opacity:.7}.red-badge{padding:0 calc(var(--u) * .5);border-radius:calc(var(--u) * .4);background:var(--lamp-red);color:#fff;opacity:1;display:inline-block}.slip-rows .slip-row{padding:calc(var(--u) * .15) 0}.slip-rows .red{color:#e01010;font-weight:700}.slip-row.total{margin-top:calc(var(--u) * .5);padding-top:calc(var(--u) * .5);border-top:calc(var(--u) * .3) dashed #22202e;font-weight:700}.slip-footer{margin-top:calc(var(--u) * .8);padding-top:calc(var(--u) * .8);border-top:calc(var(--u) * .3) dashed #22202e;text-align:center}.slip-winner b{font-family:var(--hud-font);font-weight:400;font-size:calc(var(--u) * 2.6);color:#138a3a}.slip-margin{font-size:calc(var(--u) * 1.6)}@keyframes slip-in{0%{opacity:0;transform:translateY(8vh)rotate(-8deg)scale(.7)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}.player-slip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-1.5deg)}.player-slip.hidden,.heat-results.hidden{display:none}.heat-results{background:#1d16388c;flex-direction:column;justify-content:center;align-items:center;gap:1.6vh;display:flex;position:absolute;inset:0}.heat-results h1,.heat-footer{-webkit-text-stroke:.9vh var(--ink);paint-order:stroke fill;text-shadow:0 .7vh 0 var(--ink);margin:0;font-size:5.5vh;font-weight:400;animation:.45s cubic-bezier(.34,1.56,.64,1) pop-center}.heat-footer{color:var(--yellow);font-size:4vh}.heat-grid{grid-template-columns:repeat(2,auto);gap:1.6vh 2.4vh;display:grid}@keyframes pop-center{0%{transform:scale(.3)}70%{transform:scale(1.1)}to{transform:scale(1)}}.replay-badge{border:.6vh solid var(--ink);color:#fff;box-shadow:0 .8vh 0 var(--ink);background:#e31e2e;border-radius:99px;padding:1vh 2.4vh;font-size:3vh;animation:1s ease-in-out infinite replay-pulse;position:absolute;top:3vh;left:3vh}.replay-badge[hidden]{display:none}@keyframes replay-pulse{50%{opacity:.75;transform:scale(.96)}}.name-tags{z-index:0;position:absolute;inset:0;overflow:hidden}.name-tag{--car:#888;--lift:1.3vh;will-change:transform;position:absolute;top:0;left:0}.name-tag span{border:.45vh solid var(--ink);color:var(--ink);white-space:nowrap;box-shadow:inset 0 -.7vh 0 var(--car), 0 .5vh 0 var(--ink);transform-origin:50% 120%;margin-bottom:var(--lift);background:#fff;border-radius:99px;padding:.5vh 1.3vh;font-size:1.8vh;transition:transform .28s cubic-bezier(.34,1.56,.64,1);display:block;position:relative;transform:scale(0)translateY(2vh)}.name-tag.raised{--lift:5.4vh}.name-tag.raised span:before{content:"";width:.45vh;height:calc(var(--lift) - .2vh);background:var(--ink);position:absolute;top:100%;left:50%;transform:translate(-50%)}.name-tag span:after{content:"";background:var(--car);border-right:.45vh solid var(--ink);border-bottom:.45vh solid var(--ink);width:1.2vh;height:1.2vh;position:absolute;bottom:-1.35vh;left:50%;transform:translate(-50%)rotate(45deg)}.name-tag.shown span{transform:scale(1)translateY(0)}.name-tag.you span{background:var(--yellow);font-size:2.2vh}.temp-gauge{flex-direction:column;align-items:center;gap:.4vh;display:flex;position:relative}.temp-label{color:#fff;text-shadow:0 .3vh 0 var(--ink);font-size:1.5vh}.temp-tube{border:.5vh solid var(--ink);width:3.2vh;height:11vh;box-shadow:0 .6vh 0 var(--ink);background:#140f28bf;border-radius:99px;display:block;position:relative;overflow:hidden}.temp-tube span{background:linear-gradient(#ff2626,#ffd23f 45%,#33d65a) bottom/100% 11vh;height:0;position:absolute;bottom:0;left:0;right:0}.temp-gauge.hot .temp-tube{border-color:#ff7a00}.temp-gauge.overheated .temp-tube{animation:.25s steps(2,end) infinite overheat}@keyframes overheat{50%{box-shadow:0 0 2vh #ff2626, 0 .6vh 0 var(--ink);border-color:#ff2626}}.temp-damage{white-space:nowrap;color:#ff2626;-webkit-text-stroke:.35vh var(--ink);paint-order:stroke fill;font-size:1.6vh;position:absolute;top:-3.6vh;left:50%;transform:translate(-50%)}.bracket-screen{z-index:5;pointer-events:auto;background:#140f28d1;flex-direction:column;align-items:center;padding:3vh 3vh 12vh;display:flex;position:absolute;inset:0}.bracket-screen.hidden,.upnext.hidden,.podium.hidden{display:none}.bracket-screen h1,.upnext h1,.podium h1{color:var(--yellow);-webkit-text-stroke:.8vh var(--ink);paint-order:stroke fill;text-shadow:0 .7vh 0 var(--ink);margin:0;font-size:5vh;font-weight:400;animation:.45s cubic-bezier(.34,1.56,.64,1) pop-center}.bm-sub{color:#fff;margin:.6vh 0 1.6vh;font-size:2.2vh}.bm-scroll{flex:1;width:100%;overflow:auto}.bm-grid{gap:2.4vh;width:max-content;min-height:100%;margin:0 auto;display:flex}.bm-column{flex-direction:column;min-width:17vh;display:flex}.bm-round{text-align:center;color:#b9b0e0;margin-bottom:.8vh;font-size:1.8vh}.bm-matches{flex-direction:column;flex:1;justify-content:space-around;gap:.8vh;display:flex}.bm-match{border:.35vh solid var(--ink);box-shadow:0 .4vh 0 var(--ink);background:#fff;border-radius:1vh;overflow:hidden}.bm-match.bye{opacity:.75}.bm-side{color:var(--ink);white-space:nowrap;padding:.35vh 1vh;font-size:1.55vh}.bm-side+.bm-side{border-top:.2vh solid #d9d4ee}.bm-side.won{color:#0d7a2c;background:#d8ffe0}.bm-side.lost{color:#9b95b8;text-decoration:line-through}.bm-side.empty{color:#b9b0e0}.bm-side.you{background:var(--yellow)}.upnext{z-index:5;background:#140f288c;place-items:center;display:grid;position:absolute;inset:0}.un-card{text-align:center}.un-kicker{color:#fff;letter-spacing:.2em;font-size:2.6vh}.un-heat{color:#fff;margin-top:.6vh;font-size:2.4vh}.un-pairs{grid-template-columns:repeat(2,auto);gap:1.6vh 2.4vh;margin-top:2.4vh;display:grid}.un-pair{border:.5vh solid var(--ink);color:var(--ink);box-shadow:0 .7vh 0 var(--ink);background:#fff;border-radius:1.6vh;padding:1.2vh 2vh;animation:.45s cubic-bezier(.34,1.56,.64,1) both slip-in}.un-pair.you{background:var(--yellow)}.un-id{color:#6b6590;font-size:1.5vh}.un-names{align-items:center;gap:1.4vh;font-size:2.6vh;display:flex}.un-names b{color:#e31e2e;font-size:1.8vh;font-weight:400}.podium{z-index:5;pointer-events:auto;background:#140f28b3;flex-direction:column;justify-content:center;align-items:center;gap:2vh;display:flex;position:absolute;inset:0}.pd-steps{align-items:flex-end;gap:2vh;display:flex}.pd-step{flex-direction:column;align-items:center;animation:.6s cubic-bezier(.34,1.56,.64,1) both slip-in;display:flex}.pd-step.first{animation-delay:.4s}.pd-step.third{animation-delay:.2s}.pd-medal{font-size:6vh}.pd-name{color:#fff;-webkit-text-stroke:.5vh var(--ink);paint-order:stroke fill;margin:.8vh 0;font-size:2.8vh}.pd-step.you .pd-name{color:var(--yellow)}.pd-block{border:.7vh solid var(--ink);color:#fff;-webkit-text-stroke:.7vh var(--ink);paint-order:stroke fill;border-radius:1.4vh 1.4vh 0 0;place-items:center;width:20vh;font-size:7vh;display:grid}.pd-step.first .pd-block{background:#ffd23f;height:26vh}.pd-step.second .pd-block{background:#c9d3e6;height:19vh}.pd-step.third .pd-block{background:#e59b5a;height:14vh}.status-badge{border:.5vh solid var(--ink);color:var(--ink);box-shadow:0 .6vh 0 var(--ink);background:#fff;border-radius:99px;padding:.9vh 2vh;font-size:2vh;position:absolute;top:3vh;right:3vh}.status-badge[hidden]{display:none}.bm-grid{min-height:max(56vh, calc(var(--rows,1) * 6vh));position:relative}.bm-lines{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.bm-lines path{fill:none;stroke:#ffffffbf;stroke-width:3px}.bm-column{z-index:1;position:relative}.bm-center{min-width:24vh}.bm-center .bm-matches{justify-content:center;gap:4vh}.bm-champ,.bm-consolation{text-align:center;flex-direction:column;align-items:stretch;gap:.6vh;display:flex}.bm-champ-label{color:var(--yellow);font-size:1.7vh}.bm-champ-name{color:#fff;-webkit-text-stroke:.5vh var(--ink);paint-order:stroke fill;font-size:3vh}.bm-champ-name.small{font-size:2vh}.bm-match.final{box-shadow:0 0 2.5vh #ffd23f99, 0 .5vh 0 var(--ink);border-width:.5vh}.bm-match.final .bm-side{padding:.6vh 1.2vh;font-size:2vh}
