:root{font-family:Arial,Helvetica,sans-serif;color:#f6efdf;background:#1b2526;font-synthesis:none;--cream: #f3ead7;--ink: #192426;--orange: #f2622b;--muted: #9da7a2}.variant-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.variant-choice>span{font-size:11px;font-weight:800;letter-spacing:.07em}.variant-choice select{min-width:50%;padding:9px 28px 9px 10px;border:1px solid #9ca39a;border-radius:2px;color:var(--ink);background:#fff9eb;font-weight:700}.variant-description{min-height:29px;margin:7px 0 12px;font-size:11px;line-height:1.4}.livery-choice{display:inline-flex;align-items:center;gap:13px;margin:5px 0 12px;background:#152623d9;padding:6px 9px;border:1px solid #bec8bb40}.livery-choice button{color:var(--cream);border:0;background:transparent;font-size:28px;min-width:32px;min-height:40px}.livery-choice small{display:block;font-size:9px;letter-spacing:.12em;margin-bottom:4px;color:#c4ccbd}.livery-choice b{display:flex;align-items:center;gap:8px;font-size:12px}.livery-choice i{display:inline-block;width:12px;height:12px;border:1px solid #ffffff80;border-radius:50%}@media(max-height:500px)and (orientation:landscape){.livery-choice{gap:5px;margin:1px 0 5px;padding:1px 4px}.livery-choice button{font-size:24px;min-width:30px;min-height:34px}.livery-choice b{font-size:10px}.livery-choice small{font-size:7px;margin-bottom:1px}.variant-choice select{min-width:54%;padding:7px}}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #39d9cd;outline-offset:4px}button:disabled{opacity:.55;cursor:wait}button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;flex:none}#game{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none;transition:filter .4s ease-out}#game.switching{filter:blur(9px) brightness(.7) saturate(.85);transition-duration:.18s}#ui{position:fixed;inset:0;pointer-events:none}#ui button,#ui input,#ui select,#ui a,.selection,.modal,.results-screen{pointer-events:auto}.garage{position:absolute;inset:0;display:flex;background:linear-gradient(90deg,transparent 40%,transparent 65%,rgba(13,24,24,.18))}.selection{width:min(580px,48%);height:100%;overflow-y:auto;color:var(--ink);background:var(--cream);padding:30px 34px 20px;box-shadow:1px 0 #192426;z-index:2;scrollbar-width:thin}.brand h1{position:relative;margin:0;font-family:Impact,Arial Narrow,sans-serif;font-size:clamp(60px,6.25vw,112px);font-weight:900;font-style:italic;letter-spacing:-.055em;line-height:.9;transform:skew(-4deg);transform-origin:left top}.brand h1 span{color:var(--orange);font-size:1.2em}.brand h1 i{font-family:Arial,sans-serif;font-style:normal;font-size:14px;position:absolute;top:12px;margin-left:16px}.brand p{margin:14px 0 22px;font-size:12px;font-weight:600;letter-spacing:.015em}.section-line{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:6px;margin:0 0 12px}.section-line h2{font-family:Impact,Arial Narrow,sans-serif;font-size:20px;font-weight:500;letter-spacing:.01em;font-style:italic;margin:0}.section-line>span{font-size:9px;font-weight:800;letter-spacing:.08em}.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.racer-card{position:relative;overflow:hidden;height:103px;background:#273233;border:2px solid transparent;padding:0;transition:transform .15s,border .15s;color:var(--cream);border-radius:2px;text-align:left}.racer-card:hover{transform:translateY(-3px);background:#384849}.racer-card.selected{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange);background:#38433b}.racer-card img{width:100%;height:76px;object-fit:contain;display:block;transform:scale(1.11)}.racer-card strong{display:block;font-family:Impact,Arial Narrow,sans-serif;text-transform:uppercase;font-size:13px;font-weight:400;font-style:italic;padding:8px 6px 6px;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#182628 25%)}.racer-number{position:absolute;left:5px;top:5px;font-size:9px;font-weight:900;z-index:1;color:var(--cream);background:var(--orange);padding:2px 4px}.racer-card:nth-child(5),.racer-card:nth-child(6),.racer-card:nth-child(7){transform:translate(50%)}.racer-card:nth-child(5):hover,.racer-card:nth-child(6):hover,.racer-card:nth-child(7):hover{transform:translate(50%,-3px)}.track-heading{margin-top:23px}.brand .edition-label{margin:0 0 12px;font-size:9px;letter-spacing:.17em;font-weight:800}.circuit-brief{display:grid;grid-template-columns:1fr 42%;align-items:center;gap:9px 12px;margin-top:21px;padding:14px 16px 10px;background:#253133;color:var(--cream);border-radius:3px;border-left:4px solid var(--orange)}.circuit-location{font-size:8px;letter-spacing:.14em;color:#c0cdc4}.circuit-brief h2{font:italic 25px Impact,Arial Narrow,sans-serif;margin:4px 0}.circuit-brief p{margin:0;font-size:10px;color:#d0d8cf}.circuit-brief .track-outline{height:59px;stroke:#ef8456;margin:0}.circuit-facts{display:flex;justify-content:space-between;gap:8px;grid-column:1 / -1;border-top:1px solid #4c5a54;padding-top:8px;font-size:8px;font-weight:700;letter-spacing:.05em;color:#c0cdc4}.garage-controls{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:10px;margin:0 0 17px}.garage-controls span{white-space:nowrap}.garage-controls kbd{color:var(--ink);border:1px solid #adb4a6;padding:3px 4px;border-radius:3px;background:#faf3e5;font:700 9px Arial,sans-serif;margin-right:3px}.vehicle-name{margin:8px 0 0;font-size:11px;color:#dedfcb;text-shadow:0 1px 4px #152627}.track-select{display:grid;grid-template-columns:1fr 1fr;gap:10px}.track-card{height:114px;position:relative;background:#253133;border:2px solid #253133;color:var(--cream);border-radius:2px;text-align:left;padding:9px 12px}.track-card.selected{border-color:var(--orange)}.track-card>span{font:italic 19px Impact,Arial Narrow,sans-serif;display:block}.track-card small{display:block;font-size:10px;color:#bdc5bd;margin-top:3px}.track-outline{height:53px;width:100%;margin-top:4px;stroke:#839692;fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.selected .track-outline{stroke:var(--orange)}.track-outline circle{fill:var(--cream);stroke:none}.race-actions{display:flex;gap:10px;margin-top:20px}.primary,.secondary{border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 20px;font:italic 20px Impact,Arial Narrow,sans-serif;letter-spacing:.03em;border-radius:2px;box-shadow:0 3px 0 var(--ink);transition:background .15s,transform .15s}.primary{background:var(--orange);color:#fff4df}.secondary{background:var(--ink);color:var(--cream)}.race-actions>*{flex:1;font-size:19px;padding:9px}.race-description{font-size:10px;line-height:1.5;color:#4a5554;margin:10px 0 18px}.garage-footer{display:flex;align-items:center;gap:15px;border-top:1px solid #bec0b0;padding-top:13px}.garage-footer button{border:0;background:none;padding:0;color:var(--ink);font-size:11px;font-weight:800}.garage-footer>span{margin-left:auto;font-size:8px;letter-spacing:.07em;color:#61706a}.racer-feature{position:absolute;right:4%;top:7%;left:54%;text-shadow:0 2px 8px #122c2c}.feature-rule{height:4px;width:45px;background:var(--orange);margin-bottom:17px}.feature-tagline{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;margin:0 0 12px}.racer-feature h2{font:italic clamp(28px,3.5vw,58px) / .98 Impact,"Arial Narrow",sans-serif;text-transform:uppercase;margin:0;max-width:570px}.signature{margin-top:24px;max-width:340px;padding:13px 15px;border:0;background:#152527a3;text-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.signature>span{font-size:9px;letter-spacing:.16em;color:#b5c0b8;display:block}.signature strong{font:italic 23px Impact,Arial Narrow,sans-serif;display:block;margin:6px 0}.signature p{font-size:12px;line-height:1.5;margin:0;color:#d4d8c9}.preview-note{position:fixed;bottom:28px;right:4%;left:54%;display:flex;gap:8px;align-items:center;font-size:9px;letter-spacing:.12em;font-weight:700;text-shadow:0 1px 3px #122}.preview-note i{width:6px;height:6px;background:var(--orange);border-radius:50%}.preview-note span{margin-left:auto;color:#ebecde}.garage-canvas{left:min(580px,48%)!important;width:calc(100% - min(580px,48%))!important}.loading-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:35px;background:var(--cream);color:var(--ink);text-align:center;min-width:300px;pointer-events:auto}.loading-panel>strong{font:italic 38px Impact,Arial Narrow,sans-serif}.loading-panel p{font-size:14px;line-height:1.6}.loading-panel button{width:100%}.race-hud{position:absolute;inset:0;text-shadow:0 1px 2px #10202030}.position-block,.lap-block{position:absolute;top:24px;background:#152124e8;border-bottom:3px solid var(--orange);width:115px;transform:skew(-5deg);text-align:center}.position-block{left:26px}.lap-block{right:26px}.position-block>span,.lap-block>span{display:block;background:var(--orange);font:italic 15px Impact,Arial Narrow,sans-serif;padding:4px;letter-spacing:.07em}.position-block>strong,.lap-block>strong{font:italic 59px/.95 Impact,Arial Narrow,sans-serif;display:block;padding:10px}.position-block small,.lap-block small{font-size:23px;font-style:normal;color:#a7b9b2}.race-top{position:absolute;top:30px;left:160px;right:160px;text-align:center;font-size:12px;font-weight:800;letter-spacing:.08em;text-shadow:0 2px 5px #172528}.race-top span{display:block;margin-top:7px;font-size:17px;font-variant-numeric:tabular-nums}.lap-block button{position:absolute;right:0;bottom:-39px;width:35px;height:30px;background:#152124cc;border:0;color:var(--cream);font-weight:800}.live-order{position:absolute;top:151px;left:28px;width:147px;padding:7px;background:#152223a8;border-radius:2px}.live-order>div{display:flex;gap:6px;align-items:center;font-size:10px;height:22px;white-space:nowrap}.live-order b{color:#9da9a1;width:12px}.live-order i{width:4px;height:11px}.live-order small{font-size:7px;margin-left:auto}.live-order .you{color:#fff4dc;font-weight:800}.live-order .you b{color:var(--orange)}.countdown{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);font:italic 140px Impact,Arial Narrow,sans-serif;color:var(--cream);text-shadow:7px 7px 0 var(--orange),-3px -3px 0 var(--ink);line-height:1}.telemetry{position:absolute;bottom:62px;left:30px;width:290px;padding:14px 17px;background:#122022e8;border:1px solid #73908366;border:1px solid #ffffff38;border-radius:3px}.roar-head{display:flex;justify-content:space-between;align-items:center}.roar-head strong{font:italic 22px Impact,Arial Narrow,sans-serif}.roar-head>span{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.roar-track{height:15px;background:#405251;margin-top:8px;position:relative;overflow:hidden;transform:skew(-8deg)}#roar-fill{height:100%;background:repeating-linear-gradient(90deg,var(--orange) 0,var(--orange) 12px,#1b2c2a 12px,#1b2c2a 15px);transition:width .08s}.roar-track i{position:absolute;top:0;height:100%;width:2px;background:#e9e1c980}.roar-status{font-size:9px;color:#c0cbbf;margin:9px 0;min-height:12px}.speed{border-top:1px solid #5b75634a;display:flex;align-items:flex-end;padding-top:6px}.speed strong{font:italic 34px/1 Impact,Arial Narrow,sans-serif;font-variant-numeric:tabular-nums}.speed>span{font-size:9px;margin:0 0 4px 6px;color:#a5b6a6}.speed em{font-size:9px;color:#f69b65;font-style:normal;font-weight:700;margin:0 0 4px auto;max-width:140px;text-align:right}.race-map{position:absolute;right:25px;top:175px;width:190px;background:#1522238c;padding-bottom:10px;text-align:center;border-radius:3px}.race-map canvas{width:100%;height:130px}.race-map span{font-size:8px;font-weight:700;letter-spacing:.08em}.ability-controls{position:absolute;right:30px;bottom:62px;display:flex;gap:10px}.ability-controls button{min-width:128px;width:150px;min-height:90px;color:#c2cbbb;background:#122022e3;border:1px solid #9eaa835a;border-radius:3px;padding:10px;text-align:left;position:relative;touch-action:none}.ability-controls button.ready{border-color:var(--orange);color:#fff1d7;box-shadow:inset 0 -3px var(--orange)}.ability-controls button.pressed{background:var(--orange)}.ability-controls button>span{font:italic 18px Impact,Arial Narrow,sans-serif;display:block}.ability-controls button>strong{font-size:9px;display:block;margin-top:9px;color:#c2c9b7}.ability-controls kbd{position:absolute;right:10px;bottom:9px;background:#dde6d4;color:#253b34;min-width:20px;text-align:center;font-size:9px;font-weight:700;padding:3px 5px}kbd{font:700 11px Arial,sans-serif;border:1px solid currentColor;border-radius:2px;padding:2px 5px;white-space:nowrap}.keyboard-hint{position:absolute;left:30px;bottom:25px;font-size:10px;color:#edf0d9;display:flex;align-items:center;gap:7px;text-shadow:0 1px 3px #122}.keyboard-hint kbd{font-size:9px}.modal-backdrop{position:absolute;inset:0;display:grid;place-items:center;background:#0c191ab3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;padding:20px;z-index:20}.modal{width:min(560px,100%);max-height:90vh;overflow-y:auto;padding:27px 30px;color:var(--ink);background:var(--cream);box-shadow:0 16px 60px #0000004d}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--ink)}.modal h2{font:italic 33px Impact,Arial Narrow,sans-serif;margin:0}.close-modal{background:none;border:0;font-size:30px;color:var(--ink);line-height:1}.modal p{font-size:13px;line-height:1.65}.modal a{color:#a8401b}.controls-grid{display:grid;grid-template-columns:75px 1fr;gap:13px 20px;margin:25px 0;font-size:12px;align-items:center}.controls-grid kbd{justify-self:start;padding:5px 7px}.setting{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid #bfc8b7;font-size:13px}.setting small{display:block;color:#5f6d62;font-size:10px;margin-top:4px}.setting input[type=checkbox]{appearance:none;width:37px;height:22px;background:#a9b3a7;border-radius:20px;position:relative;cursor:pointer;flex:none}.setting input[type=checkbox]:checked{background:var(--orange)}.setting input[type=checkbox]:after{content:"";display:block;width:16px;height:16px;position:absolute;left:3px;top:3px;background:#fff;border-radius:50%;transition:left .1s}.setting input[type=checkbox]:checked:after{left:18px}.setting input[type=range]{width:135px;accent-color:var(--orange)}.setting select{background:var(--ink);color:var(--cream);border:0;padding:7px;border-radius:2px;font-size:12px;min-height:44px}.pause-actions{display:grid;gap:13px}.text-button{border:0;background:transparent;color:var(--ink);font-size:12px;font-weight:700;padding:12px}.results-screen{position:absolute;inset:0;background:#efe6d2f7;color:var(--ink);padding:40px max(35px,calc((100vw - 1000px)/2));overflow-y:auto}.results-title>span{font-size:11px;letter-spacing:.16em;font-weight:800}.results-title h1{font:italic 70px/1 Impact,Arial Narrow,sans-serif;margin:10px 0;color:var(--orange)}.results-title p{font-size:15px;margin:8px 0 25px}.results-content{display:grid;grid-template-columns:1.5fr 1fr;gap:40px}.result-table-head{background:var(--ink);color:var(--cream);padding:10px 14px;display:flex;justify-content:space-between;font:italic 18px Impact,Arial Narrow,sans-serif}.result-row{display:flex;gap:12px;align-items:center;height:63px;border-bottom:1px solid #b7c1b0;padding:0 13px}.result-row.you{background:#e8c5a8;border:1px solid #f2622b80;padding-left:9px}.result-row>strong{font:italic 29px Impact,Arial Narrow,sans-serif;width:31px}.result-row img{width:82px;height:58px;object-fit:contain}.result-row>span{font:italic 19px Impact,Arial Narrow,sans-serif}.result-row small{display:block;font:700 8px Arial,sans-serif;margin-top:3px;letter-spacing:.07em}.result-row>b{margin-left:auto;text-align:right;font-size:13px;font-variant-numeric:tabular-nums}.result-summary{padding-top:16px}.result-summary>span{font-size:10px;letter-spacing:.15em;font-weight:700}.result-summary h2{font:italic 37px Impact,Arial Narrow,sans-serif;margin:10px 0 25px}.result-summary p{font-size:12px;border-bottom:1px solid #bcc2b0;padding-bottom:14px}.result-summary p strong{font:italic 32px Impact,Arial Narrow,sans-serif;margin-right:12px}.result-summary p strong small{font-size:17px;color:#667266}.result-summary>small{font-size:10px;line-height:1.7;color:#5d685e;display:block;margin-top:25px}.result-actions{display:grid;gap:12px;margin-top:30px}.result-actions button{font-size:19px}.results-screen .secondary{box-shadow:none}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--orange);color:#fff4df;max-width:90vw;padding:12px 20px;opacity:0;pointer-events:none;transition:.2s;font-size:12px;z-index:50}#toast.show{opacity:1;transform:translate(-50%)}#touch{display:none;pointer-events:none}.touch-steering,.touch-driving{position:absolute;display:flex;gap:10px;bottom:20px}.touch-steering{left:20px}.touch-driving{right:20px}.touch-steering button,.touch-driving button{touch-action:none;pointer-events:auto;border:1px solid #e8e2c97a;background:#182d32cb;color:#fff3dc;border-radius:9px;min-width:65px;height:60px;font-weight:800;font-size:11px;user-select:none;-webkit-user-select:none}.touch-steering button{font-size:25px}.touch-steering button.pressed,.touch-driving button.pressed{background:var(--orange)}@media(min-width:1500px)and (min-height:900px){.selection{width:650px;padding:40px}.racer-feature{left:51%}.roster{gap:10px}.racer-card{height:128px}.racer-card img{height:101px}.racer-card strong{font-size:15px}.track-heading{margin-top:30px}.track-card{height:135px}.track-outline{height:70px}.race-actions{margin-top:25px}.brand p{margin-bottom:28px}.preview-note{left:51%}}@media(max-height:780px)and (min-width:901px){.selection{padding:20px 28px 15px}.brand h1{font-size:68px}.brand p{margin:10px 0 16px;font-size:11px}.racer-card{height:91px}.racer-card img{height:65px}.track-heading{margin-top:17px}.track-card{height:102px}.track-outline{height:45px}.race-actions{margin-top:15px}.race-description{margin-bottom:12px}.section-line h2{font-size:18px}.garage-footer{padding-top:10px}.racer-feature{top:6%}}@media(max-width:1050px){.selection{width:52%;padding-left:24px;padding-right:24px}.racer-feature{left:57%;right:3%}.preview-note{left:57%}.brand h1{font-size:70px}.race-actions{gap:8px}.race-actions>*{font-size:16px}.garage-footer{gap:12px}.garage-footer>span{display:none}.signature{max-width:280px}.telemetry{width:255px}.race-map{width:155px}.live-order{width:136px}.race-top{font-size:10px}.results-screen{padding:30px}.results-title h1{font-size:58px}}@media(pointer:coarse),(max-width:900px){#touch{display:block;position:fixed;inset:0}.keyboard-hint{display:none}.telemetry{bottom:95px;width:225px;left:20px;padding:10px 12px}.ability-controls{bottom:95px;right:20px;gap:7px}.ability-controls button{width:126px;min-width:110px;min-height:74px}.ability-controls button>span{font-size:15px}.roar-head strong{font-size:19px}.speed strong{font-size:27px}.race-map{right:20px;top:137px;width:135px}.race-map canvas{height:90px}.position-block,.lap-block{top:15px;width:85px}.position-block{left:20px}.lap-block{right:20px}.position-block>strong,.lap-block>strong{font-size:43px;padding:8px}.race-top{top:20px;left:115px;right:115px}.live-order{top:117px;left:20px;width:130px}.live-order>div{height:18px;font-size:9px}.lap-block button{bottom:-35px}.garage-footer button{font-size:10px}}@media(max-width:900px)and (max-height:600px)and (orientation:landscape){.brand .edition-label{font-size:7px;margin:0 0 8px}.circuit-brief{margin-top:14px;padding:10px 12px 8px}.circuit-brief h2{font-size:21px}.circuit-brief .track-outline{height:47px}.garage-controls{font-size:9px;gap:7px 10px;margin-bottom:14px}.vehicle-name{font-size:9px}.selection{width:57%;padding:15px 19px;overflow-y:auto}.brand h1{font-size:45px}.brand p{font-size:9px;margin:8px 0 13px}.section-line h2{font-size:16px}.section-line>span{font-size:7px}.racer-card{height:72px}.racer-card img{height:54px}.racer-card strong{font-size:11px;padding-bottom:4px}.racer-number{font-size:7px;left:3px;top:3px}.roster{gap:5px}.track-heading{margin-top:15px}.track-card{height:84px;padding:7px}.track-card>span{font-size:15px}.track-card small{font-size:8px}.track-outline{height:35px}.race-actions{margin-top:12px}.race-actions>*{font-size:15px;min-height:42px;padding:8px}.race-description{font-size:9px}.racer-feature{left:62%;top:7%;right:3%}.racer-feature h2{font-size:31px}.feature-tagline{font-size:8px}.signature{margin-top:15px;padding:10px}.signature strong{font-size:19px}.signature p{font-size:10px}.signature>span{font-size:8px}.preview-note{left:62%;font-size:7px;bottom:15px}.feature-rule{margin-bottom:10px}.telemetry{bottom:83px;width:198px}.roar-status{display:none}.speed em{font-size:7px;max-width:91px}.ability-controls{bottom:83px}.live-order{display:none}.race-map{top:121px;width:110px}.race-map canvas{height:78px}.race-map span{font-size:6px}.race-top{font-size:9px}.race-top span{font-size:14px}.touch-steering,.touch-driving{bottom:15px}.touch-steering button,.touch-driving button{height:52px;min-width:55px}.countdown{font-size:100px}.results-screen{padding:20px 35px}.results-title h1{font-size:44px}.results-title p{font-size:12px;margin-bottom:15px}.results-content{gap:25px}.result-row{height:45px;gap:8px}.result-row img{width:60px;height:43px}.result-row>span{font-size:15px}.result-summary h2{font-size:28px}.result-actions{margin-top:18px}.result-actions button{font-size:15px;min-height:43px}}@media(max-width:650px)and (orientation:portrait){body{overflow:auto}.garage{overflow-y:auto;display:block}.selection{width:100%;height:auto;min-height:100%;padding:30px 22px;box-shadow:none;background:#f3ead7f5}.brand h1{font-size:75px}.racer-feature{display:none}.garage-canvas{left:0!important;width:100%!important}.racer-card{height:103px}.racer-card img{height:77px}.track-card>span{font-size:18px}.race-actions>*{font-size:18px}.garage-footer>span{display:none}.roster{gap:7px}.race-map{display:none}.race-top{font-size:8px}.live-order{top:133px}.telemetry{width:193px;bottom:176px}.ability-controls{left:20px;right:20px;bottom:94px}.ability-controls button{flex:1;min-height:67px}.touch-steering{gap:6px;left:12px}.touch-driving{gap:5px;right:12px}.touch-steering button,.touch-driving button{min-width:49px;height:59px;font-size:9px}.touch-steering button{font-size:21px}.results-screen{padding:28px 20px}.results-title h1{font-size:44px}.results-content{display:block}.result-row img{width:64px}.result-row>span{font-size:17px}.result-summary{margin-top:25px}.result-summary h2{margin-bottom:16px}.modal{padding:22px}.modal h2{font-size:29px}.controls-grid{grid-template-columns:65px 1fr;gap:12px;font-size:11px}.countdown{font-size:110px}.setting{font-size:12px}.garage-footer{padding-bottom:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}.race-goals{position:absolute;top:175px;left:32px;width:174px;font-size:11px;text-shadow:0 1px 4px #000}.route-hint{display:block;margin-top:7px;font:700 12px Arial,sans-serif;letter-spacing:.04em;color:#fff1cc;text-shadow:0 1px 4px #192426,0 1px 8px #192426}.race-goals>span{display:block;font-size:9px;letter-spacing:.12em;margin-bottom:8px;color:#fff4d8}.race-goals>div{display:flex;align-items:center;gap:7px;padding:5px 0}.race-goals strong{margin-left:auto}.race-goals b{font-size:15px;font-weight:400}.race-goals .complete{color:#ffd264}.item-pocket{position:absolute;bottom:184px;right:32px;display:flex;align-items:center;gap:15px}#item-button{display:grid;grid-template-columns:45px 1fr 22px;gap:10px;align-items:center;width:232px;min-height:67px;padding:9px 12px;background:#182226ed;border:1px solid #f4e9cf7a;border-radius:5px;color:var(--cream)}#item-button.ready{border-color:#ffd473;background:#29251bee;box-shadow:0 0 18px #ffbf2422}.item-symbol{font:italic 38px Impact,Arial Narrow,sans-serif;color:#ffcc63}.item-name{font-size:13px;font-weight:700;text-align:left}#item-button kbd{background:#f3e8cc;color:#172324;padding:4px;border-radius:3px}.mango-total{display:grid;grid-template-columns:32px max-content;align-items:center}.mango-total>span{font-size:27px;grid-row:span 2}.mango-total b{font-size:22px}.mango-total small{font-size:7px;letter-spacing:.06em}.item-symbol{grid-row:1 / 3}.item-symbol svg{display:block;width:40px;height:40px}#item-button{grid-template-columns:42px 1fr 18px;grid-template-rows:auto auto;row-gap:3px}#item-button kbd{grid-column:3;grid-row:1 / 3}.item-name{grid-column:2;grid-row:1}.item-hint{grid-column:2;grid-row:2;font-size:9px;line-height:1.3;font-weight:500;color:#e5d8bd}.item-active{position:absolute;right:0;bottom:calc(100% + 9px);color:#e4f7fa;font-size:11px;font-weight:800;letter-spacing:.06em;text-shadow:0 1px 4px #152627}.item-feedback{position:absolute;right:0;bottom:calc(100% + 42px);width:100%;max-width:320px;padding:10px 12px;background:#162321e8;border:1px solid #fff3cf55;border-radius:4px;color:#fff4db;pointer-events:none;opacity:0;transform:translateY(5px);transition:opacity .12s,transform .12s}.item-feedback.show{opacity:1;transform:translateY(0)}.item-feedback strong{display:block;font-size:14px;line-height:1.25;letter-spacing:.025em}.item-feedback span{display:block;font-size:11px;line-height:1.35;margin-top:4px}.item-feedback[data-kind=success] strong{color:#bce8a5}.item-feedback[data-kind=defence] strong{color:#91e4ed}.item-feedback[data-kind=pickup] strong,.item-feedback[data-kind=action] strong{color:#ffd473}#item-button.reloading{background:linear-gradient(90deg,#3e382ae8 calc(var(--reload,0)*100%),#182226ed 0);border-color:#af9d76}@media(max-height:600px)and (orientation:landscape){.item-feedback{width:220px;padding:6px 9px;bottom:calc(100% + 30px)}.item-feedback strong{font-size:11px}.item-feedback span{font-size:9px}.item-active{font-size:8px;max-width:240px;text-align:right}}.racer-feature{top:7%;left:calc(min(580px,48%) + 28px)}.racer-feature h2{font-size:clamp(30px,3.1vw,50px)}.signature{margin-top:14px;max-width:310px;padding:12px 14px}.preview-note{display:none}.racer-card strong{font-size:12px}.race-hud .live-order{display:none}@media(min-width:1500px)and (min-height:900px){.garage-canvas{left:650px!important;width:calc(100% - 650px)!important}.racer-feature{left:678px}}@media(max-width:1050px){.garage-canvas{left:52%!important;width:48%!important}.racer-feature{left:calc(52% + 24px)}}@media(max-width:1100px){.race-goals{left:20px;top:140px;width:150px;font-size:10px}.item-pocket{right:20px;bottom:177px}}@media(max-width:900px)and (max-height:600px)and (orientation:landscape){.garage-canvas{left:57%!important;width:43%!important}.racer-feature{left:61%}.race-goals{top:118px;left:20px;width:126px;font-size:9px}.race-goals>span{font-size:7px;margin-bottom:3px}.race-goals>div{padding:2px 0;gap:4px}.item-pocket{bottom:164px;right:20px;gap:8px}#item-button{width:180px;min-height:49px;grid-template-columns:28px 1fr 18px;padding:5px 8px;gap:7px}.item-symbol{font-size:27px}.item-symbol svg{width:28px;height:28px}.item-hint{font-size:7px}.item-name{font-size:10px}.mango-total{grid-template-columns:24px max-content}.mango-total>span{font-size:21px}.mango-total b{font-size:18px}.racer-feature h2{font-size:29px}.signature{padding:9px}.racer-card strong{font-size:10px}.race-map{display:none}}@media(max-width:650px)and (orientation:portrait){.garage-canvas{left:0!important;width:100%!important}.item-pocket{bottom:285px;left:20px;right:auto}.race-goals{top:144px;font-size:9px;width:145px}.racer-card strong{font-size:11px}}.drift-feedback{position:absolute;bottom:64px;left:50%;width:232px;transform:translate(-50%);color:#fff7e7;text-shadow:0 1px 4px #111;--energy:#39ccff;transition:opacity .2s}.drift-feedback[data-tier="2"]{--energy:#ffad29}.drift-feedback[data-tier="3"]{--energy:#e767ff}.drift-feedback.subtle{opacity:0}.drift-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.06em;margin-bottom:8px}.drift-label b{font-size:11px}.drift-segments{display:flex;gap:5px}.drift-segments i{flex:1;height:5px;background:linear-gradient(90deg,var(--energy) calc(var(--charge,0)*100%),#152626a8 0);border:1px solid #ffffff66;transform:skew(-16deg)}.drift-feedback.turbo .drift-label b{color:var(--energy)}.drift-feedback.turbo .drift-segments i{background:var(--energy);box-shadow:0 0 12px var(--energy)}.launch-feedback{position:absolute;left:50%;top:64%;transform:translate(-50%);width:310px;text-align:center;padding:14px 20px;background:#172425e6;color:var(--cream);border-radius:3px}.launch-feedback b{display:block;font:italic 26px Impact,sans-serif}.launch-feedback span{display:block;font-size:11px;margin-top:6px}.launch-feedback.window{color:#8fe5af}.launch-feedback.early{color:#ffad72}.launch-timing{height:4px;background:#ffffff28;margin-top:12px}.launch-timing i{display:block;height:100%;background:currentColor}[hidden]{display:none!important}.item-acquisition{position:absolute;left:calc(36% - 172px);bottom:28%;width:164px;padding:9px 12px 11px;border:1px solid #f8edce65;border-radius:12px;background:radial-gradient(ellipse at 50% 26%,#334a48ee,#142321e8 80%);box-shadow:0 5px 18px #07101242;text-align:center;color:#fff6df;opacity:0;visibility:hidden;transform:translateY(5px) scale(.94);transition:opacity .12s,transform .15s,visibility .12s;pointer-events:none}.item-acquisition.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.acquisition-symbol{display:block;width:72px;height:72px;margin:0 auto 3px}.acquisition-symbol svg{width:100%;height:100%;filter:drop-shadow(0 2px 1px #0008)}.item-acquisition strong{display:block;font:italic 18px/1.05 Impact,Arial Narrow,sans-serif;letter-spacing:.025em;text-transform:uppercase}.acquisition-action{display:block;font-size:10px;line-height:1.2;margin-top:5px;color:#e6ead7}.threat-warning{position:absolute;top:24%;left:50%;transform:translate(-50%);padding:9px 16px;border:1px solid #ffd597;background:#27231be8;color:#ffda9f;font-size:12px;font-weight:800;white-space:nowrap}.lap-detail{position:absolute;right:30px;top:145px;font-size:10px;color:#fff5df;text-shadow:0 1px 4px #111;font-variant-numeric:tabular-nums}.route-hint.brake-now{color:#ffb18a}.weather-hint{color:#cfe6f2}.weather-hint:empty{display:none}.results-canvas{left:43%!important;width:57%!important}.results-screen.podium-results{right:auto;width:43%;padding:32px;background:#efe6d2}.podium-results .results-title h1{font-size:clamp(36px,3.5vw,62px)}.podium-results .results-title p{margin-bottom:20px}.podium-results .result-row{height:56px;gap:8px;padding:0 8px}.podium-results .result-row img{width:65px;height:49px}.podium-results .result-row>span{font-size:16px}.podium-results .result-row>b{font-size:12px}.podium-results .result-actions{margin-top:22px}.record-mode{text-align:center;font-size:10px;color:#59655d}.podium-recap{position:absolute;bottom:25px;right:3%;width:51%;color:var(--cream);padding:20px 22px;background:linear-gradient(110deg,#162526f0,#162526d0)}.podium-recap>span{font-size:10px;letter-spacing:.1em}.podium-recap h2{font:italic 28px Impact,sans-serif;margin:8px 0 16px}.recap-stats{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.06em}.recap-stats b{display:block;font:italic 27px Impact,sans-serif;margin-bottom:5px}.race-medals{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:18px;font-size:10px}.race-medals span{opacity:.42}.race-medals .earned{opacity:1}.race-medals b{color:#ffd278;margin-right:5px}@media(max-width:1050px){.results-screen.podium-results{padding:22px}.podium-results .result-row img{width:45px}.podium-results .result-row>span{font-size:13px}.drift-feedback{bottom:65px;width:180px}.lap-detail{right:20px;top:125px}}@media(max-height:650px)and (orientation:landscape){.drift-feedback{bottom:82px;width:180px}.drift-label{font-size:7px}.drift-label b{font-size:8px}.lap-detail{top:100px;font-size:8px}.launch-feedback{top:56%;padding:8px}.results-screen.podium-results{padding:15px 20px}.podium-results .results-title h1{font-size:32px;margin:6px 0}.podium-results .results-title p{font-size:11px;margin-bottom:10px}.podium-results .result-row{height:33px}.podium-results .result-row img{height:31px;width:38px}.podium-results .result-row>strong{font-size:19px;width:20px}.podium-results .result-row>span{font-size:12px}.podium-results .result-row>b{font-size:10px}.podium-results .result-actions{gap:6px;margin-top:12px}.podium-results .result-actions button{padding:9px;font-size:13px}.podium-recap{padding:12px;bottom:12px}.podium-recap h2{font-size:22px;margin:4px 0 8px}.recap-stats b{font-size:19px}.race-medals{margin-top:10px;font-size:8px;gap:6px 10px}}@media(max-width:650px)and (orientation:portrait){.results-canvas{left:0!important;width:100%!important}.results-screen.podium-results{width:100%;background:#efe6d2f5;padding:22px}.podium-recap{display:none}.drift-feedback{bottom:225px}.lap-detail{display:none}.threat-warning{font-size:9px}}.podium-results{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto}.podium-results .results-table{overflow-y:auto;min-height:0;align-self:start;max-height:100%}@media(min-height:651px){.podium-results .results-table{align-self:start}.results-screen.podium-results{grid-template-rows:auto auto auto 1fr}.record-mode{align-self:start}}.build-version{margin-left:auto;align-self:center;font-size:10px;color:#66736a;font-variant-numeric:tabular-nums}@media(max-width:900px)and (max-height:600px)and (orientation:landscape){.lap-block button{top:0;bottom:auto;right:calc(100% + 14px);width:44px;height:44px}.lap-detail{display:none}}#item-button{width:284px;min-height:88px;grid-template-columns:68px 1fr 20px;column-gap:10px;padding:10px;border-radius:8px}.item-symbol{display:grid;place-items:center;position:relative;width:64px;height:64px;border-radius:12px;background:#f6e5ba12;border:1px solid #fff4d32e}.has-item .item-symbol{background:radial-gradient(ellipse at 35% 20%,#fff2c742,#e4ba5517);border-color:#fff4d36e}#item-button.just-collected{border-color:#fff0ba;box-shadow:0 0 0 1px #fff0ba80,0 3px 15px #1118}.just-collected .item-symbol{box-shadow:0 0 0 2px #fff1ad}.item-symbol svg{width:60px;height:60px;filter:drop-shadow(0 2px 1px #0008)}.item-charges{position:absolute;bottom:-4px;right:-4px;display:grid;place-items:center;min-width:24px;height:24px;border:2px solid #172723;border-radius:50%;background:#fff1ca;color:#172723;font:800 15px/1 Arial,sans-serif}.item-name{font-size:15px;line-height:1.15}.item-hint{font-size:10px}#item-button kbd{padding:5px}@media(max-height:650px)and (orientation:landscape){#item-button{width:224px;min-height:62px;grid-template-columns:46px 1fr 18px;gap:3px 8px;padding:6px 8px}.item-symbol{width:44px;height:44px;border-radius:8px}.item-symbol svg{width:42px;height:42px}.item-charges{width:18px;min-width:18px;height:18px;font-size:11px;right:-3px;bottom:-3px}.item-name{font-size:12px}.item-hint{font-size:8px}.item-acquisition{display:none}}@media(max-width:650px)and (orientation:portrait){#item-button{width:258px;min-height:80px;grid-template-columns:58px 1fr 18px;gap:4px 8px;padding:8px}.item-symbol{width:54px;height:54px}.item-symbol svg{width:52px;height:52px}.item-name{font-size:14px}.item-hint{font-size:9px}.item-pocket{gap:8px}.item-acquisition{display:none}}@media(prefers-reduced-motion:reduce){.item-acquisition,.item-acquisition.show{transform:none;transition:opacity .1s!important}}.difficulty-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px}.difficulty-choice>span{font-size:11px;font-weight:800;letter-spacing:.07em}.difficulty-choice select{min-width:50%;min-height:44px;padding:9px 28px 9px 10px;border:1px solid #9ca39a;border-radius:2px;color:var(--ink);background:#fff9eb;font-weight:700}.difficulty-description{min-height:29px;margin:6px 0 12px;font-size:11px;line-height:1.4}.difficulty-choice select:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media(max-height:500px)and (orientation:landscape){.difficulty-choice{margin-top:5px}.difficulty-choice select{min-width:54%;padding:7px}.difficulty-description{margin-bottom:9px}}.signature-callout{position:absolute;left:50%;top:30%;transform:translate(-50%,8px) scale(.9);text-align:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .14s,transform .2s cubic-bezier(.2,1.6,.4,1),visibility .14s;--accent:#ffd278}.signature-callout.show{opacity:1;visibility:visible;transform:translate(-50%) scale(1)}.signature-callout strong{display:block;font:italic clamp(30px,3.4vw,52px)/1 Impact,"Arial Narrow",sans-serif;letter-spacing:.02em;color:#fff8e6;text-shadow:0 0 18px var(--accent),0 3px 0 #0b1514,0 4px 14px #000a}.signature-callout span{display:inline-block;margin-top:8px;padding:5px 12px;border-radius:3px;font-size:12px;font-weight:800;letter-spacing:.04em;color:#152321;background:var(--accent);box-shadow:0 3px 12px #0006}.signature-callout[data-kind=spin] strong{color:#ffe2b8;text-shadow:0 0 16px #ff7a3c,0 3px 0 #0b1514}.signature-callout[data-kind=spin] span{background:#ffb36b}.signature-callout[data-kind=dazzle] strong{color:#fff6fb;text-shadow:0 0 18px #ff5fa8,0 3px 0 #0b1514}.signature-callout[data-kind=dazzle] span{background:#ffc2de}.dazzle-glare{position:absolute;inset:0;pointer-events:none;opacity:var(--haze,0);transition:opacity .25s;background:radial-gradient(ellipse at 50% 38%,#fffaf0f2,#ffcee88c 38%,#ff8cc800 72%)}.dazzle-glare.flash{animation:dazzle-flash .55s ease-out}@keyframes dazzle-flash{0%{opacity:.95}to{opacity:var(--haze,0)}}.signature-callout[data-kind=honk] strong{color:#effff3;text-shadow:0 0 18px #4dff7a,0 3px 0 #0b1514}.signature-callout[data-kind=honk] span{background:#b8ffcb}.signature-callout[data-kind=stampede] strong{color:#eef3ff;text-shadow:0 0 18px #4d7dff,0 3px 0 #0b1514}.signature-callout[data-kind=stampede] span{background:#bccdff}.honk-pulse{position:absolute;inset:0;pointer-events:none;opacity:0;box-shadow:inset 0 0 #4dff7a00}.honk-pulse.flash{animation:honk-pulse .7s ease-out}@keyframes honk-pulse{0%{opacity:1;box-shadow:inset 0 0 120px 40px #4dff7a8c}to{opacity:0;box-shadow:inset 0 0 40px #4dff7a00}}#item-button{position:relative}#item-button.honked{animation:item-honked .55s ease-out}@keyframes item-honked{0%,to{transform:none}20%{transform:translate(-6px) rotate(-3deg)}45%{transform:translate(5px) rotate(2deg)}70%{transform:translate(-3px)}}.item-knocked{position:absolute;left:14px;top:6px;width:40px;height:40px;pointer-events:none;animation:item-knocked 1s ease-in forwards}.item-knocked svg{width:100%;height:100%}@keyframes item-knocked{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(70px,-90px) rotate(260deg);opacity:0}}@media(prefers-reduced-motion:reduce){.signature-callout{transition:opacity .14s,visibility .14s;transform:translate(-50%)}.dazzle-glare.flash,.honk-pulse.flash,#item-button.honked{animation-duration:.2s}.item-knocked{animation-duration:.3s}}.position-block>strong.ghost-gap{font-size:34px;padding:18px 6px 16px;letter-spacing:-.01em}.position-block>strong.ghost-gap.ahead{color:#8ef0a8}.position-block>strong.ghost-gap.behind{color:#ff9f86}body.touch-ui .position-block>strong.ghost-gap{font-size:15px;padding:8px 2px 9px}.challenge-stats{display:flex;gap:10px;margin:12px 0}.challenge-stats span{flex:1;padding:9px 10px;border-radius:6px;background:#ffffff0f;font-size:9px;letter-spacing:.07em;color:#b9c4bd}.challenge-stats b{display:block;margin-bottom:4px;font:italic 22px Impact,Arial Narrow,sans-serif;color:#fff5dc;letter-spacing:0}.challenge-note{font-size:12px;color:#b9c4bd}.daily-card{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:8px;border-left:4px solid var(--sig, #f2622b);background:#ffffff0f}.daily-card img{width:92px;height:64px;object-fit:contain}.daily-card small{display:block;font-size:10px;letter-spacing:.1em;color:#b9c4bd}.daily-card strong{display:block;font:italic 26px Impact,Arial Narrow,sans-serif;color:#fff5dc}.daily-card span{font-size:12px;color:#dfe6df}@media(max-width:720px),(max-height:520px){.challenge-stats{gap:6px;margin:8px 0}.challenge-stats b{font-size:17px}.daily-card img{width:64px;height:44px}.daily-card strong{font-size:20px}}:root{--safe-l: max(10px, env(safe-area-inset-left));--safe-r: max(10px, env(safe-area-inset-right));--safe-b: max(8px, env(safe-area-inset-bottom))}body.touch-ui{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}body.touch-ui #ui button,body.touch-ui #touch button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}body.touch-ui .race-hud button,body.touch-ui #touch button{touch-action:none}body.touch-ui .modal,body.touch-ui .selection,body.touch-ui .results-screen{touch-action:pan-y;-webkit-user-select:text;user-select:text}body.touch-ui #touch{display:block;position:fixed;inset:0;pointer-events:none}body:not(.racing) #touch,body.paused #touch{display:none}body.touch-ui .race-hud kbd,body.touch-ui .keyboard-hint{display:none}body.touch-ui .lap-block button{top:0;bottom:auto;right:calc(100% + 10px);width:48px;height:48px;border-radius:9px;font-size:17px}body.touch-ui .race-top{left:230px;right:230px}.touch-reset{position:absolute;top:15px;right:173px;width:48px;height:48px;pointer-events:auto;touch-action:none;border:1px solid #e8e2c97a;border-radius:9px;background:#182d32cb;color:#fff3dc;font-size:22px;line-height:1}.touch-reset span{display:block;font-size:7px;font-weight:800;letter-spacing:.06em;margin-top:1px}.touch-reset.pressed{background:var(--orange)}.touch-launch{display:none}#touch.countdown .touch-launch{display:block;background:#2f4d2fdd;border-color:#b6f08f;min-width:96px}#touch.countdown .touch-launch.pressed{background:var(--orange)}body.touch-ui .ability-controls button{background:linear-gradient(to top,#f2622b4d calc(var(--fill, 0) * 100%),#122022db 0)}body.touch-ui .ability-controls button.ready{background:linear-gradient(to top,#f2622b80,#1c2826e6)}.coach-tip{position:absolute;left:50%;top:96px;width:min(430px,70vw);padding:8px 14px 9px;text-align:left;background:#132220ee;border-left:4px solid var(--orange);border-radius:3px;box-shadow:0 4px 16px #0005;opacity:0;visibility:hidden;transform:translate(-50%,-6px);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none}.coach-tip.show{opacity:1;visibility:visible;transform:translate(-50%)}.coach-tip strong{display:block;font:italic 18px/1.1 Impact,Arial Narrow,sans-serif;color:#ffd6a1;letter-spacing:.02em}.coach-tip span{display:block;margin-top:3px;font-size:12px;line-height:1.35;color:#f1efe2}.fps-readout{position:absolute;top:4px;left:50%;transform:translate(-50%);padding:1px 6px;border-radius:2px;background:#0a141399;color:#d9f3d0;font:700 9px/1.4 ui-monospace,Menlo,monospace;pointer-events:none}#rotate-hint{display:none}@media(orientation:portrait)and (max-width:600px){body.touch-ui #rotate-hint{display:grid;place-items:center;position:fixed;inset:0;z-index:40;padding:30px;text-align:center;background:radial-gradient(120% 70% at 50% 38%,#24393a,#0f1a1b 70%);color:var(--cream);pointer-events:auto}}#rotate-hint .rotate-brand{margin:0 0 34px;font:italic 900 34px/.9 Impact,Arial Narrow,sans-serif;letter-spacing:-.03em;color:var(--cream)}#rotate-hint .rotate-brand span{display:block;color:var(--orange);font-size:1.2em}#rotate-hint strong{display:block;margin-top:22px;font:italic 30px/1 Impact,Arial Narrow,sans-serif;color:var(--orange)}#rotate-hint p{margin:10px 0 0;font-size:13px;line-height:1.5;color:#d8ddd2}#rotate-hint .rotate-race{display:none}body.racing #rotate-hint .rotate-race{display:inline}.rotate-phone{display:inline-block;width:46px;height:78px;border:4px solid var(--cream);border-radius:9px;animation:rotate-phone 2.2s ease-in-out infinite}@keyframes rotate-phone{0%,25%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}@media(prefers-reduced-motion:reduce){.rotate-phone{animation:none;transform:rotate(-90deg)}}.modal h3{margin:18px 0 4px;font:italic 17px Impact,Arial Narrow,sans-serif;letter-spacing:.02em}.modal h3+p{margin-top:0}.guide-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 4px}.guide-actions .secondary{min-height:44px;font-size:16px;padding:8px 18px;box-shadow:none}@media(orientation:landscape)and (max-height:540px){.modal-backdrop{padding:8px max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left))}.modal{max-height:calc(100dvh - 16px);padding:12px 18px 14px}.modal header{margin-bottom:8px;padding-bottom:7px}.modal h2{font-size:22px}.modal p{font-size:11px;line-height:1.5}.modal h3{margin-top:12px;font-size:15px}.controls-grid{margin:10px 0;gap:7px 14px;font-size:11px}.setting{padding:7px 0;font-size:12px;gap:14px}.setting small{font-size:9px;margin-top:2px}.pause-actions{grid-template-columns:1fr 1fr;gap:8px}.pause-actions #resume-button,.pause-actions .text-button{grid-column:1 / -1}.pause-actions button{min-height:46px;font-size:16px;padding:6px 10px}.podium-results .result-row{height:29px}.podium-results .result-row img{height:27px;width:34px}.results-screen.podium-results{padding:10px 16px calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.podium-results .results-title h1{font-size:28px;margin:3px 0}.podium-results .results-title p{margin-bottom:6px}.coach-tip{top:52px;width:min(330px,46vw);padding:5px 10px 6px;border-left-width:3px}.coach-tip strong{font-size:13px}.coach-tip span{font-size:10px;margin-top:1px}}@media(orientation:landscape)and (max-height:540px){body.touch-ui .race-goals,body.touch-ui .live-order,body.touch-ui .roar-status,body.touch-ui .lap-detail,body.touch-ui .mango-total,body.touch-ui .race-map span,body.touch-ui .item-name,body.touch-ui .item-hint,body.touch-ui .ability-controls button>strong{display:none}body.touch-ui .position-block,body.touch-ui .lap-block{top:8px;width:58px}body.touch-ui .position-block{left:var(--safe-l)}body.touch-ui .lap-block{right:var(--safe-r)}body.touch-ui .position-block>span,body.touch-ui .lap-block>span{font-size:9px;padding:2px}body.touch-ui .position-block>strong,body.touch-ui .lap-block>strong{font-size:27px;padding:3px 2px 4px}body.touch-ui .position-block small,body.touch-ui .lap-block small{font-size:12px}body.touch-ui .lap-block button{top:0;bottom:auto;right:calc(100% + 8px);width:44px;height:44px;font-size:15px;border-radius:8px}body.touch-ui .touch-reset{top:8px;right:calc(var(--safe-r) + 118px);width:44px;height:44px;font-size:19px;border-radius:8px}body.touch-ui .race-top{top:6px;left:50%;right:auto;width:min(300px,calc(100% - 370px));transform:translate(-50%);font-size:8px}body.touch-ui .race-top span{margin-top:2px;font-size:13px}body.touch-ui .race-top .route-hint{margin-top:2px;font-size:9px}body.touch-ui .race-map{display:block;top:62px;right:var(--safe-r);width:100px;padding-bottom:0}body.touch-ui .race-map canvas{height:66px}body.touch-ui .touch-steering{left:var(--safe-l);bottom:var(--safe-b);gap:8px}body.touch-ui .touch-steering button{width:66px;min-width:0;height:56px;font-size:22px;border-radius:10px}body.touch-ui .telemetry{left:var(--safe-l);bottom:calc(var(--safe-b) + 64px);width:140px;padding:5px 8px 4px}body.touch-ui .roar-head strong{font-size:11px}body.touch-ui .roar-head>span{font-size:11px}body.touch-ui .roar-track{height:6px;margin-top:3px}body.touch-ui .speed{padding-top:3px;margin-top:4px}body.touch-ui .speed strong{font-size:21px}body.touch-ui .speed>span{font-size:7px;margin:0 0 3px 4px}body.touch-ui .speed em{font-size:7px;max-width:64px;margin-bottom:3px}body.touch-ui .touch-driving{right:var(--safe-r);bottom:var(--safe-b);gap:8px}body.touch-ui .touch-driving button{height:56px;min-width:62px;font-size:11px;border-radius:10px}body.touch-ui .touch-drift{min-width:104px!important}body.touch-ui .ability-controls{right:var(--safe-r);bottom:calc(var(--safe-b) + 64px);gap:8px}body.touch-ui .ability-controls button{width:60px;min-width:0;height:54px;min-height:0;padding:4px 3px;text-align:center;border-radius:10px;display:grid;place-items:center}body.touch-ui .ability-controls button>span{font:italic 10.5px/1.05 Impact,Arial Narrow,sans-serif;letter-spacing:.02em}body.touch-ui .item-pocket{right:calc(var(--safe-r) + 136px);bottom:calc(var(--safe-b) + 64px);gap:0}body.touch-ui #item-button{display:grid;place-items:center;grid-template-columns:1fr;width:64px;min-height:0;height:54px;padding:3px;border-radius:10px}body.touch-ui .item-symbol{width:46px;height:46px;border-radius:9px}body.touch-ui .item-symbol svg{width:42px;height:42px}body.touch-ui .item-active{bottom:calc(100% + 4px);right:50%;transform:translate(50%);font-size:8px;white-space:nowrap}body.touch-ui .item-feedback{position:fixed;inset:102px auto auto 50%;width:min(300px,44vw);padding:5px 9px;transform:translate(-50%,4px)}body.touch-ui .item-feedback.show{transform:translate(-50%)}body.touch-ui .item-feedback strong{font-size:11px}body.touch-ui .item-feedback span{font-size:9px;margin-top:1px}body.touch-ui .item-acquisition{display:block;left:auto;right:calc(var(--safe-r) + 136px);bottom:calc(var(--safe-b) + 126px);width:128px;padding:5px 8px 6px;border-radius:9px}body.touch-ui .acquisition-symbol{width:40px;height:40px}body.touch-ui .item-acquisition strong{font-size:12px}body.touch-ui .acquisition-action{font-size:8px;margin-top:2px}body.touch-ui .drift-feedback{bottom:calc(var(--safe-b) + 6px);width:min(170px,calc(100% - 440px))}body.touch-ui .launch-feedback{top:auto;bottom:calc(var(--safe-b) + 64px);width:230px;padding:6px 10px}body.touch-ui .launch-feedback b{font-size:17px}body.touch-ui .threat-warning{top:88px;padding:5px 10px;font-size:9px}body.touch-ui .countdown{font-size:80px;top:38%}body.touch-ui .signature-callout{top:27%}body.touch-ui .signature-callout strong{font-size:30px}body.touch-ui .signature-callout span{font-size:10px;margin-top:5px;padding:3px 9px}body.touch-ui .coach-tip{top:54px}body.touch-ui .fps-readout{top:auto;bottom:2px}}@media(orientation:landscape)and (max-height:540px)and (max-width:700px){body.touch-ui .touch-steering button{width:60px}body.touch-ui .touch-drift{min-width:90px!important}body.touch-ui .race-map{display:none}body.touch-ui .race-top{width:min(260px,calc(100% - 330px))}}:root{--pw-panel: rgba(11, 19, 20, .76);--pw-line: rgba(255, 255, 255, .13);--pw-muted: #a7b4ac;--pw-text: #f6efdf}.garage-canvas{left:0!important;width:100%!important}.pitwall{position:absolute;inset:0;z-index:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,372px);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top top" "racer ." "roster launch";gap:16px 28px;padding:24px max(34px,env(safe-area-inset-right)) 24px max(34px,env(safe-area-inset-left));color:var(--pw-text)}.pitwall:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#070d0ed1,#070d0e80 30%,#070d0e00 54%),linear-gradient(0deg,#070d0ec7,#070d0e00 36%),linear-gradient(180deg,#070d0e8c,#070d0e00 18%)}.pw-top{grid-area:top;display:flex;align-items:flex-end;gap:18px}.pw-logo{margin:0;font:italic 900 44px/.84 Impact,Arial Narrow,sans-serif;letter-spacing:-.045em;transform:skew(-6deg);transform-origin:left bottom;text-shadow:0 3px 0 #091112,0 10px 24px rgba(0,0,0,.45)}.pw-logo span{display:block}.pw-logo b{display:block;color:var(--orange);font-size:1.24em;font-weight:inherit}.pw-venue{margin:0 0 4px;font:800 10px/1.4 Arial,sans-serif;letter-spacing:.2em;color:#d9d1bb;text-shadow:0 1px 4px #000}.pw-links{margin-left:auto;align-self:flex-start;display:flex;align-items:center;gap:6px}.pw-links button{min-height:38px;padding:8px 14px;border-radius:999px;border:1px solid var(--pw-line);background:#0b13149e;color:var(--pw-text);font:700 12px Arial,sans-serif;letter-spacing:.02em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .15s,border-color .15s}.pw-links .build-version{margin-left:4px;color:#8f9c95;font-size:10px}.pw-racer{grid-area:racer;align-self:start;max-width:440px;margin-top:14px;min-height:0}.pw-tagline{margin:0 0 8px;font:800 11px Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--sig);text-shadow:0 1px 6px rgba(0,0,0,.7)}.pw-name{margin:0;font:italic 62px/.92 Impact,Arial Narrow,sans-serif;text-transform:uppercase;letter-spacing:-.01em;text-shadow:0 4px 0 rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.5)}.pw-vehicle{margin:8px 0 14px;font:600 13px Arial,sans-serif;color:#dad9cc;text-shadow:0 1px 4px #000}.pw-racer .livery-choice{margin:0;border-radius:12px;border-color:var(--pw-line);background:var(--pw-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pw-signature{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;max-width:410px;margin-top:14px;padding:14px 16px;border-radius:16px;border:1px solid var(--pw-line);background:var(--pw-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pw-sig-badge{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font:900 24px/1 Arial,sans-serif;color:#0c1415;background:radial-gradient(circle at 34% 28%,#fff 0%,var(--sig) 46%,color-mix(in srgb,var(--sig) 55%,#000) 100%);box-shadow:0 0 0 3px #ffffff12,0 0 26px color-mix(in srgb,var(--sig) 55%,transparent)}.pw-signature small{display:block;font:800 9px Arial,sans-serif;letter-spacing:.16em;color:var(--pw-muted)}.pw-signature strong{display:block;margin:3px 0 4px;font:italic 22px/1.05 Impact,Arial Narrow,sans-serif}.pw-signature p{margin:0;font-size:12px;line-height:1.45;color:#d4d8cb}.pw-roster{grid-area:roster;align-self:end;min-width:0;container-type:inline-size}.pw-roster-head{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}.pw-roster-head h2{margin:0;font:italic 18px Impact,Arial Narrow,sans-serif;letter-spacing:.02em}.pw-roster-head span{font:800 9px Arial,sans-serif;letter-spacing:.16em;color:var(--pw-muted)}.pw-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:1136px}@container (min-width: 940px){.pw-cards{grid-template-columns:repeat(11,minmax(0,1fr))}}.pw-card{position:relative;min-width:0;width:auto;height:112px;padding:0;overflow:hidden;border-radius:14px;border:1px solid var(--pw-line);color:var(--pw-text);background:linear-gradient(180deg,#243335e6,#0c1415f0);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.pw-card img{display:block;width:100%;height:74px;margin-top:10px;object-fit:contain;transform:scale(1.14);filter:drop-shadow(0 6px 5px rgba(0,0,0,.5));pointer-events:none}.pw-card strong{position:absolute;left:3px;right:3px;bottom:8px;font:italic 12px/1 Impact,Arial Narrow,sans-serif;letter-spacing:.01em;text-align:center;text-transform:uppercase;white-space:nowrap;overflow:hidden}@container (max-width: 939px){.pw-card strong{font-size:clamp(9px,1.72cqi,12px)}}@container (min-width: 940px) and (max-width: 1150px){.pw-card strong{font-size:1.04cqi}}.pw-num{position:absolute;top:7px;left:9px;font:800 9px Arial,sans-serif;color:#93a39b}.pw-card.selected{transform:translateY(-6px);border-color:var(--glow);background:linear-gradient(180deg,color-mix(in srgb,var(--glow) 28%,#1b2a2b),#0f191a);box-shadow:0 0 0 2px var(--glow),0 12px 26px -6px color-mix(in srgb,var(--glow) 65%,transparent)}.pw-card.selected .pw-num{color:var(--glow)}.pw-card.pending{border-color:var(--glow);animation:pw-pending .7s ease-in-out infinite alternate}.pw-track-tile.pending{--glow: var(--orange);border-color:var(--orange);animation:pw-pending .7s ease-in-out infinite alternate}@keyframes pw-pending{to{box-shadow:0 0 0 2px var(--glow)}}.pw-launch{grid-area:launch;align-self:end;padding:16px;border-radius:20px;border:1px solid var(--pw-line);background:var(--pw-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 40px -14px #0009}.pw-tracks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pw-track-tile{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:7px 10px 9px;border-radius:13px;border:1px solid var(--pw-line);background:#ffffff0d;color:var(--pw-text);text-align:left;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}.pw-track-tile .track-outline{height:50px;margin:0 0 3px;stroke-width:3}.pw-track-tile .track-outline .chute{stroke-width:2.4;opacity:.75}.pw-track-tile span{font:800 8px Arial,sans-serif;letter-spacing:.15em;color:var(--pw-muted)}.pw-track-tile strong{margin:2px 0;font:italic 22px/1 Impact,Arial Narrow,sans-serif;letter-spacing:.01em}.pw-track-tile small{font-size:10px;line-height:1.3;color:var(--pw-muted)}.pw-track-tile.selected{border-color:var(--orange);background:linear-gradient(180deg,#f2622b42,#f2622b12);box-shadow:0 0 0 1px var(--orange),0 10px 22px -12px #f2622be6}.pw-track-tile.selected small{color:#f6d9c4}.pw-track-tile:disabled{cursor:wait}.pw-track-blurb{margin:8px 2px 0;padding-bottom:10px;border-bottom:1px solid var(--pw-line);font-size:11px;line-height:1.35;color:var(--pw-muted)}.pw-setup{display:grid;grid-template-columns:minmax(0,43fr) minmax(0,57fr);gap:10px;margin:12px 0}.pw-field{display:flex;flex-direction:column;gap:5px;min-width:0}.pw-field>span{font:800 9px Arial,sans-serif;letter-spacing:.16em;color:var(--pw-muted)}.pw-field select{width:100%;min-height:42px;padding:9px 26px 9px 10px;border-radius:11px;border:1px solid var(--pw-line);appearance:none;-webkit-appearance:none;color:var(--pw-text);font:700 13px Arial,sans-serif;background:#ffffff12 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23f6efdf' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 9px center / 11px 8px}.pw-field select option{color:#172123;background:#f6efdf}.pw-field small{min-height:27px;font-size:10px;line-height:1.35;color:var(--pw-muted)}.pw-go{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;width:100%;padding:12px 18px;border:0;border-radius:15px;text-align:left;color:#fff8eb;background:linear-gradient(100deg,#ff8441,#f2622b 52%,#d84a1b);box-shadow:0 12px 26px -10px #f2622bd9,inset 0 1px #ffffff59;transition:transform .15s,box-shadow .15s,filter .15s}.pw-go span{font:italic 29px/1 Impact,Arial Narrow,sans-serif;letter-spacing:.02em}.pw-go small{grid-column:1;font:800 10px Arial,sans-serif;letter-spacing:.14em;opacity:.85}.pw-go svg{grid-row:1 / span 2;grid-column:2;width:30px;height:30px;stroke-width:2.4}.pw-go:disabled{filter:saturate(.55) brightness(.85);cursor:wait}.pw-launch .race-description{margin:10px 2px 0;font-size:10px;line-height:1.4;color:var(--pw-muted)}.pw-launch .home-screen-hint{margin:8px 2px 0;font-size:10px;color:#f3c49e}@media(hover:hover){.pw-card:not(.selected):hover{transform:translateY(-3px);border-color:#ffffff6b}.pw-track-tile:not(.selected):not(:disabled):hover{transform:translateY(-2px);border-color:#ffffff6b}.pw-links button:hover{background:#f2622be6;border-color:transparent}.pw-go:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px #f2622bf2,inset 0 1px #fff6}.primary:hover{background:#ff7b3d;transform:translateY(-1px)}.secondary:hover{background:#34464a}}@media(min-width:901px)and (max-height:820px){.pw-logo{font-size:36px}.pw-name{font-size:50px}.pw-signature p{font-size:11px}.pw-card{height:100px}.pw-card img{height:64px}}@media(max-width:900px)and (orientation:portrait),(max-width:760px)and (min-height:541px){.pitwall{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-template-areas:"top" "racer" "." "roster" "launch";gap:14px;padding:20px 20px max(20px,env(safe-area-inset-bottom));overflow-y:auto;pointer-events:auto}.pitwall:before{background:linear-gradient(0deg,#070d0ee6,#070d0e8c 42%,#070d0e00 62%),linear-gradient(180deg,#070d0eb3,#070d0e00 30%)}.pw-top{flex-wrap:wrap}.pw-venue{display:none}.pw-cards{grid-template-columns:repeat(6,minmax(0,1fr));max-width:none}.pw-card strong{font-size:12px}}@media(orientation:landscape)and (max-height:540px){.pitwall{grid-template-columns:minmax(0,1fr) 250px;gap:6px 14px;padding:9px max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.pw-logo{font-size:17px;letter-spacing:-.03em}.pw-logo span,.pw-logo b{display:inline}.pw-logo b{margin-left:.18em;font-size:1em}.pw-venue{display:none}.pw-links{gap:4px}.pw-links button{min-height:32px;padding:5px 10px;font-size:10px}.pw-links .build-version{display:none}.pw-racer{margin-top:0;max-width:330px}.pw-tagline{margin-bottom:3px;font-size:8px}.pw-name{font-size:27px}.pw-vehicle{margin:3px 0 6px;font-size:9px}.pw-racer .livery-choice{padding:2px 6px;gap:6px}.pw-signature{grid-template-columns:32px 1fr;gap:9px;margin-top:6px;padding:7px 10px;border-radius:12px}.pw-sig-badge{width:32px;height:32px;font-size:15px}.pw-signature small{font-size:7px}.pw-signature strong{margin:1px 0 2px;font-size:14px}.pw-signature p{font-size:9px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pw-roster-head{margin-bottom:4px}.pw-roster-head h2{font-size:11px}.pw-roster-head span{font-size:7px}.pw-cards{gap:5px;max-width:none}.pw-card{height:56px;border-radius:10px}.pw-card.selected{transform:translateY(-3px)}.pw-card img{height:34px;margin-top:6px}.pw-card strong{bottom:4px;font-size:8.5px;letter-spacing:0}.pw-num{top:3px;left:5px;font-size:6.5px}.pw-launch{padding:9px 10px;border-radius:14px}.pw-tracks{gap:5px}.pw-track-tile{padding:4px 7px 5px;border-radius:10px}.pw-track-tile .track-outline{height:24px;margin-bottom:1px}.pw-track-tile span,.pw-track-tile small,.pw-track-blurb{display:none}.pw-track-tile strong{margin:0;font-size:13px}.pw-setup{gap:6px;margin:7px 0}.pw-field{gap:3px}.pw-field>span{font-size:7px}.pw-field select{min-height:34px;padding:5px 12px 5px 5px;border-radius:9px;font-size:10px;background-position:right 4px center;background-size:7px 5px}.pw-field small{display:none}.pw-go{padding:7px 12px;border-radius:12px}.pw-go span{font-size:20px}.pw-go small{font-size:7.5px}.pw-go svg{width:22px;height:22px}.pw-launch .race-description{display:none}.pw-launch .home-screen-hint{margin-top:5px;font-size:8px}}@media(orientation:landscape)and (max-height:360px){.pw-signature p,.pw-track-tile .track-outline{display:none}.pw-setup{margin-top:5px}}@media(orientation:landscape)and (max-height:540px)and (max-width:720px){.pitwall{grid-template-columns:minmax(0,1fr) 236px}.pw-cards{gap:4px}.pw-card{height:50px}.pw-card img{height:30px;margin-top:5px}.pw-card strong{font-size:7.2px}.pw-name{font-size:23px}.pw-field select{font-size:9px;letter-spacing:-.01em}}.modal-backdrop{background:#060c0d9e}.modal{color:var(--pw-text);border:1px solid var(--pw-line);border-radius:20px;background:linear-gradient(180deg,#192527f7,#0c1415fa);box-shadow:0 30px 80px -20px #000000b3}.modal header{border-bottom-color:var(--pw-line)}.modal h2{color:var(--pw-text)}.modal p{color:#d9ddd1}.modal a{color:#ffad7d}.modal .close-modal{width:40px;height:40px;border-radius:50%;border:1px solid var(--pw-line);background:#ffffff0f;color:var(--pw-text);font-size:22px;line-height:1}.modal .text-button{color:var(--pw-text)}.modal .secondary{background:#ffffff14;border-color:var(--pw-line);color:var(--pw-text);box-shadow:none}.modal .primary{border-color:transparent;box-shadow:0 10px 22px -10px #f2622be6}.modal kbd{color:var(--pw-text);background:#ffffff1a;border:1px solid var(--pw-line);border-radius:6px}.modal .setting{border-bottom-color:var(--pw-line)}.modal .setting small{color:var(--pw-muted)}.modal .setting select{background:#ffffff1a;color:var(--pw-text);border:1px solid var(--pw-line);border-radius:9px}.modal .setting select option{color:#172123;background:#f6efdf}.modal .setting input[type=checkbox]{background:#4a5a58}.modal .setting input[type=checkbox]:checked{background:var(--orange)}@media(hover:hover){.modal .secondary:hover{background:#ffffff29}.modal .close-modal:hover{background:#f2622be6}}.modal:has(.codex){width:min(940px,100%)}.codex-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#ffffff12;border:1px solid var(--pw-line)}.codex-tabs button{min-height:38px;padding:6px 18px;white-space:nowrap;border:0;border-radius:999px;background:transparent;color:var(--pw-muted);font:italic 15px Impact,Arial Narrow,sans-serif;letter-spacing:.04em}.codex-tabs button[aria-selected=true]{background:var(--orange);color:#fff8ec}.codex{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;margin-top:14px}.codex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;align-content:start}.codex-grid.signatures{grid-template-columns:repeat(4,minmax(0,1fr))}.codex-tile{position:relative;display:grid;justify-items:center;gap:6px;padding:12px 6px 10px;border-radius:16px;border:1px solid var(--pw-line);color:var(--pw-text);text-align:center;background:radial-gradient(120% 90% at 50% 18%,color-mix(in srgb,var(--item) 34%,transparent),#ffffff08 62%),#ffffff08;transition:transform .15s,border-color .15s,box-shadow .15s}.codex-tile svg,.codex-tile img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.45))}.codex-tile strong{font:italic 13px/1.05 Impact,Arial Narrow,sans-serif;letter-spacing:.02em;text-transform:uppercase}.codex-tile[aria-selected=true]{border-color:var(--item);box-shadow:0 0 0 2px var(--item),0 10px 24px -10px var(--item);transform:translateY(-2px)}@media(hover:hover){.codex-tile:not([aria-selected=true]):hover{transform:translateY(-2px);border-color:#fff6}}.codex-detail{position:relative;overflow:hidden;align-self:start;padding:20px;border-radius:20px;border:1px solid var(--pw-line);background:radial-gradient(90% 70% at 85% 0%,color-mix(in srgb,var(--item) 40%,transparent) 0%,transparent 70%),#ffffff0a}.codex-hero{display:flex;align-items:center;gap:16px}.codex-hero .codex-art{flex:none;display:grid;place-items:center;width:92px;height:92px;border-radius:26px;background:radial-gradient(circle at 40% 30%,color-mix(in srgb,var(--item) 70%,#fff) 0%,var(--item) 50%,color-mix(in srgb,var(--item) 45%,#000) 100%);box-shadow:0 12px 28px -10px var(--item)}.codex-hero .codex-art svg{width:76px;height:76px;filter:drop-shadow(0 4px 4px rgba(0,0,0,.4))}.codex-hero .codex-art img{width:86px;height:70px;object-fit:contain}.codex-hero h3{margin:0;font:italic 28px/1 Impact,Arial Narrow,sans-serif;letter-spacing:.01em;text-transform:uppercase}.codex-kind{display:inline-block;margin-top:7px;padding:4px 10px;border-radius:999px;background:#ffffff29;border:1px solid rgba(255,255,255,.22);font:800 9px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff}.modal .codex-action{margin:16px 0 6px;font:800 12px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--item)}.modal .codex-detail p{margin:0 0 10px;font-size:13px;line-height:1.55}.codex-dodge{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;margin-top:12px;padding:12px;border-radius:14px;background:#00000038}.codex-dodge b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--item);color:#0d1516;font:900 15px/1 Arial,sans-serif}.modal .codex-dodge p{margin:0;font-size:12px}.codex-odds{margin-top:14px}.codex-odds>span{font:800 9px Arial,sans-serif;letter-spacing:.16em;color:var(--pw-muted)}.codex-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:7px}.codex-bars div{display:grid;gap:5px;font:700 10px Arial,sans-serif;color:var(--pw-muted)}.codex-bars i{display:block;height:8px;border-radius:4px;background:#ffffff1a;overflow:hidden}.codex-bars i:after{content:"";display:block;width:calc(var(--share) * 100%);height:100%;border-radius:inherit;background:var(--item)}.modal .codex-intro{margin:10px 0 0;font-size:12px;color:var(--pw-muted)}@media(max-width:760px){.codex{grid-template-columns:1fr}.codex-detail{order:-1}}@media(orientation:landscape)and (max-height:540px){.codex{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:8px}.codex-grid,.codex-grid.signatures{grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:6px}.codex-tile{padding:6px 3px;border-radius:12px;gap:3px}.codex-tile svg,.codex-tile img{width:34px;height:34px}.codex-tile strong{font-size:8.5px}.codex-detail{padding:12px;border-radius:14px}.codex-hero .codex-art{width:54px;height:54px;border-radius:16px}.codex-hero .codex-art svg{width:44px;height:44px}.codex-hero .codex-art img{width:50px;height:40px}.codex-hero h3{font-size:18px}.modal .codex-action{margin:8px 0 4px;font-size:9px}.modal .codex-detail p{font-size:10.5px;line-height:1.45;margin-bottom:6px}.codex-dodge{margin-top:6px;padding:7px 8px}.modal .codex-dodge p{font-size:10px}.codex-odds{margin-top:7px}.codex-tabs button{min-height:32px;font-size:12px;padding:4px 12px}}.modal header .modal-back{flex:none;margin-right:14px;min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid var(--pw-line);background:#ffffff0f;color:var(--pw-text);font:700 12px Arial,sans-serif;letter-spacing:.02em}.modal header .modal-back+h2{flex:1}.codex-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;width:100%;margin:4px 0 12px;padding:12px 16px;border-radius:16px;border:1px solid rgba(242,98,43,.45);text-align:left;color:var(--pw-text);background:radial-gradient(120% 140% at 0% 50%,rgba(242,98,43,.28),transparent 60%),#ffffff0a;transition:transform .15s,border-color .15s}.codex-card-art{display:flex}.codex-card-art svg{width:46px;height:46px;margin-right:-12px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.45))}.codex-card strong{display:block;font:italic 19px/1 Impact,Arial Narrow,sans-serif;letter-spacing:.03em}.codex-card small{display:block;margin-top:4px;font-size:11.5px;line-height:1.35;color:var(--pw-muted)}.codex-card>b{font:900 30px/1 Arial,sans-serif;color:var(--orange)}@media(hover:hover){.codex-card:hover{transform:translateY(-1px);border-color:var(--orange)}.modal header .modal-back:hover{background:#f2622be6;border-color:transparent}}@media(orientation:landscape)and (max-height:540px){.codex-card{gap:12px;padding:8px 12px;margin-bottom:8px}.codex-card-art svg{width:32px;height:32px;margin-right:-9px}.codex-card strong{font-size:15px}.codex-card small{font-size:9.5px}.modal header .modal-back{min-height:32px;padding:4px 10px;font-size:10px}}#game.garage-canvas{background:radial-gradient(120% 90% at 68% 42%,#2b3f40,#131d1e 58%,#0a1112)}.pw-links .daily-dot{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:#f2622b;vertical-align:1px;box-shadow:0 0 6px #f2622b}.drag-hud{position:absolute;inset:0;pointer-events:none;color:#fff1cc;font-family:Arial,sans-serif}.drag-hud button{pointer-events:auto}.drag-top{position:absolute;top:18px;left:50%;transform:translate(-50%);text-align:center;white-space:nowrap;text-shadow:0 1px 4px #192426,0 1px 10px #192426}.drag-top strong{display:block;font:800 15px/1.2 Arial Black,Arial,sans-serif;letter-spacing:.08em}.drag-top span{display:block;margin-top:4px;font:700 12px Arial,sans-serif;letter-spacing:.06em;color:#ffd9a0}.drag-pause{position:absolute;top:18px;right:24px;width:40px;height:34px;border:0;border-radius:8px;background:#152124d1;color:#fff1cc;font-size:15px;cursor:pointer}.drag-tree{position:absolute;top:70px;right:24px;display:flex;gap:8px;padding:9px 11px 10px;border-radius:10px;background:#101618d6;box-shadow:0 4px 16px #00000040}.drag-tree-column{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:36px}.drag-tree-column small{margin-bottom:2px;font:700 9px Arial,sans-serif;letter-spacing:.08em;color:#9fb0b4}.drag-tree-column.you small{color:#ffcf3a}.drag-tree .lamp{display:block;width:19px;height:19px;border-radius:50%;background:#262c2e;box-shadow:inset 0 0 0 2px #101415}.drag-tree .lamp.prestage,.drag-tree .lamp.stage{width:11px;height:11px}.drag-tree .lamp.prestage.on,.drag-tree .lamp.stage.on{background:#ffd75a;box-shadow:0 0 9px #ffd75a}.drag-tree .lamp.amber.on{background:#ffa21f;box-shadow:0 0 12px #ffa21f}.drag-tree .lamp.green.on{background:#3dff6a;box-shadow:0 0 14px #3dff6a}.drag-tree .lamp.red.on{background:#ff3226;box-shadow:0 0 14px #ff3226}.drag-callout{position:absolute;top:72px;left:50%;transform:translate(-50%);min-width:300px;max-width:min(560px,62vw);padding:10px 18px 11px;border-radius:10px;text-align:center;background:#101618d6;opacity:0;transition:opacity .12s}.drag-callout.show{opacity:1}.drag-callout strong{display:block;font:800 20px Arial Black,Arial,sans-serif;letter-spacing:.05em}.drag-callout span{display:block;margin-top:4px;font:600 13px Arial,sans-serif;color:#cfe0e4}.drag-callout strong:empty{display:none}.drag-callout strong:empty+span{margin-top:0}.drag-callout[data-kind=perfect] strong{color:#3dff6a}.drag-callout[data-kind=bad] strong{color:#ff8a6a}.drag-dash{position:absolute;left:50%;bottom:44px;transform:translate(-50%);width:min(560px,70vw);padding:12px 16px 9px;border-radius:12px;background:#101618db}.drag-tach{position:relative;height:16px;overflow:hidden;border-radius:8px;background:linear-gradient(90deg,#2b3335 0% 91%,#5a2420)}.drag-band{position:absolute;top:0;bottom:0;background:#3dff6a4d}.drag-tach.in-band .drag-band{background:#3dff6ac7}.drag-shiftzone{position:absolute;top:0;bottom:0;background:#ffcf3a8c}.drag-needle{position:absolute;top:-2px;bottom:-2px;left:0;width:4px;margin-left:-2px;border-radius:2px;background:#fff;box-shadow:0 0 6px #fff}.drag-readout{display:flex;align-items:baseline;gap:12px;margin-top:8px}.drag-light{align-self:center;padding:3px 8px;border-radius:5px;font:800 12px Arial,sans-serif;letter-spacing:.1em;background:#2b3335;color:#5f6a6d}.drag-light.on{background:#ffcf3a;color:#1b1f20;box-shadow:0 0 12px #ffcf3a}.drag-light.limiter{background:#ff3226;color:#fff;box-shadow:0 0 12px #ff3226}.drag-readout b{min-width:26px;font:800 28px Arial Black,Arial,sans-serif;color:#ffcf3a}.drag-readout strong{margin-left:auto;font:800 30px Arial Black,Arial,sans-serif}.drag-readout small{font:700 11px Arial,sans-serif;color:#9fb0b4}.drag-readout em{min-width:80px;font:700 21px Courier New,monospace;font-style:normal;text-align:right}.drag-keys{left:50%;bottom:16px;transform:translate(-50%)}.drag-hud .fps-readout{top:20px;left:24px}.drag-results .timeslip{min-height:0;max-height:100%;overflow-y:auto;align-self:start}.drag-results .timeslip{margin:14px 0 16px;padding:12px 16px 10px;border:1px solid #d9cdb4;border-radius:10px;background:#fffaf0;color:#1d2526;box-shadow:0 2px #d9cdb4;font-family:Courier New,monospace}.slip-head,.slip-row{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px;align-items:baseline}.slip-head{margin-bottom:4px;padding-bottom:8px;border-bottom:2px dashed #cbbd9f;font:800 12px Arial,sans-serif;letter-spacing:.08em}.slip-head b{text-align:right}.slip-head b small{display:block;font:600 10px Arial,sans-serif;color:#7a7262;letter-spacing:.06em}.slip-row{padding:3px 0;border-bottom:1px dotted #e4d9c2;font-size:15px}.slip-row span{font:700 11px Arial,sans-serif;color:#5b5446;letter-spacing:.05em;text-transform:uppercase}.slip-row b{text-align:right}.slip-foot{margin-top:8px;font:800 11px Arial,sans-serif;letter-spacing:.1em;color:#1f7a3a}.drag-recap .drag-ladder{margin:10px 0 14px}.drag-ladder div{display:flex;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.12);font:700 14px Arial,sans-serif}.drag-ladder small{margin-left:auto;color:#9fb0b4;font-weight:600}.drag-ladder .won b{color:#3dff6a}.drag-ladder .lost b{color:#ff6a5a}body.touch-ui .drag-touch .touch-shift{min-width:132px!important;height:96px;font-size:17px;font-weight:800;letter-spacing:.08em}body.touch-ui .drag-touch .touch-drive{height:96px;min-width:84px}@media(orientation:landscape)and (max-height:540px){.drag-top{top:6px}.drag-top strong{font-size:11px}.drag-top span{margin-top:2px;font-size:9px}.drag-pause{top:6px;right:calc(var(--safe-r, 12px) + 4px);width:44px;height:40px}.drag-tree{top:54px;right:auto;left:var(--safe-l, 12px);gap:5px;padding:6px 7px}.drag-tree-column{gap:3px;min-width:28px}.drag-tree .lamp{width:13px;height:13px}.drag-tree .lamp.prestage,.drag-tree .lamp.stage{width:8px;height:8px}.drag-callout{top:48px;min-width:0;max-width:46vw;padding:6px 10px 7px}.drag-callout strong{font-size:14px}.drag-callout span{font-size:10px}.drag-dash{left:var(--safe-l, 12px);bottom:var(--safe-b, 10px);transform:none;width:min(330px,46vw);padding:7px 10px 6px}.drag-tach{height:12px}.drag-readout{margin-top:5px;gap:8px}.drag-readout b{font-size:20px}.drag-readout strong{font-size:21px}.drag-readout em{min-width:60px;font-size:15px}.drag-light{font-size:10px;padding:2px 6px}.drag-results .timeslip{margin:6px 0;padding:6px 10px 5px}.slip-head{padding-bottom:4px;font-size:10px}.slip-row{font-size:12px;padding:1px 0}.slip-row span{font-size:9px}}
