:root{--orange:#ff793f;--yellow:#f0e5ab;--paper:#f7f2dd;--ink:#14201e;--muted:#a9b3a4;--border:#ced8c628;font-family:Arial,Helvetica,sans-serif;font-synthesis:none;color:var(--paper);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink)}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:4px}[hidden]{display:none!important}#scene,#scene canvas,.screen-shade{position:absolute;inset:0;width:100%;height:100%}#scene canvas{display:block;touch-action:none}.screen-shade{pointer-events:none;background:linear-gradient(180deg,#0c1717ad 0%,#0c171718 25%,transparent 55%,#0c171755 100%)}header{position:absolute;left:0;right:0;top:0;height:86px;padding:0 33px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--paper);font-size:17px;font-weight:800;letter-spacing:-.5px;pointer-events:auto}.brand-icon{display:flex;justify-content:center;align-items:center;background:var(--orange);color:var(--ink);width:40px;height:40px;border-radius:9px;font-size:25px;letter-spacing:-3px;padding-right:4px}.brand-icon span{font-size:14px;align-self:flex-start;margin-top:7px;letter-spacing:0}.brand small{display:block;font-size:7px;letter-spacing:2.4px;margin-top:5px;font-weight:400}.header-center{font:9px monospace;letter-spacing:1.3px;display:flex;align-items:center;gap:10px}.header-center i{width:5px;height:5px;border-radius:50%;background:var(--orange)}.header-center>span{margin-left:25px;color:#b4baad88;font-size:8px}.square{border:1px solid #e4e9ce55;border-radius:50%;background:#12201b55;backdrop-filter:blur(12px);width:30px;height:30px;pointer-events:auto}.intro{position:absolute;left:33px;top:109px;pointer-events:none}.eyebrow{font:8px monospace;letter-spacing:1.8px;color:var(--yellow)}h1{font-size:41px;letter-spacing:-1.8px;line-height:1.03;margin:11px 0 12px;font-weight:750;text-shadow:0 3px 25px #00100c44}.intro p{color:#d5d9ca;font-size:11px;margin:0;text-shadow:0 2px 10px #0007}.top-stats{position:absolute;right:33px;top:109px;display:flex;gap:23px;background:#14201edb;backdrop-filter:blur(15px);padding:17px 22px;border:1px solid var(--border);border-radius:5px}.top-stats>div+div{border-left:1px solid var(--border);padding-left:22px}.top-stats span{display:block;font:7px monospace;letter-spacing:1px;color:var(--muted);margin-bottom:9px}.top-stats strong{font-size:27px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-1px}.top-stats small{font-size:11px;color:#8e9d8c;letter-spacing:0}.camera-bar{position:absolute;right:33px;top:211px;display:flex;gap:5px}.view,.extra-controls button{background:#14201edb;backdrop-filter:blur(15px);border:1px solid var(--border);padding:9px 11px;border-radius:4px;font-size:9px}.view:hover,.extra-controls button:hover{border-color:#e5e5bb99}.view.active{background:var(--paper);color:var(--ink);border-color:var(--paper)}.launch-panel{position:absolute;left:33px;bottom:80px;width:282px;padding:21px;background:#14201eef;backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:5px;box-shadow:0 14px 45px #06130d33}.panel-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--border)}.pill{font:6px monospace;letter-spacing:.8px;border:1px solid #aebc8544;padding:4px 5px;border-radius:3px;color:#d9e9b0}.setting{margin-top:18px}.setting label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#d0d7c9}.setting label strong{font:20px monospace;color:var(--paper);font-variant-numeric:tabular-nums}.setting label small{font-size:10px;color:var(--muted);margin-left:2px}.setting input{appearance:none;-webkit-appearance:none;height:4px;width:100%;margin:15px 0 8px;background:#445147;border-radius:3px;cursor:pointer;accent-color:var(--orange)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:16px;border-radius:2px;background:var(--orange);border:2px solid #16201a;box-shadow:0 0 0 1px var(--orange)}input[type=range]::-moz-range-thumb{width:10px;height:14px;border-radius:2px;background:var(--orange);border:2px solid #16201a}.range-labels{display:flex;justify-content:space-between;font:6px monospace;letter-spacing:.6px;color:#8e9f89}.aim-setting{margin-top:16px}.toggles{display:flex;align-items:center;justify-content:space-between;padding:18px 0 18px;font-size:9px;color:#bfcbb6}.toggles label{display:flex;align-items:center;gap:5px;cursor:pointer}.toggles input{accent-color:var(--orange);width:11px;height:11px;margin:0}.launch-button{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:var(--orange);border:0;border-radius:3px;font-size:12px;font-weight:bold;color:#14201e;transition:background .2s}.launch-button:hover{background:#ff9b63}.launch-button>span:last-child{font-size:24px;line-height:1}.launch-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font:7px monospace;color:#8d9c87;letter-spacing:.2px}.launch-bottom button{background:none;border:0;color:#a9b7a2;font:8px monospace;padding:0}.launch-bottom button span{color:#e5e9ce;margin-left:5px}kbd{font:7px monospace;border:1px solid #b8c8a63d;padding:3px 4px;border-radius:2px;color:#dce6cf}.telemetry{position:absolute;right:33px;bottom:80px;width:298px;padding:17px 20px 12px;background:#14201ee8;backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:5px}.telemetry-header{display:flex;align-items:center;gap:7px;font:7px monospace;letter-spacing:.7px;color:#b0bea3}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--orange)}#carName{margin-left:auto;font-size:6px;color:#6f856f;letter-spacing:.3px}.telemetry-data{display:flex;justify-content:space-between;gap:15px;margin:17px 0 15px}.telemetry-data strong{display:block;font-size:26px;font-weight:400;letter-spacing:-1px;font-variant-numeric:tabular-nums}.telemetry-data div>span{display:block;font:6px monospace;color:#8d9c87;letter-spacing:.7px;margin-top:4px}.flight-progress{height:3px;background:#394a3d;position:relative;margin-bottom:26px}.flight-progress i{display:block;background:var(--orange);height:3px;width:0%;max-width:100%}.flight-progress b{position:absolute;top:10px;font:5px monospace;color:#8a9d80;letter-spacing:1px}.flight-progress b:last-child{right:0}.telemetry p{margin:0;padding-top:11px;border-top:1px solid var(--border);font-size:9px;color:#99ac90;line-height:1.6}.result-panel{position:absolute;right:33px;bottom:291px;width:298px;padding:22px 23px;background:#14201eeb;backdrop-filter:blur(20px);border:1px solid var(--border);border-top:2px solid var(--orange);border-radius:4px;box-shadow:0 14px 45px #06130d33}.result-panel h2{font-size:31px;letter-spacing:-1px;line-height:1;margin:12px 0 9px}.result-panel p{font-size:10px;color:#b7c5ab;line-height:1.7;margin:0}.result-panel .score-row>strong{font-size:31px;font-weight:400;letter-spacing:-1px;display:block;margin-top:12px}.result-panel .score-row>strong:empty{display:none}.result-panel strong small{font-size:10px;letter-spacing:0;color:#829678}.result-panel.success{border-top-color:#cedb95}.result-panel.success h2{color:#e8efb3}.world-label{position:absolute;transform:translate(-50%,-100%);pointer-events:none;padding:6px 8px;background:#14201edd;border-radius:3px;color:#e8efcb;font:7px monospace;letter-spacing:1px;white-space:nowrap}.world-label span{margin-left:6px;color:var(--orange)}.landing-label{background:#e8eac9ee;color:#263b29}.landing-label span{color:#687b39}.extra-controls{position:absolute;bottom:285px;left:50%;transform:translateX(-50%);display:flex;gap:6px}footer{position:absolute;left:0;right:0;bottom:0;min-height:51px;padding:0 33px;border-top:1px solid #d8e3be18;background:#14201ef2;display:flex;align-items:center;justify-content:space-between;color:#97a88e;font-size:8px}footer>div{display:flex;gap:22px}footer b{font:7px monospace;letter-spacing:.5px;color:#e8edce;margin-right:5px}.footer-right{font:7px monospace;letter-spacing:.5px}.footer-right i{margin:0 13px;color:var(--orange);font-style:normal}.controls-popover{position:absolute;z-index:15;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,90%);background:#14201efc;padding:30px;border:1px solid #627159;box-shadow:0 0 0 100vmax #08100d7a;border-radius:7px}.controls-popover h2{font-size:31px;letter-spacing:-1px;margin:14px 0}.controls-popover p{font-size:11px;color:#b8c5ac;line-height:1.8}.controls-popover .launch-button{margin-top:22px}.close{position:absolute;right:14px;top:13px;background:none;border:0;font-size:22px;color:#bccbb2}.loading{position:absolute;z-index:20;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:#14201e}.loading strong{font-size:23px;letter-spacing:-.5px}.loading>span{font:10px monospace;color:#9fac94}.loading-car{font-size:54px;color:var(--orange);line-height:1;margin-bottom:10px}.error{position:absolute;inset:20%;padding:30px;z-index:30;background:#14201e;box-shadow:0 0 0 100vmax #08100dbb;border:1px solid #55734d;border-radius:6px}.error p{line-height:1.7;font-size:13px}.error button{background:var(--orange);border:0;padding:12px 20px;color:var(--ink)}@media(max-width:1150px){header{height:72px;padding:0 23px}.intro{left:23px;top:91px}h1{font-size:32px}.intro p{font-size:10px}.top-stats{top:91px;right:23px;padding:15px 17px;gap:17px}.top-stats>div+div{padding-left:17px}.camera-bar{top:187px;right:23px;gap:4px}.view{padding:8px 9px;font-size:8px}.launch-panel{left:23px;bottom:70px;width:249px;padding:18px}.setting{margin-top:14px}.setting label{font-size:10px}.setting input{margin-top:11px}.setting label strong{font-size:18px}.panel-top{padding-bottom:14px}.toggles{padding:15px 0;font-size:8px}.launch-bottom{font-size:6px}.telemetry{right:23px;bottom:70px;width:257px;padding:15px 17px 11px}.telemetry-data strong{font-size:24px}.result-panel{right:23px;bottom:270px;width:257px}.extra-controls{bottom:79px}.header-center>span{display:none}footer{padding:0 23px}footer>div{gap:17px}.footer-right{display:none}}@media(max-width:760px){header{height:62px;padding:0 16px}.brand{font-size:14px;gap:8px}.brand-icon{width:33px;height:33px;font-size:22px}.brand small{font-size:6px;letter-spacing:1.6px}.header-center{font-size:7px;letter-spacing:.5px;gap:6px}.square{width:27px;height:27px}.intro{top:79px;left:16px}.intro .eyebrow{font-size:6px;letter-spacing:1px}h1{font-size:27px;letter-spacing:-1px;margin-top:8px}.intro p{display:none}.top-stats{right:16px;top:79px;gap:12px;padding:12px 13px}.top-stats>div+div{padding-left:12px}.top-stats span{font-size:6px;letter-spacing:.4px;margin-bottom:7px}.top-stats strong{font-size:21px}.top-stats small{font-size:8px}.camera-bar{top:162px;left:16px;right:auto;gap:4px}.view{font-size:7px;padding:7px 8px}.launch-panel{left:16px;bottom:55px;width:214px;padding:15px}.panel-top{padding-bottom:10px}.eyebrow{font-size:7px;letter-spacing:1px}.pill{font-size:5px}.setting{margin-top:10px}.setting label{font-size:9px}.setting label strong{font-size:16px}.setting input{margin:9px 0 6px}.range-labels{font-size:5px;letter-spacing:.3px}.toggles{padding:11px 0;font-size:7px}.toggles input{width:10px;height:10px}.launch-button{min-height:39px;font-size:10px}.launch-bottom{margin-top:9px;font-size:5px}.launch-bottom button{font-size:7px}kbd{font-size:6px;padding:2px 3px}.telemetry{right:16px;bottom:55px;width:200px;padding:12px 13px 10px}.telemetry-header{font-size:6px}#carName{display:none}.telemetry-data{gap:8px;margin:13px 0}.telemetry-data strong{font-size:21px}.telemetry-data div>span{font-size:5px;letter-spacing:.3px}.telemetry p{font-size:8px}.result-panel{right:16px;bottom:237px;width:200px;padding:17px}.result-panel h2{font-size:25px}.result-panel p{font-size:9px}.result-panel .score-row>strong{font-size:25px}.extra-controls{left:auto;right:16px;bottom:203px;transform:none;gap:5px}.extra-controls button{font-size:7px;padding:7px 8px}footer{min-height:36px;padding:0 16px}footer>div{gap:12px;font-size:6px}footer b{font-size:6px;margin-right:3px}footer>div>span:last-child{display:none}}@media(max-width:480px){.top-stats{gap:9px;padding:10px}.top-stats>div+div{padding-left:9px}.top-stats>div:first-child{display:none}.top-stats strong{font-size:19px}.intro h1{font-size:24px}.intro .eyebrow{font-size:5px}.launch-panel{width:190px;left:12px;padding:13px}.telemetry{width:153px;right:12px;padding:11px}.telemetry-data{gap:6px}.telemetry-data strong{font-size:17px}.telemetry-data div>span{font-size:4px}.telemetry p{font-size:7px}.telemetry-header{font-size:5px}.telemetry-data>div:last-child{display:none}.result-panel{right:12px;width:153px;bottom:226px;padding:13px}.result-panel h2{font-size:22px}.result-panel p{font-size:8px}.result-panel .eyebrow{font-size:5px}.result-panel .score-row>strong{font-size:23px}.extra-controls{right:12px;bottom:195px}.world-label{font-size:6px;padding:5px}.header-center{font-size:6px}.launch-bottom{letter-spacing:0}.top-stats{right:12px}.camera-bar{left:12px;gap:3px}.view{font-size:6px;padding:7px}.camera-bar .view:last-child{display:none}.intro{left:12px}.setting label{font-size:8px}}@media(max-height:720px) and (min-width:761px){.intro{top:84px}.intro h1{font-size:27px}.intro p{display:none}.top-stats{top:84px}.camera-bar{top:178px}.launch-panel{bottom:61px;padding:15px;width:230px}.setting{margin-top:10px}.setting input{margin-top:8px;margin-bottom:5px}.setting label strong{font-size:15px}.panel-top{padding-bottom:10px}.toggles{padding:11px 0}.launch-button{min-height:38px}.launch-bottom{margin-top:9px}.telemetry{bottom:61px}.result-panel{bottom:260px}.extra-controls{bottom:70px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Charge, trick and score-attack controls. */
.charge-meter{position:relative;width:100%;height:9px;background:#445147;margin:14px 0 9px;border:1px solid #66745e;border-radius:3px;overflow:visible}.charge-meter>i{display:block;height:100%;width:0;background:var(--orange);border-radius:2px;position:relative;z-index:2;pointer-events:none}.charge-meter>b{position:absolute;top:-4px;bottom:-4px;background:#e3edac88;border:1px solid #e7efb6;border-radius:2px;z-index:3;pointer-events:none}.charge-meter.sweet>i{background:#e5edac}.launch-button{user-select:none;-webkit-user-select:none;touch-action:none}.launch-button.charging{background:#f0e5ab;box-shadow:0 0 0 3px #ff793f44}.new-run{display:flex;justify-content:space-between;width:100%;padding:10px 0 0;margin-top:11px;border:0;border-top:1px solid var(--border);background:none;font:7px monospace;letter-spacing:.3px;color:#a9b7a2}.new-run>span{color:#e5e9ce}.top-stats .stat-detail{font:5px monospace;letter-spacing:.5px;color:#a0b092;margin:8px 0 0}.running-out{color:#ff9559}.score-breakdown{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.score-breakdown span{display:block;font:6px monospace;letter-spacing:1px;color:#93a786}.score-breakdown b{display:block;font:19px monospace;font-weight:400;color:#e5edb6;margin-top:6px}.round-summary{font:7px monospace!important;letter-spacing:.6px;color:#edc27b!important;margin-top:13px!important}.trick-callout{position:absolute;left:50%;top:255px;transform:translateX(-50%);pointer-events:none;display:flex;align-items:center;flex-direction:column;gap:7px;padding:12px 18px;background:#14201eda;backdrop-filter:blur(8px);border:1px solid #cfdb9750;border-radius:4px;white-space:nowrap}.trick-callout>strong{font-size:20px;letter-spacing:-.5px;color:#f4e6b5}.trick-callout>span:last-child{font:7px monospace;letter-spacing:.6px;color:#cad9ae}.trick-controls{position:absolute;left:50%;bottom:133px;transform:translateX(-50%);display:none;gap:9px;padding:10px;background:#14201ee8;border:1px solid var(--border);border-radius:4px}.airborne .trick-controls{display:flex}.trick-controls>div{display:grid;grid-template-columns:25px 25px;gap:4px}.trick-controls button{width:25px;height:28px;background:#314a3c;border:1px solid #b5c99566;border-radius:3px;font:10px monospace;touch-action:manipulation}.trick-controls button:active{background:var(--orange);color:var(--ink)}.trick-controls>div>span{grid-column:span 2;font:5px monospace;letter-spacing:1px;text-align:center;color:#b5c995;margin-top:2px}.controls-popover{max-height:90vh;overflow:auto}.controls-popover p{font-size:10px;line-height:1.7}.launch-bottom{gap:9px}.launch-bottom>span{white-space:nowrap}.launch-bottom button{white-space:nowrap}
@media(max-width:1150px){.camera-bar{top:197px}.trick-callout{top:245px}.launch-panel{padding:16px}.setting{margin-top:12px}.charge-meter{margin-top:12px}.launch-bottom{font-size:5px}.new-run{padding-top:8px;margin-top:9px}.trick-controls{bottom:133px}.top-stats{gap:15px}.top-stats>div+div{padding-left:15px}}
@media(max-width:760px){.camera-bar{top:169px}.top-stats{gap:10px;padding:12px}.top-stats>div+div{padding-left:10px}.top-stats .stat-detail{font-size:4px;letter-spacing:.2px}.trick-callout{top:217px;padding:9px 12px;gap:6px}.trick-callout>strong{font-size:15px}.trick-callout>span:last-child{font-size:5px}.trick-callout .eyebrow{font-size:5px}.score-breakdown{margin-top:10px;padding-top:9px;gap:8px}.score-breakdown b{font-size:17px}.score-breakdown span{font-size:5px}.trick-controls{bottom:276px;left:auto;right:16px;transform:none;padding:7px;gap:5px}.trick-controls>div{grid-template-columns:21px 21px;gap:3px}.trick-controls button{width:21px;height:25px;font-size:8px}.trick-controls>div>span{font-size:4px}.launch-panel{padding:13px}.new-run{font-size:6px;padding-top:7px;margin-top:8px}.charge-meter{height:7px;margin-top:10px}.launch-bottom>span{font-size:4px}.launch-bottom button{font-size:6px}footer>div{gap:10px}footer>div>span:last-child{display:initial}.result-panel{bottom:237px}}
@media(max-width:480px){.top-stats>div:first-child{display:block}.top-stats>div:last-child{display:none}.top-stats .stat-detail{font-size:4px}.top-stats{gap:8px}.top-stats>div+div{padding-left:8px}.trick-controls{right:12px;bottom:270px;gap:4px;padding:6px}.trick-controls>div{grid-template-columns:18px 18px}.trick-controls button{width:18px}.trick-callout{top:216px}.result-panel{bottom:226px}.score-breakdown{gap:5px}.score-breakdown b{font-size:14px}.score-breakdown span{font-size:4px}.launch-panel{padding:12px}.launch-bottom button{font-size:5px}footer>div{gap:7px;font-size:5px}footer b{font-size:5px}}
@media(max-height:720px) and (min-width:761px){.new-run{margin-top:7px;padding-top:7px}.launch-panel{padding:13px}.setting{margin-top:9px}.charge-meter{margin-top:10px}.trick-callout{top:235px}.trick-controls{bottom:123px}.camera-bar{top:187px}}

.world-label{z-index:1}.launch-panel,.result-panel,.telemetry,.top-stats,.camera-bar,.extra-controls,.trick-callout,.trick-controls{z-index:2}header,.intro,footer{z-index:3}
/* The garage shares the launch panel; optional ramp tuning folds away. */
.garage-setting{margin-top:13px}.garage-setting>label{display:flex;align-items:center;gap:5px;font:6px monospace;letter-spacing:.6px;color:#b9c8aa}.garage-setting label small{margin-left:auto;font-size:5px;color:#7b9274}.garage-setting label>span{width:6px;height:6px;border-radius:50%;display:inline-block;background:#f6c343}select{width:100%;background:#263c32;color:#f0edce;border:1px solid #58714b77;border-radius:3px;padding:7px 8px;font:10px Arial,sans-serif;cursor:pointer;color-scheme:dark}select:disabled{opacity:.6;cursor:wait}.garage-setting select{margin-top:8px}.car-specs{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font:5px monospace;letter-spacing:.3px;color:#819976}.car-specs b{display:block;font:9px Arial,sans-serif;letter-spacing:0;color:#d5dfbd;margin-bottom:3px;font-weight:400}.vent-setting{display:flex;align-items:center;gap:10px;margin-top:13px;padding-top:11px;border-top:1px solid var(--border)}.vent-setting label{font:6px monospace;letter-spacing:.7px;color:#acbd9c;white-space:nowrap}.vent-setting select{font-size:9px;padding:5px 7px}.tuning{margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.tuning summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#bdcdb0}.tuning summary::-webkit-details-marker{display:none}.tuning summary span{color:#efb67c;font-size:12px}.tuning[open] summary span{transform:rotate(180deg)}.tuning[open]{padding-bottom:2px}.tuning .setting{margin-top:11px}.draft-panel{position:absolute;right:33px;top:257px;width:298px;padding:11px 14px 9px;background:#14201ed9;backdrop-filter:blur(12px);border:1px solid #b4d5cf44;border-radius:4px;z-index:2;pointer-events:none}.draft-panel>div:first-child{display:grid;grid-template-columns:1fr auto;gap:7px}.draft-panel .eyebrow{font-size:5px;letter-spacing:1px;color:#8fb9bd}.draft-panel strong{grid-row:2;font:11px monospace;letter-spacing:.7px;color:#d0e9df}.draft-panel #draftKind{grid-row:1;grid-column:2;font:5px monospace;letter-spacing:.8px;color:#a0c6c3;text-align:right}.draft-panel b{grid-row:2;grid-column:2;font:11px monospace;font-weight:400;color:#cce1d2;text-align:right}.wind-meter{height:2px;background:#4e6557;margin-top:9px}.wind-meter i{display:block;height:2px;background:#c1e4df;width:50%}.draft-panel p{font-size:8px;color:#9eb8a5;line-height:1.4;margin:7px 0 0}.controls-popover{width:min(470px,92%)}.launch-panel .toggles{padding-top:13px;padding-bottom:13px}
@media(max-width:1150px){.draft-panel{right:23px;top:243px;width:257px;padding:10px 12px 8px}.draft-panel strong,.draft-panel b{font-size:10px}.draft-panel p{font-size:7px}.garage-setting{margin-top:11px}.garage-setting select{font-size:9px;padding:6px 7px}.car-specs b{font-size:8px}.vent-setting{margin-top:11px;padding-top:9px}.tuning{margin-top:11px}.trick-callout{top:320px}.launch-panel .toggles{padding-top:11px;padding-bottom:11px}}
@media(max-width:760px){.draft-panel{right:16px;top:215px;width:200px;padding:9px 11px}.draft-panel strong,.draft-panel b{font-size:8px}.draft-panel .eyebrow,.draft-panel #draftKind{font-size:4px}.draft-panel p{font-size:6px}.wind-meter{margin-top:7px}.garage-setting label{font-size:5px}.garage-setting label small{font-size:4px}.garage-setting{margin-top:10px}.garage-setting select{font-size:8px;padding:6px}.car-specs{font-size:4px;gap:4px}.car-specs b{font-size:7px}.vent-setting{margin-top:9px;padding-top:9px;gap:7px}.vent-setting label{font-size:5px}.vent-setting select{font-size:8px;padding:5px}.tuning{margin-top:10px;padding-top:9px}.tuning summary{font-size:8px}.trick-callout{top:310px}.launch-panel .toggles{padding-top:10px;padding-bottom:10px}}
@media(max-width:480px){.draft-panel{right:12px;width:153px;top:212px;padding:8px 10px}.draft-panel strong,.draft-panel b{font-size:7px}.draft-panel p{font-size:6px}.draft-panel #draftKind{font-size:4px}.garage-setting>label{font-size:4px;letter-spacing:.3px}.garage-setting label small{display:none}.garage-setting select{font-size:8px}.car-specs b{font-size:6px}.car-specs{font-size:3px}.vent-setting select{font-size:7px}.tuning summary{font-size:7px}.trick-callout{top:310px}.trick-callout>strong{font-size:13px}}
@media(max-height:720px) and (min-width:761px){.garage-setting{margin-top:8px}.garage-setting select{padding:5px 6px;margin-top:6px}.car-specs{margin-top:6px}.vent-setting{margin-top:8px;padding-top:7px}.tuning{margin-top:8px;padding-top:7px}.draft-panel{top:233px}}
.streak-stat strong{display:inline-block;transform-origin:left center;transition:color .3s}
.streak-stat.hot strong{color:#ffb35c}
.streak-stat.bump strong{animation:streak-bump .55s ease-out}
.streak-stat.lost strong{animation:streak-lost .6s ease-out}
@keyframes streak-bump{0%{transform:scale(1.7);color:#fff3b0}100%{transform:scale(1)}}
@keyframes streak-lost{0%,40%,80%{color:#ff6b4a;transform:translateX(-4px)}20%,60%{color:#ff6b4a;transform:translateX(4px)}100%{transform:none}}
.screen-flash{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0}
.screen-flash.crash{background:radial-gradient(circle at 55% 50%,#ffe0a0cc 0%,#ff6a2b66 32%,#4a100000 72%);animation:screen-flash .55s ease-out}
.screen-flash.land{background:radial-gradient(circle at 55% 50%,#f3f7c84d 0%,#f3f7c800 60%);animation:screen-flash .45s ease-out}
@keyframes screen-flash{0%{opacity:1}100%{opacity:0}}
.score-pop{position:absolute;z-index:1;pointer-events:none;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:5px;white-space:nowrap;text-shadow:0 2px 14px #000a}
.score-pop strong{font-size:38px;font-weight:800;letter-spacing:-1.5px;color:#f4f7c4}
.score-pop span{font:9px monospace;letter-spacing:1.4px;color:#ffd08a}
.score-pop.crash strong{color:#ff7a4d}
.score-pop.go{animation:score-pop 1.7s cubic-bezier(.2,.8,.3,1) forwards}
@keyframes score-pop{0%{opacity:0;margin-top:24px;scale:.5}12%{opacity:1;margin-top:0;scale:1.18}22%{scale:1}72%{opacity:1}100%{opacity:0;margin-top:-56px}}
.trick-callout.combo{border-color:#ffb35c;box-shadow:0 0 28px #ff8a3d33}
.trick-callout.combo>strong{color:#ffc46c}
.trick-callout.pop>strong{animation:callout-pop .35s ease-out}
@keyframes callout-pop{0%{scale:1.4;color:#fff}100%{scale:1}}
#streakColumn b{color:#ffb35c}
@media(max-width:760px){.score-pop strong{font-size:28px}.score-pop span{font-size:7px}}
@media(prefers-reduced-motion:reduce){.score-pop.go{animation-name:score-fade}.streak-stat.bump strong,.streak-stat.lost strong,.trick-callout.pop>strong{animation:none}}
@keyframes score-fade{0%,70%{opacity:1}100%{opacity:0}}
.score-breakdown{display:grid;grid-template-columns:repeat(3,1fr);row-gap:10px}
#bonusColumn b{color:#7dff9a}
.header-center b{font-weight:400;color:var(--paper)}
.course-arrow{pointer-events:auto;display:grid;place-items:center;width:22px;height:22px;padding:0;border-radius:50%;border:1px solid #e4e9ce44;background:#12201b88;color:var(--paper);font-size:14px;line-height:1}
.header-buttons{display:flex;align-items:center;gap:8px;pointer-events:auto}
.board-button{height:30px;padding:0 11px;border-radius:15px;border:1px solid #e4e9ce55;background:#12201b55;backdrop-filter:blur(12px);color:var(--yellow);font:8px monospace;letter-spacing:1px}
.course-arrow:hover,.board-button:hover{border-color:var(--orange)}
.missions{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 680px);padding:6px 13px;border-radius:20px;border:1px solid var(--border);background:#14201ecc;backdrop-filter:blur(10px);pointer-events:none;font:8px monospace;letter-spacing:.7px;color:#c9d4bd;white-space:nowrap}
.missions-head{color:var(--yellow)}
.missions-head b{margin-left:4px;font-weight:400;color:#ffcf5a}
.missions ul{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;list-style:none}
.missions li::before{content:'○ ';color:#ff9f5a}
.missions li.done{color:#9fe6a8;text-decoration:line-through;text-decoration-color:#9fe6a866}
.missions li.done::before{content:'✓ ';color:#9fe6a8}
.paint-spec{display:flex;flex-direction:column;align-items:flex-end}
.paint-row{display:flex;gap:3px;margin-bottom:3px}
.paint{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid #ffffff40;cursor:pointer}
.paint.active{outline:1.5px solid var(--yellow);outline-offset:1px}
.paint.locked{opacity:.25;cursor:not-allowed}
.toggles{gap:6px}
.toast{position:absolute;left:50%;top:128px;transform:translateX(-50%);z-index:4;pointer-events:none;padding:9px 14px;border-radius:4px;border:1px solid #ffcf5a88;background:#1d2b25f2;box-shadow:0 10px 30px #0006;color:#ffe9a8;font:9px monospace;letter-spacing:1px;white-space:nowrap}
.toast.show{animation:toast-in 2.6s ease forwards}
@keyframes toast-in{0%{opacity:0;margin-top:-8px}10%,85%{opacity:1;margin-top:0}100%{opacity:0}}
.replay-badge{position:absolute;left:50%;top:128px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:20px;background:#b8262bdd;color:#fff;font:10px monospace;letter-spacing:2px;pointer-events:none}
.replay-badge i{width:7px;height:7px;border-radius:50%;background:#fff;animation:blink 1s steps(2) infinite}
.replay-badge span{font-size:7px;letter-spacing:1px;opacity:.8}
@keyframes blink{50%{opacity:.2}}
body.replaying .trick-callout,body.replaying .world-label,body.replaying .trick-controls{display:none}
.replay-button{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:12px;padding:9px 11px;border-radius:4px;border:1px solid #ffcf5a66;background:#ffcf5a14;color:#ffe2a0;font:9px monospace;letter-spacing:1px}
.replay-button span{color:#e5e9ce88}
.replay-button:hover{background:#ffcf5a26}
.board-entry{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.board-entry label{display:block;margin-bottom:8px;font:7px monospace;letter-spacing:1.2px;color:#ffcf5a}
.board-entry div{display:flex;gap:6px}
.board-entry input{flex:1;min-width:0;padding:6px 8px;border-radius:3px;border:1px solid #ffcf5a77;background:#0d1714;color:var(--paper);font:16px monospace;letter-spacing:6px;text-transform:uppercase}
.board-entry button{padding:0 12px;border:0;border-radius:3px;background:var(--orange);color:var(--ink);font:700 10px Arial,sans-serif}
.board{margin:12px 0 0;padding:0;list-style:none;border-top:1px solid var(--border)}
.board li{display:grid;grid-template-columns:16px 44px 1fr auto;align-items:center;gap:6px;padding:6px 4px;border-bottom:1px solid #ced8c614;font-size:10px;color:#c9d4bd}
.board li b{font:9px monospace;color:#8e9f89}
.board li .who{font:11px monospace;letter-spacing:2px;color:var(--paper)}
.board li .car{font-size:8px;color:#8e9f89}
.board li strong{font:12px monospace;color:#e5edb6}
.board li.mine{background:#ffcf5a18}
.board li.mine strong,.board li.mine .who{color:#ffcf5a}
.board li.empty{display:block;padding:10px 0;font-size:9px;color:#8e9f89}
.board-popover .board li{padding:9px 4px;font-size:12px}
@media(max-width:1150px){.missions{left:23px;top:142px;bottom:auto;transform:none;flex-direction:column;align-items:flex-start;gap:5px;max-width:none;padding:0;border:0;background:none;backdrop-filter:none;font-size:7px}.missions ul{flex-direction:column}.intro h1,.intro p{display:none}.toast,.replay-badge{top:112px}}
@media(max-width:760px){.missions{display:none}}
/* Readability: larger minimum text sizes on desktop and laptop windows (phones keep the layout above).
   Placed last so these sizes win over the smaller ones set earlier at each breakpoint. */
@media(min-width:761px){
.eyebrow{font-size:10px;letter-spacing:1.4px}
.header-center{font-size:11px;letter-spacing:1px}
.header-center>span{font-size:9.5px}
.brand small{font-size:8.5px;letter-spacing:1.8px}
.board-button{font-size:10px}
.top-stats span{font-size:9.5px;letter-spacing:.7px}
.top-stats .stat-detail{font-size:8.5px;letter-spacing:.3px}
.top-stats small{font-size:12px}
.view,.extra-controls button{font-size:11px}
.pill{font-size:9px;letter-spacing:.5px}
.garage-setting>label,.vent-setting label{font-size:9.5px;letter-spacing:.4px}
.garage-setting label small{font-size:8.5px}
.car-specs{font-size:8.5px;letter-spacing:.1px;gap:6px}
.car-specs b{font-size:11.5px}
.launch-panel select{font-size:12px}
.setting label{font-size:12.5px}
.setting label small{font-size:11px}
.range-labels{font-size:8.5px;letter-spacing:.3px}
.tuning summary{font-size:11.5px}
.toggles{font-size:11px}
.launch-bottom{font-size:9px;letter-spacing:0}
.launch-bottom button{font-size:10px}
kbd{font-size:9px}
.new-run{font-size:9.5px}
.draft-panel .eyebrow,.draft-panel #draftKind{font-size:9px}
.draft-panel strong,.draft-panel b{font-size:13px}
.draft-panel p{font-size:10.5px}
.result-panel p{font-size:12px}
.result-panel strong small{font-size:11px}
.score-breakdown span{font-size:9px;letter-spacing:.5px}
.round-summary{font:9.5px monospace!important}
.board-entry label{font-size:9.5px}
.board li{font-size:12px}
.board li b{font-size:11px}
.board li .car{font-size:10px}
.board li.empty{font-size:11px}
.replay-button{font-size:11px}
.telemetry-header{font-size:9.5px}
#carName{font-size:9px}
.telemetry-data div>span{font-size:9px}
.telemetry p{font-size:11px}
.flight-progress b{font-size:8.5px}
.world-label{font-size:10px;padding:7px 9px}
.trick-callout>span:last-child{font-size:10px}
.trick-controls>div>span{font-size:8px}
.trick-controls button{font-size:12px}
.missions{font-size:10.5px}
.toast{font-size:11.5px}
.replay-badge{font-size:12px}
.replay-badge span{font-size:9px}
.score-pop span{font-size:11px}
footer{font-size:10px}
footer b,.footer-right{font-size:9.5px}
.intro p{font-size:13px}
.launch-panel{bottom:64px}
.intro{top:104px}
.intro h1{margin-bottom:8px;font-size:37px}
.launch-panel{width:282px;padding:19px}
.launch-bottom{flex-wrap:wrap;gap:4px 10px}
.launch-bottom>span{white-space:normal}
.panel-top{padding-bottom:13px}
.launch-panel .toggles{padding-top:12px;padding-bottom:12px}
.controls-popover p{font-size:12.5px}
}
@media(min-width:761px) and (max-width:1150px){
.eyebrow{font-size:9px}
.header-center{font-size:10px}
.view,.extra-controls button{font-size:10px}
.toggles{font-size:10px}
.car-specs b{font-size:10.5px}
.setting label{font-size:11.5px}
.missions{font-size:9.5px}
footer{font-size:9px}
footer b,.footer-right{font-size:8.5px}
}
@media(min-width:761px) and (max-width:1150px){.launch-panel{width:262px;padding:16px}}
@media(min-width:761px) and (max-height:720px){.launch-panel{width:262px;padding:15px}}
@media(min-width:1151px) and (max-height:720px){.extra-controls{bottom:108px}.trick-controls{bottom:150px}}
@media(min-width:761px) and (max-height:720px){.intro{top:80px}.intro h1{font-size:24px}}
/* Result panel: score and replay share a row, and the panel stays compact enough to clear the stats above. */
.score-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 10px}
.score-row .replay-button{width:auto;flex:none;margin-top:12px;padding:6px 10px;gap:8px;border-radius:14px;white-space:nowrap}
@media(min-width:761px){
.result-panel{padding:18px 20px}
.result-panel h2{font-size:27px;margin:9px 0 7px}
.result-panel p{line-height:1.55}
.result-panel .score-row>strong{font-size:27px;margin-top:10px}
.score-breakdown{margin-top:11px;padding-top:10px;row-gap:8px}
.score-breakdown b{font-size:17px}
.score-row .replay-button{font-size:10.5px;margin-top:10px}
}
@media(min-width:761px) and (max-height:720px){.result-panel{padding:14px 18px}.result-panel p{font-size:11px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.result-panel h2{font-size:22px;margin:7px 0 5px}.score-breakdown{margin-top:8px;padding-top:8px}}
/* The result card covers the telemetry card (last jump's numbers) instead of the A/C forecast,
   so the next draft stays readable; telemetry returns on the next charge. */
@media(min-width:761px){.result-panel{bottom:80px;z-index:3}.result-panel .score-row>strong{white-space:nowrap}.result-panel strong small{font-size:10px}}
@media(min-width:761px) and (max-width:1150px){.result-panel{bottom:70px}}
@media(min-width:761px) and (max-height:720px){.result-panel{bottom:61px}}
