html,body{margin:0;height:100%;overflow:hidden;background:#111;font-family:'Segoe UI',Arial,sans-serif;color:#eee;user-select:none}
canvas{display:block}body{touch-action:none}
#ov{position:fixed;inset:0;background:radial-gradient(ellipse at center,rgba(20,26,32,.82),rgba(8,10,12,.95));display:flex;align-items:center;justify-content:center;z-index:10}
#card{max-width:560px;text-align:center;padding:30px 40px}
h1{font-size:68px;letter-spacing:10px;margin:0 0 4px;color:#e8d9a8;text-shadow:0 0 30px #b3262b}
.sub{color:#9aa;margin-bottom:22px;letter-spacing:3px;font-size:13px}
table{margin:0 auto 22px;text-align:left;font-size:15px;border-collapse:collapse}td{padding:3px 14px}td:first-child{color:#e8c36a;font-weight:600;white-space:nowrap}
#go{display:none;background:#b3262b;color:#fff;border:0;padding:14px 46px;font-size:20px;letter-spacing:3px;cursor:pointer;border-radius:3px}#go:hover{background:#d13036}
#load{color:#aab;min-height:22px;margin-top:10px}
#hud{position:fixed;right:26px;bottom:22px;text-align:right;display:none;text-shadow:0 2px 6px #000}
#spd{font-size:64px;font-weight:700;line-height:1}#hud small{font-size:16px;color:#bbb}#gear{font-size:28px;font-weight:700;color:#e8c36a}
#rpm{width:210px;height:8px;background:#0008;margin:6px 0 4px auto;border-radius:4px;overflow:hidden}#rpmb{height:100%;background:linear-gradient(90deg,#7fe08a,#e8c36a,#e0453a);width:0}
#eng{font-size:13px;letter-spacing:2px}#boost{width:210px;height:5px;background:#0008;margin:0 0 4px auto;border-radius:3px;overflow:hidden}#boostb{height:100%;background:#4ac3ff;width:100%}
#hint{position:fixed;left:0;right:0;bottom:70px;text-align:center;font-size:18px;text-shadow:0 2px 6px #000;pointer-events:none}
#msg{position:fixed;left:0;right:0;top:80px;text-align:center;font-size:22px;color:#ffd77a;text-shadow:0 2px 8px #000;opacity:0;transition:opacity .3s;pointer-events:none}
#mapw{position:fixed;left:18px;bottom:18px;border:2px solid #0009;border-radius:6px;overflow:hidden;opacity:.92}
#dmg{position:fixed;left:18px;top:14px;font-size:14px;text-shadow:0 1px 4px #000;color:#ddd}
#cross{position:fixed;left:50%;top:50%;width:4px;height:4px;margin:-2px;background:#fff9;border-radius:2px}
#touch{display:none;position:fixed;inset:0;pointer-events:none;z-index:5}
#touch button{position:absolute;pointer-events:auto;width:74px;height:74px;border-radius:50%;border:2px solid #fff6;background:#0007;color:#fff;font-size:22px;font-weight:700;touch-action:none;-webkit-user-select:none}
#touch button.on{background:#b3262bcc}#touch .sm{width:58px;height:58px;font-size:17px}
body.touch #mapw{left:auto;right:14px;top:14px;bottom:auto;transform:scale(.7);transform-origin:top right}body.touch #hud{bottom:190px;right:14px}body.touch #hint{bottom:210px;font-size:15px}body.touch #cross{display:none}body.touch #dmg{top:10px;left:10px}
