html,body{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#1b1b1b;height:100%;margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}*,:before,:after{touch-action:none;-webkit-tap-highlight-color:transparent}#game{width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:#fff;touch-action:none;background:#14141499;border:1px solid #ffffff59;border-radius:10px;padding:8px 12px}button:active{background:#ffc40099}#loading{z-index:10;background:#1b1b1b;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;inset:0}#loading .title{color:#ffc400;font-size:28px;font-weight:700}#loading .sub{opacity:.7}#loading .bar{background:#333;border-radius:3px;width:min(320px,80vw);height:6px;overflow:hidden}#loadbar{background:#ffc400;width:0;height:100%;transition:width .2s}#loadtext{opacity:.6;font-size:12px}#hud{pointer-events:none;position:fixed;inset:0}#hud button,#stick{pointer-events:auto}#stats{top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));white-space:pre;background:#0000008c;border-radius:6px;padding:6px 8px;font:12px/1.35 ui-monospace,Menlo,monospace;position:absolute}#hint{top:calc(8px + env(safe-area-inset-top));background:#00000080;border-radius:6px;padding:4px 10px;font-size:13px;position:absolute;left:50%;transform:translate(-50%)}#hint:empty{display:none}#bench{top:calc(44px + env(safe-area-inset-top));pointer-events:auto;background:#000000bf;border-radius:8px;max-width:calc(100vw - 32px);padding:8px 12px;position:absolute;left:50%;transform:translate(-50%)}#bench textarea{width:min(560px,100vw - 56px);height:180px;margin:8px 0;font:11px ui-monospace,Menlo,monospace;display:block}.ic{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #0009);width:55%;height:55%}.rb,.tb{background:radial-gradient(circle at 50% 35%,#ffffff29,#0a0a0c6b 70%);border:2px solid #ffffff8c;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform 60ms,background 60ms;display:flex;position:absolute;box-shadow:0 2px 8px #00000059}.rb:active,.tb:active,.rb.on{background:radial-gradient(circle at 50% 35%,#fff6,#ffffff1f 70%);transform:scale(.92)}.rb>span{white-space:nowrap;letter-spacing:.5px;text-transform:uppercase;text-shadow:0 1px 2px #000;opacity:.9;font:700 10px system-ui,sans-serif;position:absolute;bottom:-17px;left:50%;transform:translate(-50%)}.rb[hidden],.tb[hidden]{display:none}.topright{top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));gap:8px;display:flex;position:absolute}.tb{width:40px;height:40px;position:relative}.tb>span{display:none}.actions{right:calc(14px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));pointer-events:none;width:240px;height:250px;position:absolute}.actions>*{pointer-events:auto}.rb.punch{border-color:#ff7864e6;width:86px;height:86px;bottom:0;right:0}.rb.jump{width:60px;height:60px;bottom:0;right:100px}.rb.sprint{width:58px;height:58px;bottom:100px;right:4px}.rb.dodge{width:54px;height:54px;bottom:80px;right:90px}.rb.block{width:54px;height:54px;bottom:6px;right:174px}.rb.kick{border-color:#ffb05ae6;width:66px;height:66px;display:none;bottom:0;right:100px}body.combat .rb.kick:not([hidden]){display:flex}body.combat .rb.jump{display:none}.rb.car{border-color:#ffc400;width:62px;height:62px;bottom:96px;right:160px}.rb.car .ic{stroke:#ffd54a}.rb.swap{width:46px;height:46px;bottom:170px;right:178px}.rb.act{border-color:#7fd0a6;width:58px;height:58px;bottom:100px;right:236px}.rb.act .ic{stroke:#9be7c0}#sheet{z-index:40;padding:0 max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-bottom));pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}#sheet[hidden]{display:none}#sheet .sheet-card{pointer-events:auto;-webkit-backdrop-filter:blur(8px);color:#eef2f4;background:#10161ceb;border:1px solid #ffffff1f;border-radius:16px;width:min(520px,100%);padding:14px 16px 16px;font:15px/1.4 system-ui,sans-serif;animation:.22s ease-out sheetUp}@keyframes sheetUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}#sheet .sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}#sheet .sheet-title{letter-spacing:.01em;font:700 22px/1.1 system-ui,sans-serif}#sheet .sheet-sub{color:#9fb0ba;margin-top:3px;font-size:13px}#sheet .sheet-x{color:#cfd8dd;background:#ffffff14;border:0;border-radius:50%;width:34px;height:34px;font-size:15px}#sheet .rows{gap:6px;margin:4px 0 10px;display:grid}#sheet .rows>div{font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff14;justify-content:space-between;padding:5px 0;display:flex}#sheet .rows span{color:#9fb0ba}#sheet .stat{color:#9fb0ba;grid-template-columns:110px 1fr;align-items:center;gap:10px;margin:6px 0;font-size:13px;display:grid}#sheet .stat i{background:#ffffff1a;border-radius:3px;height:6px;overflow:hidden}#sheet .stat b{background:#f2b63d;border-radius:3px;height:100%;display:block}#sheet .note{color:#b8c5cc;margin:0 0 10px;font-size:14px}#sheet .sheet-actions{flex-wrap:wrap;gap:8px;display:flex}#sheet .sheet-actions button{color:#eef2f4;background:#ffffff12;border:1px solid #ffffff24;border-radius:10px;flex:auto;min-width:64px;padding:11px 14px;font:600 15px system-ui,sans-serif}#sheet .sheet-actions button.primary{color:#1b1406;background:#f2b63d;border-color:#f2b63d}#sheet .sheet-actions button:disabled{opacity:.4}#sheet .cars{gap:6px;max-height:40vh;display:grid;overflow:auto}#sheet .car-row{color:#eef2f4;text-align:left;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:10px;justify-content:space-between;align-items:center;padding:12px;font:600 15px system-ui,sans-serif;display:flex}#sheet .car-row small{color:#9fb0ba;text-transform:capitalize;font-weight:500}body.sheet-open .actions,body.sheet-open #stick{visibility:hidden}#btn-car .ic-exit,#btn-car.in-car .ic-enter{display:none}#btn-car.in-car .ic-exit{display:block}.actions:has(.pedal:not([hidden])) .rb.car{width:54px;height:54px;bottom:112px;right:172px}.rb.hb{width:54px;height:54px;bottom:112px;right:104px}.rb.horn{width:50px;height:50px;bottom:168px;right:8px}.rb.radio{width:46px;height:46px;bottom:190px;right:68px}#btn-sound.off .ic{opacity:.35}.rb.hb b{color:#ff8a80;text-shadow:0 1px 2px #000;font:800 22px system-ui,sans-serif}#stick{width:45%;height:65%;position:absolute;bottom:0;left:0}#stick-base{left:calc(110px + env(safe-area-inset-left));opacity:.55;background:radial-gradient(circle,#0000000d 40%,#00000047 100%);border:2px solid #ffffff73;border-radius:50%;width:132px;height:132px;margin:0 0 -66px -66px;transition:opacity .15s;position:absolute;bottom:110px}#stick-base.active{opacity:1}#knob{background:radial-gradient(circle at 50% 35%,#ffffff8c,#ffffff38);border:2px solid #ffffffb3;border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;position:absolute;top:50%;left:50%;box-shadow:0 2px 6px #0006}#sprint-lock{opacity:0;border:2px dashed #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-left:-20px;transition:opacity .15s;display:flex;position:absolute;top:-58px;left:50%}#stick-base.active #sprint-lock{opacity:.7}#sprint-lock.held{opacity:1!important}#sprint-lock.on{background:#ffc40040;border-style:solid;border-color:#ffc400;opacity:1!important}#money{top:calc(8px + env(safe-area-inset-top));color:#7cfc9a;text-shadow:0 1px 3px #000;font:700 18px system-ui,sans-serif;position:absolute;left:50%;transform:translate(-50%)}#hint{top:calc(36px + env(safe-area-inset-top))}#minimap{top:calc(52px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));background:#00000059;border:2px solid #fff9;border-radius:50%;width:120px;height:120px;position:absolute}#target{top:calc(64px + env(safe-area-inset-top));white-space:nowrap;background:#0009;border-radius:14px;padding:4px 12px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}#target-arrow{color:#ffc400;transition:transform .1s;display:inline-block}#toast{text-align:center;background:#000000bf;border-radius:10px;max-width:80vw;padding:10px 18px;font:700 18px system-ui,sans-serif;position:absolute;top:34%;left:50%;transform:translate(-50%)}.steer{left:calc(14px + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));gap:14px;display:flex;position:absolute}.steer[hidden]{display:none}.steer .arrow{width:92px;height:92px;position:relative}.steer .arrow[hidden],#wheel[hidden]{display:none}.steer{align-items:flex-end;gap:22px}#wheel{pointer-events:auto;touch-action:none;filter:drop-shadow(0 4px 6px #00000080);width:150px;height:150px}#wheel svg{width:100%;height:100%;transition:transform .25s ease-out}#wheel.held svg{transition:none}.actions .pedal{background:0 0;border:none;padding:0;position:absolute;bottom:12px}.actions .gas{right:0}.actions .brake{right:76px}.actions .pedal[hidden]{display:none}.actions .pedal svg{filter:drop-shadow(0 5px 4px #0000008c);transform-origin:50% 100%;transition:transform 80ms;display:block}.actions .pedal:active svg{filter:drop-shadow(0 1px 2px #0009);transform:perspective(300px)rotateX(24deg)scale(.96)}.actions .pedal span{letter-spacing:1px;text-shadow:0 1px 2px #000;font:700 11px system-ui,sans-serif;position:absolute;bottom:-16px;left:0;right:0}.actions .gas svg{width:64px;height:128px}.actions .brake svg{width:96px;height:84px}.actions .gas span{color:#9be7a1}.actions .brake span{color:#ff9a9a}#speedo{right:calc(200px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));text-shadow:0 2px 4px #000;font:800 34px system-ui,sans-serif;position:absolute}#speedo small{opacity:.8;font-size:14px}#jobs{z-index:5;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#jobs[hidden]{display:none}#jobs .panel{background:#222;border-radius:12px;width:min(460px,100vw - 32px);max-height:80vh;padding:16px;overflow:auto}#jobs h2{color:#ffc400;margin:0 0 10px}.job{text-align:left;width:100%;margin:0 0 8px;padding:10px 12px;display:block}.job b{color:#ffc400}.job small{opacity:.75;margin-top:2px;display:block}#objective{top:calc(40px + env(safe-area-inset-top));text-align:center;background:#0000008c;border-left:3px solid #ffc400;border-radius:14px;max-width:60vw;padding:5px 14px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}#target{top:calc(76px + env(safe-area-inset-top))}#health{top:calc(12px + env(safe-area-inset-top));background:#00000080;border:1px solid #fff9;border-radius:6px;width:120px;height:10px;margin-left:70px;position:absolute;left:50%;overflow:hidden}#health-fill{background:linear-gradient(90deg,#e53935,#7cfc9a);width:100%;height:100%;transition:width .15s}#dialog{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));pointer-events:auto;background:#000000b8;border-radius:12px;width:min(560px,56vw);padding:10px 16px 18px;font-size:15px;position:absolute;transform:translate(-50%)}#dialog b{color:#ffc400;text-transform:uppercase;letter-spacing:.5px;font-size:13px;display:block}#dialog small{opacity:.6;font-size:10px;position:absolute;bottom:4px;right:12px}body.talking .actions,body.talking #stick,body.talking .steer{visibility:hidden}#banner{text-align:center;pointer-events:auto;background:linear-gradient(90deg,#0000,#000000bf,#0000);padding:14px 0;position:absolute;top:28%;left:0;right:0}#banner-title{color:#ffc400;text-shadow:0 2px 6px #000;letter-spacing:1px;font:800 30px system-ui,sans-serif}#banner-sub{opacity:.9;margin-top:2px;font-size:15px}#btn-retry{color:#111;background:#ffc400;border:none;border-radius:22px;margin-top:10px;padding:10px 28px;font-weight:800}#interact{right:calc(270px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));pointer-events:auto;flex-direction:column;gap:8px;display:flex;position:absolute}#interact[hidden]{display:none}.ia{background:#0a0a0c8c;border:2px solid #ffffff8c;border-radius:22px;align-items:center;gap:6px;padding:6px 14px 6px 8px;font-size:13px;font-weight:700;display:flex}.ia .ic{width:22px;height:22px}.ia[hidden]{display:none}.ia.rob{border-color:#ff7864e6}#cinema{pointer-events:none;z-index:4;position:fixed;inset:0}#cinema .bar{background:#000;height:0;transition:height .45s;position:absolute;left:0;right:0}#cinema .bar.top{top:0}#cinema .bar.bottom{bottom:0}body.cinema #cinema .bar{height:12vh}#cine-line{text-align:center;text-shadow:0 2px 3px #000;pointer-events:auto;width:min(720px,80vw);font-size:17px;position:absolute;bottom:2.5vh;left:50%;transform:translate(-50%)}#cine-line b{color:#ffc400;text-transform:uppercase;letter-spacing:.5px;margin-right:8px;font-size:14px}#btn-skip{top:calc(3vh + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));pointer-events:auto;background:#00000080;border-radius:18px;padding:6px 16px;font-weight:700;display:none;position:absolute}body.cinema #btn-skip{display:block}body.cinema #cinema{pointer-events:auto}body.cinema #hud>:not(#toast):not(#banner){visibility:hidden}#settings{z-index:6;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#settings[hidden]{display:none}#settings .panel{background:#222;border-radius:12px;width:min(420px,100vw - 32px);padding:16px}#settings h2{color:#ffc400;margin:0 0 12px}.set-row{justify-content:space-between;align-items:center;gap:12px;margin:10px 0;display:flex}.seg{border:1px solid #ffffff59;border-radius:10px;display:flex;overflow:hidden}.seg button{background:0 0;border:none;border-radius:0;padding:8px 14px}.seg button.on{color:#111;background:#ffc400;font-weight:700}#map{z-index:6;background:#1b2026;position:fixed;inset:0}#map[hidden]{display:none}#bigmap{width:100%;height:100%;position:absolute;inset:0}#map .map-help{background:#0009;border-radius:12px;padding:4px 12px;font-size:13px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}#btn-map-close{top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));font-size:18px;position:absolute}#minimap{cursor:pointer;pointer-events:auto}#map .map-tools{right:calc(10px + env(safe-area-inset-right));flex-direction:column;gap:8px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}#map .map-tools button{color:#fff;background:#14181cd9;border:1px solid #ffffff40;border-radius:12px;width:44px;height:44px;font-size:22px}#map .map-card{background:#14181ceb;border:1px solid #fff3;border-radius:14px;align-items:center;gap:16px;min-width:240px;padding:10px 12px 10px 16px;display:flex;position:absolute;bottom:46px;left:50%;transform:translate(-50%)}#map .map-card[hidden],#map .map-legend[hidden]{display:none}#map .map-card b{font-size:16px;display:block}#map .map-card small{opacity:.7}#map .map-card button.primary{color:#111;background:#ffc400;border:none;border-radius:10px;margin-left:auto;padding:10px 14px;font-weight:700}#map .map-legend{left:calc(10px + env(safe-area-inset-left));top:calc(10px + env(safe-area-inset-top));background:#14181ceb;border-radius:14px;flex-direction:column;gap:4px;min-width:200px;padding:8px;display:flex;position:absolute;bottom:46px;overflow-y:auto}#map .map-legend button{color:#fff;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px;font-size:15px;display:flex}#map .map-legend button:active{background:#ffffff1a}#map .map-legend i{border-radius:5px;place-items:center;width:24px;height:24px;font-size:13px;font-style:normal;font-weight:700;display:grid}#credits{z-index:5;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#credits[hidden]{display:none}#credits .panel{background:#222;border-radius:12px;max-width:min(560px,100vw - 32px);max-height:80vh;padding:16px;overflow:auto}#credits h2{color:#ffc400;margin:0 0 8px}#credits pre{white-space:pre-wrap;opacity:.8;font-size:11px}#credits a{color:#ffc400}#dialogue{z-index:7;padding:0 calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));pointer-events:none;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}#dialogue[hidden]{display:none}#dialogue .dlg-line{pointer-events:auto;background:linear-gradient(#0000,#000000bf 30%);border-radius:0 0 12px 12px;flex:1;min-height:70px;padding:28px 16px 10px}#dialogue .dlg-who{color:#ffc400;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:14px;display:block}#dialogue .dlg-say{color:#fff;text-shadow:0 1px 2px #000;font-size:18px;line-height:1.35}#dialogue .dlg-replies{pointer-events:auto;flex-direction:column;gap:6px;width:min(46vw,340px);display:flex}#dialogue .dlg-reply{text-align:left;color:#fff;background:#12161aeb;border:1px solid #ffffff2e;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:15px;display:flex}#dialogue .dlg-reply em{color:#ffc400;width:14px;font-style:normal;font-weight:700}#dialogue .dlg-reply i{color:#ffc400;background:#ffc40022;border-radius:6px;margin-left:auto;padding:2px 6px;font-size:12px;font-style:normal}#dialogue .dlg-reply.tough{border-color:#e0524c88}#dialogue .dlg-reply.nice{border-color:#3fb27f88}#dialogue .dlg-reply:disabled{opacity:.45}body.in-dialogue #controls,body.in-dialogue #interact,body.in-dialogue #stick,body.in-dialogue .rb{visibility:hidden}#clock{color:#fff;background:#00000073;border-radius:8px;padding:2px 8px;font:600 13px system-ui}#respect{color:#ddd;background:#00000073;border-radius:8px;padding:2px 8px;font:600 12px system-ui}#clockbar{top:calc(36px + env(safe-area-inset-top));pointer-events:none;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}
