:root{color:#f4ead8;background:#080b12;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-synthesis:none}*{box-sizing:border-box}html,body{width:100%;height:100%;min-width:0;min-height:0;margin:0;overscroll-behavior:none}body{display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 20%,#172333 0,#080b12 58%),#080b12}main{display:grid;grid-template-rows:minmax(0,1fr) 34px;width:100%;height:100vh;height:100dvh;min-width:0;min-height:0;overflow:hidden}#game{width:100%;height:100%;min-width:0;min-height:0;position:relative;overflow:hidden;background:#080b12;touch-action:none}#game canvas{display:block;image-rendering:auto!important;box-shadow:0 0 0 1px #3b4655,0 16px 60px #000a}#game>div{top:0;left:0}#game:fullscreen,#game:-webkit-full-screen{width:100vw;height:100vh;min-width:0;min-height:0;background:#080b12}#game:fullscreen canvas,#game:-webkit-full-screen canvas{box-shadow:none}.fight-hud__name,.fight-hud__timer,.fight-hud__value,.fight-hud__ultimate-label{display:block;margin:0;color:#f4ead8;line-height:1;white-space:nowrap;user-select:none}.fight-hud__name,.fight-hud__timer{font-family:Impact,Arial Narrow,sans-serif;font-weight:700;text-shadow:0 1px 0 #080b12,1px 0 0 #080b12,0 -1px 0 #080b12,-1px 0 0 #080b12}.fight-hud__name{font-size:13px;letter-spacing:.15px}.fight-hud__timer{font-size:19px;text-shadow:0 1px 0 #080b12,1px 0 0 #080b12,0 -1px 0 #080b12,-1px 0 0 #080b12,0 2px 2px #000a}.fight-hud__value{font-family:Helvetica Neue,Arial,sans-serif;font-size:6.5px;font-weight:700;text-shadow:0 1px 1px #080b12}.fight-hud__value--ready{color:#fff;letter-spacing:.35px;text-shadow:0 0 2px #fff,0 0 5px currentColor}.fight-hud__ultimate-label{box-sizing:border-box;min-width:56px;padding:1px 2px 0;border:1px solid rgb(244 234 216 / 48%);border-radius:1px;color:#f6efe1;background:#04070afa;font-family:Helvetica Neue,Arial,sans-serif;font-size:5.8px;font-weight:900;letter-spacing:0;text-align:center;text-shadow:0 1px 1px #000}.ending-ui__eyebrow,.ending-ui__title,.ending-ui__label,.ending-ui__score,.ending-ui__difficulty,.ending-ui__footer{display:block;margin:0;color:#f4ead8;line-height:1;white-space:nowrap;user-select:none;text-shadow:0 1px 1px #000,0 0 5px #020508}.combat-callout{--combat-accent: #f5a742;display:block;margin:0;padding:3px 7px 2px;border:1px solid var(--combat-accent);border-radius:2px;color:#f4ead8;background:#03070be0;font-family:Impact,Arial Narrow,sans-serif;font-size:7px;line-height:1;letter-spacing:.45px;white-space:nowrap;text-shadow:0 1px 1px #000;box-shadow:0 0 5px color-mix(in srgb,var(--combat-accent) 55%,transparent);user-select:none}.combat-callout--ultimate{padding:4px 10px 3px;color:#fff;font-size:10px;letter-spacing:.7px;box-shadow:0 0 10px var(--combat-accent)}.ending-ui__eyebrow,.ending-ui__label,.ending-ui__difficulty,.ending-ui__footer{font-family:Helvetica Neue,Arial,sans-serif;font-weight:700;letter-spacing:1.1px}.ending-ui__eyebrow{color:#57d8e8;font-size:7px}.ending-ui__title{font-family:Impact,Arial Narrow,sans-serif;font-size:23px;font-weight:700;letter-spacing:.4px}.ending-ui__label{color:#9fadb7;font-size:5.5px}.ending-ui__score{color:#fff4de;font-family:Impact,Arial Narrow,sans-serif;font-size:16px;font-weight:700;letter-spacing:1.5px}.ending-ui__difficulty{color:#f5a742;font-size:6px}.ending-ui__footer{color:#8f9ca5;font-size:5.5px;letter-spacing:1.4px}.help{height:34px;margin:0;padding:9px 12px 0;overflow:hidden;color:#aab2bf;text-align:center;white-space:nowrap;font-size:clamp(8px,1.1vw,11px)}@media(max-height:360px){main{grid-template-rows:minmax(0,1fr)}.help{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.touch-controls-enabled main{grid-template-rows:minmax(0,1fr)}.touch-controls-enabled .help{display:none}.touch-controls{position:absolute;z-index:900;inset:0;overflow:hidden;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none}.touch-button{min-width:48px;min-height:48px;margin:0;padding:0 8px;border:2px solid rgb(87 216 232 / 72%);border-radius:13px;color:#f7fbfc;background:#03090e94;font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.25px;text-align:center;text-shadow:0 1px 2px #000;box-shadow:inset 0 0 0 2px #ffffff12,0 2px 7px #0000007a;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent}.touch-button.is-pressed{border-color:#ffd08a;background:#f5a742b8;box-shadow:inset 0 0 8px #ffffff57,0 0 10px #f5a74294;transform:scale(.94)}.touch-button--ultimate{border-color:#f5a742e0;color:#fff0d1}.touch-button--pause{position:absolute;top:max(8px,env(safe-area-inset-top));left:50%;min-width:72px;min-height:38px;border-color:#f4ead87a;border-radius:9px;font-size:9px;transform:translate(-50%)}.touch-button--pause.is-pressed{transform:translate(-50%) scale(.94)}.touch-pad{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));width:170px;height:116px}.touch-pad .touch-button{position:absolute;width:54px;min-width:54px;height:54px;min-height:54px;padding:0;border-radius:15px;font-size:20px}.touch-button--up{top:0;left:58px}.touch-button--left{top:58px;left:0}.touch-button--down{top:58px;left:58px}.touch-button--right{top:58px;left:116px}.touch-actions{position:absolute;right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,minmax(66px,78px));gap:7px}.touch-actions .touch-button{min-height:52px}.touch-menu-navigation{position:absolute;right:max(8px,env(safe-area-inset-right));bottom:max(7px,env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left));display:flex;justify-content:center;gap:clamp(5px,1.2vw,10px);pointer-events:none}.touch-menu-navigation .touch-button{min-width:48px;min-height:44px}.touch-button--back,.touch-button--confirm{min-width:76px!important}.touch-player{position:absolute;bottom:max(8px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:8px;width:calc(50% - 30px)}.touch-player--one{left:max(8px,env(safe-area-inset-left));justify-content:flex-start}.touch-player--two{right:max(8px,env(safe-area-inset-right));justify-content:flex-end}.touch-player .touch-pad,.touch-player .touch-actions{position:relative;inset:auto;flex:0 0 auto}.touch-player .touch-pad{width:142px;height:98px}.touch-player .touch-pad .touch-button{width:46px;min-width:46px;height:46px;min-height:46px;border-radius:12px;font-size:17px}.touch-player .touch-button--up{left:48px}.touch-player .touch-button--left{top:50px}.touch-player .touch-button--down{top:50px;left:48px}.touch-player .touch-button--right{top:50px;left:96px}.touch-player .touch-actions{grid-template-columns:repeat(2,62px);gap:5px}.touch-player .touch-actions .touch-button{min-width:62px;min-height:45px;padding:0 4px;border-radius:11px;font-size:8px}.touch-duo-blocker,.touch-orientation-notice{position:absolute;z-index:10;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;color:#f4ead8;background:#03080df0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center;pointer-events:auto}.touch-duo-blocker strong,.touch-orientation-notice strong{color:#ffd08a;font-size:clamp(18px,5vw,28px)}.touch-duo-blocker span,.touch-orientation-notice span{max-width:460px;color:#c9d3da;font-size:clamp(11px,2.8vw,15px);line-height:1.4}.touch-button--exit{min-width:180px;margin-top:8px;border-color:#f5a742}.touch-orientation-notice{display:none}@media(orientation:portrait){.touch-controls>:not(.touch-orientation-notice){display:none!important}.touch-orientation-notice{display:flex}}@media(pointer:coarse){main{grid-template-rows:minmax(0,1fr)}.help{display:none}#game canvas{box-shadow:none}}@media(orientation:landscape)and (max-height:430px){.touch-button--pause{top:max(4px,env(safe-area-inset-top));min-height:34px}.touch-pad{bottom:max(5px,env(safe-area-inset-bottom));transform:scale(.9);transform-origin:bottom left}.touch-actions{bottom:max(5px,env(safe-area-inset-bottom));transform:scale(.9);transform-origin:bottom right}.touch-menu-navigation .touch-button{min-height:40px}}
