.scroll-dark{scrollbar-width:thin;scrollbar-color:#555 #151515}.scroll-dark::-webkit-scrollbar{width:12px;height:12px}.scroll-dark::-webkit-scrollbar-track{background:#151515;border-radius:8px}.scroll-dark::-webkit-scrollbar-thumb{background-color:#3a3a3a;border-radius:8px;border:2px solid #151515}.scroll-dark::-webkit-scrollbar-thumb:hover{background-color:#505050}.scroll-dark::-webkit-scrollbar-thumb:active{background-color:#6a6a6a}.scroll-dark::-webkit-scrollbar-corner{background:#151515}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background-color:#242424;font-family:Verdana,sans-serif;color:#fff}a{color:#fd0;text-decoration:underline}a:hover{text-decoration:none}#app{width:100%;height:100%;position:relative}canvas{display:block;width:100%;height:100%}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(/assets/fonts/material-icons.woff2) format("woff2")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-moz-font-feature-settings:"liga";-moz-osx-font-smoothing:grayscale}:where(button,[role=button],a,input,select,textarea):focus{outline:none}.user-is-tabbing :where(button,[role=button],a,input,select,textarea):focus{outline:3px solid #ffdd00;outline-offset:3px}[data-ui],[data-ui] *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.conn-status[data-v-e1081c22]{border-radius:999px;display:inline-flex;align-items:center;gap:8px;color:#fff;pointer-events:none}.conn-status.overlay[data-v-e1081c22]{position:absolute;top:20px;left:20px;z-index:905;padding:6px 10px;font:600 13px/1.1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#00000073;border:1px solid rgba(255,255,255,.2)}.conn-status.inline[data-v-e1081c22]{position:static;padding:4px 8px;font:600 12px/1.1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#00000059;border:1px solid rgba(255,255,255,.18)}.conn-status .dot[data-v-e1081c22]{display:inline-block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 6px currentColor;background:currentColor;flex-shrink:0}.conn-status .label[data-v-e1081c22]{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conn-status.ok .dot[data-v-e1081c22]{color:#2ecc71}.conn-status.warn .dot[data-v-e1081c22]{color:#f39c12}.conn-status.bad .dot[data-v-e1081c22]{color:#ff4d4f}.chat[data-v-19fc8d8f]{position:absolute;left:20px;bottom:20px;width:min(480px,45vw);pointer-events:none;z-index:1000;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.stream[data-v-19fc8d8f]{pointer-events:all;list-style:none;margin:0 0 6px;padding:8px 10px;max-height:30vh;overflow-y:auto;overscroll-behavior:contain;background:#00000059;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;user-select:text;-webkit-user-select:text}.stream li[data-v-19fc8d8f]{margin:2px 0}.name[data-v-19fc8d8f]{color:#9cf;font-weight:600;margin-right:6px}.text[data-v-19fc8d8f]{white-space:pre-wrap;word-break:break-word;user-select:text;-webkit-user-select:text}.stream.loading[data-v-19fc8d8f]{display:inline-flex;align-items:center;gap:8px;min-height:28px;font-size:14px;opacity:.9}.spinner[data-v-19fc8d8f]{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-19fc8d8f .9s linear infinite}@keyframes spin-19fc8d8f{to{transform:rotate(360deg)}}.inputWrap[data-v-19fc8d8f]{pointer-events:all;display:flex;align-items:center;gap:8px}.inputBox[data-v-19fc8d8f]{position:relative;flex:1 1 auto}.input[data-v-19fc8d8f]{width:100%;box-sizing:border-box;min-height:36px;padding:8px 44px 8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#000000b3;color:#fff;outline:none}.input[data-v-19fc8d8f]::placeholder{color:#fff9}.sendBtn[data-v-19fc8d8f]{position:absolute;right:0;top:50%;transform:translateY(-50%);width:50px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer;color:#fff;outline:none;-webkit-tap-highlight-color:transparent}.sendBtn .material-icons[data-v-19fc8d8f]{font-size:20px;line-height:1}.sendBtn[data-v-19fc8d8f]:disabled{opacity:.5;cursor:default}.sendBtn[data-v-19fc8d8f]:focus-visible{box-shadow:0 0 0 2px #64b4ffcc;border-radius:8px}.toggleBtn[data-v-19fc8d8f]{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#000000b3;color:#fff;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.toggleBtn .material-icons[data-v-19fc8d8f]{font-size:20px;line-height:1}.input[data-v-19fc8d8f]:focus-visible,.toggleBtn[data-v-19fc8d8f]:focus-visible,.sendBtn[data-v-19fc8d8f]:focus-visible{box-shadow:0 0 0 2px #64b4ffcc}.hint[data-v-19fc8d8f]{margin-top:4px;font-size:12px;color:#ffffffbf}@media(max-width:640px){.chat[data-v-19fc8d8f]{left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));width:auto}.stream[data-v-19fc8d8f]{max-height:25vh;border-radius:12px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.inputWrap[data-v-19fc8d8f]{gap:10px}.input[data-v-19fc8d8f]{font-size:16px;padding:10px 52px 10px 12px;border-radius:12px;min-height:40px}.sendBtn[data-v-19fc8d8f]{right:10px;width:40px;height:40px}.sendBtn .material-icons[data-v-19fc8d8f]{font-size:22px}.toggleBtn[data-v-19fc8d8f]{width:40px;height:40px;border-radius:12px}.toggleBtn .material-icons[data-v-19fc8d8f]{font-size:22px}.hint[data-v-19fc8d8f]{display:none}}.minimap-root[data-v-5863c5d5]{position:absolute;right:20px;bottom:200px;width:140px;height:140px;pointer-events:none;z-index:905}.minimap-circle[data-v-5863c5d5]{position:relative;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.12),transparent 60%),radial-gradient(circle at 50% 50%,#000000e6,#000c);border:1px solid rgba(255,255,255,.3);box-shadow:0 0 10px #000c;overflow:hidden}.minimap-circle[data-v-5863c5d5]:before,.minimap-circle[data-v-5863c5d5]:after{content:"";position:absolute;background:#ffffff14}.minimap-circle[data-v-5863c5d5]:before{width:1px;height:100%;left:50%;top:0}.minimap-circle[data-v-5863c5d5]:after{width:100%;height:1px;top:50%;left:0}.local-arrow[data-v-5863c5d5]{position:absolute;left:50%;top:50%;width:24px;height:24px;transform-origin:50% 50%;will-change:transform;filter:drop-shadow(0 0 4px rgba(0,0,0,.7))}.local-arrow[data-v-5863c5d5]:before{content:"";position:absolute;inset:2px 6px 4px;background:#2ecc71;clip-path:polygon(50% 0%,100% 60%,65% 60%,65% 100%,35% 100%,35% 60%,0% 60%)}.remote-dot[data-v-5863c5d5]{position:absolute;width:6px;height:6px;border-radius:50%;background:#ff4d4f;box-shadow:0 0 6px #ff4d4fe6}.compass-label[data-v-5863c5d5]{position:absolute;top:6px;left:50%;transform:translate(-50%);font-size:10px;font-weight:700;letter-spacing:.06em;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.9)}@media(max-width:640px){.minimap-root[data-v-5863c5d5]{position:absolute;right:20px;top:80px;bottom:auto}}.race-hud-root[data-v-e52d8ff7]{position:absolute;top:18px;left:50%;transform:translate(-50%);z-index:920;pointer-events:none}.race-card[data-v-e52d8ff7]{min-width:260px;max-width:380px;padding:10px 14px 8px;border-radius:12px;background:linear-gradient(180deg,#000000bf,#000000e6);border:1px solid rgba(255,255,255,.22);box-shadow:0 10px 30px #0009;color:#fff;font-size:13px}.race-header[data-v-e52d8ff7]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.race-title[data-v-e52d8ff7]{display:flex;flex-direction:column;gap:2px}.race-title .label[data-v-e52d8ff7]{font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.7}.race-title .name[data-v-e52d8ff7]{font-size:14px;font-weight:600}.state-pill[data-v-e52d8ff7]{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:#ffffff1f;border:1px solid rgba(255,255,255,.25)}.state-pill[data-state=waiting][data-v-e52d8ff7]{border-color:#f1c40fe6}.state-pill[data-state=countdown][data-v-e52d8ff7]{border-color:#3498dbe6}.state-pill[data-state=inProgress][data-v-e52d8ff7]{border-color:#2ecc71e6}.state-pill[data-state=finished][data-v-e52d8ff7]{border-color:#e74c3ce6}.race-main[data-v-e52d8ff7]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}.primary[data-v-e52d8ff7]{flex:1 1 auto}.headline[data-v-e52d8ff7]{font-size:13px;font-weight:600}.subline[data-v-e52d8ff7]{font-size:12px;opacity:.85;margin-top:2px}.progress-row[data-v-e52d8ff7]{margin-top:6px}.progress-label[data-v-e52d8ff7]{font-size:11px;opacity:.85;margin-bottom:2px}.progress-bar[data-v-e52d8ff7]{position:relative;width:100%;height:6px;border-radius:999px;background:#ffffff29;overflow:hidden}.progress-fill[data-v-e52d8ff7]{position:absolute;inset:0;width:0%;background:linear-gradient(90deg,#2ecc71,#f1c40f,#e74c3c);box-shadow:0 0 6px #e74c3cb3;transition:width .1s linear}.position-badge[data-v-e52d8ff7]{flex:0 0 auto;text-align:right}.pos-label[data-v-e52d8ff7]{font-size:10px;text-transform:uppercase;opacity:.7;letter-spacing:.16em}.pos-value[data-v-e52d8ff7]{font-size:18px;font-weight:800}.racers[data-v-e52d8ff7]{list-style:none;margin:4px 0 0;padding:4px 0 0;border-top:1px solid rgba(255,255,255,.15)}.racers li[data-v-e52d8ff7]{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;padding:2px 0;opacity:.9}.racers li.me[data-v-e52d8ff7]{font-weight:600;color:#fff}.racers .pos[data-v-e52d8ff7]{min-width:30px;opacity:.8}.racers .name[data-v-e52d8ff7]{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.racers .status[data-v-e52d8ff7]{flex:0 0 auto;opacity:.8}.prompt-row[data-v-e52d8ff7]{margin-top:4px;padding-top:4px;border-top:1px solid rgba(255,255,255,.15);font-size:12px;opacity:.9}@media(max-width:640px){.race-hud-root[data-v-e52d8ff7]{top:max(10px,env(safe-area-inset-top,0px))}.race-card[data-v-e52d8ff7]{max-width:min(360px,90vw);padding-inline:10px}}.veh-hud-root[data-v-cb192f2c]{position:absolute;right:20px;bottom:20px;z-index:910;pointer-events:none;transition:opacity .16s ease,transform .16s ease}.veh-hud-card[data-v-cb192f2c]{min-width:240px;max-width:320px;background:linear-gradient(180deg,#0000008c,#000000bf);border:1px solid rgba(255,255,255,.18);border-radius:12px;box-shadow:0 8px 24px #00000073;padding:12px 14px 10px;backdrop-filter:blur(6px);color:#fff}.row[data-v-cb192f2c]{display:flex;align-items:center;justify-content:space-between}.row-top[data-v-cb192f2c]{margin-bottom:8px}.trans-group[data-v-cb192f2c]{display:inline-flex;align-items:center;gap:8px}.chip.trans[data-v-cb192f2c]{pointer-events:auto;cursor:pointer;border:none;font-weight:800;font-size:12px;letter-spacing:.06em;padding:4px 8px;border-radius:999px;background:#ffffff1f;text-shadow:0 0 4px rgba(0,0,0,.8);color:#fff}@media(hover:hover)and (pointer:fine){.chip.trans[data-v-cb192f2c]:hover{transform:scale(1.03)}}.chip.trans[data-mode=A][data-v-cb192f2c]{box-shadow:inset 0 0 0 1px #2ecc71b3}.chip.trans[data-mode=M][data-v-cb192f2c]{box-shadow:inset 0 0 0 1px #e67e22cc}.handbrake-button[data-v-cb192f2c]{pointer-events:auto;border:none;padding:0;margin:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}@media(hover:hover)and (pointer:fine){.handbrake-button[data-v-cb192f2c]:hover{transform:scale(1.03)}}.handbrake-icon[data-v-cb192f2c]{width:26px;height:26px;color:#ffffff8c;transition:color .12s ease,transform .12s ease,opacity .12s ease;opacity:.7}.handbrake-icon.active[data-v-cb192f2c]{color:#ff4b4b;transform:scale(1.06);opacity:1}.handbrake-icon[data-v-cb192f2c],.handbrake-icon[data-v-cb192f2c] *{fill:none!important}.gear[data-v-cb192f2c]{display:flex;align-items:center;gap:10px}.gear-label[data-v-cb192f2c]{font-size:28px;font-weight:900;letter-spacing:.06em;text-shadow:0 2px 8px rgba(0,0,0,.8);min-width:32px;text-align:right}.gear-slots[data-v-cb192f2c]{display:inline-flex;gap:4px}.slot[data-v-cb192f2c]{width:8px;height:12px;border-radius:2px;background:#ffffff2e;box-shadow:inset 0 0 0 1px #ffffff14}.slot.filled[data-v-cb192f2c]{background:#2ecc71;box-shadow:0 0 8px #2ecc71e6}.rpm[data-v-cb192f2c]{position:relative;margin:6px 0 10px}.rpm-scale[data-v-cb192f2c]{position:relative;height:10px;border-radius:6px;background:#ffffff1f;overflow:hidden}.rpm-fill[data-v-cb192f2c]{position:absolute;height:100%;left:0;top:0;background:linear-gradient(90deg,#2ecc71,#f1c40f,#e74c3c);filter:drop-shadow(0 0 6px rgba(231,76,60,.6));transition:width .06s linear}.rpm-redline[data-v-cb192f2c]{position:absolute;right:0;top:0;width:6px;height:100%;background:#e74c3ce6;opacity:.7}.rpm-readout[data-v-cb192f2c]{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;opacity:.9}.rpm-readout .value[data-v-cb192f2c]{font-feature-settings:"tnum"}.row-bottom[data-v-cb192f2c]{margin-top:6px}.speed[data-v-cb192f2c]{display:flex;align-items:baseline;gap:8px}.speed-value[data-v-cb192f2c]{font-size:34px;font-weight:900;letter-spacing:.04em;text-shadow:0 2px 8px rgba(0,0,0,.8);min-width:64px;text-align:left}.speed-unit[data-v-cb192f2c]{font-size:12px;opacity:.9}.unit-toggle[data-v-cb192f2c]{pointer-events:auto;border:none;padding:6px 10px;border-radius:8px;background:#ffffff24;color:#fff;font-weight:700;letter-spacing:.06em;cursor:pointer}.unit-toggle[data-v-cb192f2c]:active{transform:scale(1.03)}@media(hover:hover)and (pointer:fine){.unit-toggle[data-v-cb192f2c]:hover{transform:scale(1.03)}}.veh-hud-root.is-phone-ui.is-chat-open[data-v-cb192f2c]{opacity:0;pointer-events:none;transform:translateY(6px)}.veh-hud-root.is-phone-ui .veh-hud-card[data-v-cb192f2c]{padding:16px 10px 8px;border-radius:16px;display:grid;grid-template-areas:"gear speed unit" "rpm  rpm   rpm";grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) auto;column-gap:8px;row-gap:4px}.veh-hud-root.is-phone-ui .row-top[data-v-cb192f2c],.veh-hud-root.is-phone-ui .row-bottom[data-v-cb192f2c]{margin:0;display:contents}.veh-hud-root.is-phone-ui .trans-group[data-v-cb192f2c]{position:absolute;left:10px;top:4px}.veh-hud-root.is-phone-ui .chip.trans[data-v-cb192f2c]{font-size:10px;padding:2px 6px}.veh-hud-root.is-phone-ui .handbrake-icon[data-v-cb192f2c]{width:20px;height:20px}.veh-hud-root.is-phone-ui .gear[data-v-cb192f2c]{grid-area:gear;justify-content:flex-start;gap:6px}.veh-hud-root.is-phone-ui .gear-label[data-v-cb192f2c]{font-size:22px;min-width:26px}.veh-hud-root.is-phone-ui .slot[data-v-cb192f2c]{width:6px;height:9px}.veh-hud-root.is-phone-ui .speed[data-v-cb192f2c]{grid-area:speed;justify-content:flex-start}.veh-hud-root.is-phone-ui .speed-value[data-v-cb192f2c]{font-size:26px;min-width:auto}.veh-hud-root.is-phone-ui .speed-unit[data-v-cb192f2c]{font-size:11px}.veh-hud-root.is-phone-ui .unit-toggle[data-v-cb192f2c]{grid-area:unit;align-self:center;justify-self:flex-end;padding:4px 8px;font-size:11px}.veh-hud-root.is-phone-ui .rpm[data-v-cb192f2c]{grid-area:rpm;margin:0;display:flex;align-items:center;gap:6px}.veh-hud-root.is-phone-ui .rpm-scale[data-v-cb192f2c]{flex:1;height:6px}.veh-hud-root.is-phone-ui .rpm-readout[data-v-cb192f2c]{margin:0;flex-shrink:0;font-size:11px}@media(orientation:portrait){.veh-hud-root.is-phone-ui[data-v-cb192f2c]{left:0;right:0;bottom:calc(80px + env(safe-area-inset-bottom,0px));padding:0 8px;display:flex;justify-content:center}.veh-hud-root.is-phone-ui .veh-hud-card[data-v-cb192f2c]{width:100%;max-width:none;min-width:0}}@media(orientation:landscape){.veh-hud-root.is-phone-ui[data-v-cb192f2c]{left:auto;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));padding:0;display:block}.veh-hud-root.is-phone-ui .veh-hud-card[data-v-cb192f2c]{width:auto;min-width:240px;max-width:320px}}@media(max-width:640px){.veh-hud-root:not(.is-phone-ui).is-chat-open[data-v-cb192f2c]{opacity:0;pointer-events:none;transform:translateY(6px)}.veh-hud-root[data-v-cb192f2c]:not(.is-phone-ui){left:0;right:0;bottom:calc(80px + env(safe-area-inset-bottom,0px));padding:0 8px;display:flex;justify-content:center;pointer-events:none}.veh-hud-root:not(.is-phone-ui) .veh-hud-card[data-v-cb192f2c]{position:relative;width:100%;max-width:none;min-width:0;padding:16px 10px 8px;border-radius:16px;display:grid;grid-template-areas:"gear speed unit" "rpm  rpm   rpm";grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) auto;column-gap:8px;row-gap:4px}.veh-hud-root:not(.is-phone-ui) .row-top[data-v-cb192f2c],.veh-hud-root:not(.is-phone-ui) .row-bottom[data-v-cb192f2c]{margin:0;display:contents}.veh-hud-root:not(.is-phone-ui) .trans-group[data-v-cb192f2c]{position:absolute;left:10px;top:4px}.veh-hud-root:not(.is-phone-ui) .chip.trans[data-v-cb192f2c]{font-size:10px;padding:2px 6px}.veh-hud-root:not(.is-phone-ui) .handbrake-icon[data-v-cb192f2c]{width:20px;height:20px}.veh-hud-root:not(.is-phone-ui) .gear[data-v-cb192f2c]{grid-area:gear;justify-content:flex-start;gap:6px}.veh-hud-root:not(.is-phone-ui) .gear-label[data-v-cb192f2c]{font-size:22px;min-width:26px}.veh-hud-root:not(.is-phone-ui) .slot[data-v-cb192f2c]{width:6px;height:9px}.veh-hud-root:not(.is-phone-ui) .speed[data-v-cb192f2c]{grid-area:speed;justify-content:flex-start}.veh-hud-root:not(.is-phone-ui) .speed-value[data-v-cb192f2c]{font-size:26px;min-width:auto}.veh-hud-root:not(.is-phone-ui) .speed-unit[data-v-cb192f2c]{font-size:11px}.veh-hud-root:not(.is-phone-ui) .unit-toggle[data-v-cb192f2c]{grid-area:unit;align-self:center;justify-self:flex-end;padding:4px 8px;font-size:11px}.veh-hud-root:not(.is-phone-ui) .rpm[data-v-cb192f2c]{grid-area:rpm;margin:0;display:flex;align-items:center;gap:6px}.veh-hud-root:not(.is-phone-ui) .rpm-scale[data-v-cb192f2c]{flex:1;height:6px}.veh-hud-root:not(.is-phone-ui) .rpm-readout[data-v-cb192f2c]{margin:0;flex-shrink:0;font-size:11px}}.vpad[data-v-3a238273]{position:absolute;inset:0;z-index:920;pointer-events:none;transition:opacity .16s ease,transform .16s ease;--joy-base: 80px;--btn-base: 90px;--joy-extra: 0px;--btn-extra: 0px;--vehhud-strip: 90px;--vehhud-card: 78px;--btn-big: 74px;--btn-small: 58px;--btn-gap: 16px;--btn-step: calc(var(--btn-big) + var(--btn-gap));--btn-inset: calc(var(--btn-gap) * .9);--joy-x-offset: 0px;--joy-y-offset: 0px;--btn-x-offset: 0px;--btn-y-offset: 0px}.joy-area[data-v-3a238273]{pointer-events:auto;position:absolute;left:calc(18px + var(--joy-x-offset));bottom:calc(var(--joy-base) + var(--joy-extra) + var(--joy-y-offset) + env(safe-area-inset-bottom,0px));width:160px;height:160px;touch-action:none}.joy-base[data-v-3a238273]{width:100%;height:100%;border-radius:999px;background:#00000040;border:1px solid rgba(255,255,255,.15);position:relative}.joy-knob-wrap[data-v-3a238273]{position:absolute;left:50%;top:50%}.joy-knob[data-v-3a238273]{width:64px;height:64px;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.2);position:absolute;left:0;top:0;transform:translate(-50%,-50%)}.buttons[data-v-3a238273]{pointer-events:auto;position:absolute;right:calc(18px + var(--btn-x-offset));bottom:calc(var(--btn-base) + var(--btn-extra) + var(--btn-y-offset) + env(safe-area-inset-bottom,0px));width:calc(var(--btn-step) * 2);height:calc(var(--btn-step) * 2);touch-action:none}.btn[data-v-3a238273]{position:absolute;border-radius:999px;border:none;font-weight:900;color:#fff;background:#00000059;line-height:1;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-tap-highlight-color:transparent}.btn[data-v-3a238273]:active{transform:scale(1.05)}.btn--small[data-v-3a238273]{width:var(--btn-small);height:var(--btn-small);font-size:22px}.btn-a[data-v-3a238273],.btn-b[data-v-3a238273]{width:var(--btn-big);height:var(--btn-big);font-size:26px}.btn-x[data-v-3a238273]{left:50%;top:var(--btn-inset);transform:translate(-50%)}.btn-b[data-v-3a238273]{left:50%;bottom:0;transform:translate(-50%)}.btn-y[data-v-3a238273]{left:var(--btn-inset);top:50%;transform:translateY(-50%)}.btn-a[data-v-3a238273]{right:0;top:50%;transform:translateY(-50%)}.btn-x[data-v-3a238273]:active,.btn-b[data-v-3a238273]:active{transform:translate(-50%) scale(1.05)}.btn-y[data-v-3a238273]:active,.btn-a[data-v-3a238273]:active{transform:translateY(-50%) scale(1.05)}@media(orientation:portrait){.vpad.is-phone-ui[data-v-3a238273]{--joy-extra: 0px;--btn-extra: 0px}.vpad.is-phone-ui.has-vehicle[data-v-3a238273]{--joy-extra: var(--vehhud-strip);--btn-extra: var(--vehhud-strip)}}@media(orientation:landscape){.vpad.is-phone-ui[data-v-3a238273]{--joy-base: 28px;--btn-base: 34px;--joy-extra: 0px;--btn-extra: 0px}.vpad.is-phone-ui.has-vehicle[data-v-3a238273]{--btn-extra: var(--vehhud-card)}}@media(orientation:landscape)and (max-width:932px){.vpad[data-v-3a238273]{--joy-x-offset: 32px;--joy-y-offset: 36px;--btn-x-offset: 90px}}@media(orientation:landscape)and (min-width:933px)and (max-width:1366px){.vpad[data-v-3a238273]{--joy-x-offset: 20px;--joy-y-offset: 270px;--btn-x-offset: 20px;--btn-y-offset: 270px}}.vpad.is-phone-ui.is-chat-open[data-v-3a238273]{opacity:0;transform:translateY(6px)}.vpad.is-phone-ui.is-chat-open .joy-area[data-v-3a238273],.vpad.is-phone-ui.is-chat-open .buttons[data-v-3a238273]{pointer-events:none}.modal[data-v-7c2b4937]{position:fixed;inset:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content[data-v-7c2b4937]{box-sizing:border-box;width:90%;max-width:320px;padding:20px;border-radius:8px;background-color:#222;text-align:center;overflow:hidden;color:#fff;border:3px solid #333}.modal-content input[data-v-7c2b4937]{width:100%;box-sizing:border-box;padding:10px;margin:8px 0;font-size:16px;border:none;border-radius:4px}.modal-content .actions[data-v-7c2b4937]{display:flex;gap:10px;justify-content:center;margin-top:16px}.modal-content .actions button[data-v-7c2b4937]{flex:1;padding:10px 0;font-size:16px;border:none;border-radius:4px;cursor:pointer;background-color:#ffffff1a;color:#fff;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-content .actions button[data-v-7c2b4937]:active{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}@media(hover:hover)and (pointer:fine){.modal-content .actions button[data-v-7c2b4937]:hover{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}}.error-text[data-v-7c2b4937]{color:#ff6b6b;margin:8px 0;font-size:14px;text-align:center}.modal-content .actions[data-v-7c2b4937]{flex-direction:column;align-items:stretch;margin-top:30px}.modal-content .actions button+button[data-v-7c2b4937]{margin-top:8px}.modal[data-v-d9d97730]{position:fixed;inset:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content[data-v-d9d97730]{box-sizing:border-box;width:90%;max-width:320px;padding:20px;border-radius:8px;background-color:#222;text-align:center;overflow:hidden;color:#fff;border:3px solid #333}.modal-content input[data-v-d9d97730]{width:100%;box-sizing:border-box;padding:10px;margin:8px 0;font-size:16px;border:none;border-radius:4px}.modal-content .actions[data-v-d9d97730]{display:flex;gap:10px;justify-content:center;margin-top:16px}.modal-content .actions button[data-v-d9d97730]{flex:1;padding:10px 0;font-size:16px;border:none;border-radius:4px;cursor:pointer;background-color:#ffffff1a;color:#fff;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-content .actions button[data-v-d9d97730]:active{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}@media(hover:hover)and (pointer:fine){.modal-content .actions button[data-v-d9d97730]:hover{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}}.error-text[data-v-d9d97730]{color:#ff6b6b;margin:8px 0;font-size:14px;text-align:center}.settings-group[data-v-d9d97730]{margin-bottom:20px}.settings-group h4[data-v-d9d97730]{margin-bottom:8px}.error[data-v-d9d97730]{color:#e74c3c;margin-top:8px}.actions[data-v-d9d97730]{text-align:right}.game-screen[data-v-4c5bd77d]{position:absolute;inset:0;z-index:900;pointer-events:none}.game-screen.paused[data-v-4c5bd77d]{pointer-events:all}.pause-button[data-v-4c5bd77d]{pointer-events:all;position:absolute;top:20px;right:20px;width:44px;height:44px;background:#00000073;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pause-button[data-v-4c5bd77d]:focus{outline:none}.pause-button[data-v-4c5bd77d]:active{transform:scale(1.06)}@media(hover:hover)and (pointer:fine){.pause-button[data-v-4c5bd77d]:hover{transform:scale(1.06)}}.bar[data-v-4c5bd77d]{width:6px;height:24px;margin:0 2px;background:#fff;box-shadow:0 0 4px #000}.loading-overlay[data-v-0d21f6fd]{position:fixed;inset:0;width:100%;height:100%;background:#000 url(/assets/gui/loading.jpg) center center / cover no-repeat;display:flex;align-items:center;justify-content:center;z-index:1000;overflow:hidden}.loading-backdrop[data-v-0d21f6fd]{position:absolute;inset:0;background:radial-gradient(circle at top,#0000000d,#000 99%)}.loading-content[data-v-0d21f6fd]{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;font-size:20px;letter-spacing:.06em;text-transform:uppercase}.spinner[data-v-0d21f6fd]{width:56px;height:56px;border-radius:50%;border:3px solid rgba(255,255,255,.12);border-top-color:#fff;border-right-color:#fffc;animation:spin-0d21f6fd .8s linear infinite}.loading-text[data-v-0d21f6fd]{font-weight:500}.dots span[data-v-0d21f6fd]{animation:blink-0d21f6fd 1.4s infinite;opacity:0}.dots span[data-v-0d21f6fd]:nth-child(1){animation-delay:0s}.dots span[data-v-0d21f6fd]:nth-child(2){animation-delay:.2s}.dots span[data-v-0d21f6fd]:nth-child(3){animation-delay:.4s}@keyframes spin-0d21f6fd{to{transform:rotate(360deg)}}@keyframes blink-0d21f6fd{0%,20%{opacity:0}30%,80%{opacity:1}to{opacity:0}}.modal[data-v-1fdace46]{position:fixed;inset:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content[data-v-1fdace46]{box-sizing:border-box;width:90%;max-width:320px;padding:20px;border-radius:8px;background-color:#222;text-align:center;overflow:hidden;color:#fff;border:3px solid #333}.modal-content input[data-v-1fdace46]{width:100%;box-sizing:border-box;padding:10px;margin:8px 0;font-size:16px;border:none;border-radius:4px}.modal-content .actions[data-v-1fdace46]{display:flex;gap:10px;justify-content:center;margin-top:16px}.modal-content .actions button[data-v-1fdace46]{flex:1;padding:10px 0;font-size:16px;border:none;border-radius:4px;cursor:pointer;background-color:#ffffff1a;color:#fff;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-content .actions button[data-v-1fdace46]:active{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}@media(hover:hover)and (pointer:fine){.modal-content .actions button[data-v-1fdace46]:hover{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}}.error-text[data-v-1fdace46]{color:#ff6b6b;margin:8px 0;font-size:14px;text-align:center}.helper-text[data-v-1fdace46]{color:#ddd;font-size:.9rem;margin:6px 0 0}.modal[data-v-5152616a]{position:fixed;inset:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content[data-v-5152616a]{box-sizing:border-box;width:90%;max-width:320px;padding:20px;border-radius:8px;background-color:#222;text-align:center;overflow:hidden;color:#fff;border:3px solid #333}.modal-content input[data-v-5152616a]{width:100%;box-sizing:border-box;padding:10px;margin:8px 0;font-size:16px;border:none;border-radius:4px}.modal-content .actions[data-v-5152616a]{display:flex;gap:10px;justify-content:center;margin-top:16px}.modal-content .actions button[data-v-5152616a]{flex:1;padding:10px 0;font-size:16px;border:none;border-radius:4px;cursor:pointer;background-color:#ffffff1a;color:#fff;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-content .actions button[data-v-5152616a]:active{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}@media(hover:hover)and (pointer:fine){.modal-content .actions button[data-v-5152616a]:hover{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}}.error-text[data-v-5152616a]{color:#ff6b6b;margin:8px 0;font-size:14px;text-align:center}.modal-content.modal-lg[data-v-5152616a]{max-width:960px;width:calc(100% - 32px);max-height:85vh;display:flex;flex-direction:column;padding:0;border:3px solid #333}.md-header[data-v-5152616a]{position:sticky;top:0;z-index:1;background:#222;border-bottom:1px solid #333;padding:12px 16px;display:flex;align-items:center;gap:10px}.md-title[data-v-5152616a]{margin:0;font-size:26px;line-height:1.2;flex:1}.icon-btn[data-v-5152616a]{background:#ffffff1a;border:none;padding:8px 10px;border-radius:6px;cursor:pointer;color:#fff}.icon-btn[data-v-5152616a]:active{background:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}@media(hover:hover)and (pointer:fine){.icon-btn[data-v-5152616a]:hover{background:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}}.md-body[data-v-5152616a]{padding:22px;overflow:auto;background:#1f1f1f;text-align:left;font-size:16px;line-height:1.6}.md-body[data-v-5152616a]>:first-child{margin-top:0}.md-footer[data-v-5152616a]{position:sticky;bottom:0;z-index:1;background:#222;border-top:1px solid #333;padding:12px 16px;display:flex;justify-content:center}.md-footer .actions[data-v-5152616a]{margin:0;justify-content:center;width:100%}.md-footer .actions button[data-v-5152616a]{flex:none;width:auto;padding:10px 20px}@media(max-width:640px){.modal-content.modal-lg[data-v-5152616a]{width:calc(100% - 12px);max-height:88vh}.md-header[data-v-5152616a]{padding:10px 12px}.md-title[data-v-5152616a]{font-size:clamp(18px,5.5vw,22px)}.md-body[data-v-5152616a]{padding:16px;font-size:15px}.md-footer[data-v-5152616a]{padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}}.modal[data-v-86f487c1]{position:fixed;inset:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content[data-v-86f487c1]{box-sizing:border-box;width:90%;max-width:320px;padding:20px;border-radius:8px;background-color:#222;text-align:center;overflow:hidden;color:#fff;border:3px solid #333}.modal-content input[data-v-86f487c1]{width:100%;box-sizing:border-box;padding:10px;margin:8px 0;font-size:16px;border:none;border-radius:4px}.modal-content .actions[data-v-86f487c1]{display:flex;gap:10px;justify-content:center;margin-top:16px}.modal-content .actions button[data-v-86f487c1]{flex:1;padding:10px 0;font-size:16px;border:none;border-radius:4px;cursor:pointer;background-color:#ffffff1a;color:#fff;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-content .actions button[data-v-86f487c1]:active{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}@media(hover:hover)and (pointer:fine){.modal-content .actions button[data-v-86f487c1]:hover{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}}.error-text[data-v-86f487c1]{color:#ff6b6b;margin:8px 0;font-size:14px;text-align:center}.modal-content .actions[data-v-86f487c1]{margin-top:30px}.modal-content[data-v-86f487c1]:focus,.modal-content[data-v-86f487c1]:focus-visible{outline:none}.modal[data-v-d99ea5fd]{position:fixed;inset:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content[data-v-d99ea5fd]{box-sizing:border-box;width:90%;max-width:320px;padding:20px;border-radius:8px;background-color:#222;text-align:center;overflow:hidden;color:#fff;border:3px solid #333}.modal-content input[data-v-d99ea5fd]{width:100%;box-sizing:border-box;padding:10px;margin:8px 0;font-size:16px;border:none;border-radius:4px}.modal-content .actions[data-v-d99ea5fd]{display:flex;gap:10px;justify-content:center;margin-top:16px}.modal-content .actions button[data-v-d99ea5fd]{flex:1;padding:10px 0;font-size:16px;border:none;border-radius:4px;cursor:pointer;background-color:#ffffff1a;color:#fff;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-content .actions button[data-v-d99ea5fd]:active{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}@media(hover:hover)and (pointer:fine){.modal-content .actions button[data-v-d99ea5fd]:hover{background-color:#fff3;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}}.error-text[data-v-d99ea5fd]{color:#ff6b6b;margin:8px 0;font-size:14px;text-align:center}.modal-content[data-v-d99ea5fd]{max-width:350px}.helper-text[data-v-d99ea5fd]{color:#ddd;font-size:.9rem;margin:6px 0 0}.login-register .actions[data-v-d99ea5fd]{display:flex;flex-direction:column;gap:10px;justify-content:stretch;margin-top:16px}.login-register .actions button[data-v-d99ea5fd]{width:100%;flex:none}.actions button[data-v-d99ea5fd]:first-child{background-color:#487a3d;color:#fff;border:none}@media(hover:hover)and (pointer:fine){.actions button[data-v-d99ea5fd]:first-child:hover{background-color:#64a454;transform:scale(1.05);box-shadow:0 4px 8px #7eff674d}}.actions button[data-v-d99ea5fd]:first-child:active{background-color:#64a454;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}.actions button[data-v-d99ea5fd]:first-child:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.turnstile-slot[data-v-d99ea5fd]{display:block;margin-top:16px}[data-v-d99ea5fd] .turnstile-slot iframe{display:block;width:100%}.legal-blurb[data-v-d99ea5fd]{color:#ddd;font-size:12px;margin-top:10px}.main-footer[data-v-5bbb2151]{position:relative;bottom:0;left:0;right:0;background:#0009;z-index:1100}.footer-inner[data-v-5bbb2151]{position:relative;padding:20px 10px 30px;box-sizing:border-box;display:flex;justify-content:center;flex-wrap:wrap;gap:6px;color:#fff;font-size:14px}@media(max-width:600px){.footer-inner[data-v-5bbb2151]{padding:10px}}.footer-inner a[data-v-5bbb2151]{color:#fff;text-decoration:underline}.footer-inner a[data-v-5bbb2151]:hover{text-decoration:none}.footer-inner .mute-button[data-v-5bbb2151]{position:absolute;top:-70px;right:20px;background:#0009;border:none;padding:12px;border-radius:50%;cursor:pointer;z-index:1100;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;color:#fff}.footer-inner .mute-button .material-icons[data-v-5bbb2151]{transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease}.footer-inner .mute-button[data-v-5bbb2151]:active{background-color:#fff;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}.footer-inner .mute-button:active .material-icons[data-v-5bbb2151]{color:#fc0}@media(hover:hover)and (pointer:fine){.footer-inner .mute-button[data-v-5bbb2151]:hover{transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}.footer-inner .mute-button:hover .material-icons[data-v-5bbb2151]{color:#fc0}}.logo[data-v-ab85244b]{display:block;width:90%;max-width:543px;height:auto;object-fit:contain;margin-bottom:40px}.main-menu[data-v-ab85244b]{position:absolute;inset:0;background:url(/assets/gui/splash.jpg) no-repeat center center;background-size:cover;display:flex;flex-direction:column}.menu-content[data-v-ab85244b]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.auth-options[data-v-ab85244b],.signed-in-options[data-v-ab85244b]{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;width:242px}.signed-in-handle[data-v-ab85244b]{margin:0 0 4px;text-align:center;color:#fff;opacity:.95;font-size:16px;font-weight:700}.auth-options .menu-button[data-v-ab85244b],.signed-in-options .menu-button[data-v-ab85244b]{width:100%;padding:10px 20px;font-size:16px;border:1px solid #fff;background-color:#000000b3;color:#fff;cursor:pointer;border-radius:4px;font-family:inherit;box-sizing:border-box;display:inline-block;text-align:center;text-decoration:none}.play-sound[data-v-ab85244b]{transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;margin-top:20px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.download-link[data-v-ab85244b]{display:block}.menu-button[data-v-ab85244b]:focus:not(:focus-visible){outline:none}.menu-button[data-v-ab85244b]:active{background-color:#fff;color:#000;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}@media(hover:hover)and (pointer:fine){.menu-button[data-v-ab85244b]:hover{background-color:#fff;color:#000;transform:scale(1.05);box-shadow:0 4px 8px #ffffff4d}}.loading-state[data-v-ab85244b]{display:flex;align-items:center;justify-content:center}.spinner[data-v-ab85244b]{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-ab85244b 1s linear infinite}@keyframes spin-ab85244b{to{transform:rotate(360deg)}}.corner-ribbon[data-v-ab85244b]{position:absolute;top:25px;right:-60px;width:200px;padding:8px 0;background:#ac0808;color:#fff;text-align:center;font-weight:700;text-transform:uppercase;font-size:14px;transform:rotate(45deg);box-shadow:0 0 10px #00000080;z-index:1100;cursor:pointer;pointer-events:auto;transition:color .3s ease}.corner-ribbon[data-v-ab85244b]:active{color:#000}@media(hover:hover)and (pointer:fine){.corner-ribbon[data-v-ab85244b]:hover{color:#000}}.download-hint[data-v-ab85244b]{margin-top:4px;text-align:center;color:#fff;opacity:.85;font-size:14px}.access-message[data-v-ab85244b]{margin-top:4px;text-align:center;color:#fff;opacity:.92;font-size:14px}.toaster[data-v-1bc1b656]{position:fixed;z-index:1000;pointer-events:none;transition:top .3s ease,right .3s ease,bottom .3s ease,left .3s ease}.stack[data-v-1bc1b656]{display:flex;flex-direction:column;gap:10px}.stack.reverse[data-v-1bc1b656]{flex-direction:column-reverse}.variant-default .toast[data-v-1bc1b656]{display:block;pointer-events:auto;font-family:system-ui;padding:20px;background:#00000080;border-radius:10px;color:#fff;max-width:calc(100vw - 80px);width:fit-content;font-size:24px}.variant-compact .stack[data-v-1bc1b656]{gap:6px}.variant-compact .toast[data-v-1bc1b656]{pointer-events:auto;display:inline-flex;align-items:flex-start;gap:8px;padding:6px 10px;border-radius:999px;color:#fff;background:#00000073;border:1px solid rgba(255,255,255,.2);font:600 13px/1.1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;max-width:calc(100vw - 120px);width:auto}.variant-compact .toast .dot[data-v-1bc1b656]{flex:0 0 10px;width:10px;height:10px;min-width:10px;min-height:10px;aspect-ratio:1 / 1;border-radius:50%;box-shadow:0 0 6px currentColor;align-self:flex-start;margin-top:2px}.variant-compact .toast .label[data-v-1bc1b656]{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.toast-enter-active[data-v-1bc1b656],.toast-leave-active[data-v-1bc1b656]{transition:opacity 1s}.toast-enter-from[data-v-1bc1b656],.toast-leave-to[data-v-1bc1b656]{opacity:0}.pos-bottom-right .toast[data-v-1bc1b656],.pos-top-right .toast[data-v-1bc1b656]{margin-left:auto;text-align:right}#gameWrapper{width:100%;height:100%;position:relative}#gameContainer{width:100%;height:100%;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-webkit-user-callout:none}
