:root{--ink:#fff6dc;--shade:#1a1006;--accent:#f2c12e;--panel:#100c1ee0}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;background:#000;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:800;overflow:hidden}#stage{width:100vw;height:100vh;display:block;position:fixed;inset:0}.panel-toggle{font-style:italic;font:inherit;padding:var(--px) calc(var(--px) * 2);background:var(--panel);border:var(--px) solid var(--accent);cursor:pointer;position:fixed;top:20px;right:24px}.panel{background:var(--panel);border:2px solid var(--accent);width:300px;max-width:calc(100vw - 32px);padding:14px;font-size:13px;line-height:1.6;position:fixed;top:60px;right:24px}.panel-title{color:var(--accent);margin-bottom:12px;font-size:15px;font-style:italic}.panel-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.panel select,.panel button,.panel input{font:inherit;font-size:13px}.panel select{width:150px;color:var(--ink);background:#2a2240;border:1px solid #6a5a9a;padding:4px}.panel input[type=range]{width:150px;accent-color:var(--accent)}.panel button{color:var(--shade);background:var(--accent);cursor:pointer;border:0;margin-top:6px;padding:8px 10px}.panel-fps{opacity:.7;margin-top:12px}.touch-on .select-go.waiting{cursor:default;background:var(--panel)!important}.select-help,.racing .panel-toggle,.touch-on.racing .panel{display:none}#select{pointer-events:none;position:fixed;inset:0}.select{position:absolute;inset:0}.select-title{top:calc(var(--px) * 8);justify-content:center;display:flex;position:absolute;left:0;right:0}.select-bottom{left:0;right:0;bottom:calc(var(--px) * 8);align-items:center;gap:calc(var(--px) * 4);flex-direction:column;display:flex;position:absolute}.select-pick{align-items:center;gap:calc(var(--px) * 5);display:flex}.select-name{min-width:calc(var(--px) * 90);flex-direction:column;align-items:center;display:flex}.select button{pointer-events:auto;background:var(--panel);border:var(--px) solid var(--accent);box-shadow:calc(var(--px) * 2) calc(var(--px) * 2) 0 var(--shade);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex}.select-back{top:calc(var(--px) * 8);left:calc(var(--px) * 8);position:absolute;padding:var(--px) calc(var(--px) * 3)!important}.party .select-back{display:none}.select-arrow{width:calc(var(--px) * 18);height:calc(var(--px) * 18)}.select-go{padding:calc(var(--px) * 2) calc(var(--px) * 8)!important;background:var(--accent)!important}.select-help{opacity:.85}.select-stats{right:calc(var(--px) * 8);padding:calc(var(--px) * 3) calc(var(--px) * 4);background:var(--panel);border:var(--px) solid var(--accent);box-shadow:calc(var(--px) * 2) calc(var(--px) * 2) 0 var(--shade);position:absolute;top:50%;transform:translateY(-50%)}.select-stat{justify-content:space-between;align-items:center;gap:calc(var(--px) * 4);display:flex}.select-stat b{gap:var(--px);display:flex}.select-stat i{width:calc(var(--px) * 4);height:calc(var(--px) * 3);background:#3a3150}.select-stat i.on{background:var(--accent)}@media (aspect-ratio<=1){.select-title{top:calc(var(--px) * 22)}.select-stats{top:calc(var(--px) * 42);left:50%;right:auto;transform:translate(-50%)}}.lobby{pointer-events:none;position:fixed;inset:0}.lobby-box{left:calc(var(--px) * 8);top:calc(var(--px) * 26);width:calc(var(--px) * 116);padding:calc(var(--px) * 4);gap:calc(var(--px) * 3);background:var(--panel);border:var(--px) solid var(--accent);box-shadow:calc(var(--px) * 2) calc(var(--px) * 2) 0 var(--shade);flex-direction:column;display:flex;position:absolute}.lobby button{pointer-events:auto;padding:var(--px) calc(var(--px) * 3);background:var(--panel);border:var(--px) solid var(--accent);cursor:pointer;justify-content:center;align-items:center;display:flex}.lobby button:disabled{cursor:default}.lobby-head,.lobby-actions{justify-content:space-between;align-items:center;gap:calc(var(--px) * 3);display:flex}.lobby-players,.lobby-settings{gap:var(--px);flex-direction:column;display:flex}.lobby-row{grid-template-columns:1fr auto calc(var(--px) * 22);align-items:center;gap:calc(var(--px) * 3);padding:0 var(--px);display:grid}.lobby-row>span:last-child{justify-self:end}.lobby-row.me{background:#f2c12e2e}.lobby-set{grid-template-columns:1fr calc(var(--px) * 9) calc(var(--px) * 48) calc(var(--px) * 9);place-items:center;display:grid}.lobby-set>span:first-child{justify-self:start}.lobby-set button{width:calc(var(--px) * 9);height:calc(var(--px) * 9);padding:0}.lobby-track{align-items:center;gap:calc(var(--px) * 3);display:flex}.lobby .lobby-pick{min-width:0;padding:0 calc(var(--px) * 2);flex-direction:column;flex:1}.lobby-pick>span+span{margin-top:calc(var(--px) * -9)}.lobby .lobby-pick:disabled{background:0 0;border-color:#0000}.lobby-input{opacity:0;pointer-events:none;width:1px;height:1px;font-size:16px;position:absolute;bottom:0;left:0}.party .select-bottom{left:calc(var(--px) * 124)}.party .select-stats{top:max(calc(var(--px) * 26), 56px);transform:none}@media (aspect-ratio<=1){.lobby-box{top:calc(var(--px) * 8);left:50%;transform:translate(-50%)}.party .select-title{display:none}.party .select-bottom{left:0}.party .select-stats{display:none}}@media (aspect-ratio<=3/5){.lobby-box{width:calc(100% - var(--px) * 6);padding:calc(var(--px) * 3)}.lobby-row{grid-template-columns:1fr calc(var(--px) * 22)}.lobby-row>span:nth-child(2){display:none}.lobby-set{grid-template-columns:auto calc(var(--px) * 9) 1fr calc(var(--px) * 9);column-gap:calc(var(--px) * 2)}.lobby-box,.lobby-players,.lobby-settings{gap:var(--px)}.lobby-set button{width:calc(var(--px) * 8);height:calc(var(--px) * 8)}.party .select-pick{display:none}}#hud{pointer-events:none;position:fixed;inset:0}.hud-safe{top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);left:env(safe-area-inset-left,0px);position:absolute}.pixel-ghost{opacity:0}.pixel-label{pointer-events:none;display:block}@media (aspect-ratio<=1){.levels-on .panel-toggle{display:none}}.arcade{pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:fixed;inset:0}.arcade-canvas{pointer-events:none;display:block;position:absolute;top:0;left:0}.arcade-hit,.arcade-input{cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:absolute}.arcade-hit[hidden],.arcade-input[hidden]{display:none}.arcade-input{color:#0000;caret-color:#0000;text-transform:uppercase;outline:none;font-size:16px}.title-on .panel-toggle,.results-on .panel-toggle{display:none}.touch-root{--touch-edge:20px;--touch-gap:12px;--touch-gas:clamp(88px, 30vh, 120px);--touch-pedal:calc(var(--touch-gas) * .78);--touch-right:calc(env(safe-area-inset-right,0px) + var(--touch-edge));--touch-bottom:calc(env(safe-area-inset-bottom,0px) + var(--touch-edge));--touch-top:calc(env(safe-area-inset-top,0px) + 12px);pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:italic;font-weight:800;position:fixed;inset:0}.touch-zone,.touch-btn{pointer-events:auto;touch-action:none}.touch-zone{width:50%;position:absolute;top:0;bottom:0;left:0}.touch-stick{width:calc(var(--touch-range) * 2);height:calc(var(--touch-range) * 2);border:2px solid var(--accent);box-shadow:4px 4px 0 var(--shade);visibility:hidden;background:#100c1e4d;border-radius:50%;position:absolute;top:0;left:0;translate:-50% -50%}.touch-stick-on{visibility:visible}.touch-knob{border:2px solid var(--ink);background:#f2c12eb3;border-radius:50%;width:44px;height:44px;margin:auto;position:absolute;inset:0}.touch-btn{color:var(--accent);border:var(--px) solid var(--accent);box-shadow:calc(var(--px) * 2) calc(var(--px) * 2) 0 var(--shade);text-align:center;background:#100c1e8c;justify-content:center;align-items:center;display:flex;position:absolute}.touch-btn.touch-down{color:var(--ink);border-color:var(--ink);box-shadow:var(--px) var(--px) 0 var(--shade);transform:translate(var(--px), var(--px));background:#f2c12e99}.touch-gas{right:var(--touch-right);bottom:var(--touch-bottom);width:var(--touch-gas);height:var(--touch-gas);font-size:22px}.touch-pedal{width:var(--touch-pedal);height:var(--touch-pedal);font-size:17px}.touch-brake{right:calc(var(--touch-right) + var(--touch-gas) + var(--touch-gap));bottom:var(--touch-bottom)}.touch-drift{right:var(--touch-right);bottom:calc(var(--touch-bottom) + var(--touch-gas) + var(--touch-gap))}.touch-item{right:calc(var(--touch-right) + var(--touch-gas) + var(--touch-gap));bottom:calc(var(--touch-bottom) + var(--touch-gas) + var(--touch-gap))}.touch-back{right:calc(var(--touch-right) + var(--touch-gas) + var(--touch-pedal) + var(--touch-gap) * 2);bottom:calc(var(--touch-bottom) + var(--touch-gas) + var(--touch-gap))}.touch-small{top:var(--touch-top);height:40px;padding:0 12px;font-size:14px}.touch-reset{right:calc(50% + 6px)}.touch-camera{left:calc(50% + 6px)}.touch-menu{left:calc(env(safe-area-inset-left,0px) + 16px)}.touch-turn{align-items:center;gap:var(--px);padding:calc(var(--px) * 4) calc(var(--px) * 5);background:var(--panel);border:var(--px) solid var(--accent);box-shadow:calc(var(--px) * 2) calc(var(--px) * 2) 0 var(--shade);flex-direction:column;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (orientation:portrait){.touch-zone,.touch-stick,.touch-btn{display:none}.touch-turn{display:flex}}
