:root{--panel: rgba(15, 23, 42, .82);--panel-soft: rgba(255, 255, 255, .88);--line: rgba(255, 255, 255, .22);--text: #f8fafc;--muted: #cbd5e1;--ink: #111827;--accent: #f04438;--accent-2: #0ea5e9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:#111827;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;min-height:100dvh;margin:0;overflow:hidden;overscroll-behavior:none}button{font:inherit}.game-shell{position:relative;width:100%;height:100%;min-height:100dvh;background:#0f172a}#stage{position:absolute;top:0;right:0;bottom:0;left:0}#stage canvas{display:block;width:100%;height:100%;cursor:none;touch-action:none}.fps-counter{position:absolute!important;top:18px;right:18px;left:auto;z-index:5;cursor:grab;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.fps-counter:active{cursor:grabbing}.fps-counter-dragged{right:auto!important}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}#app[data-mode=auth] #overlay,#app[data-mode=main-menu] #overlay{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}#menu-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.view-controls{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));z-index:12;display:grid;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#0f172aad;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 24px #0f172a38;pointer-events:auto}.fullscreen-button{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#ffffff1a;cursor:pointer;touch-action:manipulation}.fullscreen-button:hover,.fullscreen-button.active{color:var(--ink);background:#bae6fddb}.fullscreen-button:disabled{opacity:.42;cursor:not-allowed}.fullscreen-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.voxel-toolbar-view-controls{display:flex;align-items:center;gap:8px;margin-left:auto;padding-left:12px}.voxel-toolbar-view-controls button{width:42px;height:42px;min-height:42px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#ffffff1a;cursor:pointer;font-weight:800}.voxel-toolbar-view-controls button:hover,.voxel-toolbar-view-controls button:active{color:var(--ink);background:#bae6fd}.voxel-toolbar-view-controls svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.view-axis-controls{display:none;grid-template-columns:repeat(3,32px);gap:6px}@media (pointer: fine){#app[data-mode=vehicle-editor] .view-controls{display:none}}#app[data-mode=vehicle-editor] .view-axis-controls{display:grid}.view-axis-controls button{width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:999px;color:var(--text);background:#ffffff1a;cursor:pointer;font-weight:800}.view-axis-controls button:hover,.view-axis-controls button:active{color:var(--ink);background:#bae6fd}.main-menu{pointer-events:auto;min-height:100%;display:grid;grid-template-rows:auto 1fr;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;background:linear-gradient(90deg,#0f172af0,#0f172a66),url(/assets/hero-CLDdwZDr.png) center / cover}.main-menu-topbar{min-height:74px;display:grid;grid-template-columns:minmax(190px,260px) 1fr minmax(280px,380px);align-items:center;gap:18px;padding:14px 24px;border-bottom:1px solid var(--line);background:#0f172ab8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.main-menu-brand,.main-menu-brand strong{display:grid}.main-menu-brand span{color:var(--muted);font-size:13px}.main-menu-brand strong{font-size:20px}.main-menu-tabs{display:flex;gap:8px;justify-content:center}.main-menu-tabs button{min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:6px;color:var(--text);background:#ffffff14;cursor:pointer}.main-menu-tabs button.active,.main-menu-tabs button:hover{color:var(--ink);background:#bae6fd}.main-menu-screen{min-height:0;display:grid}.race-setup,.tracks-menu,.online-rooms-menu,.garage-menu{min-height:100%;display:grid;grid-template-columns:minmax(280px,1fr) minmax(340px,420px);align-items:end;gap:28px;padding:32px 52px 52px}.race-setup-copy,.tracks-menu-copy,.online-rooms-copy,.garage-menu-copy{max-width:680px;padding-bottom:18px}.eyebrow{margin:0 0 12px;color:#bae6fd;font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}.race-setup h1,.tracks-menu h1,.online-rooms-menu h1,.garage-menu h1,.menu-placeholder h1{margin:0 0 16px;font-size:64px;line-height:.96;letter-spacing:0}.race-setup p,.tracks-menu p,.online-rooms-menu p,.garage-menu p,.menu-placeholder p{margin:0;max-width:520px;color:var(--muted);font-size:18px;line-height:1.55}.race-setup-panel,.tracks-menu-panel,.online-rooms-panel,.garage-menu-panel{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.race-setup-panel div{display:flex;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.account-panel{display:grid!important;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:0;border:0}.account-panel img,.driver-avatar-placeholder{width:42px;height:42px;border-radius:50%;background:#0ea5e9}.account-panel strong,.account-panel span{text-align:left}.account-panel div{display:grid;gap:2px;padding:0;border:0}.account-panel button{min-width:82px}.menu-placeholder{align-self:end;max-width:620px;padding:32px 52px 52px}.track-library-list{display:grid;gap:10px;max-height:420px;overflow:auto}.online-rooms-panel{align-self:stretch;align-content:start;min-height:420px}.online-create-room{display:grid;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.online-create-room>div{display:flex;justify-content:space-between;gap:14px}.online-create-room span{color:var(--muted);font-size:13px}.online-create-room strong{text-align:right}.online-rooms-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.online-rooms-list{display:grid;gap:10px;max-height:min(62vh,560px);overflow:auto;padding-right:2px}.online-room-card{display:grid;grid-template-columns:1fr auto;gap:10px 14px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#ffffff14}.online-room-card div{display:grid;gap:3px}.online-room-card div:first-child,.online-room-players{grid-column:1 / -1}.online-room-players div{display:flex;flex-wrap:wrap;gap:6px}.online-room-players div span{padding:4px 7px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:#bae6fd1f}.online-room-card span,.online-rooms-empty{color:var(--muted);font-size:13px}.online-room-card button{grid-column:1 / -1;min-height:40px;border:0;border-radius:6px;color:#fff;background:var(--accent);cursor:pointer}.online-room-card button:hover{background:#d92d20}.online-rooms-empty{min-height:180px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:#ffffff14}.garage-menu-panel{align-self:stretch;align-content:start;min-height:420px}.garage-current{display:flex;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.garage-current span,.garage-vehicle-card span,.garage-vehicle-card dt,.garage-empty{color:var(--muted);font-size:13px}.garage-vehicle-list{display:grid;gap:10px;max-height:min(62vh,560px);overflow:auto;padding-right:2px}.garage-vehicle-card{display:grid;grid-template-columns:72px 1fr;gap:10px 12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#ffffff14}.garage-vehicle-card.active{border-color:#bae6fd;background:#bae6fd24}.garage-vehicle-preview{grid-row:span 2;position:relative;min-height:54px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(135deg,#0ea5e94d,#f044381f),#0f172a9e}.garage-vehicle-preview span{position:absolute;left:15px;right:15px;bottom:14px;height:18px;border-radius:3px;background:#bae6fd;box-shadow:8px -12px 0 -3px #38bdf8,0 12px 0 -5px #111827,28px 12px 0 -5px #111827}.garage-preview-glb span{background:#f04438;box-shadow:10px -10px 0 -3px #f97316,0 12px 0 -5px #111827,30px 12px 0 -5px #111827}.garage-vehicle-card>div:not(.garage-vehicle-preview){display:grid;gap:3px}.garage-vehicle-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.garage-vehicle-card dl div{display:grid;gap:2px}.garage-vehicle-card dd{margin:0;font-weight:700}.garage-vehicle-card button{grid-column:1 / -1;min-height:38px;border:0;border-radius:6px;color:#fff;background:var(--accent);cursor:pointer}.garage-vehicle-card button:disabled{color:var(--ink);background:#bae6fd;cursor:default}.garage-empty{min-height:180px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:#ffffff14}@media (min-width: 980px){.online-rooms-menu,.garage-menu{grid-template-columns:minmax(260px,380px) minmax(620px,1fr);align-items:center;padding:42px 64px 64px}.online-rooms-panel,.garage-menu-panel{min-height:min(70vh,720px)}.garage-vehicle-list{grid-template-columns:repeat(2,minmax(260px,1fr));align-content:start;max-height:min(58vh,640px);overflow:auto}.garage-vehicle-card{grid-template-columns:96px 1fr;min-height:188px;align-content:start}.garage-vehicle-preview{min-height:74px}.online-create-room{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end}.online-create-room>div{align-self:stretch;display:grid;align-content:center;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#ffffff14}.online-create-room button{min-width:180px}.online-rooms-list{grid-template-columns:repeat(2,minmax(260px,1fr));align-content:start;max-height:none}.online-rooms-empty{grid-column:1 / -1;min-height:260px}}.track-library-item{display:flex;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#ffffff14}.track-library-item div{display:grid;gap:3px}.track-library-item span,.track-library-item time,.track-library-empty{color:var(--muted);font-size:13px}.auth-view{pointer-events:auto;min-height:100%;display:grid;place-items:center;overflow:auto;touch-action:pan-y;padding:24px;background:linear-gradient(90deg,#0f172af0,#0f172a75),url(/assets/hero-CLDdwZDr.png) center / cover}.auth-panel{width:min(420px,100%);display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-panel h1{margin:0;font-size:34px;letter-spacing:0}.auth-panel p{margin:0;color:var(--muted);line-height:1.5}.auth-panel button{min-height:44px;border:0;border-radius:6px;color:#fff;background:var(--accent);cursor:pointer}.auth-panel button:hover{background:#d92d20}.in-game-menu-backdrop{pointer-events:auto;position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0f172a7a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.in-game-menu{width:min(340px,100%);display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.in-game-menu h1{margin:0 0 4px;font-size:34px;letter-spacing:0}.in-game-menu button{min-height:44px;border:0;border-radius:6px;color:#fff;background:var(--accent);cursor:pointer}.in-game-menu button:hover{background:#d92d20}.in-game-menu .secondary-button{color:var(--ink);background:var(--panel-soft)}.in-game-menu .secondary-button:hover{background:#e0f2fe}.track-choice{display:grid;gap:8px}.track-choice select{min-height:40px;width:100%;padding:0 10px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#ffffffeb}.race-setup-panel span,.topbar span,.race-panel span,.controls-panel span,.speed-panel span{color:var(--muted);font-size:13px}.race-setup-panel strong{text-align:right}.race-setup-panel button,.tracks-menu-panel button,.online-rooms-panel button,.garage-menu-panel button{min-height:44px;border:0;border-radius:6px;color:#fff;background:var(--accent);cursor:pointer}.race-setup-panel button:hover,.tracks-menu-panel button:hover,.online-rooms-panel button:hover,.garage-menu-panel button:hover{background:#d92d20}.race-setup-panel .secondary-button,.online-rooms-panel .secondary-button,.garage-menu-panel .secondary-button,.account-panel .secondary-button{color:var(--ink);background:var(--panel-soft)}.race-setup-panel .secondary-button:hover,.online-rooms-panel .secondary-button:hover,.garage-menu-panel .secondary-button:hover,.account-panel .secondary-button:hover{background:#e0f2fe}.topbar{position:absolute;top:18px;left:18px;right:18px;display:flex;gap:10px;align-items:stretch}.topbar div,.race-panel,.controls-panel,.speed-panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar div{min-width:130px;padding:10px 12px;display:grid;gap:2px}.topbar strong{font-size:16px}.speed-panel{position:absolute;right:18px;bottom:18px;width:168px;height:104px;display:grid;place-items:center;align-content:center}.speed-panel strong{font-size:52px;line-height:.9}.race-panel{position:absolute;left:18px;bottom:18px;min-width:210px;padding:12px;display:grid;gap:10px}.race-panel div{display:flex;justify-content:space-between;gap:16px}.controls-panel{position:absolute;left:50%;bottom:18px;transform:translate(-50%);min-width:220px;padding:10px 12px;display:flex;justify-content:center;gap:14px}.mobile-controls{pointer-events:auto;position:absolute;left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:6;display:none;justify-content:space-between;align-items:end;gap:18px}.mobile-steer-controls,.mobile-drive-controls{display:flex;gap:12px}.mobile-controls button{width:82px;height:62px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#0f172ab8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:700;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none}.mobile-controls button:active{color:var(--ink);background:#bae6fd}.reticle{pointer-events:none;position:absolute;left:50%;top:50%;width:28px;height:28px;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.78);border-radius:50%;box-shadow:0 0 0 1px #0f172a73,0 0 18px #0ea5e9a6}.reticle:before,.reticle:after{content:"";position:absolute;background:#ffffffe6}.reticle:before{left:50%;top:-8px;width:2px;height:42px;transform:translate(-50%)}.reticle:after{left:-8px;top:50%;width:42px;height:2px;transform:translateY(-50%)}.editor-toolbar{pointer-events:auto;position:absolute;top:18px;left:18px;right:18px;min-height:62px;display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.editor-title{display:grid;min-width:170px}.editor-title span,.editor-toolbar>span{color:var(--muted);font-size:13px}.tool-group,.save-form,.load-form{display:flex;gap:8px}.editor-toolbar button,.save-form input,.load-form select,.tool-group select{min-height:38px;border:1px solid var(--line);border-radius:6px}.editor-toolbar button{padding:0 12px;color:var(--text);background:#ffffff1a;cursor:pointer}.editor-toolbar button.active,.editor-toolbar button:hover{color:var(--ink);background:#bae6fd}.save-form input,.load-form select,.tool-group select{width:180px;padding:0 10px;color:var(--ink);background:#ffffffeb}.load-form select{width:220px}.tool-group select{width:190px}.editor-help{pointer-events:none;position:absolute;left:50%;bottom:18px;transform:translate(-50%);padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.voxel-editor-toolbar{pointer-events:auto;position:absolute;top:18px;left:18px;right:18px;min-height:62px;display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.voxel-color-row{display:flex;gap:7px}.voxel-color-row button{width:34px;height:34px;padding:0;border:0;border-radius:6px;background:var(--swatch);cursor:pointer}.voxel-editor-mobile-bottom .voxel-color-row button{min-height:34px;padding:0;border:0;background:var(--swatch)}.voxel-color-row button.active{position:relative;transform:translateY(-2px)}.voxel-color-row button.active:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:16px;border-right:3px solid white;border-bottom:3px solid white;filter:drop-shadow(0 1px 1px rgba(15,23,42,.8));transform:translate(-50%,-62%) rotate(42deg)}.voxel-editor-help span{color:var(--muted);font-size:13px}.voxel-editor-toolbar button,.voxel-editor-toolbar input{min-height:38px;border-radius:6px}.voxel-editor-toolbar>button,.voxel-editor-toolbar .save-form button{padding:0 12px;border:1px solid var(--line);color:var(--text);background:#ffffff1a;cursor:pointer}.voxel-editor-toolbar>button:hover,.voxel-editor-toolbar .save-form button:hover{color:var(--ink);background:#bae6fd}.voxel-editor-toolbar>button[data-back],.voxel-editor-toolbar>button[data-reset]{width:42px;display:grid;place-items:center;padding:0}.voxel-editor-toolbar>button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.voxel-editor-help{pointer-events:none;position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:flex;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.voxel-editor-mobile-top,.voxel-editor-mobile-bottom,.voxel-mobile-action-stack,.voxel-mobile-save-dialog{pointer-events:auto;position:absolute;border:1px solid var(--line);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.voxel-editor-mobile-top,.voxel-editor-mobile-bottom{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}.voxel-editor-mobile-top{top:max(12px,env(safe-area-inset-top));min-height:54px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px}.voxel-editor-mobile-top div{display:grid;gap:2px;min-width:0}.voxel-editor-mobile-top span,.voxel-editor-mobile-bottom span{color:var(--muted);font-size:12px}.voxel-editor-mobile-bottom{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 118px);display:grid;gap:10px;width:max-content;max-width:calc(100vw - max(24px,env(safe-area-inset-left)) - max(24px,env(safe-area-inset-right)));padding:7px;border:1px solid rgba(255,255,255,.16);background:#0f172a7a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);right:max(12px,env(safe-area-inset-right));left:auto}.voxel-editor-mobile-bottom>[data-vehicle-status]{display:none}.voxel-mobile-action-stack{top:calc(max(12px,env(safe-area-inset-top)) + 116px);right:max(12px,env(safe-area-inset-right));display:grid;gap:8px;padding:8px}.voxel-editor-mobile-top button,.voxel-editor-mobile-bottom button,.voxel-mobile-action-stack button,.voxel-mobile-save-dialog button{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:6px;color:var(--text);background:#ffffff1a;cursor:pointer}.voxel-editor-mobile-top button:active,.voxel-editor-mobile-bottom button:active,.voxel-mobile-action-stack button:active,.voxel-mobile-save-dialog button:active{color:var(--ink);background:#bae6fd}.voxel-editor-mobile-top button[data-back]{width:40px;display:grid;place-items:center;padding:0}.voxel-mobile-action-stack button{width:44px;height:44px;display:grid;place-items:center;padding:0}.voxel-mobile-action-stack button.active{color:var(--ink);background:#bae6fd;border-color:#bae6fde6}.voxel-editor-mobile-top button[data-back] svg,.voxel-mobile-action-stack svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.voxel-mobile-save-dialog{left:50%;top:50%;z-index:15;width:min(280px,calc(100vw - 32px));padding:10px;transform:translate(-50%,-50%)}.voxel-mobile-save-dialog[hidden]{display:none}.voxel-mobile-save-dialog form{display:grid;grid-template-columns:1fr auto;gap:8px}.voxel-mobile-save-dialog input{min-height:40px;min-width:0;padding:0 10px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#ffffffeb}.voxel-camera-joystick{pointer-events:auto;position:absolute;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));width:96px;height:96px;border:1px solid var(--line);border-radius:50%;background:#0f172a9e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:none}.voxel-camera-joystick-rotate{left:auto;right:max(14px,env(safe-area-inset-right))}.voxel-camera-joystick>span{position:absolute;left:50%;top:-22px;color:var(--muted);font-size:12px;font-weight:700;transform:translate(-50%)}.voxel-camera-joystick div{position:absolute;left:50%;top:50%;width:38px;height:38px;border:2px solid rgba(255,255,255,.68);border-radius:50%;background:#bae6fd;transform:translate(-50%,-50%);box-shadow:0 8px 18px #0f172a5c}.fatal-error{min-height:100%;display:grid;place-items:center;color:#fff}@media (max-width: 760px){.main-menu{min-height:max-content}.main-menu-topbar{grid-template-columns:1fr;align-items:stretch;gap:12px}.main-menu-tabs{justify-content:flex-start;overflow-x:auto}.race-setup,.tracks-menu,.online-rooms-menu,.garage-menu{grid-template-columns:1fr;align-content:end;min-height:auto;padding:24px 24px 120px}.race-setup h1,.tracks-menu h1,.online-rooms-menu h1,.garage-menu h1,.menu-placeholder h1{font-size:42px}.menu-placeholder{padding:24px}.topbar{flex-wrap:wrap}.editor-toolbar,.voxel-editor-toolbar{align-items:stretch;flex-direction:column}.voxel-color-row{flex-wrap:wrap}.voxel-editor-help{left:18px;right:18px;bottom:18px;transform:none;flex-wrap:wrap}.voxel-editor-toolbar-desktop,.voxel-editor-help,.controls-panel{display:none}.race-panel,.speed-panel{bottom:96px}}@media (pointer: coarse){#app[data-mode=vehicle-editor] .view-controls{top:calc(max(12px,env(safe-area-inset-top)) + 64px);right:max(12px,env(safe-area-inset-right))}#app[data-mode=vehicle-editor] .view-axis-controls{grid-template-columns:32px}.controls-panel{display:none}.mobile-controls{display:flex}.race-panel,.speed-panel{bottom:96px}}@media (pointer: coarse) and (orientation: portrait){.voxel-editor-mobile-bottom{left:max(12px,env(safe-area-inset-left));right:auto;top:50%;bottom:auto;transform:translateY(-50%)}.voxel-editor-mobile-bottom .voxel-color-row{display:grid;grid-template-columns:1fr;gap:7px}.mobile-controls{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));gap:10px}.mobile-steer-controls,.mobile-drive-controls{gap:8px}.mobile-controls button{width:72px;height:58px;font-size:13px}.race-panel,.speed-panel{bottom:88px}}@media (pointer: coarse) and (orientation: landscape){.voxel-editor-mobile-bottom{left:50%;right:auto;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%)}.voxel-editor-mobile-bottom .voxel-color-row{display:flex;flex-wrap:nowrap}}
