*{box-sizing:border-box}body{margin:0;background:#101b22;color:#fff;font-family:Consolas,'Courier New',monospace;overflow:hidden}#game,canvas{width:100%;height:100%;display:block}#game{position:fixed;inset:0}header{position:fixed;top:25px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.brand{font-size:25px;font-weight:900;letter-spacing:-1px;text-shadow:0 2px 5px #000}.brand span{color:#ffda36}.brand small{display:block;font-size:12px;letter-spacing:3px;margin-top:7px}.top{display:flex;gap:8px;pointer-events:auto}button{font:700 14px Consolas,monospace;cursor:pointer;color:#eee;background:#14252be6;border:1px solid #ffffff40;padding:12px 16px}button:hover{background:#354447}button:focus-visible{outline:3px solid #ffda36;outline-offset:4px}#hud{position:fixed;bottom:83px;left:30px;right:30px;display:flex;align-items:end;justify-content:space-between;pointer-events:none;text-shadow:0 2px 4px #000}#hud>div{background:#101c24df;border-top:3px solid #ffda36;padding:14px 20px;min-width:195px}small{font-size:12px;letter-spacing:1px}#hud small,#hud span{display:block}#score{font-size:38px}#best,#status{font-size:12px;color:#b7cbcd;margin-top:7px}#hud .speed{min-width:130px;text-align:center}#speed{font-size:48px}meter{display:block;width:170px;height:22px;margin-top:10px;accent-color:#ffda36}footer{position:fixed;bottom:0;left:0;right:0;min-height:53px;background:#10191feb;border-top:1px solid #ffffff20;display:flex;align-items:center;justify-content:center;gap:24px;font-size:13px;padding:10px}kbd{font:inherit;color:#ffda36}#toast{position:fixed;top:99px;left:50%;transform:translateX(-50%);background:#12212be0;padding:12px 20px;text-align:center;font-size:14px;border-left:3px solid #ffda36;max-width:650px;width:max-content}.overlay{position:fixed;inset:0;background:#081017a8;display:grid;place-items:center;backdrop-filter:blur(5px);padding:20px;overflow:auto}.hidden{display:none!important}.panel{width:min(630px,100%);padding:38px;background:#10202af5;border:1px solid #6d89884d;box-shadow:12px 12px 0 #0004}.eyebrow{font-size:12px;letter-spacing:2px;color:#ffda36}h1{font-size:clamp(42px,6vw,74px);line-height:.98;letter-spacing:-4px;margin:22px 0}em{font-style:normal;color:#ffda36}p{line-height:1.65;color:#d2dddf}.instructions{border-top:1px solid #ffffff25;margin:22px 0;padding-top:12px;font-size:14px}.instructions p{margin:8px 0}.primary{background:#ffda36;color:#182126;border:0;padding:18px 24px;font-size:17px;width:100%}.primary:hover{background:#ffe978}.panel>small{display:block;color:#9cabad;font-size:11px;margin-top:18px;line-height:1.6}.crash{width:min(650px,100%);padding:22px;text-align:center}.crash-picture{height:min(37vh,310px);background:url('assets/tommy.jpg') center 32% / cover no-repeat;border-bottom:3px solid #ffda36}h2{font-size:28px;margin:15px 0}.crash .eyebrow{margin-top:20px}@media(max-width:760px){header{left:12px;right:12px;top:12px}.brand{font-size:17px}.top{gap:3px}button{padding:9px;font-size:12px}#toast{top:78px;max-width:90%;font-size:12px}#hud{left:12px;right:12px;bottom:100px}#hud>div{padding:9px;min-width:100px}#hud .speed{min-width:75px}meter{width:100px}#score{font-size:27px}#speed{font-size:32px}footer{flex-wrap:wrap;gap:10px;font-size:11px}.panel{padding:24px}}
#minimap{position:fixed;right:24px;top:100px;width:200px;height:258px;border:1px solid #8b9e9d60;pointer-events:none}#map-info{position:fixed;right:24px;top:366px;display:flex;flex-direction:column;gap:6px;background:#10202aeb;padding:10px;width:200px;font-size:12px}#map-info a{color:#b9cacc;font-size:11px}#map-info b{color:#ffda36}#map-info span{color:#c4d4d6}@media(max-width:850px){#minimap{right:10px;top:126px;width:130px;height:168px}#map-info{right:10px;top:302px;width:130px;font-size:11px}#map-info a{font-size:10px}}
.panel>small a{color:#c5d4d7}
body.cockpit-view #hud{top:145px;bottom:auto;right:auto}body.cockpit-view #hud .speed,body.cockpit-view #hud>div:last-child{display:none}

.crash-picture.generated{height:auto;aspect-ratio:3/2;max-height:47vh;background-position:center;background-size:contain;background-color:#000}.overlay{z-index:30}
