:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff0de;background:#171213}body{margin:0}.zoi-touch{--touch-edge:12px;--touch-bottom:calc(env(safe-area-inset-bottom,0px) + 64px);z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;display:none;position:absolute;inset:0}@media (pointer:coarse) and (orientation:landscape){.zoi-touch:not([hidden]){display:block}}.zoi-touch-look,.zoi-touch-move{top:0;bottom:var(--touch-bottom);pointer-events:auto;touch-action:none;position:absolute}.zoi-touch-look{width:60%;right:0}.zoi-touch-move{width:40%;left:0}.zoi-touch-stick{bottom:12px;left:calc(env(safe-area-inset-left,0px) + 62px);pointer-events:none;background:#19131480;border:2px solid #e0d6c8a0;border-radius:50%;width:70px;height:70px;margin:-35px 0 0 -35px;position:absolute}.zoi-touch-move.zoi-touch-held .zoi-touch-stick{background:#77372bbf;bottom:auto}.zoi-touch-actions{right:calc(env(safe-area-inset-right,0px) + var(--touch-edge));bottom:var(--touch-bottom);grid-template-columns:repeat(2, minmax(calc(52px * var(--touch-scale,1)), auto));gap:6px;display:grid;position:absolute}.zoi-touch-button{min-width:calc(52px * var(--touch-scale,1));min-height:calc(48px * var(--touch-scale,1));padding:0 calc(8px * var(--touch-scale,1));color:#fff4e7;font:700 calc(.8rem * var(--touch-scale,1)) / 1 system-ui, sans-serif;pointer-events:auto;touch-action:none;background:#24191aeb;border:1px solid #d6b2a1;border-bottom-width:3px;border-radius:0}.zoi-touch-fire{background:#8b3828}.zoi-touch-button:active,.zoi-touch-button.zoi-touch-held{background:#b44e36}.zoi-touch-pause{top:calc(env(safe-area-inset-top,0px) + var(--touch-edge));left:calc(env(safe-area-inset-left,0px) + var(--touch-edge));position:fixed}.zoi-touch-left-handed .zoi-touch-look{left:0;right:auto}.zoi-touch-left-handed .zoi-touch-move{left:auto;right:0}.zoi-touch-left-handed .zoi-touch-actions{left:calc(env(safe-area-inset-left,0px) + var(--touch-edge));right:auto}.zoi-touch-left-handed .zoi-touch-pause{left:auto;right:calc(env(safe-area-inset-right,0px) + var(--touch-edge))}.zoi-touch-left-handed .zoi-touch-move:not(.zoi-touch-held) .zoi-touch-stick{left:auto;right:calc(env(safe-area-inset-right,0px) + 27px)}.zoi-comic{z-index:4;max-width:82rem;padding:max(14px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:var(--zoi-ink);grid-template-rows:minmax(0,1fr) minmax(1.5rem,auto) auto;gap:clamp(8px,2vh,20px);margin:auto;display:grid;position:absolute;inset:0}.zoi-comic img{object-fit:contain;grid-row:1;width:100%;height:100%;min-height:0;display:block}.zoi-comic-caption{color:var(--zoi-paper);text-align:center;grid-row:2;justify-content:center;align-items:baseline;gap:clamp(8px,3vw,24px);margin:0;font-size:clamp(1.1rem,4vw,1.65rem);font-weight:900;line-height:1.2;display:flex}.zoi-comic-caption:focus{outline:none}.zoi-comic-speaker{color:#ffb19c;font-size:.75em;font-weight:800}.zoi-comic-actions{grid-row:3;justify-content:center;gap:8px;display:flex}.zoi-stage{--zoi-ink:#171213;--zoi-paper:#fff0de;--zoi-metal:#50413e;--zoi-rust:#8f3527;--zoi-focus:#ffca82;--zoi-gap:16px;--zoi-portrait-size:64px;--zoi-hud-height:calc(var(--zoi-portrait-size) + 12px + env(safe-area-inset-bottom,0px));isolation:isolate;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--zoi-paper);background:var(--zoi-ink);font:500 1rem/1.35 system-ui,sans-serif;position:fixed;inset:0;overflow:hidden}.zoi-stage,.zoi-stage *{box-sizing:border-box}.zoi-stage [hidden]{display:none!important}.zoi-stage :focus-visible{outline:3px solid var(--zoi-focus);outline-offset:3px}.zoi-stage ::selection{background:var(--zoi-focus);color:var(--zoi-ink)}.zoi-stage input{accent-color:var(--zoi-focus)}.zoi-canvas{width:100%;height:100%;image-rendering:pixelated;touch-action:none;display:block;position:absolute;inset:0}.zoi-canvas:focus-visible{outline-offset:-4px}.zoi-heading:focus,.zoi-settings-heading:focus{outline:none}.zoi-overlay{z-index:3;overscroll-behavior:contain;padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:#181314ed;grid-template-columns:minmax(0,1fr);align-items:safe center;display:grid;position:absolute;inset:0;overflow:auto}.zoi-stage[data-screen=menu] .zoi-overlay{background:linear-gradient(118deg,#201818 0 65%,#622b22 65% 83%,#211715 83%)}.zoi-panel{background:#21191a;border-block:6px solid #714338;width:min(100%,41rem);min-width:0;margin:auto;padding:clamp(16px,5vw,52px)}.zoi-heading,.zoi-settings-heading{letter-spacing:-.035em;text-transform:uppercase;overflow-wrap:break-word;margin:0 0 24px;font-size:clamp(2rem,7vw,4rem);font-weight:900;line-height:1}.zoi-stage[data-screen=menu] .zoi-heading{text-shadow:0 3px #8f3527;font-size:clamp(2.25rem,8.2vw,5rem)}.zoi-status{margin:0 0 var(--zoi-gap);max-width:40ch}.zoi-choices{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.zoi-difficulty{flex:0 0 100%;gap:5px;min-width:0;max-width:19rem;font-size:.85rem;display:grid}.zoi-difficulty select,.zoi-button,.zoi-desktop-pause{border:1px solid #b39284;min-height:48px;color:var(--zoi-paper);background:#322524;border-bottom-width:3px;border-radius:0;padding:0 14px;font:700 1rem/1.1 system-ui,sans-serif}.zoi-button,.zoi-desktop-pause{cursor:pointer}.zoi-button-main{background:var(--zoi-rust)}.zoi-button:hover:not(:disabled),.zoi-desktop-pause:hover{background:#6b3b31}.zoi-button:disabled{cursor:default;opacity:.55}.zoi-settings-heading{font-size:clamp(1.8rem,6vw,3rem)}.zoi-settings-fields{margin-bottom:var(--zoi-gap);display:grid}.zoi-setting{border-top:1px solid var(--zoi-metal);grid-template-columns:minmax(0,1fr) minmax(5rem,40%);align-items:center;gap:12px;min-height:48px;display:grid}.zoi-setting input{width:100%;min-height:36px;margin:0}.zoi-setting input[type=checkbox]{justify-self:end;width:22px;min-height:22px}.zoi-hud{z-index:1;min-height:var(--zoi-hud-height);padding:4px max(12px, env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));pointer-events:none;background:#201819;border-top:4px solid #a24a36;grid-template-columns:auto auto 1fr auto;align-items:center;gap:clamp(8px,3vw,32px);margin:0;display:grid;position:absolute;inset:auto 0 0}.zoi-metric{grid-template-columns:auto auto;align-items:baseline;column-gap:8px;display:grid}.zoi-metric dt{font-size:clamp(.65rem,2vw,.8rem)}.zoi-metric dd{color:#ffe2bf;font-variant-numeric:tabular-nums;grid-area:1/1;margin:0;font:900 clamp(1.4rem,5vw,2rem)/1 ui-monospace,monospace}.zoi-ammo{grid-column:4}.zoi-portrait{width:var(--zoi-portrait-size);height:var(--zoi-portrait-size);object-fit:contain;image-rendering:pixelated;grid-column:3;justify-self:center}.zoi-reticle{z-index:1;background:linear-gradient(var(--zoi-paper), var(--zoi-paper)) center / 2px 16px no-repeat, linear-gradient(var(--zoi-paper), var(--zoi-paper)) center / 16px 2px no-repeat;filter:drop-shadow(0 0 1px #000);pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:50%;translate:-50% -50%}.zoi-notice{z-index:1;top:calc(18% + env(safe-area-inset-top));text-align:center;pointer-events:none;background:#21191a;max-width:calc(100% - 110px);margin:0;padding:3px 10px;font-weight:800;position:absolute;left:50%;translate:-50%}.zoi-desktop-pause{z-index:2;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));min-height:48px;font-size:.8rem;position:absolute}@media (pointer:coarse) and (orientation:landscape){.zoi-desktop-pause{display:none}}@media (width<=600px),(height<=450px),(pointer:coarse){.zoi-stage{--zoi-portrait-size:48px}}@media (width<=480px),(height<=450px){.zoi-panel{padding:16px}.zoi-heading,.zoi-settings-heading{margin-bottom:12px}.zoi-metric{grid-template-columns:auto}.zoi-hud{gap:clamp(8px,2.5vw,18px)}}.zoi-settings-section{border-top:1px solid var(--zoi-metal);margin-bottom:10px;padding-bottom:6px}.zoi-settings-section summary{cursor:pointer;min-height:48px;padding-block:12px;font-weight:800}.zoi-stage .zoi-touch{--touch-bottom:calc(var(--zoi-hud-height) + 5px)}.zoi-open-tab{align-items:center;text-decoration:none;display:inline-flex}.zoi-stage[data-screen=finale] .zoi-panel{width:min(100%,52rem)}.zoi-finale h2{margin:0 0 8px;font-size:1.25rem}.zoi-final-table{margin-bottom:var(--zoi-gap);overflow-x:auto}.zoi-final-table table{border-collapse:collapse;text-align:left;width:100%;min-width:30rem}.zoi-final-table th,.zoi-final-table td{border-bottom:1px solid var(--zoi-metal);padding:6px 10px 6px 0}.zoi-gallery{margin-bottom:var(--zoi-gap)}.zoi-briefing .zoi-status{max-width:56ch}.zoi-briefing>p{color:var(--zoi-paper);font-weight:750}.zoi-stage[data-screen=briefing] .zoi-heading{overflow-wrap:normal;font-size:clamp(1.55rem,4.4vw,2.6rem)}.zoi-difficulty select{width:100%;min-width:0}@media (width<=480px){.zoi-stage:is([data-screen=briefing],[data-screen=finale],[data-screen=gallery]) .zoi-heading{font-size:clamp(1.55rem,7vw,2rem)}}.zoi-view-weapon{z-index:0;bottom:calc(var(--zoi-hud-height) - 4px);aspect-ratio:4/3;width:min(52vmin,430px,61.33vh);image-rendering:pixelated;pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.zoi-objective,.zoi-boss,.zoi-use-hint{z-index:1;color:var(--zoi-paper);text-shadow:0 1px 2px #120d0c,0 1px 6px #120d0c;pointer-events:none;margin:0;position:absolute}.zoi-objective{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));max-width:calc(100% - 120px);font-size:clamp(.86rem,2.5vw,1.1rem);font-weight:800}.zoi-boss{top:calc(env(safe-area-inset-top) + 48px);text-align:center;width:min(360px,58%);font-size:.82rem;font-weight:800;left:50%;transform:translate(-50%)}.zoi-navigation-arrow{color:#f4c67f;vertical-align:-1px;margin-right:9px;font-size:1.3em;line-height:1;display:inline-block}.zoi-navigation-arrow[hidden]{display:none}.zoi-boss p{margin:0}.zoi-boss progress{appearance:none;accent-color:#f06550;background:#2a2020;border:1px solid #eec2ad;border-radius:0;width:100%;height:10px;margin-block:4px;display:block}.zoi-boss progress::-webkit-progress-bar{background:#2a2020}.zoi-boss progress::-webkit-progress-value{background:#f06550}.zoi-boss progress::-moz-progress-bar{background:#f06550}.zoi-boss-signal{color:#ffc78a}.zoi-boss:has(.zoi-boss-duo:not([hidden])){width:min(600px,78%)}.zoi-boss-duo{grid-template-columns:1fr 1fr;gap:18px;display:grid}.zoi-boss-duo[hidden]{display:none}.zoi-boss-defeated{opacity:.55}.zoi-use-hint{background:#201819ee;padding:4px 9px;font-size:.85rem;top:55%;left:50%;transform:translate(-50%)}.zoi-use-touch{display:none}@media (pointer:coarse){.zoi-use-desktop{display:none}.zoi-use-touch{display:inline}}.zoi-stage:not([data-screen=game]) :is(.zoi-objective,.zoi-boss,.zoi-use-hint,.zoi-notice,.zoi-taunt){display:none}.zoi-stage:has(.zoi-boss:not([hidden])) .zoi-notice{top:calc(env(safe-area-inset-top) + 111px)}.zoi-stage .zoi-metric{margin:0}@media (pointer:coarse) and (orientation:portrait){.zoi-stage[data-screen=pause] :is(.zoi-canvas,.zoi-view-weapon){visibility:hidden}}.zoi-atlas{overflow:hidden}.zoi-portrait.zoi-atlas{position:relative}.zoi-atlas img{width:200%;max-width:none;height:200%;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0 auto auto 0}.zoi-atlas[data-frame="1"] img{translate:-50%}.zoi-atlas[data-frame="2"] img{translate:0 -50%}.zoi-atlas[data-frame="3"] img{translate:-50% -50%}.zoi-taunt{z-index:1;top:calc(72px + env(safe-area-inset-top,0px));right:max(14px, env(safe-area-inset-right));color:#251512;pointer-events:none;background:#fff0de;border:2px solid #2e1c17;max-width:min(32%,220px);margin:0;padding:7px 11px;font-size:clamp(.72rem,1.8vw,1rem);font-weight:900;line-height:1.15;position:absolute;box-shadow:0 3px 8px #120c0b80}.zoi-taunt:after{background:inherit;content:"";border-bottom:2px solid #2e1c17;border-right:2px solid #2e1c17;width:10px;height:10px;position:absolute;bottom:-7px;right:12px;transform:rotate(45deg)}.zoi-taunt-boss{background:#ffb7a0}.zoi-stage:has(.zoi-boss:not([hidden])) .zoi-taunt{top:calc(110px + env(safe-area-inset-top,0px))}.zoi-ammo dd{position:relative}.zoi-ammo dd.zoi-reloading:after{content:"";height:3px;transform:scaleX(var(--reload-progress,0));transform-origin:0;background:#edc593;position:absolute;bottom:-5px;left:0;right:0}.zoi-touch-button[aria-disabled=true]{opacity:.62}
