@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;0,800;0,900;1,700;1,800;1,900&family=Barlow:wght@400;500;600;700&display=swap";.party-menu-button{color:#ecede1;letter-spacing:.07em;cursor:pointer;background:#13262ce8;border:1px solid #b8c4c044;margin-top:12px;padding:12px 18px;font:600 13px Barlow,sans-serif}.party-menu-button:disabled{opacity:.45;cursor:wait}.top-actions .party-menu-button{margin:0;padding:8px 12px}.dialog.party-dialog{width:min(900px,100vw - 32px);max-width:900px;max-height:calc(100dvh - 32px);padding:30px;overflow:auto}.party-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#081218b8}.dialog.party-dialog h2{margin-bottom:18px}.party-dialog h3{margin:0 0 14px;font-size:15px;font-weight:600}.party-dialog input:not([type=checkbox]),.party-dialog textarea{box-sizing:border-box;color:#f1ebdf;width:100%;font:inherit;background:#0b1b23;border:1px solid #8b9b9b66;border-radius:3px;padding:12px;display:block}.party-dialog label{margin-bottom:8px;font-size:14px;display:block}.party-dialog button{cursor:pointer}.party-dialog input:focus-visible,.party-dialog textarea:focus-visible,.party-dialog button:focus-visible{outline-offset:3px;outline:2px solid #ff9c63}.party-dialog .primary{width:100%;margin-top:16px}.party-dialog .secondary{padding:11px 15px}.party-dialog [hidden]{display:none!important}#party-entry{max-width:440px}#nickname-hint{color:#a7b6b8;margin:8px 0 14px;display:block}.party-join-row{align-items:end;gap:14px;margin-top:24px;display:flex}.party-join-row label{flex:1;margin:0}.party-join-row button{white-space:nowrap;margin-bottom:0}#party-code-input{letter-spacing:.3em;margin-top:8px;font-size:24px}.party-invite{background:#0d202a;border:1px solid #9aafb733;justify-content:space-between;align-items:center;margin-bottom:22px;padding:16px;display:flex}.party-invite span,.party-invite small{color:#afc1c3;font-size:12px;display:block}.party-invite strong{letter-spacing:.25em;color:#ffaf7c;font-size:40px;line-height:1.4;display:block}.party-invite>div:last-child{flex-direction:column;gap:5px;display:flex}.party-columns{grid-template-columns:1fr 1.1fr;gap:28px;display:grid}.party-roster ul{max-height:225px;margin:0 0 16px;padding:0;list-style:none;overflow:auto}.party-roster li{border-bottom:1px solid #92a6ac22;flex-wrap:wrap;align-items:center;gap:7px;padding:9px 0;font-size:14px;display:flex}.party-roster li span{overflow-wrap:anywhere;flex:1}.party-roster li small{color:#ffae79;font-size:9px}.party-roster li button{color:#e6e9db;background:0 0;border:1px solid #9db1b144;padding:5px 7px;font-size:11px}.party-roster .check-label{align-items:center;gap:9px;display:flex}.party-roster p{color:#b5c4c6;min-height:35px;font-size:13px}.party-chat h3{justify-content:space-between;gap:8px;display:flex}.party-chat h3 small{color:#9fb2b6;font-size:11px}#party-chat-log{background:#0b1922;border:1px solid #93a5ad33;height:270px;padding:12px;overflow-y:auto}#party-chat-log:empty:after{content:"You’re in the party. Say hello.";color:#94a9ac;font-size:13px}#party-chat-log>div{overflow-wrap:anywhere;margin-bottom:13px;font-size:13px}#party-chat-log b{color:#ffd0a8;margin-right:8px}#party-chat-log time{color:#92a7aa;font-size:10px}#party-chat-log span{white-space:pre-wrap;margin-top:3px;display:block}#party-chat-form{align-items:stretch;gap:8px;margin-top:10px;display:flex}#party-chat-form textarea{resize:vertical;min-height:60px}#party-error{color:#ffba91;min-height:18px;margin:16px 0 0;font-size:13px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}body:has(#party-dialog[open]) #touch-controls{display:none!important}#results .dialog{max-height:90dvh;overflow:auto}@media (width<=640px){.dialog.party-dialog{padding:24px 18px}.party-columns{grid-template-columns:1fr;gap:20px}.party-roster ul{max-height:130px}#party-chat-log{height:170px}.party-invite{padding:12px}.top-actions .party-menu-button{padding:7px;font-size:10px}#party-race-open{max-width:78px}.dialog.party-dialog h2{font-size:32px}.party-menu-button{padding:10px 14px}.party-join-row{gap:8px}}.dialog.party-dialog{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=640px){.party-chat{order:-1}}:root{color:#f4efdf;font-synthesis:none;--orange:#f37644;--cream:#f4efdf;--muted:#b5bcb9;background:#111c21;font-family:Barlow,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,input{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:5px}button{color:inherit}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#vignette{pointer-events:none;background:linear-gradient(90deg,#071318e0 0%,#0713187a 30%,#0000 62%),linear-gradient(#07131880,#0000 20% 78%,#071318db);position:fixed;inset:0}body.racing #vignette{background:linear-gradient(#050e1373,#0000 23% 78%,#050e139e)}#topbar{z-index:5;border-bottom:1px solid #ffffff1c;justify-content:space-between;align-items:center;height:94px;padding:0 4.2vw;display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:1.2px;color:var(--cream);align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:var(--orange);letter-spacing:-7px;margin-right:17px;font-size:29px;font-style:italic}.brand-light{color:#c6ccca;font-weight:400}.top-actions{align-items:center;gap:24px;display:flex}#controller-status{letter-spacing:1.7px;align-items:center;gap:9px;font-size:10px;font-weight:600;display:flex}#controller-status i{background:#f2b96d;border-radius:50%;width:6px;height:6px}#controller-status.connected i{background:#83c8a1}.icon-button{color:#e3e7dd;background:0 0;border:0;padding:7px;font-size:22px}#menu{pointer-events:none;position:fixed;inset:94px 0 0}#menu button,#menu select{pointer-events:auto}.menu-copy{position:absolute;top:9.5vh;left:6.8vw}.eyebrow{letter-spacing:2.5px;color:#dedfcd;align-items:center;gap:10px;font-size:10px;font-weight:600;display:flex}.live-dot{background:var(--orange);border-radius:50%;width:6px;height:6px}h1{letter-spacing:-1.8px;margin:30px 0 25px;font-family:Barlow Condensed,Arial Narrow,Impact,sans-serif;font-size:clamp(75px,8.4vw,140px);font-style:italic;font-weight:800;line-height:.84;position:relative}h1>span:not(.title-rule){color:var(--orange)}.title-rule{background:var(--orange);width:57px;height:4px;margin-top:27px;display:block;transform:skew(-18deg)}.tagline{color:#dce0d6;margin:0 0 27px;font-size:18px;font-weight:400;line-height:1.5}.track-meta{letter-spacing:1.5px;color:#ced1c7;gap:17px;margin-bottom:24px;font-size:9px;font-weight:600;display:flex}.track-meta span+span{border-left:1px solid #ffffff50;padding-left:17px}.primary{background:var(--orange);color:#17282c;letter-spacing:1.8px;border:1px solid #ff9f70;justify-content:space-between;align-items:center;width:100%;max-width:355px;padding:20px 23px;font-size:13px;font-weight:700;transition:background .2s,transform .2s;display:flex}.primary:hover{background:#ff9765;transform:translateY(-2px)}.button-arrow{font-size:24px;line-height:16px}.start-hint{letter-spacing:1.2px;color:#b4bfbd;align-items:center;gap:6px;margin-top:16px;font-size:9px;display:flex}kbd{color:#e0e3d7;border:1px solid #c1c9c04d;border-radius:2px;padding:3px 5px;font:500 9px Barlow,Arial,sans-serif}.ps-cross{text-align:center;color:#c7e1f1;border:1px solid #b5d1e8;border-radius:100%;width:16px;height:16px;font-size:13px;line-height:12px}.race-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#112329d9;border:1px solid #a9beb42e;width:310px;padding:22px 22px 0;position:absolute;bottom:100px;right:4.2vw}.card-top{letter-spacing:1.5px;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:10px;font-weight:700;display:flex}.small-chip{letter-spacing:1px;color:#c7c5ac;border:1px solid #aaa9944a;padding:5px 7px;font-size:8px;font-weight:500}.race-card label{letter-spacing:.6px;color:#a8b7b5;margin-bottom:14px;font-size:10px;display:block}.race-card select{width:100%;color:var(--cream);outline-offset:2px;background:0 0;border:0;border-bottom:1px solid #ffffff29;border-radius:0;padding:9px 0;font-size:13px;display:block}select option{color:#f4efdf;background:#172c33}.setup-bottom{border-top:1px solid #ffffff24;margin:19px -22px 0;display:flex}.setup-bottom button{text-align:left;white-space:nowrap;background:0 0;border:0;flex:1;padding:15px;font-size:10px}.setup-bottom button+button{border-left:1px solid #ffffff24}.setup-bottom span{color:var(--orange);margin-left:8px}.car-caption{align-items:center;gap:14px;display:flex;position:absolute;bottom:104px;left:51%}.orange-line{background:var(--orange);width:2px;height:30px}.car-caption b{letter-spacing:1.3px;font-size:11px}.car-caption small{color:#c9d0c6;letter-spacing:1.3px;margin-top:7px;font-size:8px;display:block}footer{letter-spacing:1.5px;color:#b4c1bf;border-top:1px solid #ffffff2a;justify-content:space-between;padding:25px 0;font-size:9px;font-weight:500;display:flex;position:absolute;bottom:0;left:4.2vw;right:4.2vw}footer i{color:var(--orange);padding:0 9px;font-style:normal}#loading-bar{background:#213b42;height:3px;position:fixed;bottom:0;left:0;right:0}#loading-bar i{background:var(--orange);width:3%;height:100%;transition:width .3s;display:block}body.racing #topbar{border:0;height:63px;padding:0 30px}body.racing .brand{font-size:12px}body.racing #controller-status{font-size:9px}#hud{pointer-events:none;position:fixed;inset:0}#hud button{pointer-events:auto}.race-info{text-shadow:0 2px 12px #0008;gap:28px;display:flex;position:absolute;top:96px;left:40px}.hud-label{letter-spacing:2.4px;color:#e0e2d9;font-size:10px;font-weight:600;display:block}.position strong{font-family:Barlow Condensed,Impact,sans-serif;font-size:77px;font-style:italic;line-height:1.05}.position strong span{color:#c1c9c2;margin-left:5px;font-size:26px}.lap-info{border-left:1px solid #f4efdf55;padding-left:27px}.lap-info b{font-family:Barlow Condensed,Impact,sans-serif;font-size:37px;line-height:1.4;display:block}.lap-info small{color:#becac5;font-size:20px}.lap-info>span:last-child{font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:11px}.time-box{text-align:right;text-shadow:0 2px 10px #0006;position:absolute;top:95px;right:45px}.time-box strong{color:#ffb17d;font-family:Barlow Condensed,Impact,sans-serif;font-size:74px;font-style:italic;line-height:1.05;display:block}.time-box small{letter-spacing:1px;font-size:10px}.time-box.urgent strong{color:#ff684e;animation:.7s infinite flash}.map-card{opacity:.9;text-align:center;width:145px;position:absolute;bottom:85px;left:30px}.map-card canvas{width:120px;height:166px}.map-card span{letter-spacing:2px;margin-top:10px;font-size:8px;display:block}.telemetry{width:250px;position:absolute;bottom:92px;right:44px}.speed-row{justify-content:flex-end;align-items:center;gap:16px;display:flex}.speed-row>span{font-variant-numeric:tabular-nums;letter-spacing:-3px;font-family:Barlow Condensed,Impact,sans-serif;font-size:110px;font-style:italic;font-weight:600;line-height:.98}.speed-row>div{grid-template-columns:auto auto;gap:0 7px;display:grid}.speed-row b{color:var(--orange);font-family:Barlow Condensed,Impact,sans-serif;font-size:38px;font-style:italic}.speed-row small{align-self:center;font-size:9px}.speed-row div span{letter-spacing:3px;grid-column:span 2;font-size:10px}.rpm-track{background:#ffffff30;height:5px;margin-top:16px;transform:skew(-15deg)}.rpm-track i{background:var(--cream);width:0;height:100%;transition:width 80ms;display:block}.drift-status{text-align:right;color:#f4bc82;letter-spacing:3px;height:18px;font-size:11px;font-weight:700}.damage-row{letter-spacing:1px;color:#c1c9bd;align-items:center;gap:12px;margin-top:18px;font-size:8px;display:flex}.damage-row>div{background:#ffffff25;flex:1;height:3px}.damage-row i{background:#b0c6b0;width:100%;height:100%;display:block}.damage-row b{text-align:right;width:31px;font-weight:400}.race-bottom{letter-spacing:1.6px;color:#ced6ca;border-top:1px solid #ffffff25;justify-content:space-between;align-items:center;height:58px;font-size:9px;display:flex;position:absolute;bottom:0;left:35px;right:35px}.race-bottom button{letter-spacing:1px;background:0 0;border:0;font-size:9px}.race-bottom kbd{margin-left:10px}#event-text{text-align:center;letter-spacing:1px;color:#ffe1af;text-shadow:0 2px 16px #101e29;font-family:Barlow Condensed,Impact,sans-serif;font-size:35px;font-style:italic;font-weight:700;position:absolute;top:22%;left:25%;right:25%}#countdown{text-align:center;color:#fff1cf;text-shadow:0 4px 35px #18353880;font-family:Barlow Condensed,Impact,sans-serif;font-size:140px;font-style:italic;font-weight:800;position:absolute;top:34%;left:0;right:0}.modal-backdrop{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);z-index:12;background:#091820b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{color:var(--cream);background:#152b32;border:1px solid #8c9f9255;width:min(640px,100vw - 36px);max-height:90dvh;padding:42px;overflow:auto}.dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07151dbd}.dialog.compact{width:420px;padding:38px}.dialog h2{margin:20px 0;font-family:Barlow Condensed,Impact,sans-serif;font-size:48px;font-style:italic;font-weight:700;line-height:1}.dialog p{color:#bcc9c4;font-size:13px;line-height:1.7}.dialog .primary{max-width:none;margin-top:24px}.close-dialog{color:#cdd8ce;background:0 0;border:0;font-size:27px;position:absolute;top:10px;right:15px}.secondary{letter-spacing:.5px;background:#233c42;border:1px solid #c0cbbc55;padding:13px 16px;font-size:11px;font-weight:600}.compact .secondary{width:100%;margin-top:10px}.text-button{text-underline-offset:4px;background:0 0;border:0;margin:20px auto 0;font-size:12px;text-decoration:underline;display:block}.control-grid{grid-template-columns:1.35fr 1fr 1fr;gap:0;margin:24px 0;font-size:11px;display:grid}.control-grid>*{border-bottom:1px solid #ffffff17;padding:10px 5px}.control-grid>b{letter-spacing:1px;color:#e7b489;font-size:9px}.dialog .note{color:#99aeaa;font-size:11px}.audio-select{align-items:center;gap:15px;margin:20px 0;font-size:12px;display:flex}.audio-select select{color:var(--cream);background:#263f46;border:1px solid #7d999266;flex:1;min-width:0;padding:10px}.audio-select input{accent-color:var(--orange);flex:1}.audio-buttons{gap:9px;display:flex}.check-label{align-items:center;gap:9px;margin-top:20px;font-size:12px;line-height:1.5;display:flex}.check-label input{accent-color:var(--orange)}#result-stats{gap:12px;margin:25px 0;font-size:13px;display:grid}#result-stats>div{border-bottom:1px solid #fff2;justify-content:space-between;padding-bottom:12px;display:flex}#touch-controls{pointer-events:none;justify-content:space-between;gap:8px;display:none;position:fixed;bottom:70px;left:15px;right:15px}#touch-controls button{pointer-events:auto;touch-action:none;color:#fff;background:#15313ba8;border:1px solid #fff4;border-radius:5px;padding:18px}#error{z-index:20;border:1px solid var(--orange);background:#142c34;padding:30px;font-size:15px;line-height:1.8;position:fixed;inset:30%}@keyframes flash{50%{opacity:.5}}@media (height<=780px) and (width>=901px){.menu-copy{top:5vh}h1{margin-top:22px;font-size:94px}.tagline{margin-bottom:17px;font-size:16px}.title-rule{margin-top:20px}.track-meta{margin-bottom:17px}.primary{padding:17px 22px}.race-card{bottom:85px}.car-caption{bottom:89px}}@media (width<=1050px){.car-caption{display:none}.race-card{width:275px}.menu-copy{left:5vw}h1{font-size:100px}.track-meta{letter-spacing:.7px;gap:10px}.track-meta span+span{padding-left:10px}}@media (width<=700px){#topbar{height:65px;padding:0 22px}.brand{gap:5px;font-size:11px}.brand-light{display:none}.top-actions{gap:9px}#controller-status{letter-spacing:.5px;font-size:8px}.icon-button{font-size:19px}#menu{top:65px;overflow-y:auto}.menu-copy{top:34px;left:24px}.eyebrow{letter-spacing:1.6px;font-size:8px}h1{margin:23px 0 17px;font-size:76px}.title-rule{margin-top:20px}.tagline{margin-bottom:16px;font-size:14px}.track-meta{font-size:8px}.primary{max-width:300px;padding:16px 20px}.race-card{width:auto;margin-bottom:80px;padding:17px 20px 0;inset:480px 24px auto}.race-card label{width:48%;padding-right:12px;display:inline-block}.race-card label:last-of-type{width:100%;display:block}.race-card .card-top{margin-bottom:13px}.race-card label{margin-bottom:8px}.setup-bottom{margin:13px -20px 0}footer{background:#12232be6;padding:15px 0;font-size:7px;position:fixed;bottom:0;left:24px;right:24px}footer span:last-child{display:none}.start-hint{font-size:8px}.race-info{gap:15px;top:79px;left:20px}.position strong{font-size:54px}.lap-info{padding-left:15px}.time-box{top:78px;right:20px}.time-box strong{font-size:54px}.telemetry{width:185px;bottom:105px;right:20px}.speed-row>span{font-size:80px}.map-card{width:94px;bottom:105px;left:14px}.map-card canvas{width:85px;height:117px}.race-bottom{height:50px;left:20px;right:20px}.race-bottom>span{letter-spacing:.4px;max-width:65%;font-size:7px}.dialog{padding:28px 20px}.dialog h2{font-size:38px}.control-grid{grid-template-columns:1.2fr 1fr 1.2fr;font-size:10px}.audio-buttons{flex-wrap:wrap}body.racing #topbar{padding:0 20px}.hud-label{font-size:8px}#event-text{font-size:27px;top:28%;left:15%;right:15%}}@media (pointer:coarse){body.racing #touch-controls{display:flex}body.racing .telemetry,body.racing .map-card{bottom:155px}}.transmission-setting{letter-spacing:.6px;color:#a8b7b5;margin-bottom:14px;font-size:10px}.transmission-setting strong{color:var(--cream);border-bottom:1px solid #ffffff29;padding:9px 0;font-size:13px;font-weight:500;display:block}.gear-buttons{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:12px;display:grid}.gear-buttons button{color:#ced6ca;touch-action:manipulation;background:#112329a8;border:1px solid #ffffff45;min-height:32px;font-size:15px}.gear-buttons b{margin-left:5px;font-size:12px}.gear-buttons button[aria-pressed=true]{background:var(--orange);color:#17282c;border-color:#ffb17d}.gear-buttons button:hover{border-color:var(--orange)}.gpu-details{pointer-events:auto;color:#bdc9c4;border-top:1px solid #ffffff20;margin:8px 0 12px;padding-top:11px;font-size:11px}.gpu-details summary{cursor:pointer;color:#f0c18c;line-height:1.5}.gpu-details[data-kind=discrete] summary{color:#9bd5b0}.gpu-details p{overflow-wrap:anywhere;margin:9px 0;font-size:11px;line-height:1.55}.gpu-details code{color:#eee4d0;font-size:11px}#gpu-corner{right:max(10px,env(safe-area-inset-right));bottom:max(5px,env(safe-area-inset-bottom));z-index:6;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;letter-spacing:.35px;color:#acb9b3;text-shadow:0 1px 3px #07131d;opacity:.8;max-width:46vw;font:500 10px/1.3 Barlow,Arial,sans-serif;position:fixed;overflow:hidden}#gpu-corner[data-kind=software]{color:#d0ae87}@media (width<=700px){#gpu-corner{right:max(8px,env(safe-area-inset-right));bottom:max(3px,env(safe-area-inset-bottom));font-size:9px}}
