:root{--accent:#ff4fa0;--accent2:#29d8c8;--panel:#0c0e169e;font-family:Segoe UI,Yu Gothic UI,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}html,body{color:#fff;background:#000;height:100%;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.hidden{display:none!important}.hud-tr{text-align:right;text-shadow:0 2px 4px #000c;position:absolute;top:18px;right:22px}.money{color:#8df58a;letter-spacing:1px;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.stars{letter-spacing:3px;height:34px;font-size:26px}.stars span{color:#ffffff38}.stars span.on{color:#ffd23c;text-shadow:0 0 10px #ffb400}.stars.flash span.on{animation:.5s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.25}}.clock{opacity:.95;font-size:18px;font-weight:600}.fps{opacity:.55;font-variant-numeric:tabular-nums;font-size:11px;position:absolute;top:6px;left:8px}.hud-bl{position:absolute;bottom:22px;left:22px}.minimap{background:#123;border:3px solid #ffffffd9;border-radius:50%;width:200px;height:200px;display:block;box-shadow:0 4px 18px #0009}.bar{background:#0000008c;border-radius:5px;width:200px;height:9px;margin-top:8px;overflow:hidden}.bar>div{background:linear-gradient(90deg,#3ddc6e,#9cf07a);height:100%;transition:width .15s}.bar.low>div{background:linear-gradient(90deg,#e33,#f86)}.district{opacity:.9;text-shadow:0 1px 3px #000;margin-top:6px;font-size:13px}.hud-br{text-align:right;text-shadow:0 2px 4px #000c;position:absolute;bottom:24px;right:26px}.speed{font-variant-numeric:tabular-nums;font-size:52px;font-weight:800;line-height:1}.speed small{opacity:.8;margin-left:4px;font-size:16px;font-weight:600}.carname{opacity:.85;font-size:14px}.hud-br .bar{width:160px;margin-left:auto}.hud-br .bar>div{background:linear-gradient(90deg,#f5a623,#ffd76a)}.objective{background:var(--panel);border-left:4px solid var(--accent);text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:10px;max-width:60vw;padding:10px 22px;font-size:17px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.objective .timer{color:#ffd23c;font-variant-numeric:tabular-nums;margin-left:12px;font-size:22px;font-weight:800}.objective .timer.low{color:#ff5a5a}.prompt{background:var(--panel);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;border-radius:8px;padding:8px 18px;font-size:16px;position:absolute;bottom:16%;left:50%;transform:translate(-50%)}.prompt b{color:#111;background:#fff;border-radius:4px;margin-right:8px;padding:0 7px;display:inline-block}.notes{flex-direction:column;gap:6px;width:320px;display:flex;position:absolute;top:70px;left:22px}.note{background:var(--panel);border-left:3px solid var(--accent2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;padding:8px 12px;font-size:14px;animation:.25s ease-out slidein}.note.warn{border-left-color:#ff5a5a}.note.good{border-left-color:#8df58a}@keyframes slidein{0%{opacity:0;transform:translate(-30px)}}.banner{text-align:center;text-shadow:0 4px 18px #000000e6;animation:.4s ease-out pop;position:absolute;top:32%;left:0;right:0}.banner h1{letter-spacing:4px;margin:0;font-size:clamp(40px,7vw,86px);font-style:italic;font-weight:900}.banner p{margin:6px 0 0;font-size:22px}@keyframes pop{0%{opacity:0;transform:scale(1.4)}}.overlay{pointer-events:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(#140a288c,#05050ce6);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.card{text-align:center;background:#0e101ce0;border:1px solid #ffffff1f;border-radius:18px;width:min(680px,92vw);max-height:92vh;padding:30px 36px;overflow:auto;box-shadow:0 20px 60px #0009}.title{letter-spacing:3px;background:linear-gradient(90deg, var(--accent), #ffb347 55%, var(--accent2));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(40px,7vw,68px);font-style:italic;font-weight:900}.subtitle{opacity:.75;letter-spacing:4px;margin:2px 0 22px;font-size:13px}.btn{color:#fff;cursor:pointer;background:linear-gradient(90deg,#ff4fa0,#ff7a59);border:0;border-radius:10px;width:100%;margin:9px 0;padding:13px;font-family:inherit;font-size:17px;font-weight:700;display:block}.btn.alt{background:#ffffff1f}.btn:hover{filter:brightness(1.15)}.keys{text-align:left;opacity:.92;grid-template-columns:1fr 1fr;gap:4px 22px;margin-top:18px;font-size:13.5px;display:grid}.keys div{border-bottom:1px solid #ffffff14;justify-content:space-between;padding:3px 0;display:flex}.keys b{color:var(--accent2);font-weight:700}.fade{opacity:0;background:#000;transition:opacity .6s;position:absolute;inset:0}.fade.on{opacity:.85}@media (width<=760px){.minimap{width:140px;height:140px}.bar{width:140px}.speed{font-size:36px}.notes{width:220px}}.cross{border:2px solid #ffffffd9;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;position:absolute;top:44%;left:50%;box-shadow:0 0 4px #000}.cross:after{content:"";background:#fff;border-radius:50%;width:3px;height:3px;margin:-1.5px;position:absolute;top:50%;left:50%}.credits{opacity:.6;margin-top:14px;font-size:11px}.loading{letter-spacing:2px;background:#0b0d14;justify-content:center;align-items:center;font-size:20px;display:flex;position:absolute;inset:0}
