html,body{margin:0;height:100%;background:#0d0d12;color:#eee;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:manipulation}#app{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.stage-frame{position:relative;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #000,0 8px 40px #0009}.stage{position:absolute;left:0;top:0;width:480px;height:360px;transform-origin:0 0;overflow:hidden;background:#fff}.sprite{position:absolute;left:0;top:0;max-width:none;pointer-events:none;will-change:transform}.sprite.clickable{pointer-events:auto;cursor:pointer}.sprite.backdrop{pointer-events:none}.bubble{--bubble-bg: #fff;--bubble-edge: rgba(0, 0, 0, .15);--bubble-ink: #575e75;position:absolute;max-width:174px;box-sizing:border-box;padding:8px 10px 10px;background:var(--bubble-bg);border:2px solid var(--bubble-edge);border-radius:16px;color:var(--bubble-ink);font-size:14px;line-height:1.25;z-index:1000;pointer-events:none}.bubble:after{content:"";position:absolute;z-index:-1;left:14px;bottom:-9px;width:14px;height:14px;background:var(--bubble-bg);border-right:2px solid var(--bubble-edge);border-bottom:2px solid var(--bubble-edge);transform:rotate(45deg) skew(10deg,10deg)}.bubble.flip:after{left:auto;right:14px}.bubble.behind{z-index:990}.bubble.theme-cerulean{--bubble-bg: #2f9fd8;--bubble-edge: #1c78a8;--bubble-ink: #fff}.bubble.theme-lunah{--bubble-bg: #c9a173;--bubble-edge: #7a4a21;--bubble-ink: #000}.bubble.theme-bunbun{--bubble-bg: #d62b2b;--bubble-edge: #8a8a8a;--bubble-ink: #000}.typebox{position:absolute;left:134.25px;bottom:6px;width:211.5px;height:64.75px;z-index:1001}.typebox img{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}.typebox-field{position:absolute;left:8.4px;top:9.8px;width:194.7px;height:21.2px;box-sizing:border-box;padding:0 6px;border:0;outline:none;background:transparent;color:#fff;caret-color:#fff;font:13px/21px Helvetica Neue,Helvetica,Arial,sans-serif}.typebox-submit,.typebox-cancel{position:absolute;top:38.1px;width:46.5px;height:18.5px;padding:0;border:0;background:transparent;cursor:pointer}.typebox-submit{left:37.5px}.typebox-cancel{left:120px}.typebox-submit:hover,.typebox-cancel:hover{background:#ffffff1f}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#0a0a14e0;color:#fff;text-align:center}.overlay h1{margin:0;font-size:34px;letter-spacing:1px}.overlay p{margin:0;font-size:14px;opacity:.85;max-width:360px}.overlay button,.hud-button{font:inherit;cursor:pointer;border:2px solid rgba(255,255,255,.7);background:#0000008c;color:#fff;border-radius:8px;padding:6px 14px}.overlay button.primary{background:#ff8c1a;border-color:#ffc27a;font-size:16px;padding:8px 22px}.hud-button{position:absolute;z-index:1500;font-size:11px;padding:3px 8px}.hud-button.hidden{display:none}.debug{position:absolute;left:4px;top:4px;z-index:3000;background:#000000bf;color:#9f9;font:10px/1.3 monospace;padding:4px 6px;border-radius:4px;pointer-events:none;white-space:pre}.gate{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#0d0d12;color:#fff;z-index:5000;text-align:center}.gate h1{margin:0;font-size:40px;letter-spacing:1px}.gate p{margin:0;font-size:18px;opacity:.85}.gate input{width:min(280px,80vw);font-size:20px;padding:8px 14px;text-align:center;border-radius:10px;border:2px solid #ffc27a;background:#1b1b26;color:#fff;outline:none}.gate button{font:inherit;font-size:16px;cursor:pointer;border:2px solid #ffc27a;background:#ff8c1a;color:#fff;border-radius:10px;padding:8px 26px}.gate-message{min-height:20px;color:#ffb3b3;font-size:14px}.gate.shake{animation:shake .35s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.shop-hud{position:absolute;left:10px;top:204px;width:60.5px;height:92px;box-sizing:border-box;z-index:1500;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0009;border:2px solid rgba(255,255,255,.8);border-radius:4px;color:#fff;font-size:10px;line-height:1.35;text-align:center;pointer-events:none}.shop-hud b{font-size:18px}.creator{position:absolute;left:50%;bottom:6px;transform:translate(-50%);z-index:1500;display:flex;gap:4px}.creator button{font:inherit;font-size:11px;cursor:pointer;border:2px solid rgba(255,255,255,.7);background:#000000a6;color:#fff;border-radius:6px;padding:3px 7px}.creator button.done{background:#ff8c1a;border-color:#ffc27a}.damage-text{position:absolute;left:28px;top:203px;z-index:1400;font:700 13px Comic Sans MS,Marker Felt,cursive;color:#000;pointer-events:none}.luna-stats{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;animation:stat-glow 1.8s ease-in-out infinite alternate}@keyframes stat-glow-blue{0%{filter:drop-shadow(0 0 .5px rgba(0,174,255,.5)) brightness(.95)}to{filter:drop-shadow(0 0 3px rgba(150,220,255,.95)) brightness(1.2)}}.cerulean-stats{animation-name:stat-glow-blue}@keyframes stat-glow{0%{filter:drop-shadow(0 0 .5px rgba(255,0,195,.5)) brightness(.9)}to{filter:drop-shadow(0 0 3px rgba(255,130,230,.95)) brightness(1.25)}}.flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;z-index:1800;pointer-events:none}
