*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}body{color:#1c2a4a;-webkit-font-smoothing:antialiased;overscroll-behavior:none;background:#3fb9ea;min-height:100dvh;font-family:system-ui,-apple-system,Segoe UI,sans-serif}#root{isolation:isolate;position:relative}.stage{z-index:1;height:100dvh;position:relative}.tc{z-index:40;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;--tc-navy:#1d2a5c;--tc-fill:#f6f8ff9e;--tc-fill-down:#a0b2e6cc;--tc-left:calc(var(--tc-pad) + env(safe-area-inset-left,0px));--tc-right:calc(var(--tc-pad) + env(safe-area-inset-right,0px));--tc-bottom:calc(var(--tc-pad) + env(safe-area-inset-bottom,0px));--tc-top:calc(var(--tc-pad) + env(safe-area-inset-top,0px));display:none;position:fixed;inset:0}@media (pointer:coarse){.tc{display:block}}.tc.tc--touch{display:block}.tc.tc--hidden{display:none}.tc-btn{box-sizing:border-box;pointer-events:auto;touch-action:none;cursor:pointer;opacity:var(--tc-opacity,1);background:var(--tc-fill);border:var(--tc-border) solid var(--tc-navy);border-bottom-width:var(--tc-lip);clip-path:polygon(var(--tc-border) 0, calc(100% - var(--tc-border)) 0, calc(100% - var(--tc-border)) var(--tc-border), 100% var(--tc-border), 100% calc(100% - var(--tc-border)), calc(100% - var(--tc-border)) calc(100% - var(--tc-border)), calc(100% - var(--tc-border)) 100%, var(--tc-border) 100%, var(--tc-border) calc(100% - var(--tc-border)), 0 calc(100% - var(--tc-border)), 0 var(--tc-border), var(--tc-border) var(--tc-border));flex-direction:column;justify-content:center;align-items:center;gap:4px;margin:0;padding:0;display:flex;position:absolute}.tc-btn.is-down{opacity:1;background:var(--tc-fill-down);border-bottom-width:var(--tc-border);border-top-width:var(--tc-lip)}.tc-glyph{image-rendering:pixelated;pointer-events:none;flex:none;display:block}.tc-dpad{left:var(--tc-left);bottom:var(--tc-bottom);width:calc(var(--tc-dpad-half) * 2 + var(--tc-border) * 3);height:calc(var(--tc-dpad-half) + var(--tc-border) + var(--tc-lip));background:0 0;flex-direction:row;gap:0}.tc-dpad.is-down{background:0 0}.tc-dpad__half{width:var(--tc-dpad-half);background:var(--tc-fill);pointer-events:none;justify-content:center;align-items:center;height:100%;display:flex}.tc-dpad__half+.tc-dpad__half{width:calc(var(--tc-dpad-half) + var(--tc-border));border-left:var(--tc-border) solid var(--tc-navy)}.tc-dpad__half.is-down{background:var(--tc-fill-down)}.tc-down{left:calc(var(--tc-left) + var(--tc-dpad-half) * 2 + var(--tc-border) * 3 + var(--tc-gap));bottom:var(--tc-bottom);width:var(--tc-down-w);height:calc(var(--tc-dpad-half) + var(--tc-border) + var(--tc-lip))}.tc-up{left:calc(var(--tc-left) + var(--tc-dpad-half) * 2 + var(--tc-border) * 3 + var(--tc-gap) + var(--tc-down-w) + var(--tc-gap));bottom:var(--tc-bottom);width:var(--tc-down-w);height:calc(var(--tc-dpad-half) + var(--tc-border) + var(--tc-lip));display:none}.tc--ctx-up .tc-up,.tc--ctx-climb .tc-up{display:flex}.tc--menu .tc-up{display:none}@media (width<=480px){.tc-down{left:var(--tc-left);bottom:calc(var(--tc-bottom) + var(--tc-dpad-half) + var(--tc-border) + var(--tc-lip) + var(--tc-gap));width:calc(var(--tc-dpad-half) * 2 + var(--tc-border) * 3);height:var(--tc-down-h)}.tc-up{left:calc(var(--tc-left) + var(--tc-dpad-half) * 2 + var(--tc-border) * 3 + var(--tc-gap));bottom:calc(var(--tc-bottom) + var(--tc-dpad-half) + var(--tc-border) + var(--tc-lip) + var(--tc-gap));height:var(--tc-down-h)}}.tc-actions{right:var(--tc-right);bottom:var(--tc-bottom);width:calc(var(--tc-item-w) + var(--tc-gap) + var(--tc-run-w) + var(--tc-gap) + var(--tc-jump));height:var(--tc-jump);pointer-events:none;position:absolute}.tc-jump{width:var(--tc-jump);height:var(--tc-jump);bottom:0;right:0}.tc-run{right:calc(var(--tc-jump) + var(--tc-gap));width:var(--tc-run-w);height:var(--tc-run-h);bottom:0}.tc-item{right:calc(var(--tc-jump) + var(--tc-gap) + var(--tc-run-w) + var(--tc-gap));width:var(--tc-item-w);height:var(--tc-item-h);bottom:0}.tc-pause{top:50%;right:var(--tc-right);width:var(--tc-pause-w);height:var(--tc-pause-h);transform:translateY(-50%)}.tc-swap{top:calc(50% + var(--tc-pause-h) / 2 + var(--tc-gap));right:var(--tc-right);width:var(--tc-pause-w);height:var(--tc-pause-h)}.tc--menu .tc-pause{top:var(--tc-top);transform:none}.tc--menu .tc-swap{display:none}@media (width<=359px){.tc{--tc-pad:8px!important;--tc-gap:4px!important;--tc-dpad-half:52px!important}}.credits-viewport{pointer-events:none;opacity:0;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 9% 93%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 9% 93%,#0000 100%)}.credits-viewport[data-active=off]{display:none}.credits-reel{transform-origin:0 0;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.credits-reel canvas{image-rendering:crisp-edges;image-rendering:pixelated;display:block;position:absolute}.credits-photo{position:absolute;top:0;left:0}.credits-photo-img{object-fit:cover;image-rendering:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:#fff8ec;display:block;position:absolute}.credits-photo-img[data-state=error]{visibility:hidden}.credits-photo-veil{image-rendering:pixelated;background-color:#fff8ec;background-position:50%;background-repeat:no-repeat;background-size:0 0;position:absolute}.credits-photo[data-failed=on] .credits-photo-veil{background-size:var(--camera-size,auto);opacity:1!important}.game-root{touch-action:none;-webkit-user-select:none;user-select:none;background:#3fb9ea;position:fixed;inset:0;overflow:hidden}.game-canvas{image-rendering:crisp-edges;image-rendering:pixelated;display:block;position:absolute;top:0;left:0}.game-root[data-stage=on]{background:#000}.game-canvas--hud{z-index:1;pointer-events:none}.game-root[data-crt=on]:after{content:"";z-index:2;pointer-events:none;background:radial-gradient(ellipse at center, #0000 58%, #14103c38 100%), repeating-linear-gradient(to bottom, #0000 0, #0000 calc(var(--scan-period,3px) - var(--scan-dark,1px)), #00000017 calc(var(--scan-period,3px) - var(--scan-dark,1px)), #00000017 var(--scan-period,3px));position:absolute;inset:0}
