*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;background:#0a0a12;font-family:Courier New,monospace;font-weight:700;color:#e8e8f0;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#game-canvas{position:fixed;inset:0;width:100%;height:100%;image-rendering:pixelated}#app{position:fixed;inset:0}#app:after{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);z-index:50}.hud-top{position:absolute;top:max(8px,env(safe-area-inset-top));left:8px;right:8px;display:flex;gap:6px;z-index:10}.stat{background:#080812d9;border:2px solid #3a3a55;padding:4px 8px;flex:1;text-align:center}.stat.small{flex:.6}.stat.mute{flex:0 0 40px;font-size:15px;font-family:inherit;cursor:pointer;color:#e8e8f0}.stat .k{display:block;font-size:clamp(10px,2.6vw,12px);color:#a0a0c8;letter-spacing:1px}.stat .v{display:block;font-size:clamp(16px,4.4vw,20px);text-shadow:2px 2px 0 #000}.stat .v.gold{color:#f2d24a}.quick-buy{position:absolute;bottom:74px;left:50%;transform:translate(-50%);z-index:10;font-family:inherit;font-weight:700;font-size:12px;color:#0a0a12;background:#ffd890;border:2px solid #e66a2a;border-bottom-width:4px;padding:9px 16px;cursor:pointer;max-width:86vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-buy:active{transform:translate(-50%) translateY(2px);border-bottom-width:2px}@media(orientation:portrait){.quick-buy{bottom:31vh}}body.in-garage .quick-buy{display:none}.boost-pill{position:absolute;top:58px;left:50%;transform:translate(-50%);background:#5a1a1a;border:2px solid #e66a2a;color:#ffd890;padding:3px 12px;font-size:12px;z-index:10;animation:pulse .8s infinite alternate}@keyframes pulse{0%{opacity:.85}to{opacity:1;box-shadow:0 0 12px #e66a2a}}.opp-bar{position:absolute;top:84px;left:12px;right:12px;z-index:10;text-align:center}.opp-name{font-size:clamp(15px,4vw,19px);letter-spacing:1px;text-shadow:2px 2px 0 #000}.opp-blurb{font-size:clamp(12px,3.2vw,14px);color:#b4b4d8;margin-top:4px;text-shadow:1px 1px 0 #000;line-height:1.35}.bar{position:relative;height:14px;margin-top:4px;background:#14141f;border:2px solid #3a3a55}.fill{height:100%;width:0%;background:linear-gradient(90deg,#b03a3a,#e66a2a);transition:width .15s}.notch{position:absolute;top:0;bottom:0;width:2px;background:#3a3a55}.menu-row{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));left:8px;right:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;z-index:10}.garage-exit-fixed{position:fixed;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));z-index:100;font-family:inherit;font-weight:700;font-size:13px;color:#ffd890;background:#141422eb;border:2px solid #e66a2a;border-bottom-width:4px;padding:12px 16px;cursor:pointer}.garage-exit-fixed:active{transform:translateY(2px);border-bottom-width:2px}.garage-arrow{position:fixed;z-index:95;transform:translate(-50%);color:#4ae66a;font-size:34px;text-shadow:0 0 8px #4ae66a,2px 2px 0 #000;pointer-events:none;animation:arrowbob .7s ease-in-out infinite alternate}@keyframes arrowbob{0%{margin-top:-8px}to{margin-top:8px}}.ad-box.mshop{max-height:80vh;overflow-y:auto;text-align:left;width:min(94vw,420px)}.mtag{color:#4ae66a;font-size:9px;border:1px solid #4ae66a;padding:1px 4px;letter-spacing:1px}.mshop-ad{border-bottom:2px solid #4a4a70}.menu-row button,.panel button,.ad-skip{font-family:inherit;font-weight:700;background:#1c1c2c;color:#e8e8f0;border:2px solid #4a4a70;border-bottom-width:4px;padding:10px 2px;font-size:10px;flex:1;cursor:pointer}.menu-row button:active,.panel button:active{transform:translateY(2px);border-bottom-width:2px}.menu-row button.hot{border-color:#e66a2a;color:#ffd890}.menu-row button{min-width:0;font-size:clamp(9px,2.6vw,12px);padding:8px 1px;line-height:1.05;white-space:normal;overflow-wrap:anywhere;display:flex;align-items:center;justify-content:center;text-align:center;min-height:42px}.panel{position:absolute;left:8px;right:8px;bottom:64px;max-height:58vh;overflow-y:auto;background:#0a0a14f5;border:2px solid #4a4a70;z-index:20;padding:8px}.panel-head{display:flex;justify-content:space-between;align-items:center;font-size:clamp(16px,4.2vw,19px);letter-spacing:2px;color:#ffd890;margin-bottom:8px}.panel-head .x{flex:0;padding:2px 10px}.panel-garage{max-height:42vh;bottom:max(10px,env(safe-area-inset-bottom))}.panel-garage.collapsed{max-height:none;background:transparent;border:none;padding:0}.garage-head{display:flex;align-items:center;justify-content:space-between}.garage-head span{color:#ffd890;letter-spacing:2px}.garage-head button,.garage-bar button{font-family:inherit;font-weight:700;background:#1c1c2c;color:#ffd890;border:2px solid #4a4a70;border-bottom-width:3px;padding:6px 12px;font-size:11px;cursor:pointer}.garage-bar{position:absolute;left:8px;right:8px;bottom:max(10px,env(safe-area-inset-bottom));display:flex;gap:8px;justify-content:space-between}.garage-bar button{flex:1;padding:12px 8px}.panel-note{font-size:clamp(11px,3vw,13px);color:#a0a0c8;margin-bottom:8px;line-height:1.55}.row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #22223a}.row-txt{flex:1;min-width:0}.row-name{font-size:clamp(13px,3.4vw,15px)}.row-desc{font-size:clamp(11px,3vw,13px);color:#a0a0c8;margin-top:3px;line-height:1.4}.row button{flex:0 0 100px;padding:10px 4px;font-size:clamp(11px,3vw,13px)}.row button:disabled{opacity:.4;cursor:default}.lb-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid #22223a;font-size:12px}.lb-rank{flex:0 0 44px;color:#8a8ab0}.lb-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score{flex:0 0 auto;color:#e6c84a}.lb-you{background:#2a2440;border:2px solid #e6c84a;border-bottom-width:2px}.lb-you .lb-name,.lb-you .lb-rank{color:#ffd890}.lb-gap{text-align:center;color:#4a4a70;padding:2px 0;font-size:12px}.toasts{position:absolute;top:150px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:30;pointer-events:none}.toast{background:#080812e6;border:2px solid #4a4a70;padding:8px 16px;font-size:clamp(13px,3.4vw,15px);opacity:0;transform:translateY(-8px);transition:all .3s;max-width:86vw;text-align:center}.toast.show{opacity:1;transform:translateY(0)}.toast.warn{border-color:#e66a2a;color:#ffd890}.toast.gold{border-color:#e6c84a;color:#e6c84a}.toast.green{border-color:#4ae66a;color:#4ae66a}.fade{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;transition:opacity .5s;z-index:40}.fade.on{opacity:.9}.fade.quick{transition:opacity .16s;background:#000}.fade.quick.on{opacity:1}body.in-garage .hud-top,body.in-garage .opp-bar,body.in-garage .menu-row,body.in-garage .boost-pill{display:none}.title-screen{position:fixed;inset:0;z-index:70;background:#06060ed1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;transition:opacity .4s;cursor:pointer}.title-screen.gone{opacity:0;pointer-events:none}.title-word{font-size:clamp(34px,9vw,64px);letter-spacing:4px;color:#f2f2f2;text-shadow:4px 4px 0 #8e1f1f,8px 8px 0 #000}.title-sub{font-size:12px;color:#8a8ab0;letter-spacing:3px}.title-tap{margin-top:34px;font-size:14px;color:#ffd890;border:2px solid #e66a2a;padding:10px 22px;animation:pulse .9s infinite alternate}.ad-overlay{position:fixed;inset:0;background:#000000eb;z-index:60;display:flex;align-items:center;justify-content:center}.ad-box{width:min(90vw,380px);background:#14141f;border:2px solid #4a4a70;padding:12px;text-align:center}.ad-label{font-size:9px;color:#8a8ab0;letter-spacing:2px;text-align:left}.ad-screen{margin:10px 0;padding:30px 10px;background:#0a0a12;border:1px dashed #3a3a55}.ad-art{font-size:40px}.ad-copy{font-size:10px;color:#8a8ab0;margin-top:8px;line-height:1.6}.ad-skip{width:100%}.ad-skip:disabled{opacity:.5}.name-copy{font-size:11px;color:#b0b0d0;margin:10px 0;line-height:1.6}.name-input{width:100%;font-family:inherit;font-weight:700;font-size:15px;text-align:center;background:#0a0a12;color:#ffd890;border:2px solid #4a4a70;padding:9px 6px;outline:none}.name-input:focus{border-color:#e6c84a}.name-status{font-size:10px;color:#e66a2a;min-height:16px;margin:6px 0}.name-actions{display:flex;gap:6px}.name-actions button{flex:1;padding:10px 6px;font-size:11px}
