#demo-panel{position:fixed;top:82px;left:16px;z-index:30;display:flex;flex-wrap:wrap;gap:10px;align-items:center;max-width:min(550px,calc(100vw - 32px));padding:14px;border:1px solid #ffffff30;border-radius:12px;background:#101923ed;color:#f7f1de;font:13px system-ui}#demo-panel strong,#demo-panel small{width:100%}#demo-panel{max-height:calc(100dvh - 110px);overflow-y:auto}#demo-panel strong nav{display:inline;margin-left:12px;font-size:11px;font-weight:400}#demo-panel strong nav a{color:#fbd66c}#demo-panel button,#demo-panel select{background:#253744;color:#fff;border:1px solid #647784;border-radius:5px;padding:7px}#demo-panel label{display:flex;gap:6px;align-items:center}#demo-status{width:100%}#demo-audio{width:100%;border-top:1px solid #ffffff30;padding-top:6px}#zombie-scaling,#civilian-settings,#zombie-recovery{width:100%}#zombie-recovery summary{cursor:pointer}#zombie-recovery label{margin-top:6px;flex-wrap:wrap}#zombie-recovery input[type=number]{width:58px;padding:5px;border:1px solid #647784;border-radius:5px;color:#fff;background:#253744}#civilian-settings summary{cursor:pointer}#civilian-settings label{margin-top:6px}#civilian-settings input{width:66px;background:#253744;color:#fff;border:1px solid #647784;padding:5px;border-radius:5px}body.embedded #demo-panel{max-height:calc(100dvh - 150px);overflow-y:auto}body.embedded #demo-panel nav{display:none}#canvas-container canvas:focus{outline:none}#phone-view-settings{width:100%}#phone-view-settings[hidden],#phone-view-quick[hidden],[data-phone-center][hidden],[data-phone-open][hidden],[data-phone-help][hidden]{display:none!important}#phone-view-settings summary{cursor:pointer}#phone-view-settings small{display:block;margin-top:6px}#phone-view-quick{display:none;position:fixed;z-index:40;top:max(10px,env(safe-area-inset-top));right:max(68px,calc(env(safe-area-inset-right) + 60px));max-width:100px;flex-wrap:wrap;gap:6px;color:#fff;font:11px/1.4 system-ui;text-shadow:0 1px 3px #000}body.touch-enabled #phone-view-quick{display:flex}body.touch-enabled.city-options-closed .touch-look-hint{display:none}#phone-view-quick button{width:44px;height:44px;padding:10px;touch-action:manipulation;border:1px solid #ffffff55;border-radius:8px;background:#101923ed;color:#fff}#phone-view-quick small,#phone-view-quick a,[data-phone-help]{width:100%}[data-phone-help] summary{cursor:pointer;padding:10px 0}#phone-view-quick [data-phone-help]{padding:0 10px;border-radius:8px;background:#101923ed;max-height:32vh;overflow-y:auto;text-shadow:none}[data-phone-open]{color:#fbd66c}#zombie-scaling summary{cursor:pointer}#zombie-scaling label{margin-top:6px}#zombie-scaling-status{display:block;margin-top:5px;color:#e6d6a0}#demo-audio summary{cursor:pointer}.audio-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:8px}.audio-controls input[type=range]{width:82px}.audio-controls .station-label{width:100%;min-width:0}#demo-station{min-width:0;max-width:100%;flex:1}#demo-radio-status,#demo-sound-status{width:100%;font-size:11px;color:#e6d6a0;overflow-wrap:anywhere}#demo-sound-status:empty{display:none}.audio-controls a{color:#fbd66c}#credits-open{position:absolute;z-index:3;bottom:0;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;min-width:64px;min-height:32px;padding:0 8px;border-radius:6px 6px 0 0;background:#101923db;color:#fbd66c;font:12px system-ui;text-decoration:underline;pointer-events:auto;cursor:pointer}#credits-open:focus-visible{outline:2px solid #fbd66c;outline-offset:-2px}#demo-panel .settings-pages{flex-wrap:wrap}#credits-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 28px);padding:20px;overflow:auto;border:1px solid #6eeaff77;border-radius:20px;background:radial-gradient(ellipse at 50% 10%,#24384c,#10151f 65%);color:#f7f1de;box-shadow:0 0 50px #0009,0 0 26px #42e5ff22;font:14px/1.6 system-ui;overscroll-behavior:contain}#credits-dialog::backdrop{background:#030811c9;backdrop-filter:blur(6px)}.credits-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:8px;background:#182330f2}.credits-heading h2{margin:0;font-size:18px;letter-spacing:.05em}#credits-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff55;border-radius:50%;color:#fff;background:#ffffff0c;font:28px system-ui;cursor:pointer}.credits-neon{margin:22px auto 0;padding:16px 10px;border:2px solid #6eeaff;border-radius:12px;color:#ffe4f4;text-align:center;font:800 clamp(25px,6vw,43px)/1.15 system-ui;letter-spacing:-.04em;transform:rotate(-2deg);box-shadow:inset 0 0 12px #36e8ff44,0 0 12px #36e8ff55}.credits-neon span{text-shadow:0 0 3px #fff,0 0 9px #ff4b9a,0 0 22px #ff4b9acc,0 0 40px #ff4b9a88;animation:credits-neon-flicker 5.6s linear infinite}#credits-stage{position:relative;height:170px;width:100%;margin:4px 0 0;background:radial-gradient(ellipse at 50% 100%,#5fe5ff18,transparent 65%)}#credits-gorilla{width:100%;height:100%;display:block}#credits-thanks{position:absolute;z-index:2;left:50%;bottom:0;transform:translate(-50%);box-sizing:border-box;min-height:44px;padding:10px 4px;white-space:nowrap;color:#a7f4ff;font:700 clamp(16px,4vw,21px)/24px system-ui;text-decoration:none;text-shadow:0 0 10px #6eeaff66}#credits-thanks span{display:inline-block;white-space:pre;transform-origin:center;will-change:transform,opacity}#credits-thanks:hover,#credits-thanks:focus-visible{text-decoration:underline;text-underline-offset:5px}#credits-crumbs{display:none;position:absolute;z-index:3;pointer-events:none}#credits-stage.is-eating #credits-crumbs{display:block}#credits-crumbs i{position:absolute;width:3px;height:4px;border-radius:1px;background:#a7f4ff;animation:credits-crumb .7s ease-out infinite}#credits-crumbs i:nth-child(2n){background:#ff8bbb}#credits-crumbs i:nth-child(1){--drift: -22px;animation-delay:-.1s}#credits-crumbs i:nth-child(2){--drift: 17px;animation-delay:-.2s}#credits-crumbs i:nth-child(3){--drift: -10px;animation-delay:-.35s}#credits-crumbs i:nth-child(4){--drift: 25px;animation-delay:-.45s}#credits-crumbs i:nth-child(5){--drift: 9px;animation-delay:-.55s}#credits-crumbs i:nth-child(6){--drift: -18px;animation-delay:-.65s}@keyframes credits-crumb{0%{transform:translateY(-2px) rotate(0);opacity:1}to{transform:translate(var(--drift),36px) rotate(180deg) scale(.3);opacity:0}}#credits-copy p{margin:0 0 12px}#credits-copy a{color:#8feaff;text-underline-offset:3px}#credits-gorilla-status{margin:0 0 8px;font-size:12px;color:#fbd66c}#credits-gorilla-status:empty{display:none}#credits-retry,#credits-copy button{color:#fff;background:#253744;border:1px solid #647784;border-radius:6px;padding:8px 12px;margin-bottom:10px;cursor:pointer}#credits-dialog :focus-visible{outline:2px solid #fbd66c;outline-offset:4px}@keyframes credits-neon-flicker{0%,8%,26%,44%,64%,to{opacity:1}14%,32%{opacity:.35;text-shadow:0 0 3px #ff4b9a}18%,38%,52%{opacity:.85}}@media(prefers-reduced-motion:reduce){.credits-neon span{animation:none}}@media(max-height:500px){#credits-dialog{padding:12px 18px}.credits-neon{margin-top:8px;padding:10px}#credits-stage{height:120px}}#zombie-status{width:100%;color:#f7b5a6;font-size:12px}#zombie-health{width:100px;height:12px;accent-color:#b6dc72}#zombie-horde-threshold{width:58px;padding:5px;border:1px solid #647784;border-radius:5px;background:#253744;color:#fff}#zombie-hit{position:fixed;inset:0;z-index:24;pointer-events:none;box-shadow:inset 0 0 90px 35px #b30c16;opacity:0;transition:opacity .2s}.zombie-hit #zombie-hit{opacity:.65}#zombie-down:not([hidden]){position:fixed;z-index:150;top:38%;left:50%;transform:translate(-50%);width:min(420px,90vw);padding:24px;background:#21151bf2;color:#fff;border:1px solid #ef7261;border-radius:14px;font:16px/1.5 system-ui}#zombie-down button{padding:12px 20px;background:#eac16a;color:#17191d;border:0;border-radius:6px;cursor:pointer}#demo-credit{position:fixed;bottom:4px;left:8px;right:8px;z-index:25;color:#fff;font:10px system-ui;text-shadow:0 1px 3px black;pointer-events:auto}#demo-credit a{color:#fbd66c}body.city-options-closed .hud:not(.hud-top-right):not(.persistent-hud),body.city-options-closed #demo-panel,body.city-options-closed #demo-credit{display:none!important}#demo-error{position:fixed;z-index:200;top:30%;left:10%;right:10%;padding:24px;background:#531f27;color:#fff;border:1px solid #ff9c9c;border-radius:12px;font:16px/1.5 system-ui}#mode-switch,.camera-switcher{display:none!important}@media(max-width:600px){#demo-panel{top:66px;left:8px;max-width:calc(100vw - 80px);padding:9px;gap:5px;font-size:11px}#demo-panel small{font-size:10px}#demo-credit{font-size:8px}}#phone-view-quick svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#phone-view-quick button[aria-pressed=true]{background:#42657e;border-color:#fbd66c}body.touch-enabled:not(.city-options-closed) #phone-view-quick{top:auto;bottom:max(210px,calc(env(safe-area-inset-bottom) + 198px));right:max(12px,env(safe-area-inset-right))}#character-availability{width:100%}#character-availability summary{cursor:pointer}#character-availability label{margin-top:6px}#pet-toggle{position:fixed;z-index:40;right:max(12px,env(safe-area-inset-right));bottom:max(270px,calc(env(safe-area-inset-bottom) + 258px));width:44px;height:44px;padding:6px;border:1px solid #ffffff55;border-radius:8px;background:#101923ed;color:#fff;touch-action:manipulation}#pet-toggle svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#pet-toggle[aria-pressed=true]{background:#42657e;border-color:#fbd66c}#pet-toggle [hidden]{display:none!important}#pet-chooser{position:fixed;inset:50% auto auto;right:max(66px,calc(env(safe-area-inset-right) + 54px));transform:translateY(-50%);margin:0;width:min(250px,calc(100vw - 90px));max-height:calc(100dvh - 24px);overflow-y:auto;padding:12px;border:1px solid #ffffff55;border-radius:12px;background:#101923fa;color:#f7f1de;font:14px/1.4 system-ui}#pet-chooser header{display:flex;align-items:center;justify-content:space-between;gap:8px}#pet-chooser button{min-height:44px;border:1px solid #647784;border-radius:7px;background:#253744;color:#fff;font:inherit;touch-action:manipulation;cursor:pointer}#pet-chooser-close{min-width:44px;font-size:24px!important}#pet-chooser [data-pet-choice]{display:block;width:100%;margin-top:8px;text-align:left;padding:8px 12px}#pet-chooser [aria-pressed=true]{background:#42657e;border-color:#fbd66c}#pet-chooser small{display:block;margin-top:10px}#travel-controls{position:fixed;z-index:40;right:max(12px,env(safe-area-inset-right));top:max(82px,calc(env(safe-area-inset-top) + 70px));display:flex;flex-direction:column;gap:6px}#travel-controls button{width:44px;height:44px;padding:9px;border:1px solid #ffffff55;border-radius:8px;background:#101923ed;color:#fff;touch-action:manipulation;cursor:pointer}#travel-controls svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#travel-controls button[aria-pressed=true]{background:#42657e;border-color:#fbd66c}@media(max-height:600px){#travel-controls{flex-direction:row;top:max(76px,calc(env(safe-area-inset-top) + 64px))}#pet-toggle{top:max(132px,calc(env(safe-area-inset-top) + 120px));bottom:auto}body.touch-enabled:not(.city-options-closed) #phone-view-quick{top:max(132px,calc(env(safe-area-inset-top) + 120px));right:max(66px,calc(env(safe-area-inset-right) + 54px));bottom:auto}}#city-tools{--tool-size: 44px;position:fixed;z-index:45;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:6px;width:var(--tool-size);overflow-y:auto;scrollbar-width:none;pointer-events:none}#city-tools::-webkit-scrollbar{display:none}#city-tools>*,#city-tools button{pointer-events:auto}#city-tools button{box-sizing:border-box;flex:0 0 var(--tool-size);width:var(--tool-size);height:var(--tool-size);min-height:var(--tool-size);padding:10px;border:1px solid #ffffff35;border-radius:10px;background:#101923bf;color:#f5f5f5;cursor:pointer;touch-action:manipulation}#city-tools button:hover{background:#314655ed}#city-tools button:focus-visible{outline:2px solid #fbd66c;outline-offset:-3px}#city-tools button[aria-pressed=true]{background:#42657edb;border-color:#ffffff80}#city-tools svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#city-tools #help-open{padding:0;font:600 24px system-ui}#city-tools #travel-controls,#city-tools #phone-view-quick{position:static;inset:auto;display:flex;flex-direction:column;flex-wrap:nowrap;width:var(--tool-size);max-width:none;gap:6px;flex-shrink:0}#city-tools #pet-toggle{position:static;inset:auto}#city-tools #phone-view-quick{display:none}body.touch-enabled #city-tools #phone-view-quick{display:flex}#city-tools #pet-toggle{padding:6px}#city-tools #pet-toggle svg{width:30px;height:30px}.hud-top-right{display:none!important}#demo-panel #hud-toolbar,#demo-panel .time-switch{display:flex;flex-direction:column;align-items:stretch;width:100%}#demo-panel #hud-toolbar{position:static;box-sizing:border-box;gap:6px}#demo-panel .toolbar-divider{display:none}#demo-panel .seg-label,#demo-panel .tool-label{display:inline}#demo-panel{top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));max-width:min(440px,calc(100vw - 90px));max-height:calc(100dvh - 40px);box-sizing:border-box}body.embedded #demo-panel{max-height:calc(100dvh - 28px)}.touch-actions{grid-template-columns:44px;gap:6px;padding-bottom:0}.touch-actions .touch-action{width:44px;height:44px}.touch-actions .touch-boost{grid-column:1}.touch-actions #touch-attack-mode{width:auto;min-width:44px;padding:0 12px;border-radius:22px;justify-self:end;white-space:nowrap;font-size:12px;touch-action:manipulation}body:not([data-mode=person]) #touch-attack-mode{display:none}body[data-mode=person] .touch-actions .touch-boost{display:none}body.touch-enabled #city-tools{bottom:max(190px,calc(env(safe-area-inset-bottom) + 180px))}body.embedded .touch-caption,body.embedded .touch-look-hint{display:none}#help-dialog{position:fixed;inset:0;margin:auto;width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;overflow:auto;overscroll-behavior:contain;padding:24px;border:1px solid #ffffff35;border-radius:16px;background:#101923f7;color:#f1f4f5;box-shadow:0 16px 70px #0009;font:14px/1.5 system-ui}#help-dialog::backdrop{background:#030811b8;backdrop-filter:blur(4px)}#help-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}#help-dialog h2{margin:0;font-size:24px}#help-paused{margin:4px 0 18px;color:#aec4cc}#help-close{flex-shrink:0;width:44px;height:44px;border:1px solid #ffffff35;border-radius:10px;background:transparent;color:#fff;font:28px system-ui;cursor:pointer}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}#help-dialog h3{color:#fbd66c;margin:8px 0;font-size:15px}#help-dialog dl{margin:0}#help-dialog dt{margin-top:12px;font-weight:650}#help-dialog dd{margin:2px 0 0;color:#bfcdd4}#help-dialog p{color:#bfcdd4}.help-touch{grid-column:1 / -1}#help-dialog :focus-visible{outline:2px solid #fbd66c;outline-offset:2px}@media(max-width:600px){#help-dialog{padding:16px}.help-grid{grid-template-columns:1fr;gap:8px}#demo-panel{padding:10px}}@media(max-height:540px){#city-tools{gap:4px;top:max(6px,env(safe-area-inset-top))}#city-tools #travel-controls,#city-tools #phone-view-quick{gap:4px}body.touch-enabled #city-tools{bottom:max(172px,calc(env(safe-area-inset-bottom) + 162px))}}#touch-controls{right:max(10px,env(safe-area-inset-right))}#help-dialog header{position:sticky;top:-24px;z-index:1;margin:-24px -24px 0;padding:24px 24px 0;background:#101923}@media(max-width:600px){#help-dialog header{top:-16px;margin:-16px -16px 0;padding:16px 16px 0}}@media(max-height:540px){body.touch-enabled #city-tools{bottom:auto;height:calc(100dvh - 180px);max-height:188px;scrollbar-width:thin}#city-tools button{scroll-snap-align:start}#city-tools{scroll-snap-type:y mandatory}#city-tools::-webkit-scrollbar{display:block;width:2px}#city-tools::-webkit-scrollbar-thumb{background:#ffffff70}}#demo-panel,body.embedded #demo-panel{width:min(400px,calc(100vw - 78px));max-width:none;max-height:calc(100dvh - 24px);overflow:hidden;padding:12px;gap:8px;align-content:flex-start}#demo-panel .settings-group{display:contents!important}#demo-panel [data-settings-hidden],#city-tools [data-rail-hidden],#city-tools button[hidden]{display:none!important}#demo-panel .settings-item{max-width:100%;box-sizing:border-box}#demo-panel .settings-item:not(button):not(progress){width:100%}#demo-panel label{flex-wrap:wrap}#demo-panel .settings-header,#demo-panel .settings-pages{display:flex;width:100%;gap:6px;align-items:center;flex-shrink:0}#demo-panel .settings-header select{flex:1;min-width:0;width:0;min-height:44px}#demo-panel .settings-header button{width:44px;height:44px;padding:0;font-size:24px}#demo-panel .settings-pages{order:100;justify-content:space-between}#demo-panel .settings-pages button{min-height:44px}#demo-panel .settings-pages button:disabled{opacity:.4}#city-tools,body.touch-enabled #city-tools{overflow:hidden;scroll-snap-type:none}#city-tools #travel-controls,#city-tools #phone-view-quick{display:contents}#city-tools #phone-view-quick[hidden]{display:none!important}#city-tools>button{flex-shrink:0}body .hud.persistent-hud,body.city-options-closed .hud.persistent-hud{display:flex!important;opacity:1;transform:none;pointer-events:auto;top:auto;bottom:max(12px,env(safe-area-inset-bottom));gap:4px;max-width:none}body .hud.persistent-hud[hidden]{display:none!important}body.city-options-closed .hud.persistent-hud>*{pointer-events:auto}body .hud-bottom-left.persistent-hud{left:max(12px,env(safe-area-inset-left));width:clamp(130px,24vw,280px)}body .hud-bottom-right.persistent-hud{right:max(64px,calc(env(safe-area-inset-right) + 58px));width:clamp(160px,24vw,272px);flex-direction:column;align-items:stretch}body .persistent-hud .radar{display:block;width:100%;height:clamp(90px,15vw,180px)}body .persistent-hud .cluster{width:100%}body .persistent-hud .gauge{display:block;padding:8px 12px}body .persistent-hud .gauge-speed{font-size:clamp(26px,4vw,48px)}body .persistent-hud .gauge-label{font-size:10px}body .persistent-hud .location{max-width:100%;font-size:10px}body .persistent-hud .camera-current{padding:0 3px;font-size:10px}body .persistent-hud .camera-current svg,body .persistent-hud .camera-current kbd{display:none}.widget-hide{align-self:flex-end;width:32px;height:32px;border:1px solid #ffffff40;border-radius:8px;background:#101923cc;color:#fff;cursor:pointer;display:grid;place-items:center}.widget-hide svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}body .hud-bottom-left.persistent-hud .widget-hide{position:absolute;top:0;right:0;z-index:2}body .hud-bottom-left.persistent-hud .location{padding-right:34px;box-sizing:border-box}body.city-options-closed #camera-popover:popover-open{display:block!important}@media(max-width:600px){body .hud-bottom-left.persistent-hud{width:calc((100vw - 90px)*.44)}body .hud-bottom-right.persistent-hud{width:calc((100vw - 90px)*.52)}body .persistent-hud .radar{height:90px}body .persistent-hud .gauge-top{flex-wrap:wrap}body .persistent-hud .gauge{padding:5px 8px}body .persistent-hud .camera-switch .icon-btn{width:32px;height:40px}body .persistent-hud .camera-current{height:40px}body.touch-enabled #touch-controls{bottom:max(176px,calc(env(safe-area-inset-bottom) + 166px))}body.touch-enabled #city-tools{bottom:max(320px,calc(env(safe-area-inset-bottom) + 310px))}}@media(max-height:540px){body .persistent-hud .radar{height:74px}body .persistent-hud .location{display:none}body .hud-bottom-left.persistent-hud{width:150px}body .hud-bottom-right.persistent-hud{width:180px}body .persistent-hud .gauge{padding:3px 8px}body .persistent-hud .gauge-speed{font-size:24px}body.touch-enabled #touch-controls{bottom:max(140px,calc(env(safe-area-inset-bottom) + 130px))}body.touch-enabled #city-tools{height:calc(100dvh - 270px);max-height:none;bottom:auto}}body.touch-enabled #city-tools{top:max(10px,env(safe-area-inset-top));bottom:max(10px,env(safe-area-inset-bottom));height:auto;max-height:none}body.touch-enabled #city-tools #phone-view-quick{display:contents}body.touch-enabled #touch-controls{right:max(64px,calc(env(safe-area-inset-right) + 58px))}body .persistent-hud .location-signs{width:100%;min-width:0;gap:3px;flex-wrap:wrap}body .persistent-hud .street-sign{box-sizing:border-box;max-width:100%;min-width:0;padding:6px 8px;font-size:clamp(9px,1.4vw,13px)}body .persistent-hud .location-place{max-width:100%;font-size:9px}body .persistent-hud .widget-hide{min-width:36px;min-height:36px}body.touch-enabled #touch-controls{bottom:max(230px,calc(env(safe-area-inset-bottom) + 220px))}body .hud-bottom-right.persistent-hud .widget-hide{position:absolute;right:4px;top:4px;z-index:2}body .persistent-hud .gauge-top{padding-right:36px}@media(max-height:540px){body.touch-enabled #touch-controls{bottom:max(170px,calc(env(safe-area-inset-bottom) + 160px))}}body.city-options-closed:before,body.city-options-closed:after{opacity:0}#radio-dialog{position:fixed;inset:max(12px,env(safe-area-inset-top)) 72px auto auto;margin:0;box-sizing:border-box;width:min(320px,calc(100vw - 88px));max-height:calc(100dvh - 24px);overflow-y:auto;padding:14px;border:1px solid #6b5a4c;border-radius:14px;background:#171b23;color:#fff;font:14px/1.4 system-ui}#radio-dialog::backdrop{background:transparent}#radio-dialog header{display:flex;align-items:center;justify-content:space-between;gap:8px}#radio-dialog h2{margin:0;font-size:18px}#radio-dialog button,#radio-dialog select{min-height:44px;border:1px solid #647784;border-radius:8px;padding:8px;background:#253744;color:#fff;cursor:pointer}#radio-dialog label{display:flex;align-items:center;gap:6px}#radio-close{min-width:44px;font-size:24px}#radio-dialog button[aria-pressed=true]{background:#2a6a3a}#city-key-hint{position:fixed;z-index:45;bottom:max(100px,calc(env(safe-area-inset-bottom) + 90px));left:50%;transform:translate(-50%);max-width:min(420px,calc(100vw - 110px));box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #ffffff55;border-radius:12px;background:#101923ed;color:#fff;font:600 14px/1.5 system-ui}#city-key-hint[hidden],#city-expand-fallback[hidden]{display:none}#city-key-hint button,#city-expand-fallback button{min-width:44px;min-height:44px;border:1px solid #ffffff55;border-radius:8px;background:#253744;color:#fff;cursor:pointer}#city-expand-fallback{position:fixed;z-index:60;top:70px;right:72px;box-sizing:border-box;width:min(320px,calc(100vw - 88px));padding:14px;border:1px solid #647784;border-radius:14px;background:#101923;color:#fff;font:14px/1.5 system-ui}#city-expand-fallback a{display:inline-block;padding:12px 0;margin-right:12px;color:#fbd66c}#infected-overlay{position:fixed;z-index:35;left:50%;transform:translate(-50%);top:max(12px,env(safe-area-inset-top));box-sizing:border-box;padding:7px 12px;border:1px solid #ee907666;border-radius:10px;background:#101923ed;color:#ffb79f;font:700 14px/1.4 system-ui;pointer-events:none}#fighter-dialog{position:fixed;inset:max(12px,env(safe-area-inset-top)) 72px auto auto;margin:0;box-sizing:border-box;width:min(300px,calc(100vw - 88px));max-height:calc(100dvh - 24px);overflow-y:auto;padding:14px;border:1px solid #647784;border-radius:14px;background:#101923;color:#fff;font:14px/1.5 system-ui}#fighter-dialog::backdrop{background:transparent}#fighter-dialog header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}#fighter-dialog h2{margin:0;font-size:18px}#fighter-dialog label{display:flex;flex-wrap:wrap;align-items:center;gap:8px}#fighter-dialog select{flex:1;min-width:0}#fighter-dialog button,#fighter-dialog select{min-height:44px;padding:8px;border:1px solid #647784;border-radius:8px;background:#253744;color:#fff;cursor:pointer}#fighter-dialog button{min-width:44px;font-size:24px}#setting-help-bubble{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:max-content;max-width:min(300px,calc(100vw - 16px));padding:12px;border:1px solid #8aa5b9;border-radius:10px;background:#101923;color:#fff;box-shadow:0 6px 24px #0008;font:13px/1.5 system-ui}.setting-help-description{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}body .setting-help-button{flex:0 0 auto;min-width:28px;min-height:28px;padding:2px 7px;border:1px solid #8aa5b9;border-radius:50%;background:#253744;color:#cdeaff;font:700 13px system-ui;cursor:help}#outbreak-tuning{width:100%}.dual-range{width:100%;margin:10px 0;font-size:12px}.dual-range output{font-variant-numeric:tabular-nums}.dual-range-track{position:relative;height:28px;margin:0 6px}.dual-range-track:before{content:"";position:absolute;top:13px;left:0;right:0;height:2px;border-radius:4px;background:linear-gradient(to right,#647784 var(--lo),#61d9a7 var(--lo),#61d9a7 var(--hi),#647784 var(--hi))}#demo-panel .dual-range-track input{position:absolute;inset:0;width:100%;height:28px;margin:0;padding:0;background:transparent;appearance:none;pointer-events:none;border:0}.dual-range-track input::-webkit-slider-thumb{appearance:none;width:8px;height:16px;border:1px solid white;border-radius:3px;background:#27866a;pointer-events:auto;cursor:ew-resize}.dual-range-track input::-moz-range-thumb{width:6px;height:14px;border:1px solid white;border-radius:3px;background:#27866a;pointer-events:auto;cursor:ew-resize}.dual-range-track input:focus-visible{outline:2px solid #fff;outline-offset:2px}.dual-range-track input:first-child{z-index:2}.dual-range-track input:first-child::-webkit-slider-thumb{transform:translate(-3px)}.dual-range-track input:last-child::-webkit-slider-thumb{transform:translate(3px)}.dual-range-track input:first-child::-moz-range-thumb{transform:translate(-3px)}.dual-range-track input:last-child::-moz-range-thumb{transform:translate(3px)}#demo-panel .dual-range-values{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#demo-panel .dual-range-values label{display:flex;align-items:center;gap:4px;margin:0;width:auto}#demo-panel .dual-range-values input[type=number]{box-sizing:border-box;width:76px;min-width:0;padding:3px 5px;border:1px solid #647784;border-radius:4px;background:#253744;color:#fff;font:inherit;font-variant-numeric:tabular-nums}.fullmap-header{flex-wrap:wrap}.fullmap-teleport{display:flex;align-items:center;gap:8px;padding:8px 12px;min-width:0;font-size:12px}.fullmap-teleport select{min-width:0;max-width:230px;min-height:36px;color:var(--text);background:#15212b;border:1px solid rgba(255,255,255,.22);border-radius:6px;padding:6px;font:inherit}@media(max-width:760px){.fullmap-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.fullmap-title{grid-column:1;grid-row:1}.fullmap-search-wrap{grid-column:2;grid-row:1;min-width:0}.fullmap-close{grid-column:3;grid-row:1}.fullmap-teleport{grid-column:1 / -1;grid-row:2}.fullmap-teleport select{flex:1;max-width:none}}body .hud-bottom-right:not(.persistent-hud){display:none!important}#touch-rear,#touch-layout-settings,#touch-layout-editor{display:none}body.touch-layout-mobile #touch-rear{display:grid}body.touch-layout-mobile #touch-controls:before{content:"";flex:0 0 138px}body.touch-layout-mobile #touch-layout-settings{display:block}body.touch-layout-mobile #touch-controls .touch-movement{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 72px);width:138px;height:160px}#touch-rear{position:fixed;width:48px;height:48px;place-items:center;padding:7px;border:1px solid #ffffff55;border-radius:10px;background:#101923ed;color:#fff;pointer-events:auto;touch-action:none}#touch-rear svg{width:32px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}#touch-rear[aria-pressed=true]{background:#fbc21a;color:#171717;border-color:#fbc21a}body.touch-layout-mobile #touch-layout-editor:not([hidden]){position:fixed;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;top:max(16px,env(safe-area-inset-top));left:16px;right:16px;z-index:200;padding:10px;background:#101923f5;border:1px solid #ffffff55;border-radius:10px;font:14px system-ui;color:#fff}#touch-layout-editor button{min-width:64px;min-height:44px;font:inherit}body.touch-layout-editing #touch-rear,body.touch-layout-editing #touch-stick{outline:3px dashed #fbc21a;cursor:move}body.touch-layout-editing .touch-movement{pointer-events:auto;touch-action:none}#travel-menu{position:fixed;inset:50% max(66px,calc(env(safe-area-inset-right) + 54px)) auto auto;transform:translateY(-50%);margin:0;width:min(240px,calc(100vw - 90px));max-height:calc(100dvh - 24px);overflow-y:auto;padding:12px;border:1px solid #ffffff55;border-radius:12px;background:#101923fa;color:#f7f1de;font:14px/1.4 system-ui}#travel-menu header{display:flex;align-items:center;justify-content:space-between;gap:8px}#travel-menu button{min-height:44px;border:1px solid #647784;border-radius:7px;background:#253744;color:#fff;font:inherit;touch-action:manipulation;cursor:pointer}#travel-menu header button{width:44px;font-size:24px}#travel-menu [data-travel-mode]{display:flex;align-items:center;gap:12px;width:100%;margin-top:8px;padding:8px 12px;text-align:left}#travel-menu svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#travel-menu kbd{margin-left:auto}#travel-menu [aria-pressed=true]{background:#42657e;border-color:#fbd66c}#travel-menu-toggle{position:relative}#travel-menu-toggle:after{content:"";position:absolute;right:3px;bottom:3px;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid currentColor}#fullmap-modal .fullmap-footer{flex-direction:column;align-items:center;gap:4px;bottom:max(12px,env(safe-area-inset-bottom))}#fullmap-credits{display:flex;align-items:center;justify-content:center;min-width:80px;min-height:44px;padding:0 12px;color:#fbd66c;background:#101923ed;border-radius:6px;font:13px system-ui;text-decoration:underline;pointer-events:auto}#fullmap-credits:focus-visible{outline:2px solid #fbd66c;outline-offset:-2px}#city-perf-tip{position:fixed;z-index:60;left:50%;top:max(64px,calc(env(safe-area-inset-top) + 56px));transform:translate(-50%);width:min(440px,calc(100vw - 32px));box-sizing:border-box;display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid #fbd66c88;border-radius:10px;background:#101923f2;color:#f7f1de;font:13px/1.4 system-ui;box-shadow:0 8px 30px #0008}#city-perf-tip p{margin:0;flex:1}#city-perf-tip button{flex:0 0 auto;min-width:44px;min-height:44px;border:1px solid #fbd66c;border-radius:8px;background:#253744;color:#fbd66c;font:inherit;cursor:pointer}
