:root{--ink:#f2f4ff;--ink-dim:#a4a8c8;--ground:#0a0b14;--edge:#2c3150;--danger:#ff6a6a;--safe:#7be08a}*{box-sizing:border-box}html,body{height:100%}body{overscroll-behavior:none;background:var(--ground);color:var(--ink);flex-direction:column;margin:0;font-family:system-ui,sans-serif;display:flex;overflow:hidden}header{z-index:2;padding:.75rem 1rem;position:relative}nav a{color:var(--ink-dim);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:600;text-decoration:none}nav a:hover,nav a:focus-visible{color:var(--ink)}.visually-hidden{white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main{flex:1;position:relative;overflow:hidden}canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.hud{z-index:1;pointer-events:none;flex-wrap:wrap;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;font-size:1.2rem;display:flex;position:absolute;top:0;left:0}.health-icon{background-image:url(./health-DPO8gQ13.png);background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:1.6rem;height:1.6rem}.health-bar{border:2px solid var(--edge);background:#ffffff14;border-radius:1rem;flex:1;min-width:6rem;max-width:20rem;height:1rem;overflow:hidden}.health-fill{background:var(--safe);height:100%;transition:width .12s,background-color .2s}.timer{font-variant-numeric:tabular-nums;text-align:center;min-width:3.2rem;font-size:1.3rem;font-weight:700}.level{font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;font-size:1.3rem;font-weight:700;display:flex}.level-icon{background-image:url(./xp_orb-ndfrV0D4.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:1.5rem;height:1.5rem}.loadout{gap:.55rem;display:flex}.loadout-slot{border:2px solid var(--edge);background:#ffffff0f;border-radius:.65rem;width:3.4rem;height:3.4rem;position:relative}.loadout-slot[data-weapon]{text-shadow:0 1px 3px #000000f2,0 0 6px #000000b3;background-position:50%;background-repeat:no-repeat;background-size:68% 68%;justify-content:center;align-items:center;font-size:1.3rem;font-weight:800;display:flex}.loadout-slot[data-weapon=blade]{color:#d9d9e3;background-image:url(./katana-CPFfk38G.png);border-color:#d9d9e3}.loadout-slot[data-weapon=smg]{color:#8fd0ff;background-image:url(./smg-88KdlVVR.png);border-color:#8fd0ff}.loadout-slot[data-weapon=nuke]{color:#d9e34a;background-image:url(./nuke_launcher-Bn0nbhrx.png);border-color:#d9e34a}.loadout-slot[data-weapon=scattergun]{color:#ffb37a;background-image:url(./scattergun-chZhWuGC.png);border-color:#ffb37a}.loadout-slot[data-weapon=beam]{color:#ff6ad5;background-image:url(./beam-Bh1UHdU5.png);border-color:#ff6ad5}.loadout-slot[data-weapon=rocket]{color:#ff6a6a;background-image:url(./launcher-NeDMHMkW.png);border-color:#ff6a6a}.loadout-slot[data-weapon=turret]{color:#8dffb0;background-image:url(./turret_head-8TbkxCJE.png);border-color:#8dffb0}.boss-health-bar{z-index:1;pointer-events:none;background:#00000073;border:2px solid #1a0d21;border-radius:1rem;width:min(32rem,80%);height:1.4rem;position:absolute;top:.75rem;left:50%;overflow:hidden;transform:translate(-50%)}.boss-health-bar:not([hidden]){display:block}.boss-health-fill{background:linear-gradient(90deg,#8a2be2,#ff5fae);height:100%;transition:width .12s}.end-screen{z-index:2;background:#0a0b14b8;flex-direction:column;justify-content:center;align-items:center;gap:1rem;position:absolute;inset:0}.end-screen:not([hidden]){display:flex}.end-screen p{margin:0;font-size:clamp(1.5rem,6vw,2.5rem);font-weight:800}.restart-button{border:1px solid var(--edge);min-height:2.75rem;color:var(--ink);font:inherit;cursor:pointer;background:#ffffff14;border-radius:2rem;padding:.6rem 1.4rem;font-weight:700}.restart-button:hover,.restart-button:focus-visible{border-color:var(--ink)}
