*{box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{width:100vw;height:var(--app-height,100dvh);min-height:var(--app-height,100dvh);background-color:#1a1a24;font-family:Inter,-apple-system,sans-serif;overflow:hidden}#game-container{width:100%;height:var(--app-height,100dvh);justify-content:center;align-items:center;display:flex;position:relative}#game-canvas{image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated;outline:none;display:block}#dialog-overlay{pointer-events:none;z-index:10000;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:24px 0;display:flex;position:absolute;top:0;left:0}#dialog-overlay.hidden{display:none}#dialog-overlay.dialog-top{padding-top:max(24px, env(safe-area-inset-top));align-items:flex-start;padding-bottom:0}#dialog-overlay.dialog-bottom{padding-top:0;padding-bottom:calc(max(24px, env(safe-area-inset-bottom)) + 152px);align-items:flex-end}.dialog-box{pointer-events:auto;background:#000000f2;border:4px solid #fff;width:90%;max-width:450px;min-height:120px;padding:20px;position:relative;box-shadow:0 10px 30px #00000080}.dialog-name{color:#f1c40f;text-transform:uppercase;margin-bottom:20px;font-family:"Press Start 2P",cursive;font-size:18px}.dialog-text{color:#fff;word-wrap:break-word;white-space:pre-wrap;font-family:"Press Start 2P",cursive;font-size:16px;line-height:1.8}.untyped-text{color:#0000;-webkit-user-select:none;user-select:none}.dialog-indicator{color:#fff;font-size:16px;animation:.6s step-end infinite blink;display:none;position:absolute;bottom:15px;right:25px}.hidden{display:none!important}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}#mobile-controls{pointer-events:none;z-index:5000;touch-action:none;width:100%;height:100%;position:absolute;top:0;left:0}#joystick-container{bottom:calc(max(24px, env(safe-area-inset-bottom)) + 24px);left:max(20px, env(safe-area-inset-left));pointer-events:auto;width:156px;height:156px;position:absolute;overflow:visible}#joystick-base{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:3px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.control-hint{color:#fff;text-shadow:0 2px 10px #000000bf;white-space:normal;opacity:0;z-index:2;pointer-events:none;text-align:center;overflow-wrap:anywhere;width:148px;max-width:148px;font-family:"Press Start 2P",cursive;font-size:15px;line-height:1.4;display:none;position:absolute;left:50%;transform:translate(-50%)}.control-hint-move,.control-hint-action{bottom:136px}#joystick-stick{will-change:transform;background:#fffc;border:4px solid #f1c232;border-radius:50%;width:50px;height:50px;transition:transform 50ms ease-out;position:absolute}#action-button-container{right:max(8px, env(safe-area-inset-right));bottom:calc(max(24px, env(safe-area-inset-bottom)) + 24px);pointer-events:auto;width:156px;height:156px;position:absolute;overflow:visible}#action-button{color:#f1c232;cursor:pointer;touch-action:manipulation;background:#0f0f19cc;border:4px solid #f1c232;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;font-family:"Press Start 2P",cursive;font-size:28px;transition:background .1s,transform .1s,box-shadow .1s;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 5px 15px #00000080}#action-button:active,#action-button.pressed{color:#000;background:#f1c232;transform:translate(-50%)scale(.9)}body.start-mode #joystick-base,body.start-mode #action-button{animation:1.2s ease-in-out infinite controlPulse}body.start-mode .control-hint{animation:1.2s ease-in-out infinite hintFade;display:block}@media screen and (width<=600px){.dialog-box{width:95%;max-width:none;min-height:0;padding:14px 14px 20px}.dialog-name{margin-bottom:10px;font-size:12px;line-height:1.5}.dialog-text{font-size:11px;line-height:1.7}.dialog-indicator{bottom:10px;right:16px}#joystick-container{width:148px;height:148px;left:max(16px, env(safe-area-inset-left));bottom:calc(max(18px, env(safe-area-inset-bottom)) + 24px)}#joystick-base{width:112px;height:112px}#joystick-stick{width:48px;height:48px}#action-button-container{right:max(10px, env(safe-area-inset-right));bottom:calc(max(18px, env(safe-area-inset-bottom)) + 24px);width:148px;height:148px}#action-button{width:88px;height:88px;font-size:26px}.control-hint{width:132px;max-width:132px;font-size:13px}.control-hint-move,.control-hint-action{bottom:122px}}@media screen and (width<=600px) and (orientation:portrait){#dialog-overlay{padding-left:10px;padding-right:10px}#dialog-overlay.dialog-top{padding-top:max(16px, env(safe-area-inset-top))}#dialog-overlay.dialog-bottom{padding-bottom:calc(max(176px, env(safe-area-inset-bottom)) + 176px)}.dialog-box{width:100%}}@media screen and (height<=540px){#dialog-overlay.dialog-bottom{padding-bottom:calc(max(168px, env(safe-area-inset-bottom)) + 168px)}.dialog-box{min-height:0}}@keyframes controlPulse{0%,to{transform:translate(-50%)scale(1);box-shadow:0 5px 15px #00000080}50%{transform:translate(-50%)scale(1.08);box-shadow:0 0 0 10px #f1c2321f,0 8px 20px #0000008c}}@keyframes hintFade{0%,to{opacity:.55;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(-2px)}}
