*{margin:0;padding:0;box-sizing:border-box}body{background:#000;overflow:hidden;font-family:"Press Start 2P",monospace;color:#fff}#app{position:relative;width:100vw;height:100vh}#game-canvas{display:block;width:100%;height:100%}.hidden{display:none!important}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#hud-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent)}#hud-logo{filter:drop-shadow(0 0 8px #ff6600)}.pizza-icon-lg{height:32px;width:auto;display:block}#hud-lives img{height:22px;width:22px;object-fit:contain;filter:drop-shadow(0 0 3px #ff6600);margin-left:4px}#intro-logo-img{max-width:200px;max-height:180px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 0 20px rgba(255,120,0,.7));margin-bottom:4px}#hud-score{position:absolute;left:50%;transform:translate(-50%);text-align:center}#score-label{font-size:8px;color:#fc0;letter-spacing:2px;margin-bottom:6px}#score-value{font-size:20px;color:#fff;text-shadow:0 0 10px #ffcc00}#hud-lives{display:flex;gap:6px;font-size:20px}#order-card{position:absolute;top:64px;left:20px;bottom:unset;background:#000c;border:2px solid #ff6600;border-radius:8px;padding:12px 16px;min-width:200px;max-width:240px}#order-title{font-size:8px;color:#f60;letter-spacing:3px;margin-bottom:8px}#order-customer{font-size:9px;color:#fc0;margin-bottom:4px}#order-destination{font-size:7px;color:#aaa;margin-bottom:10px}#order-timer-bar-wrap{background:#333;height:8px;border-radius:4px;overflow:hidden;margin-bottom:8px}#order-timer-bar{height:100%;width:100%;background:#0c4;border-radius:4px;transition:background .3s}#order-distance{font-size:7px;color:#8cf}#speedometer-wrap{position:absolute;bottom:20px;right:20px;text-align:center}#speed-label{font-size:7px;color:#aaa;margin-top:2px}#combo-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:#fc0;text-shadow:0 0 20px #ff6600;pointer-events:none;opacity:0}#combo-display.show{animation:floatUp 1.5s ease-out forwards}@keyframes floatUp{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-120%)}}#intro-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000bf}#intro-content{text-align:center;display:flex;flex-direction:column;gap:32px;align-items:center}#intro-title{font-size:clamp(18px,4vw,36px);line-height:1.6;color:#fc0;text-shadow:0 0 20px #ff6600,0 0 40px #ff6600}#intro-controls{display:flex;flex-direction:column;gap:10px;font-size:9px;color:#ccc;line-height:2}#intro-start{font-size:11px;color:#f60}.blink{animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}#gameover-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000d9}#gameover-content{text-align:center;display:flex;flex-direction:column;gap:28px;align-items:center}#gameover-title{font-size:clamp(24px,5vw,48px);color:#f30;text-shadow:0 0 20px #ff3300}#gameover-score{font-size:14px;color:#fc0}#play-again{font-family:"Press Start 2P",monospace;font-size:12px;background:#f60;color:#fff;border:none;padding:14px 28px;border-radius:6px;cursor:pointer;pointer-events:all;transition:background .2s,transform .1s}#play-again:hover{background:#f80;transform:scale(1.05)}#play-again:active{transform:scale(.97)}#vjoy-wrap{position:absolute;bottom:30px;left:30px;pointer-events:all}#vjoy-base{width:120px;height:120px;border-radius:50%;background:#ffffff26;border:2px solid rgba(255,255,255,.3);position:relative;touch-action:none}#vjoy-stick{width:50px;height:50px;border-radius:50%;background:#ffffff80;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);touch-action:none}#vbrake-btn{position:absolute;bottom:30px;right:30px;width:70px;height:70px;border-radius:50%;background:#ff500080;border:2px solid rgba(255,150,0,.6);font-family:"Press Start 2P",monospace;font-size:8px;color:#fff;display:flex;align-items:center;justify-content:center;pointer-events:all;touch-action:none;-webkit-user-select:none;user-select:none}#milestone-notification{position:absolute;top:60px;left:50%;transform:translate(-50%);font-size:9px;color:#fc0;text-shadow:0 0 10px #ff6600,0 0 20px #ff6600;text-align:center;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .4s}#milestone-notification.show{opacity:1}#radio-widget{position:fixed;bottom:16px;left:16px;width:220px;z-index:200;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 12px rgba(0,0,0,.8));pointer-events:all}#radio-face{width:220px;cursor:default}#radio-svg{width:100%;height:auto;display:block}#radio-ticker{background:#0a0604;border:1px solid #3d2b0a;border-top:none;overflow:hidden;white-space:nowrap;height:18px;position:relative}#radio-ticker-inner{display:inline-block;padding-left:100%;animation:ticker-scroll 14s linear infinite}#radio-now-playing{font-family:"Press Start 2P",monospace;font-size:7px;color:#0f6;display:inline-block;padding-right:40px}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}#radio-controls{display:flex;align-items:center;gap:6px;background:#1a1008;border:1px solid #3d2b0a;border-top:none;padding:5px 8px}#radio-controls button{background:#2a1a0a;border:1px solid #5a3d10;color:gold;font-size:12px;width:26px;height:22px;cursor:pointer;border-radius:2px;display:flex;align-items:center;justify-content:center;transition:background .1s;padding:0;line-height:1}#radio-controls button:hover{background:#3d2b0a}#radio-controls button:active{background:#5a3d10;transform:scale(.95)}#radio-track-dots{display:flex;gap:4px;flex:1;justify-content:center}.track-dot{width:7px;height:7px;border-radius:50%;background:#3d2b0a;border:1px solid #5a3d10;cursor:pointer;transition:background .15s}.track-dot.active{background:gold;box-shadow:0 0 5px gold}#radio-volume-knob{cursor:ns-resize;width:32px;height:32px;flex-shrink:0}@keyframes lcd-flicker{0%,to{opacity:1}20%{opacity:.4}50%{opacity:.9}75%{opacity:.3}}.lcd-scanning{animation:lcd-flicker .1s steps(1) infinite}#radio-widget.hidden{display:none}@media (max-width: 480px){#radio-widget{width:180px;bottom:80px}}
