:root{--lime:#ffbf52;--panel:#152334f5;--muted:#b0bfce;--border:#9bb0c328}body{font-family:Bahnschrift,'Segoe UI',Arial,sans-serif}
.input-readout{position:sticky;top:0;background:#102335;padding:13px;display:flex;justify-content:space-between;border:1px solid #5e87aa;font-size:10px;z-index:2}.input-readout output{color:#88ceff;font-family:Consolas,monospace}
.brand{text-decoration:none;color:white;letter-spacing:-1px;font-size:24px;gap:10px}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:1.7px;color:#cad6e1;margin-top:5px}.brand-icon{font-family:Arial,sans-serif;letter-spacing:-3px;font-size:21px;font-weight:900;color:#fff;background:#297ace;clip-path:none;border-radius:5px;padding:6px 5px 8px 0;width:37px;border-bottom:3px solid #195493}.brand-domain{font-weight:400;color:#b9d2e9}
.session{border:0;border-radius:3px;gap:16px;font-size:10px;letter-spacing:1.3px;background:#142438e6;padding-right:5px}.session-action{background:#297ace;color:white;font-size:10px;font-weight:700;letter-spacing:1px;padding:10px 14px;border-radius:2px}.glass{border-radius:3px;background:#15283bea;backdrop-filter:none}.icon-button{border-bottom:2px solid #71839a}.location{top:108px;gap:5px}.location b{font-size:11px}.location .tiny{font-size:8px}.location>span:last-child{font-size:8px}
#vignette{background:linear-gradient(180deg,#0e1b3244,transparent 20%,transparent 80%,#101c3266)}.welcome-active #vignette{background:linear-gradient(90deg,#101f35ed 0%,#122741b3 32%,transparent 75%)}.welcome{left:6%;top:32%;width:370px}.eyebrow{font-size:10px;letter-spacing:2px;color:#a9c9e8}.welcome h1{font-size:58px;line-height:1.1;letter-spacing:-2px;margin:14px 0 20px;font-weight:700}.welcome h1 span{color:#72b7f4;font-weight:400}.welcome p{font-size:14px;color:#dce4ec;line-height:1.65;margin-bottom:25px}
.primary{border-radius:2px;background:#f1b448;color:#132335;letter-spacing:.9px;border-bottom:3px solid #af7629;min-width:260px;font-size:12px;padding:16px 19px}.secondary{display:flex;align-items:center;justify-content:space-between;background:#294967;color:#edf5ff;border:1px solid #91b7d233;border-bottom:3px solid #16344f;min-width:260px;padding:13px 18px;margin-top:10px;font-size:11px;letter-spacing:.8px;border-radius:2px}.secondary span{font-size:9px;color:#aed8ff}.welcome-spec{display:flex;gap:16px;font-size:8px;letter-spacing:.6px;color:#8eadc9;margin-top:24px}.welcome-foot{font-size:10px;color:#b3c8da}
.garage-button{min-width:197px;padding:12px 15px;border-left:3px solid #4e9edc}.garage-button b{letter-spacing:1px;font-size:12px}.car-icon{color:#b1d9f5;transform:none}.camera-button{font-size:9px}.boost-ring{width:125px;height:125px;box-shadow:none;padding:3px}.boost-ring>div{background:#16263dd9;border:4px solid #203047}.boost-ring strong{font-weight:600;font-size:44px;letter-spacing:-2px;font-style:italic}.boost-ring span{font-size:8px}.boost-ring small{font-size:7px}.controls-hint{gap:18px;bottom:38px;opacity:.8}.controls-hint span{font-size:8px}.engine-label{font-size:8px}.tiny{letter-spacing:1.5px}.jump-status{bottom:121px;font-size:10px;letter-spacing:1px}
dialog{border-radius:5px;padding:28px;background:var(--panel);backdrop-filter:blur(12px)}dialog::backdrop{backdrop-filter:blur(3px);background:#08121d99}.dialog-top h2{font-size:30px;letter-spacing:-.5px;font-weight:600;margin:6px 0}.close:not(.text-button){border-radius:3px;font-size:22px}.car-card{background:#20364b;border-radius:3px}.car-card.selected{border-color:#6bbcfb;box-shadow:inset 0 -3px #6bbcfb}.car-card img{background:radial-gradient(ellipse at 50% 70%,#446783,#243c54 70%)}.car-card .card-copy{padding:15px}.car-card h3{font-weight:600}.car-card .tag{color:#86c8ff;font-size:9px;margin-top:13px}.dialog-foot{margin-top:20px;padding-top:18px}.setting-row{font-size:12px;padding:11px 0}.settings-sub{color:#7cc5ff}.text-button{font-weight:600}.help{font-size:11px}.inline-check{flex:0 0 auto!important;font-size:10px;white-space:nowrap}.inline-check input{vertical-align:middle}
.opponent-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.opponent-card{display:flex;gap:15px;align-items:flex-start;background:#223c54;border:1px solid #87a8c53b;border-radius:3px;padding:20px;text-align:left}.opponent-card:hover{border-color:#75bdff}.opponent-card h3{font-size:25px;margin:7px 0 10px}.opponent-card p{color:#bdcbd9;font-size:12px;line-height:1.6;margin:0 0 22px}.opponent-card .tag{font-size:9px;color:#f9c76c;white-space:nowrap}.bot-mark{font-size:24px;font-style:italic;font-weight:700;color:#8fcaff;border-bottom:2px solid #608eb4;padding-bottom:6px}#oneVOne{width:min(710px,94vw)}#settings{width:min(650px,94vw)}
#scoreboard{position:absolute;top:83px;left:50%;transform:translateX(-50%);display:flex;align-items:stretch;height:51px;background:#162637ed;border-radius:3px;overflow:hidden;font-variant-numeric:tabular-nums}#scoreboard[hidden],#matchResult[hidden]{display:none}.team{display:flex;align-items:center;gap:18px;padding:0 16px;font-size:9px;letter-spacing:1px}.team b{font-size:29px;font-weight:500}.team.blue{background:#246aaee8}.team.orange{background:#c6672be8}#matchClock{font-size:24px;font-weight:500;min-width:99px;text-align:center;padding:12px 15px}#matchBanner{position:absolute;top:27%;left:50%;transform:translateX(-50%);font-size:52px;font-style:italic;font-weight:700;letter-spacing:2px;text-shadow:0 3px 12px #153b63;color:#ffcf70;pointer-events:none;white-space:nowrap}#toast{top:154px;font-size:12px;background:#17354ee6;border:0;letter-spacing:.5px}
#matchResult{position:absolute;inset:0;display:grid;place-items:center;background:#0c1b2bbb}#matchResult>div{padding:35px;background:#172b40;border:1px solid #5485ac;text-align:center;border-radius:4px}#matchResult h2{font-size:36px}#matchResult button{width:100%}#pauseOverlay{background:#091c2b80}#pauseOverlay b{letter-spacing:2px;font-size:30px}.welcome-active .boost-widget,.welcome-active .controls-hint,.welcome-active .location{display:none}
@media(max-width:700px){header{left:16px;right:16px}.brand{font-size:19px}.brand small{display:none}.session{top:48px;height:32px;gap:8px}.session-action{padding:7px 9px;font-size:9px}.welcome{left:7%;top:29%;width:86%}.welcome h1{font-size:45px}.welcome-spec{gap:10px}.location{display:none}#scoreboard{top:103px;height:40px}.team{gap:10px;padding:0 10px}.team b{font-size:24px}#matchClock{font-size:20px;padding:8px 12px;min-width:80px}.boost-ring{width:100px;height:100px}.boost-ring strong{font-size:35px}.opponent-cards{grid-template-columns:1fr}.opponent-card p{margin-bottom:12px}.setting-row{gap:8px;font-size:11px}.setting-row select{max-width:140px}.inline-check{font-size:9px}.welcome h1{margin-bottom:12px}#matchBanner{font-size:32px;top:32%}.welcome-active .bottom-left{bottom:22px}.welcome-spec{display:none}}
@media(max-height:620px){.welcome{top:26%}.welcome h1{font-size:42px;margin:10px 0}.welcome p{margin-bottom:12px;font-size:12px}.welcome-spec{display:none}.welcome .primary,.welcome .secondary{padding:10px 16px}.welcome-foot{margin-top:9px}.location{display:none}}

/* Keep the field central; tools live at the edges of the screen. */
#replayOverlay[hidden]{display:none}#replayOverlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#08121fe6,transparent 23%,transparent 89%,#08121f55)}.replay-label{position:absolute;bottom:32px;left:28px;color:#ff8275;font-size:21px;letter-spacing:2px;display:flex;align-items:center;gap:10px}.replay-label i{width:9px;height:9px;background:#ff6558;border-radius:50%;animation:replay-blink 1s infinite}.replay-card{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);text-align:center;min-width:280px;padding:16px 35px;background:#163852d9;border-top:2px solid #78bbec}.replay-card small{display:block;color:#a3d3f7;font-size:9px;letter-spacing:2px}.replay-card strong{display:block;font-size:25px;margin:8px 0}.replay-card>span{font-size:12px;color:#bce8ff}.replay-track{height:3px;margin-top:15px;background:#729bbb44}.replay-track>div{height:100%;background:#b6e3ff}#skipReplay{pointer-events:auto;position:absolute;bottom:30px;right:27px;background:transparent;font-size:10px;letter-spacing:1px}#skipReplay kbd{margin-left:8px}.replaying .boost-widget,.replaying .bottom-left,.replaying .controls-hint,.replaying .engine-label,.replaying .jump-status,.replaying #matchBanner,.replaying #toast{display:none}@keyframes replay-blink{50%{opacity:.35}}@media(max-width:700px){.replay-card{min-width:200px;padding:12px 20px;bottom:63px}.replay-card strong{font-size:20px}.replay-label{font-size:15px;bottom:25px;left:16px}#skipReplay{right:16px;font-size:8px}}
header{top:22px;left:26px;right:26px;pointer-events:none}header>*{pointer-events:auto}
body:not(.welcome-active) .brand{font-size:19px;opacity:.85}body:not(.welcome-active) .brand small,body:not(.welcome-active) .brand-icon{display:none}
.session{height:36px;background:#12263bdb;font-size:9px;padding-left:15px;gap:12px;border:1px solid #7eacc533;border-radius:2px}.session-action{padding:8px 12px;background:#286fba}
.icon-button{padding:9px 12px;border:1px solid #8dafc333;border-bottom:2px solid #668296}.icon-button span{font-size:9px;letter-spacing:1px}
.bottom-left{left:26px;bottom:34px;gap:13px}.garage-button{min-width:174px;padding:10px 12px;border-left:2px solid #78bce9;gap:12px}.garage-button small{font-size:7px;letter-spacing:1.4px}.garage-button b{font-size:11px}.garage-button .car-icon{width:30px}.switch-icon{font-size:17px}.camera-button{padding-left:2px;font-size:9px;text-shadow:0 1px 4px #00152e}
.training-toolbar{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);display:flex;border:1px solid #9cc5df33;background:#132a40e8;border-radius:3px;overflow:hidden}.training-toolbar button{background:transparent;padding:10px 17px;font-size:11px;border-right:1px solid #9cc5df22;color:#dcecf7}.training-toolbar button:last-child{border:0}.training-toolbar button:hover{background:#2c5575;color:white}
.controls-hint{bottom:18px;gap:18px;opacity:.65}.controls-hint span{font-size:7px;gap:4px;letter-spacing:.7px}.controls-hint kbd{padding:2px 5px;font-size:8px;background:#0d223866}
.boost-widget{right:28px;bottom:31px}.boost-ring{width:128px;height:128px;padding:3px}.boost-ring>div{background:#172c42bd;border:4px solid #18364acc}.boost-ring strong{font-size:47px}.speed{margin-top:6px}.engine-label{right:28px;bottom:9px;font-size:7px;opacity:.75}
.jump-status{bottom:118px;background:#10263ad9;border-left:2px solid var(--lime);padding:7px 12px;letter-spacing:.6px;font-size:9px;white-space:nowrap}.jump-status:empty{display:none}
#scoreboard{top:20px;height:49px;border-radius:0;box-shadow:0 3px 15px #07224233}.team{gap:12px;min-width:106px;justify-content:center;font-size:9px}.team.blue{background:#2974bfe8;border-top:2px solid #8bd2ff}.team.orange{background:#bc5a25e8;border-top:2px solid #ffc087}.team b{font-size:30px}.team #opponentName{font-size:10px;letter-spacing:0}#matchClock{font-size:24px;min-width:96px;padding:11px 14px;background:#10283ee8}.in-match .session{top:60px;height:29px;background:transparent;border:0;padding:0;gap:9px}.in-match .session-action{font-size:8px;padding:6px 9px;background:#132b41c9}.in-match #modeLabel{font-size:8px;opacity:.8}.in-match .training-toolbar,.in-match .controls-hint{display:none}.in-match #toast{top:116px}
#toast{top:94px;font-size:11px;padding:10px 17px;border-left:2px solid #9fcbef;border-radius:2px}.welcome-active .training-toolbar{display:none}
dialog{background:#15283cfb;border:1px solid #718ea64d;border-top:3px solid #7bbce8;border-radius:3px;padding:26px;box-shadow:0 20px 80px #00132777}dialog::backdrop{background:#081b2bb3;backdrop-filter:blur(3px)}.dialog-top h2{font-size:28px;margin:5px 0 0}.dialog-top .tiny{font-size:8px;color:#8aabc5}.dialog-top{margin-bottom:20px}.muted{font-size:12px;line-height:1.6;margin:0 0 24px}.dialog-foot{font-size:9px;margin-top:22px;padding-top:16px}.close:not(.text-button){height:32px;width:32px;background:#253d53;border:0;color:#cfdfec}.tabs{gap:0;margin:0 0 18px;background:#0e2032;border-bottom:1px solid #526f8744}.tabs button{flex:1;padding:13px 10px;font-size:12px;border-bottom:2px solid transparent}.tabs .active{background:#254560;color:#e7f4ff;border-bottom:2px solid #82c4f4}
#settings{width:min(700px,94vw);max-height:88vh}#settingsContent{max-height:52vh;overflow:auto;padding:0 12px 0 2px;scrollbar-width:thin;scrollbar-color:#51748f #15283c}.setting-row{padding:11px 7px;gap:14px;border-bottom:1px solid #93b9d610;min-height:43px}.setting-row:nth-of-type(even){background:#abc9e005}.setting-row output{font-family:Consolas,monospace;font-size:12px;color:#d5edff}.setting-row input[type=range]{width:210px;accent-color:#8fc8ee}.setting-row select{background:#223c53;border-color:#7e9eb638;font-size:11px;border-radius:2px;padding:7px 9px}.bind{border-radius:2px;background:#2d4962;color:#eff8ff;min-width:112px;border-color:#93b9d62b}.help{color:#a8bfd2;font-size:11px;line-height:1.7}.settings-sub{font-size:10px;color:#91c9f0;margin-top:16px}.input-readout{background:#112437;border-color:#658dac44;border-left:2px solid #8bcced;padding:12px;margin-bottom:12px;font-size:9px}.input-readout output{font-size:10px}.training-actions button{background:#28465f;border:1px solid #7499b133;border-radius:2px;padding:17px 12px;text-align:left}
.opponent-cards{gap:16px}.opponent-card{display:block;padding:22px;background:#203b53;border:1px solid #92b2ce3b;position:relative;overflow:hidden;min-height:237px}.opponent-card .bot-mark{position:absolute;right:17px;top:16px;font-size:33px;font-style:normal;border:0;color:#759cba44}.opponent-card .tiny{font-size:8px;color:#90caff;letter-spacing:1.6px}.opponent-card h3{font-size:30px;letter-spacing:-1px;margin:20px 0 14px;font-weight:600}.opponent-card p{font-size:12px;max-width:225px;min-height:57px;margin-bottom:23px;line-height:1.6}.opponent-card .tag{display:block;font-size:9px;border-top:1px solid #8eaccb26;padding-top:14px;color:#bde3ff}.opponent-card:nth-child(2){background:#393628;border-color:#bba06a44}.opponent-card:nth-child(2) .tiny,.opponent-card:nth-child(2) .tag{color:#f2c880}.opponent-card:hover{border-color:#bfe4ff;transform:translateY(-2px)}
@media(max-width:1000px){.training-toolbar{bottom:27px}.jump-status{bottom:83px}}
@media(max-width:700px){header{top:16px;left:16px;right:16px}.session{top:43px}.brand{font-size:18px}.bottom-left{left:16px;bottom:28px}.garage-button{min-width:148px;padding:8px 10px}.garage-button .car-icon{display:none}.boost-widget{right:16px;bottom:29px}.boost-ring{width:100px;height:100px}.boost-ring strong{font-size:36px}.training-toolbar{bottom:116px}.training-toolbar button{padding:9px 13px;font-size:10px}.jump-status{bottom:161px}#scoreboard{top:60px;height:42px}.team{min-width:84px;font-size:8px;padding:0 9px;gap:9px}.team b{font-size:25px}#matchClock{font-size:21px;min-width:80px;padding:9px 11px}.in-match .session{top:94px}.in-match #toast{top:153px}.in-match .jump-status{bottom:110px}#settingsContent{padding-right:5px}.setting-row input[type=range]{width:125px}.setting-row{font-size:11px;gap:8px;padding:9px 3px}.tabs button{font-size:11px;padding:12px 4px}.opponent-card{min-height:0;padding:18px}.opponent-card h3{margin:12px 0 8px;font-size:25px}.opponent-card p{max-width:none;min-height:0;margin-bottom:14px}.opponent-card .tag{padding-top:10px}.input-readout{font-size:8px}.input-readout output{font-size:9px}}
