*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#090d17;color:#edf2fa;font-family:Arial,sans-serif}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:default}a:focus-visible,button:focus-visible,canvas:focus-visible{outline:3px solid #ffe430;outline-offset:3px}header{max-width:1180px;padding:22px 28px;margin:auto;display:flex;justify-content:space-between;align-items:center}header img{width:95px;height:auto}header nav{display:flex;gap:24px;font-size:14px;color:#bdc9de}header a{min-height:44px;display:flex;align-items:center}main{max-width:1180px;margin:auto;padding:8px 28px 36px}.title-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:20px 0 26px}.eyebrow{font-size:11px;letter-spacing:2px;color:#ffe430;font-weight:700;margin:0 0 10px}h1{font-size:clamp(32px,5vw,58px);line-height:1;letter-spacing:-2px;margin:0;font-weight:900}h1 em{color:#ffe430;font-style:normal}.title-row>p{font-size:14px;color:#a7b8d1;margin:0}.game-layout{display:grid;grid-template-columns:minmax(0,680px) minmax(240px,1fr);gap:28px;align-items:start}.arena-shell{border:1px solid #35465f;background:#101a2a;border-radius:16px;overflow:hidden}.hud{display:flex;align-items:center;gap:20px;padding:14px 16px}.hud span{display:block;font-size:10px;letter-spacing:1px;color:#a7b8d1;margin-bottom:5px}.hud strong{font-size:20px;font-variant-numeric:tabular-nums}.health{flex:1;max-width:150px}.health span{display:flex;justify-content:space-between}.health b{color:#fff}.meter{height:7px;background:#35415b;border-radius:8px;overflow:hidden}.meter i{display:block;width:100%;height:100%;background:#ffe430}.hud button{min-width:40px;min-height:42px;background:#1b2a41;border:1px solid #455674;border-radius:8px;color:#edf2fa;font-size:11px;padding:8px}.hud #sound{margin-left:auto}.hud svg{width:18px;height:18px;stroke:currentColor;stroke-width:3;fill:none;display:block}.arena-stage{position:relative;aspect-ratio:600/620;background:#111c2d;touch-action:none;overflow:hidden}#arena{width:100%;height:100%;display:block;touch-action:none}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:#080e1a7d}.overlay[hidden]{display:none}.panel{width:100%;max-width:370px;padding:26px 22px;text-align:center;background:#0a1527ed;border:1px solid #5481b4;border-radius:14px;box-shadow:0 20px 70px #0008}.panel h2{font-size:32px;letter-spacing:-1px;margin:12px 0 16px}.panel>p:not(.eyebrow){font-size:15px;line-height:1.6;color:#bfcde1}.panel .primary{width:100%;border:0;border-radius:8px;background:#ffe430;color:#121620;font-weight:800;min-height:52px;font-size:16px;padding:14px}.panel #retry{background:none;border:0;color:#ffe430;padding:14px}.small{font-size:12px!important;color:#8fa4c3!important;line-height:1.5}.panel .small{margin:12px 0 0}.combat-controls{display:flex;gap:10px;align-items:center;padding:14px 16px}.combat-controls p{margin:0 auto 0 0;font-size:12px;line-height:1.5}.combat-controls p span{display:block;color:#9bafcd}.combat-controls button{position:relative;overflow:hidden;background:#1d3556;color:#edf2fa;border:1px solid #4f77a9;border-radius:10px;min-height:58px;min-width:85px;padding:10px 12px;touch-action:none}.combat-controls button span{display:block;font-size:13px;font-weight:800;position:relative;z-index:1}.combat-controls button small{position:relative;z-index:1;font-size:10px;display:block;margin-top:5px}.combat-controls #shock{min-width:115px;background:#2a2b16;border-color:#a6972b;color:#ffe430}.combat-controls #shock.ready{background:#ffe430;color:#111a29;box-shadow:0 0 18px #ffe43040}.combat-controls #shock i{position:absolute;left:0;bottom:0;top:0;background:#ffe43018;width:0}.keyboard-hint{margin:0;padding:0 16px 12px;font-size:11px;color:#90a4c0}.boss-meter{position:absolute;top:14px;left:15%;right:15%;text-align:center;pointer-events:none}.boss-meter span{font-size:12px;letter-spacing:3px;font-weight:800;color:#eaffaa;text-shadow:0 1px 3px #000}.boss-meter>div{height:7px;background:#142a14;border:1px solid #5e9434;margin-top:6px}.boss-meter i{display:block;height:100%;background:#93e944;width:100%}.announcement{position:absolute;left:50%;top:60px;transform:translateX(-50%);max-width:90%;width:max-content;text-align:center;background:#ffe430;color:#111724;padding:12px 20px;border-radius:8px;opacity:0;pointer-events:none;font-size:14px;font-weight:700}.announcement.show{opacity:1}.touch-stick{position:absolute;width:90px;height:90px;border:2px solid #ffffff50;background:#a5c7ff18;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}.touch-stick i{position:absolute;width:32px;height:32px;left:27px;top:27px;border-radius:50%;background:#ffe43088;border:1px solid #ffe430}.briefing{padding:24px;background:#111c2d;border:1px solid #2b3c57;border-radius:14px}.briefing h2{font-size:27px;line-height:1.2;letter-spacing:-.6px;margin:12px 0}.briefing p,.briefing li{font-size:14px;line-height:1.65;color:#aebfd8}.briefing ul{padding-left:18px;margin:16px 0}.briefing li{margin-bottom:12px}.briefing strong{color:#edf2fa}.record{border-top:1px solid #2b3c57;padding-top:16px;display:flex;justify-content:space-between;align-items:center}.record span{font-size:10px;letter-spacing:1px;color:#a7b8d1}.record strong{font-size:26px;color:#ffe430}.loadout{margin-top:22px}.loadout #accents{display:grid;grid-template-columns:1fr 1fr;gap:8px}.accent{border:1px solid #334965;background:#142137;border-radius:9px;padding:12px 8px;text-align:left;color:#fff;min-height:85px}.accent span{display:block;font-size:13px;font-weight:700;margin:7px 0}.accent small{font-size:11px;line-height:1.4;display:block;color:#afc1da}.accent i{display:block;width:18px;height:5px;background:var(--accent)}.accent.active{border-color:var(--accent)}.accent:disabled{opacity:.6}.enemy-files{margin-top:40px}.enemy-files h2{font-size:30px;margin:0 0 20px}.enemy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.enemy-grid article{border:1px solid #314535;background:linear-gradient(#102120,#111a24);border-radius:12px;padding:18px;text-align:center}.enemy-grid canvas{max-width:140px;width:100%;height:auto}.enemy-grid h3{font-size:17px;margin:6px 0 8px}.enemy-grid p{font-size:13px;color:#adbed2;line-height:1.5;margin:0}footer{margin-top:32px;padding-top:22px;border-top:1px solid #283a53;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#90a4c0}footer a{color:#ffe430;min-height:44px}
@media(max-width:850px){.game-layout{grid-template-columns:1fr;max-width:680px;margin:auto}aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.loadout{margin-top:0}}@media(max-width:600px){header{padding:12px 16px}header img{width:78px}header nav{gap:18px;font-size:12px}main{padding:0 10px 24px}.title-row{display:block;margin:12px 6px 18px}.title-row h1{font-size:34px}.title-row>p{margin-top:10px;font-size:13px}.hud{gap:12px;padding:10px}.hud strong{font-size:17px}.hud span{font-size:9px;letter-spacing:0}.hud button{min-width:36px;font-size:10px;padding:6px}.health{max-width:110px}.combat-controls{gap:8px;padding:10px}.combat-controls p{font-size:10px;max-width:110px}.combat-controls button{min-width:68px;padding:10px}.combat-controls #shock{min-width:102px}.keyboard-hint{display:none}.panel{padding:22px 16px}.panel h2{font-size:28px}.panel>p:not(.eyebrow){font-size:14px}.overlay{padding:18px}aside{display:block}.loadout{margin-top:22px}.briefing{padding:20px}.enemy-grid{grid-template-columns:repeat(2,1fr)}.enemy-grid article{padding:12px}.enemy-files{margin-top:30px}footer{flex-wrap:wrap}.announcement{font-size:12px;padding:10px 14px}}

/* Arcade upgrade: readable instructions, illustrated panels and reward progress. */
.start-character{display:block;width:82px;height:88px;object-fit:contain;margin:0 auto 8px;filter:drop-shadow(0 4px 12px #ffe43030)}
.tutorial{text-align:left;font-size:14px;line-height:1.5;padding:12px 12px 12px 30px;margin:12px 0;background:#172237;border-radius:8px;color:#d8e3f3}.tutorial li+li{margin-top:5px}.tutorial[hidden]{display:none}
.next-unlock{border-top:1px solid #ffffff22;padding-top:10px;font-size:14px!important;color:#ffe430!important;line-height:1.4!important;margin:12px 0 0}
#help{min-width:36px;min-height:44px}.game-overlay,.overlay{overflow:auto;align-items:safe center}.overlay-panel,.panel{max-height:100%;overflow:auto}
.hat-card p,.hat-card h3,.hat-card button,.accent span,.accent small{font-size:14px}.hat-card p{min-height:42px}.hat-card button{min-height:44px}.hat-card.equipped{box-shadow:inset 0 3px #ffe430}
.accent canvas{display:block;width:90px;height:90px;margin:auto}.accent progress{width:100%;height:5px;accent-color:var(--accent);margin-top:9px}.accent.active:disabled{opacity:1}.accent:disabled{cursor:default}
.district-strip{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 24px;background:#182237;font-size:14px}.district-strip strong{color:#ffe430}.district-strip span{color:#bcc9dd}.boss-meter.enraged span{color:#ffc173}.boss-meter.enraged i{background:#ffab52}
@media(max-width:600px){.start-character{width:60px;height:62px}.panel,.overlay-panel{padding:16px}.panel h2,.overlay-panel h2{font-size:25px;margin:8px 0}.tutorial{font-size:14px;padding-top:8px;padding-bottom:8px}.next-unlock{font-size:13px!important}.district-strip{padding:10px 12px;flex-wrap:wrap;font-size:13px}.game-hud{gap:10px;flex-wrap:wrap}.hud{gap:8px;flex-wrap:wrap}.hud-controls{gap:5px}.hat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-toast{white-space:normal;width:max-content;max-width:90%;text-align:center}}

/* Keep a sustained game touch from opening selection or image callouts. */
.arena-shell,.arena-shell *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.arena-shell img{-webkit-user-drag:none}
.combat-progress{position:relative;padding:10px 14px;background:#081729;border-bottom:1px solid #45607d;color:#ffe430;font:12px Arial;pointer-events:none}.combat-progress strong{display:block;font-size:12px;letter-spacing:1px}.combat-progress>span{display:block;margin-top:7px;color:#e9f2ff}.progress-track{height:4px;background:#26354a;border-radius:3px;margin-top:6px;overflow:hidden}.progress-track span{display:block;height:100%;background:#ffe430;width:0}.combo-track span{background:#70ddff}

#game-surface{touch-action:pan-y}#arena,.combat-controls,.combat-progress{touch-action:none}.hud button{touch-action:manipulation}.hud,.combat-controls,.combat-progress{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.cabinet-mode #game-surface #sound{display:inline-block}
