html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#93d7ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body.map-overview{width:var(--map-render-width, 14400px);min-width:var(--map-render-width, 14400px);height:var(--map-render-height, 540px);min-height:var(--map-render-height, 540px);overflow:auto;overscroll-behavior:auto}body.stage-map-capture{width:var(--map-render-width, 960px);min-width:var(--map-render-width, 960px);height:var(--map-render-height, 540px);min-height:var(--map-render-height, 540px);overflow:hidden}body.map-overview-static{width:auto;min-width:100%;height:auto;min-height:100%;overflow:auto;background:#182230}#game{width:100vw;height:100vh;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body.map-overview #game,body.stage-map-capture #game{width:var(--map-render-width, 14400px);height:var(--map-render-height, 540px)}canvas{display:block;image-rendering:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}body:not(.game-running) #game,body:not(.game-running) #face-video,body:not(.game-running) .options-menu{display:none}#face-video,.options-menu,body.map-overview #face-video,body.stage-map-capture #face-video,body.map-overview-static #face-video,body.map-overview .options-menu,body.stage-map-capture .options-menu,body.map-overview-static .options-menu,body.map-overview .loading-screen,body.stage-map-capture .loading-screen,body.map-overview-static .loading-screen,body.map-overview .orientation-overlay,body.stage-map-capture .orientation-overlay,body.map-overview-static .orientation-overlay,body.map-overview .debug-editor,body.stage-map-capture .debug-editor,body.map-overview-static .debug-editor,body.map-overview .movement-diagnostics,body.stage-map-capture .movement-diagnostics,body.map-overview-static .movement-diagnostics{display:none!important}.map-overview-viewer{min-width:max-content;padding:24px}.map-overview-viewer img{display:block;width:2976px;height:2844px;max-width:none;border:0}#stage-map-capture-controls{position:fixed;top:0;left:970px;z-index:1000;display:flex;gap:6px;align-items:center;padding:6px;background:#fff;color:#18222f;font:12px system-ui,sans-serif}#stage-map-capture-controls input{width:86px}button,canvas,div,span{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.title-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;overflow:hidden;background:#000;touch-action:manipulation}.title-artboard{position:relative;width:min(100vw,150vh);aspect-ratio:3 / 2;max-height:100vh}.title-screen-image{width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.title-hotspot{position:absolute;z-index:2;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.title-hotspot:focus-visible{outline:4px solid rgba(255,255,255,.92);outline-offset:4px;border-radius:8px}.title-start-hotspot{left:37.5%;top:66%;width:28%;height:9%}.title-options-hotspot{left:42%;top:76%;width:20%;height:8%}.character-select-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;padding:18px;background:#000000a8}.title-options-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;padding:18px;background:#00000094}.title-options-panel{display:grid;gap:14px;width:min(360px,calc(100vw - 32px));padding:22px;border:4px solid #18222f;background:#fff8dc;box-shadow:6px 6px #18222f;color:#18222f;text-align:center}.title-options-panel h1,.title-options-panel p{margin:0}.title-options-panel h1{font-size:24px}.title-options-panel button{min-height:40px;border:3px solid #18222f;background:#ffcf4a;color:#18222f;font:inherit;font-weight:900;cursor:pointer}.character-select-panel{position:relative;display:grid;gap:14px;width:min(94vw,1080px);max-height:min(92vh,720px);padding:clamp(14px,2vw,24px);border:3px solid rgba(255,255,255,.84);border-radius:8px;background:#090c13e6;box-shadow:0 22px 60px #0000008c,inset 0 0 32px #55c6ff24;color:#f7fbff;text-align:center;outline:none}.character-select-panel h1{margin:0;font-size:clamp(26px,5vw,52px);line-height:1;font-weight:950;text-shadow:0 3px 0 #17202a,0 0 18px rgba(255,217,97,.72)}.character-select-art{position:relative;overflow:hidden;width:100%;aspect-ratio:1536 / 864;align-self:center}.character-select-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.character-select-image-base{filter:brightness(85%)}.character-select-image-highlight{filter:brightness(105%) drop-shadow(0 0 22px rgba(255,237,137,.44))}.character-select-panel--lewis .character-select-image-highlight{clip-path:inset(0 66.666% 0 0)}.character-select-art:has(.character-select-choice-lewis:is(:hover,:focus-visible)) .character-select-image-highlight{clip-path:inset(0 66.666% 0 0)}.character-select-panel--szuyu .character-select-image-highlight{clip-path:inset(0 33.333% 0 33.333%)}.character-select-art:has(.character-select-choice-szuyu:is(:hover,:focus-visible)) .character-select-image-highlight{clip-path:inset(0 33.333% 0 33.333%)}.character-select-panel--kylie .character-select-image-highlight{clip-path:inset(0 0 0 66.666%)}.character-select-art:has(.character-select-choice-kylie:is(:hover,:focus-visible)) .character-select-image-highlight{clip-path:inset(0 0 0 66.666%)}.character-select-choice{position:absolute;top:12%;bottom:13%;z-index:2;display:grid;align-items:end;justify-items:center;padding:0 0 3%;border:0;background:transparent;color:#fff;cursor:pointer}.character-select-choice-lewis{left:0;width:31.5%}.character-select-choice-szuyu{left:34%;width:32%}.character-select-choice-kylie{right:0;width:31.5%}.character-select-choice:focus-visible,.character-select-back-button:focus-visible,.character-select-confirmation button:focus-visible{outline:4px solid rgba(255,255,255,.95);outline-offset:4px}.character-select-back-button,.character-select-confirmation button{min-height:42px;border:3px solid #18222f;border-radius:6px;background:#ffcf4a;color:#18222f;font:inherit;font-weight:900;cursor:pointer}.character-select-confirmation button{border-color:#fff;background:#05070a;color:#fff}.character-select-back-button{justify-self:center;min-width:138px;padding:0 22px}.character-select-back-button:active,.character-select-confirmation button:active{transform:translateY(2px)}.character-select-confirmation{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-items:center;padding:18px;border-radius:8px;background:#0000009e}.character-select-confirmation-panel{display:grid;gap:18px;width:min(360px,92%);padding:24px;border:3px solid #ffffff;border-radius:8px;background:#05070a;box-shadow:0 18px 44px #00000080;color:#fff}.character-select-confirmation-panel h2{margin:0;font-size:28px;line-height:1}.character-select-confirmation-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#000;color:#fff;text-align:center;touch-action:none}.loading-screen-content{display:grid;gap:14px;justify-items:center;width:min(82vw,390px)}.loading-screen-title{font-size:32px;line-height:1;font-weight:800}.loading-screen-percent{min-width:4ch;font-size:22px;line-height:1;font-weight:700}.loading-screen-instructions{width:min(100%,340px);height:auto;margin-top:22px;display:block}@media(max-width:720px){.character-select-placeholder{padding:10px}.character-select-panel{gap:10px;width:min(98vw,720px);padding:12px}.character-select-back-button{min-height:38px}}.orientation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:none;place-items:center;gap:14px;grid-template-rows:auto auto;background:#10151d;color:#fff;font-weight:900;text-align:center;touch-action:none}.orientation-overlay-icon{width:74px;height:46px;border:5px solid currentColor;border-radius:8px;box-shadow:0 0 0 2px #ffffff2e}.orientation-overlay-text{font-size:18px}body.requires-landscape.orientation-portrait .orientation-overlay{display:grid}.options-menu{position:fixed;top:14px;left:18px;z-index:5;display:grid;gap:8px;justify-items:start;color:#18222f;font-weight:800}.options-menu button{border:3px solid #18222f;color:#18222f;font:inherit;font-size:15px;font-weight:800;cursor:pointer}.options-button{display:none;min-height:38px;padding:0 16px;background:#ffcf4a;box-shadow:4px 4px #18222f}.options-button:active,.options-panel button:active{transform:translate(2px,2px)}.options-panel{display:grid;width:min(360px,calc(100vw - 36px));gap:10px;padding:10px;background:#fff8dc;border:3px solid #18222f;box-shadow:4px 4px #18222f}.options-row{display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:center}.options-row-stack{align-items:start}.options-label{font-size:13px}.segmented-control,.debug-options{display:flex;flex-wrap:wrap;gap:6px}.segmented-control button,.option-toggle,.debug-options button{min-height:32px;padding:0 10px;background:#fff}.segmented-control button.active,.option-toggle.active,.debug-options button.active{background:#55b7d9}.emulation-options button{min-width:0;flex:1 1 132px;white-space:normal}.debug-editor{position:fixed;top:14px;right:18px;z-index:6;display:grid;gap:8px;justify-items:end;color:#18222f;font-weight:800}.debug-editor button,.debug-editor select,.debug-editor textarea,.debug-editor input{font:inherit}.debug-editor-panel button{min-height:32px;border:3px solid #18222f;background:#fff;color:#18222f;cursor:pointer}.debug-editor-panel{display:grid;width:min(420px,calc(100vw - 36px));gap:8px;padding:10px;background:#fff8dc;border:3px solid #18222f;box-shadow:4px 4px #18222f}.debug-editor-title{font-size:14px}.debug-editor-label{display:grid;gap:4px;font-size:12px}.debug-editor select{min-height:32px;border:2px solid #18222f;background:#fff;color:#18222f}.debug-editor-metrics{min-height:18px;font-size:12px;line-height:1.35}.debug-editor-camera,.debug-editor-actions{display:flex;gap:6px;align-items:center}.debug-editor-camera input{min-width:0;flex:1}.debug-editor-panel button{padding:0 10px}.debug-editor-output{box-sizing:border-box;width:100%;min-height:180px;padding:8px;border:2px solid #18222f;color:#18222f;background:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:600;resize:vertical}.movement-diagnostics{position:fixed;left:max(10px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));z-index:12;box-sizing:border-box;width:min(620px,calc(100vw - 20px));max-height:min(62vh,430px);padding:10px;overflow:auto;border:2px solid rgba(255,255,255,.82);background:#080b0fd1;color:#fff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.35;pointer-events:none;text-shadow:0 1px 0 #000000}.movement-diagnostics-title{margin-bottom:4px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:900}.movement-diagnostics-primary{color:#ffcf4a;font-size:14px;font-weight:900}.movement-diagnostics-codes{min-height:15px;margin:2px 0 6px;color:#a9e9ff;font-weight:800}.movement-diagnostics-controls{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;pointer-events:auto}.movement-diagnostics-controls button{min-height:30px;padding:0 9px;border:2px solid rgba(255,255,255,.76);background:#ffffff1f;color:#fff;font:900 11px/1 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-shadow:0 1px 0 #000000}.movement-diagnostics-controls button.active{background:#55b7d9;color:#18222f;text-shadow:none}.movement-diagnostics-details{margin:0;white-space:pre-wrap}.speech-status{max-width:100%;min-height:18px;color:#18222f;font-size:12px;font-weight:800;text-align:left;text-shadow:1px 1px 0 #fff8dc}#face-video{display:none}.virtual-controller{position:fixed;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:end;justify-content:space-between;box-sizing:border-box;padding:0 max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}.virtual-controller-dpad,.virtual-controller-actions{pointer-events:auto}.virtual-controller-dpad{display:grid;grid-template-areas:". up ." "left . right" ". down .";grid-template-columns:repeat(3,58px);grid-template-rows:repeat(3,58px);gap:4px}.virtual-controller-actions{display:grid;grid-template-columns:repeat(2,66px);grid-template-rows:66px;gap:14px;align-items:end;padding-bottom:22px}.virtual-controller-button{display:grid;place-items:center;width:100%;height:100%;padding:0;border:3px solid rgba(24,34,47,.88);border-radius:50%;background:#fff8dcb8;color:#18222f;box-shadow:0 6px #18222f6b;font:900 24px/1 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.virtual-controller-button.up{grid-area:up}.virtual-controller-button.left{grid-area:left}.virtual-controller-button.right{grid-area:right}.virtual-controller-button.down{grid-area:down}.virtual-controller-button.a{background:#55b7d9c7}.virtual-controller-button.b{background:#ffcf4ac7}.virtual-controller-button.pressed{transform:translateY(4px);box-shadow:0 2px #18222f85}.virtual-controller.emulation-iphone{padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(14px,env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left))}.virtual-controller.emulation-iphone .virtual-controller-dpad{grid-template-columns:repeat(3,50px);grid-template-rows:repeat(3,50px);gap:3px}.virtual-controller.emulation-iphone .virtual-controller-actions{grid-template-columns:repeat(2,58px);grid-template-rows:58px;gap:10px;padding-bottom:18px}.virtual-controller.emulation-iphone .virtual-controller-button{border-width:2px;font-size:21px}.virtual-controller.emulation-ipad{padding-right:max(48px,env(safe-area-inset-right));padding-bottom:max(34px,env(safe-area-inset-bottom));padding-left:max(48px,env(safe-area-inset-left))}.virtual-controller.emulation-ipad .virtual-controller-dpad{grid-template-columns:repeat(3,68px);grid-template-rows:repeat(3,68px);gap:6px}.virtual-controller.emulation-ipad .virtual-controller-actions{grid-template-columns:repeat(2,76px);grid-template-rows:76px;gap:18px;padding-bottom:28px}.virtual-controller.emulation-ipad .virtual-controller-button{font-size:27px}@media(max-width:700px),(max-height:460px){.virtual-controller{padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left))}.virtual-controller-dpad{grid-template-columns:repeat(3,50px);grid-template-rows:repeat(3,50px);gap:3px}.virtual-controller-actions{grid-template-columns:repeat(2,58px);grid-template-rows:58px;gap:10px;padding-bottom:18px}.virtual-controller-button{border-width:2px;font-size:21px}}
