*{box-sizing:border-box}html,body{color:#fff;-webkit-user-select:none;user-select:none;background:#0b0714;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#game{width:100vw;height:100vh;display:block}#loading{color:#ff2bd6;letter-spacing:.3em;background:#0b0714;place-items:center;font-size:20px;display:grid;position:fixed;inset:0}#loading.hidden{display:none}.load-box{letter-spacing:.05em;color:#ffffffbf;flex-direction:column;gap:10px;width:min(640px,90vw);font-size:13px;display:flex}.load-title{color:#ff2bd6;letter-spacing:.3em;text-align:center;font-size:20px}.load-bar{background:#ffffff1a;border-radius:3px;height:6px;overflow:hidden}.load-bar i{background:linear-gradient(90deg,#ff2bd6,#00e5ff);width:0;height:100%;transition:width .3s;display:block}.load-step{color:#00e5ff}.load-file{word-break:break-all;min-height:2.6em}.load-errors{color:#ff5a5a;white-space:pre-wrap;word-break:break-word}#hud{pointer-events:none;position:fixed;inset:0}#hud,#hud *{text-shadow:0 1px 3px #0009}#dash{flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:20px;right:24px}#speed{text-shadow:0 0 14px #00e5ff99;font-style:italic;font-weight:800}#speed-value{font-variant-numeric:tabular-nums;font-size:64px}#speed .unit{opacity:.8;margin-left:6px;font-size:16px}#boost{gap:6px;display:flex}#health{background:#ffffff1f;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}#health>i{background:#7dff9a;width:100%;height:100%;transition:width .3s,background .3s;display:block}#health.worn>i{background:#ffc24a}#health.critical>i{background:#ff3b3b;box-shadow:0 0 8px #ff3b3b}.seg{background:#00000059;border:1px solid #ffffff59;width:52px;height:12px;overflow:hidden;transform:skew(-20deg)}.seg>i{background:#3fb6ff;width:0%;height:100%;display:block}.seg.full>i{background:#7dd8ff;box-shadow:0 0 8px #3fb6ff}#boost.active .seg>i{background:#ff9a2e;box-shadow:0 0 10px #ff6a00}#drift{text-align:center;opacity:0;font-style:italic;font-weight:800;transition:opacity .15s;position:absolute;top:18%;left:50%;transform:translate(-50%)}#drift.show{opacity:1}#drift-label{letter-spacing:.3em;color:#ff2bd6;text-shadow:0 0 10px #ff2bd6;font-size:16px}#drift-score{font-size:40px}#drift.banked #drift-label{color:#ffd166}#minimap{filter:drop-shadow(0 0 10px #00e5ff59);width:220px;height:220px;position:absolute;bottom:34px;left:18px}#carname{text-align:center;letter-spacing:.08em;color:#fff;text-shadow:0 0 18px #ff2bd6,0 0 4px #ff2bd6;opacity:0;font-size:34px;font-style:italic;font-weight:800;transition:opacity .4s;position:absolute;top:22px;left:50%;transform:translate(-50%)}#carname small{letter-spacing:.4em;color:#00e5ff;text-shadow:0 0 8px #00e5ff;font-size:13px;display:block}#carname.show{opacity:1}#help{text-align:right;background:#00000059;border-radius:6px;max-width:460px;padding:10px 14px;font-size:13px;line-height:1.7;transition:opacity .6s;position:absolute;top:132px;right:16px}#help.hidden{opacity:0}#fps{opacity:.75;font:12px ui-monospace,monospace;position:absolute;bottom:10px;left:254px}#fps.hidden{display:none}#event{background:#0804148c;border-left:3px solid #00e5ff;min-width:220px;padding:10px 14px;font-size:15px;font-weight:700;line-height:1.5;position:absolute;top:18px;left:18px}#event.hidden{display:none}#event .title{letter-spacing:.3em;color:#00e5ff;font-size:12px}#event .big{font-variant-numeric:tabular-nums;font-size:34px;font-style:italic}#event .row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:18px;display:flex}#event.rage{border-color:#ff2030}#event.rage .title{color:#ff4050}#event.stunt{border-color:#ffd166}#event.stunt .title{color:#ffd166}#banner{text-align:center;opacity:0;font-style:italic;font-weight:900;transition:opacity .2s;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}#banner.show{opacity:1}#banner-main{letter-spacing:.04em;font-size:84px;line-height:1}#banner-sub{letter-spacing:.3em;color:#ffd6f6;margin-top:8px;font-size:18px}#banner.go #banner-main{color:#7dffb0;text-shadow:0 0 24px #0f8}#banner.crash #banner-main{color:#ff3050;text-shadow:0 0 26px #ff0030}#banner.takedown #banner-main{color:#ff9a2e;text-shadow:0 0 26px #ff5a00}#banner.win #banner-main{color:#ffd166;text-shadow:0 0 26px #ffae00}#banner.info #banner-main{color:#fff;text-shadow:0 0 20px #ff2bd6;font-size:56px}#feed{flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;top:38%;right:26px}#feed>div{letter-spacing:.06em;font-size:20px;font-style:italic;font-weight:800;transition:opacity .5s;animation:.18s ease-out feed-in}#feed>div.fade{opacity:0}#feed .near{color:#7dd8ff;text-shadow:0 0 10px #3fb6ff}#feed .oncoming{color:#ffd166;text-shadow:0 0 10px #ffae00}#feed .air{color:#b388ff;text-shadow:0 0 10px #7c4dff}#feed .drift{color:#ff7ad9;text-shadow:0 0 10px #ff2bd6}#feed .takedown{color:#ff9a2e;text-shadow:0 0 12px #ff5a00;font-size:26px}#feed .crash{color:#ff3050;text-shadow:0 0 12px #ff0030}@keyframes feed-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}#prompt{text-align:center;white-space:nowrap;background:#08041499;border:1px solid #00e5ff80;padding:10px 20px;font-size:17px;font-weight:700;position:absolute;bottom:110px;left:50%;transform:translate(-50%)}#prompt.hidden{display:none}#prompt b{color:#00e5ff}#prompt .kind{letter-spacing:.3em;color:#ff2bd6;font-size:12px;display:block}#prompt .hold{background:#00e5ff;width:0;height:3px;margin-top:6px;display:block}#progress{text-align:center;letter-spacing:.2em;color:#b9c3ff;width:220px;font-size:12px;font-weight:700;position:absolute;bottom:258px;left:18px}#street{text-align:center;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.03em;color:#fff;text-shadow:0 1px 3px #000000f2,0 0 9px #00e5ff8c;width:248px;font-size:15px;font-style:italic;font-weight:800;position:absolute;bottom:9px;left:4px;overflow:hidden}#worldmap{z-index:20;cursor:grab;width:100vw;height:100vh;position:fixed;inset:0}#worldmap.hidden,#hud.hidden{display:none}#menu{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(#0806148c,#080614d9);place-items:center;display:grid;position:fixed;inset:0}#menu.hidden{display:none}body:has(#menu.portrait) #hud{visibility:hidden}#menu.portrait{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#080614cc,#0000 60%);place-items:center start;padding-left:5vw}#welcome{z-index:60;background:#0b0714;place-items:center;display:grid;position:fixed;inset:0}#welcome input[name=who],#welcome button{font:inherit;letter-spacing:.06em;color:#fff;background:#ffffff14;border:1px solid #00e5ff73;border-radius:8px;outline:none;padding:12px 16px;font-size:20px;font-weight:700}#welcome input[name=who]:focus{border-color:#ff2bd6}#welcome button{cursor:pointer;background:linear-gradient(90deg,#ff2bd68c,#00e5ff4d)}#mp-join{z-index:45;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080614b3;place-items:center;display:grid;position:fixed;inset:0}#mp-join input,#mp-join button{font:inherit;letter-spacing:.06em;color:#fff;background:#ffffff14;border:1px solid #00e5ff73;border-radius:8px;outline:none;padding:12px 16px;font-size:20px;font-weight:700}#mp-join input:focus{border-color:#ff2bd6}.mp-sides{gap:10px;display:flex}.mp-sides button{cursor:pointer;flex:1}#mp-join button.cop,#mp .cop{color:#9ec0ff;border-color:#4f8cff}#mp-join button.gang,#mp .gang{color:#ff9a9a;border-color:#ff4040}#mp-join button:hover{background:#ffffff2e}#mp{text-align:right;text-shadow:0 1px 3px #000;flex-direction:column;gap:2px;font:600 13px system-ui,sans-serif;display:flex;position:absolute;top:136px;right:24px}#mp.hidden{display:none}#mp b{letter-spacing:.06em;margin-bottom:3px;font-size:15px}#mp i{color:#ffd23f;font-style:normal}.welcome-avatars{flex-wrap:wrap;gap:8px;display:flex}.welcome-avatars input{opacity:0;position:absolute}.welcome-avatars span{cursor:pointer;color:#ffffffbf;border:1px solid #fff3;border-radius:8px;padding:9px 14px;font-weight:600;display:block}.welcome-avatars input:checked+span{color:#fff;background:#00e5ff2e;border-color:#00e5ff}.welcome-avatars input:focus-visible+span{outline:2px solid #ff2bd6}.menu-panel{background:#0e0a1ed1;border:1px solid #00e5ff40;border-radius:14px;flex-direction:column;gap:14px;min-width:380px;max-width:min(640px,92vw);max-height:86vh;padding:26px 30px 20px;display:flex;box-shadow:0 20px 60px #00000080,0 0 30px #ff2bd61f}.menu-title{letter-spacing:.12em;color:#fff;text-shadow:0 0 18px #ff2bd699;font-size:30px;font-style:italic;font-weight:800}.menu-list{flex-direction:column;gap:6px;display:flex;overflow-y:auto}.menu-item{cursor:pointer;color:#ffffffc7;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:baseline;gap:18px;padding:11px 16px;font-size:19px;font-weight:600;transition:background .12s,color .12s;display:flex}.menu-item small{opacity:.65;letter-spacing:.04em;font-size:13px;font-weight:500}.menu-item.selected{color:#fff;background:linear-gradient(90deg,#ff2bd659,#00e5ff2e);border-color:#00e5ff73}.menu-item.current span:after{content:"  ●";color:#7dff9a;vertical-align:middle;font-size:12px}.menu-hint{opacity:.55;letter-spacing:.05em;font-size:12px}.menu-controls{border-collapse:collapse;font-size:14px}.menu-controls th{text-align:left;opacity:.6;padding:0 14px 6px 0;font-size:12px;font-weight:600}.menu-controls td{border-top:1px solid #ffffff12;padding:5px 14px 5px 0}.menu-pad{white-space:pre-line;color:#9fe8ff;background:#0000004d;border-radius:6px;padding:8px 10px;font:12px/1.5 ui-monospace,monospace}#editor{color:#e8eef2;pointer-events:none;z-index:20;background:#080e14d1;border-radius:8px;max-width:min(640px,100vw - 32px);padding:10px 14px;font:13px/1.5 system-ui,sans-serif;position:fixed;top:16px;left:16px}#editor b{color:#ffd400}#editor small{color:#9fb0bc}#editor.hidden{display:none}#wanted{letter-spacing:4px;color:#ffd23f;font-size:30px;position:absolute;top:18px;right:24px}#vitals{background:#00000073;border-radius:4px;width:220px;height:8px;position:absolute;bottom:250px;left:24px;overflow:hidden}#vitals i{background:#4ade80;width:100%;height:100%;transition:width .15s;display:block}#action{background:#0000008c;border-radius:8px;padding:8px 16px;font-size:17px;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}#action b,#help b{color:#00e5ff}#wanted.hidden,#action.hidden{display:none}#wanted.searching{animation:.8s steps(2,start) infinite searching}@keyframes searching{to{opacity:.25}}body.dying #game{filter:grayscale(.85)contrast(1.1);transition:filter .6s}body.hit #hud:after{content:"";pointer-events:none;animation:.45s ease-out forwards hit;position:absolute;inset:0;box-shadow:inset 0 0 140px 30px #c800008c}@keyframes hit{to{opacity:0}}#money{color:#86efac;text-shadow:0 1px 3px #000;font:700 22px system-ui,sans-serif;position:absolute;top:58px;right:24px}#clock{letter-spacing:.08em;color:#ffffffd1;text-shadow:0 1px 3px #000;font:600 13px system-ui,sans-serif;position:absolute;top:116px;right:24px}#ammo{letter-spacing:1px;text-shadow:0 1px 3px #000;font:700 20px system-ui,sans-serif;position:absolute;top:88px;right:24px}#crosshair{pointer-events:none;border:2px solid #ffffffd9;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;display:none;position:absolute;top:50%;left:50%;box-shadow:0 0 2px #000}#crosshair:after{content:"";background:#fff;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%}body[data-mode=foot][data-aim=on] #crosshair,body[data-aim=drive] #crosshair{display:block}#scope{pointer-events:none;background:radial-gradient(circle,#0000 0 38vh,#000000e6 38.6vh,#000 41vh);display:none;position:absolute;inset:0}#scope:before,#scope:after{content:"";background:#000000d9;position:absolute}#scope:before{width:1px;height:76vh;top:calc(50% - 38vh);left:50%}#scope:after{width:76vh;height:1px;top:50%;left:calc(50% - 38vh)}body[data-mode=foot][data-scope=on] #scope{display:block}body[data-mode=foot][data-scope=on] #crosshair,.kbm,.pad,.touch{display:none}body[data-scheme=kbm] .kbm,body[data-scheme=pad] .pad,body[data-scheme=touch] .touch{display:inline}body[data-mode=car] .foot,body[data-mode=foot] .car{display:none!important}html,body{touch-action:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}#game{height:100dvh}#touch{pointer-events:none;display:none;position:fixed;inset:0}body[data-scheme=touch] #touch{display:block}body[data-scheme=touch] #help{font-size:11px}#stick{left:max(28px, env(safe-area-inset-left));pointer-events:auto;background:#ffffff1f;border:2px solid #ffffff4d;border-radius:50%;place-items:center;width:140px;height:140px;display:grid;position:absolute;bottom:28px}#stick i{background:#ffffff73;border-radius:50%;width:56px;height:56px}#buttons{right:max(20px, env(safe-area-inset-right));flex-wrap:wrap-reverse;justify-content:flex-end;gap:10px;width:250px;display:flex;position:absolute;bottom:24px}#buttons button{pointer-events:auto;color:#fff;touch-action:none;background:#ffffff24;border:2px solid #ffffff59;border-radius:50%;width:72px;height:72px;font:700 12px system-ui,sans-serif}#buttons button:active,#buttons button.on{background:#00e5ff73}#buttons button.big{width:92px;height:92px;font-size:15px}#buttons button.small{width:44px;height:44px}body[data-mode=foot] #dash{display:none}body[data-scheme=touch] #minimap{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));width:120px;height:120px;bottom:auto}body[data-scheme=touch] #progress{top:calc(max(12px, env(safe-area-inset-top)) + 124px);left:max(12px, env(safe-area-inset-left));width:120px;font-size:10px;bottom:auto}body[data-scheme=touch] #street{top:calc(max(12px, env(safe-area-inset-top)) + 156px);width:calc(max(12px, env(safe-area-inset-left)) * 2 + 120px);font-size:11px;bottom:auto;left:0}body[data-scheme=touch] #vitals{top:calc(max(12px, env(safe-area-inset-top)) + 142px);left:max(12px, env(safe-area-inset-left));width:120px;bottom:auto}body[data-scheme=touch] #dash{align-items:center;gap:4px;inset:6px auto auto 50%;transform:translate(-50%)}body[data-scheme=touch] #speed-value{font-size:36px}body[data-scheme=touch] #carname{font-size:24px;top:84px}body[data-scheme=touch] .seg{width:30px;height:8px}@media (height<=450px){#buttons{gap:8px;width:210px}#buttons button{width:60px;height:60px}#buttons button.big{width:76px;height:76px}#buttons button.small{width:40px;height:40px}#stick{width:120px;height:120px}#stick i{width:48px;height:48px}}
