*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050914;color:#effaff;font-family:system-ui,Segoe UI,Arial,sans-serif;touch-action:none}button,select{font:inherit;color:#effaff;background:#102742;border:1px solid #50eaff66;border-radius:10px;padding:11px 13px;cursor:pointer}button:active{transform:scale(.97)}button:disabled{opacity:.35;filter:grayscale(.6)}#game{position:fixed;inset:0}canvas{display:block;width:100%;height:100%}.hidden{display:none!important}.hud{position:fixed;inset:0;pointer-events:none}.topbar{display:flex;justify-content:space-between;gap:8px;padding:12px}.panel{min-width:120px;padding:9px 12px;background:#061326e8;border:1px solid #47dff788;border-radius:11px;backdrop-filter:blur(7px)}.status{width:min(28vw,210px)}.panel b{display:block;font-size:12px;letter-spacing:.12em;color:#67eaff}.caption,.panel small{display:block;font-size:9px;letter-spacing:.12em;color:#9ab6d0;text-transform:uppercase}.bar{height:8px;margin:5px 0;background:#1a2b40;border-radius:20px;overflow:hidden}.bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#20e7ff,#477bff)}.bar.enemy i{background:linear-gradient(90deg,#ff386c,#ffb15b)}.score-panel{text-align:right}.score-panel strong{display:block;font-size:22px}.objective{position:absolute;top:17%;left:50%;transform:translateX(-50%);text-align:center;text-shadow:0 2px 15px #000;white-space:nowrap}.objective strong{display:block;font-size:clamp(21px,4.5vw,40px);letter-spacing:.08em;color:#8cf6ff}.objective span{font-size:10px;letter-spacing:.13em}.pause-btn{position:absolute;right:12px;bottom:12px;pointer-events:auto}.overlay{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(ellipse at center,#102343aa,#02050df5)}.menu-card{width:min(520px,100%);padding:clamp(21px,4vw,38px);text-align:center;background:linear-gradient(145deg,#091a31f5,#050a18f5);border:1px solid #4eeaff77;border-radius:22px;box-shadow:0 0 70px #008dff20}.eyebrow{font-size:10px;color:#5deaff;letter-spacing:.3em;font-weight:900}.menu-card h1{font-size:clamp(36px,8vw,62px);font-weight:1000;line-height:.95;letter-spacing:-.06em;margin:14px 0}.menu-card h1 span{color:#54eaff}.menu-card h2{font-size:clamp(32px,7vw,52px);margin:14px 0}.menu-card p{font-size:13px;line-height:1.65;color:#b5c8dd;margin:0 auto 15px;max-width:420px}.menu-card label{display:block;text-align:left;font-size:10px;color:#91adc8;letter-spacing:.12em;margin:10px 0 5px}.menu-card select{width:100%}.primary{width:100%;background:linear-gradient(100deg,#067ab9,#384bff);border:0;font-weight:900;letter-spacing:.1em;margin:9px 0}.button-row{display:flex;gap:8px}.button-row>*{flex:1}.help-text,.small-note{font-size:10px!important;color:#8ca9c5!important;margin-top:12px!important}.mobile-controls{position:fixed;bottom:10px;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:end;padding:0 10px;pointer-events:none}.joystick{width:108px;height:108px;border-radius:50%;border:1px solid #4eeaff77;background:#07162dcc;position:relative;pointer-events:auto}.stick{position:absolute;width:44px;height:44px;border-radius:50%;left:31px;top:31px;background:#54eaff66;border:1px solid #b6faff}.action-grid{display:grid;grid-template-columns:repeat(3,48px);gap:5px;pointer-events:auto}.action-grid button{width:48px;height:46px;padding:0;font-size:8px;font-weight:900;background:#081b32ed;touch-action:none}.action-grid button[data-action="slash"]{background:linear-gradient(145deg,#087cb8,#3b50e8)}.load-error{position:fixed;z-index:20;inset:0;align-items:center;justify-content:center;text-align:center;padding:25px;background:#050914}.load-error section{max-width:420px}@media(min-width:701px){.mobile-controls{display:none!important}}@media(max-width:700px){.topbar{padding:6px;gap:4px}.panel{min-width:0;padding:6px}.status{width:30vw}.caption,.panel small{font-size:7px}.panel b{font-size:9px}.score-panel strong{font-size:17px}.joystick{width:92px;height:92px}.stick{left:24px;top:24px}.action-grid{grid-template-columns:repeat(3,43px);gap:4px}.action-grid button{width:43px;height:42px;font-size:7px}.objective{top:16%}.objective span{font-size:8px}}
