.equipment-footer{grid-template-columns:minmax(0,1fr) 170px;height:87px}.equipment-rows{grid-template-columns:minmax(0,280px) minmax(0,140px);gap:24px}#weapon-slots{grid-template-columns:repeat(4,minmax(0,1fr))}#buff-slots{grid-template-columns:repeat(2,minmax(0,1fr))}#joystick{--pad-size:132px;display:block;position:absolute;width:var(--pad-size);height:var(--pad-size);left:18px;bottom:14px;border:1px solid #9ac6de80;background:#12283b78;border-radius:50%;touch-action:none;user-select:none;z-index:15;box-shadow:inset 0 0 20px #52b2d524}#joystick .joystick-knob{position:absolute;width:32px;height:32px;left:calc(50% - 16px);top:calc(50% - 16px);border:1px solid #bddff4a0;border-radius:50%;background:#90c7e480;pointer-events:none;box-shadow:0 2px 8px #07172680}.move-button{position:absolute;width:44px;height:44px;min-width:0;padding:0;border:1px solid #92bad775;background:#1a3c58aa;color:#d9f1ff;border-radius:14px;font-size:24px;line-height:1;touch-action:none;transform:none;transition:none;box-shadow:none;text-shadow:none}.move-button[data-move=up]{top:0;left:calc(50% - 22px)}.move-button[data-move=down]{bottom:0;left:calc(50% - 22px)}.move-button[data-move=left]{left:0;top:calc(50% - 22px)}.move-button[data-move=right]{right:0;top:calc(50% - 22px)}.move-button.pressed{background:#418aafdd;border-color:#d7f3ff;box-shadow:0 0 12px #72ceff75}.move-button:focus-visible,#game-frame .charge-skill:focus-visible{outline:2px solid #fff3c3;outline-offset:3px}#joystick.inactive{opacity:.45;pointer-events:none}#game-frame .charge-skill{--charge:0%;position:absolute;right:22px;bottom:20px;z-index:15;width:96px;min-width:0;height:96px;padding:6px;border:2px solid #ad9c74;border-radius:50%;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:radial-gradient(circle,#273a52 62%,transparent 64%),conic-gradient(#dab870 var(--charge),#17293e var(--charge));touch-action:none;user-select:none;transform:none;text-shadow:none;box-shadow:0 3px 16px #07101c80}#game-frame .charge-skill i{display:none}#game-frame .charge-skill>span{position:relative;inset:auto;font-size:17px;line-height:1.1;font-weight:700;color:#efdaa2}#game-frame .charge-skill small{display:block;position:relative;inset:auto;font-size:11px;color:#c8d5e4;letter-spacing:0;white-space:nowrap;line-height:1.2}#game-frame .charge-skill small span{font:inherit;line-height:inherit;color:inherit}.touch-guide{display:none}.keyboard-guide{display:inline}#game-frame .charge-skill small .touch-guide{display:none}#game-frame .charge-skill small .keyboard-guide{display:inline}#game-frame .charge-skill:disabled{opacity:.7;filter:none}#game-frame .charge-skill.ready{border-color:#ffe4a2;box-shadow:0 0 20px #ffc96770}#game-frame .charge-skill.pressed{background:radial-gradient(circle,#826235 62%,transparent 64%),conic-gradient(#ffe1a0 var(--charge),#17293e var(--charge))}@media(max-width:900px){.equipment-footer{grid-template-columns:1fr;gap:12px}.equipment-rows{gap:14px}#joystick{left:12px;bottom:12px}#game-frame .charge-skill{right:14px;bottom:18px;width:88px;height:88px}}@media(max-width:760px){.equipment-footer{height:64px;grid-template-columns:1fr;padding:6px 10px}.equipment-rows{grid-template-columns:2fr 1fr;gap:12px}.equipment-group>small{display:block;font-size:9px;line-height:1.2;margin:0 0 3px}.equipment-slots .slot{height:35px}.equipment-slots .slot img{height:29px}#joystick{--pad-size:120px;left:10px;bottom:10px}#game-frame .charge-skill{right:12px;bottom:20px;width:80px;height:80px}#game-frame .charge-skill span{font-size:15px}#game-frame .charge-skill small{font-size:10px}}@media(max-height:600px)and (orientation:landscape){.equipment-footer{height:58px;padding:4px 10px}.equipment-group>small{display:none}#joystick{--pad-size:120px;bottom:8px}#game-frame .charge-skill{bottom:14px;width:80px;height:80px}}@media(prefers-reduced-motion:reduce){#game-frame .charge-skill,.move-button{transition:none}}@media(pointer:coarse){.touch-guide{display:inline}.keyboard-guide{display:none}#game-frame .charge-skill small .touch-guide{display:inline}#game-frame .charge-skill small .keyboard-guide{display:none}#hud{height:56px;padding:6px 10px}#pause-button{min-width:44px;min-height:44px;padding:0 6px}#game-frame .charge-skill{width:96px;height:96px}#game-frame .charge-skill small{font-size:12px}.choices .keycap{display:none}.modal-actions button{min-height:44px}}@media(pointer:coarse)and (orientation:landscape){#app.playing{width:min(1440px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right)),calc(100dvh*16/9))}#play-screen{position:relative}#hud{position:absolute;top:0;left:0;right:0;z-index:26;background:#102038e8}#play-screen>#difficulty-hint,#play-screen>#quest-hint{display:none}.equipment-footer{position:absolute;left:0;right:0;bottom:0;z-index:20;height:calc(50px + env(safe-area-inset-bottom));padding:4px 10px calc(4px + env(safe-area-inset-bottom));background:#102038e8;grid-template-columns:1fr}.equipment-rows{grid-template-columns:minmax(0,280px) minmax(0,140px);gap:12px}.equipment-group>small{display:block;font-size:9px;margin-bottom:2px}.equipment-slots .slot{height:30px}.equipment-slots .slot img,.equipment-slots .slot .buff-icon{height:26px;width:26px}#wave-label{display:none}#joystick{--pad-size:132px;bottom:calc(64px + env(safe-area-inset-bottom))}#game-frame .charge-skill{bottom:calc(70px + env(safe-area-inset-bottom))}#toast{bottom:calc(55px + env(safe-area-inset-bottom))}}
