@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/manrope-latin-wght-400-700-C46ZzDBF.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/barlow-condensed-latin-500-k5sK0YPh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-condensed-latin-600-5aTTnVqQ.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/barlow-condensed-latin-700-DDMez4TK.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/barlow-condensed-latin-800-CMaaahLA.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#080a0f;--panel:#0a0d14e0;--ivory:#f2f0e8;--muted:#939aaa;--line:#f2f0e829;--cyan:#76f4e8;--coral:#ff5c52;--gold:#f6ce75;--text-scale:1;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{background:var(--ink);width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ivory);overscroll-behavior:none;-webkit-user-select:none;user-select:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input{font:inherit}button{color:inherit}#game-canvas{touch-action:none;outline:none;width:100%;height:100%;position:absolute;inset:0}#app:after{content:"";pointer-events:none;mix-blend-mode:screen;opacity:.35;background:linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/72px 72px,linear-gradient(#ffffff06 1px,#0000 1px) 0 0/72px 72px;position:absolute;inset:0}.screen{z-index:20;display:none;position:absolute;inset:0}.screen--active{display:flex}#title-screen{background:radial-gradient(circle at 75% 42%,#76f4e814,#0000 26%),linear-gradient(90deg,#080a0ffa 0%,#080a0fd9 42%,#080a0f2e 78%);flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,6vw,88px);overflow-y:auto}.title-kicker,.eyebrow{font-family:Barlow Condensed,sans-serif;font-size:calc(20px * var(--text-scale));letter-spacing:.24em;text-transform:uppercase;color:var(--cyan);font-weight:700}h1,h2,p{margin:0}h1{letter-spacing:-.055em;max-width:760px;margin:14px 0 18px;font-family:Barlow Condensed,sans-serif;font-size:clamp(68px,11vw,148px);font-weight:800;line-height:.75}h1 span{color:#0000;-webkit-text-stroke:1px #f2f0e8bf}h2{text-transform:uppercase;font-family:Barlow Condensed,sans-serif;font-size:clamp(48px,8vw,86px);line-height:.92}.title-copy{color:#b8bfca;max-width:430px;font-size:calc(18px * var(--text-scale));line-height:1.6}.title-actions{gap:10px;margin-top:34px;display:flex}.button{border:1px solid var(--line);min-width:180px;font-family:Barlow Condensed,sans-serif;font-size:calc(18px * var(--text-scale));letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:2px;padding:15px 22px;font-weight:700;transition:transform .14s,background .14s,border-color .14s}.button:disabled,.text-button:disabled{cursor:wait;opacity:.62}#app[data-runtime-status=error] #start-button{color:#ffb3ad;border-color:#ff5c52bd}.button:hover,.button:focus-visible{border-color:#f2f0e8b3;transform:translateY(-2px)}.button--primary{color:var(--ink);background:var(--ivory)}.button--ghost{background:#ffffff08}.text-button{color:#a8afbb;font-size:calc(18px * var(--text-scale));text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:10px 0;text-decoration:underline}.controls-card{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(70px,110px));gap:1px;margin-top:38px;display:grid}.controls-card div{background:#080a0fd6;flex-direction:column;gap:8px;padding:12px 14px;display:flex}kbd,.ability__key{font-family:Barlow Condensed,sans-serif;font-size:calc(20px * var(--text-scale));color:var(--cyan);letter-spacing:.12em;font-weight:700}.controls-card span{font-size:calc(18px * var(--text-scale));color:#9ca4b1}.controller-status{color:var(--cyan);font-family:Barlow Condensed,sans-serif;font-size:calc(20px * var(--text-scale));letter-spacing:.16em;margin-top:12px;font-weight:700}.controller-input button:focus,.controller-input input:focus,.controller-input select:focus{outline:2px solid var(--cyan);outline-offset:3px;box-shadow:0 0 0 1px var(--ink), 0 0 18px #76f4e857}.title-foot{color:#646c79;letter-spacing:.18em;justify-content:space-between;font-family:Barlow Condensed,sans-serif;font-size:10px;display:flex;position:absolute;bottom:28px;left:clamp(24px,5vw,72px);right:clamp(24px,5vw,72px)}.hud{z-index:10;pointer-events:none;position:absolute;inset:0}.hud-top{top:max(22px, env(safe-area-inset-top));right:max(24px, env(safe-area-inset-right));left:max(24px, env(safe-area-inset-left));grid-template-columns:minmax(190px,300px) 1fr minmax(120px,180px);align-items:start;gap:18px;display:grid;position:absolute}.vital-panel,.wave-panel,.score-panel{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#080a0fb8,#0000);padding:11px 14px}.wave-panel{text-align:center;justify-self:center}.score-panel{text-align:right}.hud-label-row{font-family:Barlow Condensed,sans-serif;font-size:calc(20px * var(--text-scale));letter-spacing:.14em;justify-content:space-between;margin-bottom:7px;display:flex}.bar{background:#ffffff1f;height:4px;overflow:hidden}.bar__fill{transform-origin:0;background:linear-gradient(90deg, var(--coral), var(--gold));width:100%;height:100%;transition:transform .16s}.wave-panel strong,.score-panel strong{font-family:Barlow Condensed,sans-serif;font-size:calc(24px * var(--text-scale));letter-spacing:.08em;margin-top:4px;display:block}.hud-bottom{right:max(26px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));left:max(26px, env(safe-area-inset-left));justify-content:space-between;align-items:flex-end;display:flex;position:absolute}.combo{opacity:.35;align-items:baseline;gap:8px;transition:opacity .16s,transform .16s;display:flex}.combo--active{opacity:1;transform:translateY(-4px)}.combo strong{color:var(--cyan);font-family:Barlow Condensed,sans-serif;font-size:44px}.combo span{font-size:calc(20px * var(--text-scale));letter-spacing:.18em}.ability-row{gap:8px;display:flex}.ability{border:1px solid var(--line);background:var(--panel);min-width:108px;font-family:Barlow Condensed,sans-serif;font-size:calc(20px * var(--text-scale));letter-spacing:.1em;flex-direction:column;gap:4px;padding:9px 11px;display:flex;position:relative;overflow:hidden}.ability i{transform-origin:0;background:var(--cyan);height:2px;position:absolute;inset:auto 0 0;transform:scaleX(0)}.announcement{width:min(86vw,860px);font-family:Barlow Condensed,sans-serif;font-size:clamp(calc(22px * var(--text-scale)), 3.2vw, calc(42px * var(--text-scale)));letter-spacing:.1em;text-align:center;text-transform:uppercase;text-shadow:0 3px 18px #080a0ff0;opacity:0;font-weight:800;line-height:1.05;transition:opacity .22s,transform .22s;position:absolute;top:22%;left:50%;transform:translate(-50%,10px)}.announcement--show{opacity:1;transform:translate(-50%)}.objective{color:#f2f0e880;font-size:calc(18px * var(--text-scale));position:absolute;top:88px;left:50%;transform:translate(-50%)}.fps-overlay{color:var(--cyan);font-family:ui-monospace,monospace;font-size:calc(18px * var(--text-scale));background:#080a0fb8;border:1px solid #76f4e83d;padding:5px 7px;position:absolute;top:94px;right:26px}.screen--panel{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#05070bad;justify-content:center;align-items:center}.screen--panel:not([hidden]){display:flex}.pause-panel,.settings-panel,.result-panel{width:min(94vw, calc(480px * var(--text-scale)));border:1px solid var(--line);background:linear-gradient(135deg,#76f4e80f,#0000 36%),#0a0d14f0;max-height:calc(100dvh - 32px);padding:clamp(20px,4vw,34px);overflow-y:auto;box-shadow:0 36px 100px #0000007a}.settings-panel{max-height:calc(100dvh - 32px);overflow-y:auto}.pause-panel h2,.settings-panel h2,.result-panel h2{margin:8px 0 30px}.settings-panel h2:has(+.settings-intro:not([hidden])){margin-bottom:10px}.settings-intro{color:var(--muted);font-size:calc(18px * var(--text-scale));margin:0 0 24px;line-height:1.6}.pause-panel .button{width:100%;margin-top:8px}.pause-panel .text-button{margin:12px auto 0;display:block}.setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:17px 0;scroll-margin-block:8px;display:flex}.setting-row span{flex-direction:column;flex:170px;gap:5px;display:flex}.setting-row strong{font-size:calc(18px * var(--text-scale))}.setting-row small{color:var(--muted);font-size:calc(18px * var(--text-scale));line-height:1.5}.setting-row input[type=checkbox]{width:calc(42px * var(--text-scale));height:calc(22px * var(--text-scale));accent-color:var(--cyan);flex:none}.setting-row input[type=range]{width:min(220px,42vw);height:calc(24px * var(--text-scale));accent-color:var(--cyan);flex:none;margin-inline:0}.setting-row--compact{padding:12px 0}.setting-row select{width:min(220px,42vw);height:calc(44px * var(--text-scale));color:var(--paper);font-family:Barlow Condensed,sans-serif;font-size:calc(18px * var(--text-scale));letter-spacing:.08em;background:#11151d;border:1px solid #f2f0e83d;border-radius:2px;flex:none;padding:0 10px;font-weight:700}.setting-row--action{padding:12px 0}.setting-action-button{min-width:min(220px,42vw);min-height:calc(44px * var(--text-scale));color:var(--cyan);font-family:Barlow Condensed,sans-serif;font-size:calc(20px * var(--text-scale));letter-spacing:.08em;text-transform:uppercase;background:#76f4e80f;border:1px solid #76f4e86b;border-radius:2px;flex:none;padding:7px 10px;font-weight:700}.setting-action-button:hover{background:#76f4e81f}.setting-row input:disabled{opacity:.38}.setting-row output{color:var(--cyan);font-family:Barlow Condensed,sans-serif;font-size:calc(18px * var(--text-scale));letter-spacing:.08em;margin-left:6px}.settings-panel .button{width:100%;margin-top:22px}#app:is([data-text-scale="150"],[data-text-scale="200"]) .setting-row{flex-wrap:wrap;align-items:flex-start}#app:is([data-text-scale="150"],[data-text-scale="200"]) .setting-row>span{flex-basis:100%}#app:is([data-text-scale="150"],[data-text-scale="200"]) .setting-row input[type=range],#app:is([data-text-scale="150"],[data-text-scale="200"]) .setting-row select,#app:is([data-text-scale="150"],[data-text-scale="200"]) .setting-action-button{width:100%;max-width:none}#app:is([data-text-scale="150"],[data-text-scale="200"]) .setting-row input[type=checkbox]{margin-left:auto}#app:is([data-text-scale="150"],[data-text-scale="200"]) .controls-card{grid-template-columns:repeat(2,minmax(220px,1fr));width:min(100%,600px)}#app:is([data-text-scale="150"],[data-text-scale="200"]) #title-screen{padding-block:max(22px, env(safe-area-inset-top));justify-content:flex-start}#app:is([data-text-scale="150"],[data-text-scale="200"]) h1{margin-block:8px 10px}#app:is([data-text-scale="150"],[data-text-scale="200"]) .title-actions,#app:is([data-text-scale="150"],[data-text-scale="200"]) .controls-card{margin-top:18px}#app:is([data-text-scale="150"],[data-text-scale="200"]) .title-foot{display:none}#app:is([data-text-scale="150"],[data-text-scale="200"]) .controls-card div{min-width:0}.result-panel{text-align:center}.result-panel p{color:var(--muted);font-size:calc(18px * var(--text-scale));margin:-14px auto 26px;line-height:1.6}.result-stats{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin:20px 0 28px;display:grid}.result-stats div{background:#0d1017;flex-direction:column;gap:7px;padding:16px 8px;display:flex}.result-stats span{color:var(--muted);font-size:calc(20px * var(--text-scale));letter-spacing:.12em;text-transform:uppercase}.result-stats strong{font-family:Barlow Condensed,sans-serif;font-size:calc(24px * var(--text-scale))}.touch-controls{z-index:15;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));left:max(18px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:flex-end;position:absolute}.touch-pause{top:max(106px, calc(env(safe-area-inset-top) + 82px));right:max(24px, env(safe-area-inset-right));color:#f2f0e8d1;width:42px;height:42px;font-family:Barlow Condensed,sans-serif;font-size:calc(20px * var(--text-scale));letter-spacing:.08em;pointer-events:auto;touch-action:manipulation;background:#080a0fb3;border:1px solid #f2f0e833;border-radius:50%;font-weight:700;position:fixed}.joystick{pointer-events:auto;touch-action:none;background:#080a0f66;border:1px solid #f2f0e82e;border-radius:50%;width:116px;height:116px;position:relative}#joystick-knob{background:#76f4e81f;border:1px solid #76f4e87a;border-radius:50%;width:48px;height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.touch-actions{align-items:flex-end;gap:12px;display:flex}.touch-button{width:68px;height:68px;font-family:Barlow Condensed,sans-serif;font-size:calc(20px * var(--text-scale));pointer-events:auto;touch-action:manipulation;background:#080a0f94;border:1px solid #f2f0e833;border-radius:50%;font-weight:700}.touch-button--attack{width:88px;height:88px;color:var(--cyan);border-color:#76f4e885}.rotate-prompt{z-index:100;background:var(--ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;position:absolute;inset:0}.rotate-prompt strong{font-family:Barlow Condensed,sans-serif;font-size:calc(28px * var(--text-scale));text-transform:uppercase}.rotate-prompt span{color:var(--muted);font-size:calc(18px * var(--text-scale))}@media (pointer:coarse){.controls-card,.objective{display:none}}@media (width<=680px){#title-screen{padding-bottom:max(42px, env(safe-area-inset-bottom));background:linear-gradient(#080a0f73 22%,#080a0ffa 100%);justify-content:flex-end}h1{font-size:clamp(62px,20vw,96px)}.title-copy{font-size:calc(18px * var(--text-scale))}.title-actions{width:100%}.title-actions .button{flex:1;min-width:0}.title-foot{display:none}.hud-top{grid-template-columns:1fr auto}.wave-panel{position:absolute;top:56px;left:50%;transform:translate(-50%)}.score-panel{min-width:88px}.hud-bottom{display:none}#app:is([data-text-scale="150"],[data-text-scale="200"]) .hud-top{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));left:max(14px, env(safe-area-inset-left));grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"vital score""wave wave";gap:8px}#app:is([data-text-scale="150"],[data-text-scale="200"]) .vital-panel{grid-area:vital}#app:is([data-text-scale="150"],[data-text-scale="200"]) .hud-label-row{flex-direction:column;gap:4px}#app:is([data-text-scale="150"],[data-text-scale="200"]) .wave-panel{grid-area:wave;justify-self:stretch;position:static;transform:none}#app:is([data-text-scale="150"],[data-text-scale="200"]) .score-panel{grid-area:score;min-width:0}#app:is([data-text-scale="150"],[data-text-scale="200"]) .announcement{top:64%}#app[data-text-scale="150"] .touch-pause{top:300px;right:max(12px, env(safe-area-inset-right));width:60px;height:60px}#app[data-text-scale="200"] .touch-pause{top:345px;right:max(12px, env(safe-area-inset-right));width:72px;height:72px}#app:is([data-text-scale="150"],[data-text-scale="200"]) .touch-controls{right:max(12px, env(safe-area-inset-right));left:max(12px, env(safe-area-inset-left))}#app[data-text-scale="150"] .joystick{width:104px;height:104px}#app[data-text-scale="200"] .joystick{width:90px;height:90px}#app[data-text-scale="150"] .touch-button{width:88px;height:88px}#app[data-text-scale="150"] .touch-button--attack,#app[data-text-scale="200"] .touch-button{width:104px;height:104px}#app[data-text-scale="200"] .touch-button--attack{width:120px;height:120px}#app:is([data-text-scale="150"],[data-text-scale="200"]) .touch-actions{gap:8px}}@media (orientation:portrait) and (pointer:coarse) and (width<=680px){.rotate-prompt:not([hidden]){display:flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
