@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B4-Lw_3E.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873_3E.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2_3E.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B47b1_3E.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(fonts/HTxwL3I-JCGChYJ8VI-L6OO_au7B45L0_3E.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj7oUUsj.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj7aUUsj.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj42Vksj.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj4PVksj.ttf) format('truetype');
}

:root{color-scheme:dark;--mint:#b7ff67;--ink:#080c17;--muted:#8994a7}*{box-sizing:border-box}body{margin:0;background:var(--ink);font-family:'Space Grotesk',sans-serif;color:#f2f5ff;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:600 14px 'Space Grotesk',sans-serif;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:5px}#app{width:100vw;height:100dvh;min-height:460px;position:relative;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 130px #0009}header{position:absolute;top:0;left:0;right:0;padding:28px 38px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}#brand{color:white;text-decoration:none;font:800 25px 'Barlow Condensed',sans-serif;letter-spacing:1px;pointer-events:auto}#brand span{color:var(--mint);margin-left:4px}#brand small{display:block;color:var(--muted);font:10px 'Space Grotesk',sans-serif;letter-spacing:2px;margin-top:4px}.toptools{display:flex;gap:10px;pointer-events:auto}.toptools button{background:#0c1423b3;border:1px solid #ffffff24;padding:10px 14px;font-size:12px;letter-spacing:1px}#overlay{position:absolute;inset:0;display:flex;align-items:center;padding:80px max(7vw,30px);background:linear-gradient(90deg,#080c17f2 0%,#080c17b8 40%,#080c1700 100%);overflow:auto}#overlay[hidden]{display:none}#panel{max-width:620px;width:100%;position:relative}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--mint);display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:30px;height:1px;background:var(--mint)}h1{font:900 clamp(74px,10.5vw,154px)/.83 'Barlow Condensed',Impact,sans-serif;letter-spacing:-2px;margin:28px 0}h1 span{display:block;color:var(--mint)}h2{font:800 clamp(36px,5vw,62px)/1 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:18px 0}p{color:#a6b0c2;line-height:1.65;font-size:16px;max-width:430px}p b{color:white;font-weight:500}.primary{background:var(--mint);color:#10190a;border:0;padding:18px 26px;min-width:215px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;letter-spacing:1px}.primary:hover{background:#d6ffa7;transform:translateY(-1px)}.secondary{border:1px solid #ffffff30;background:#111a2c99;padding:17px 22px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.controls{display:flex;gap:24px;margin-top:32px;color:var(--muted);font-size:12px}.controls b{display:block;color:#dce3ed;font-size:13px;margin-bottom:7px}kbd{font-family:inherit}footer{position:absolute;bottom:22px;left:38px;right:38px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.6px;color:#768297;pointer-events:none}.stats{border-top:1px solid #ffffff20;display:flex;gap:40px;padding-top:20px;margin-top:30px}.stats strong{display:block;font:600 28px 'Barlow Condensed',sans-serif}.stats small{color:var(--muted);font-size:11px;letter-spacing:1px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:28px 0}.card{text-align:left;padding:24px 18px;background:#101b2bf5;border:1px solid #334156;min-height:190px;transition:.15s}.card:hover{border-color:var(--mint);transform:translateY(-5px);background:#172636}.card .icon{display:block;font-size:29px;color:var(--mint);margin-bottom:18px}.card strong{display:block;font-size:16px}.card p{font-size:13px;line-height:1.5;margin-bottom:0}.card small{display:block;font-size:10px;letter-spacing:2px;color:#8292a8;margin-bottom:8px}#hud{position:absolute;top:115px;left:38px;right:38px;pointer-events:none;display:flex;justify-content:space-between}#hud[hidden],#wavebar[hidden],#touch[hidden]{display:none}#hud small{display:block;font-size:11px;letter-spacing:1.7px;color:#b0bed1}#hud strong{display:block;font:600 30px 'Barlow Condensed',sans-serif;margin:7px 0}#health{display:flex;gap:5px}#health i{width:19px;height:5px;background:var(--mint)}#health i.empty{background:#354054}.hudright{text-align:right}#dashbar{height:4px;width:120px;background:#29354a;margin:10px 0 7px auto}#dashbar i{display:block;height:100%;background:#76e6ff}#dashlabel{font-size:9px!important}#wavebar{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);width:250px;text-align:center;font-size:10px;letter-spacing:2px;color:#a3b3c6;pointer-events:none}#wavebar>div{height:3px;background:#25364a;margin:9px 0}#wavebar i{display:block;background:var(--mint);height:100%}#toast{position:absolute;top:27%;left:50%;transform:translateX(-50%);font:700 28px 'Barlow Condensed',sans-serif;letter-spacing:3px;text-align:center;color:var(--mint);pointer-events:none;opacity:0;transition:opacity .25s}#touch{position:absolute;inset:0;pointer-events:none}#stick{position:absolute;bottom:80px;left:28px;border:1px solid #ffffff35;border-radius:50%;width:108px;height:108px;background:#ffffff07;pointer-events:auto;touch-action:none}#stick div{width:42px;height:42px;border:1px solid #b7ff6780;border-radius:50%;background:#b7ff6725;position:absolute;left:32px;top:32px;pointer-events:none}#dashTouch{position:absolute;bottom:91px;right:30px;border:1px solid #b7ff6760;background:#b7ff6718;border-radius:50%;width:80px;height:80px;pointer-events:auto;touch-action:none;font-size:12px}body.playing header{padding-top:20px}.helpgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.helpgrid p{font-size:14px;margin:4px 0}.helpgrid strong{color:var(--mint);font-size:14px}.note{font-size:12px;color:#7f8b9f}@media(max-width:650px){header{padding:20px}.toptools button{padding:9px;font-size:10px}#brand{font-size:21px}#overlay{padding:90px 26px 55px;align-items:center;background:linear-gradient(90deg,#080c17ed,#080c1790)}h1{font-size:88px}p{font-size:14px}.controls{gap:18px;margin-top:22px}.actions{margin:20px 0}.primary{padding:16px 22px}.secondary{padding:15px}footer{bottom:16px;left:20px;right:20px;font-size:8px}#footerright{display:none}#hud{top:88px;left:20px;right:20px}#hud strong{font-size:25px}.cards{gap:8px;grid-template-columns:1fr}.card{min-height:0;padding:15px 18px;display:grid;grid-template-columns:35px 1fr;column-gap:12px}.card .icon{grid-row:1/4;margin:0}.card small{margin-bottom:4px}.card p{margin:5px 0 0}.stats{margin-top:20px;gap:25px}.helpgrid{gap:10px}#wavebar{bottom:30px;width:190px}#toast{top:34%;font-size:23px}}@media(max-height:650px) and (min-width:651px){h1{font-size:90px;margin:20px 0}.controls{margin-top:15px}.actions{margin:15px 0}#overlay{padding-top:80px;padding-bottom:40px}}

body.playing canvas{cursor:crosshair}#aimStick{position:absolute;bottom:80px;right:28px;border:1px solid #b7ff6760;border-radius:50%;width:108px;height:108px;background:#b7ff670a;pointer-events:auto;touch-action:none}#aimStick div{width:42px;height:42px;border:1px solid #b7ff6780;border-radius:50%;background:#b7ff6725;position:absolute;left:32px;top:32px;pointer-events:none}#aimStick:after{content:'AIM / FIRE';position:absolute;bottom:-22px;width:100%;text-align:center;color:#a6b0c2;font-size:10px;letter-spacing:1px}#dashTouch{bottom:210px;right:43px;width:76px;height:60px;border-radius:30px}

/* Keep global controls clickable above every game screen. */
header{z-index:30}#hud{z-index:4}#overlay{z-index:10}#touch{z-index:5}#toast{z-index:12}footer{z-index:6}
.health-label{display:flex;justify-content:space-between;gap:14px;max-width:200px;font-size:12px;letter-spacing:1px;margin:12px 0 7px;color:#dce3ed}
#health{display:block;width:200px;max-width:40vw;height:14px;border:1px solid #66804f;background:#263329;overflow:hidden;border-radius:3px}
#health #healthFill{display:block;width:100%;height:100%;background:linear-gradient(90deg,#8ae83d,#c5ff88);transition:width .16s,background .16s}
#health.low{border-color:#ff668a}#health.low #healthFill{background:#ff668a}
#salvage{margin-top:9px;font-size:10px!important;color:#a8c594!important;letter-spacing:1px!important}
#pickupFeedback{display:block;min-height:30px;max-width:210px;margin-top:7px;color:#b7ff67;font-size:12px;line-height:1.3;opacity:0;transition:opacity .2s}
@media(max-width:650px){.health-label{width:145px;font-size:10px;gap:6px}#health{width:145px;height:12px}#pickupFeedback{max-width:155px;font-size:11px}#hud .hudright{max-width:135px}}

#healthDock{position:absolute;top:103px;left:50%;transform:translateX(-50%);width:min(340px,62vw);padding:12px 18px 4px;border:1px solid #b7ff672a;background:#080c17df;border-radius:6px;z-index:4;pointer-events:none;text-align:center}#healthDock[hidden]{display:none}#healthDock .health-label{max-width:none;width:100%;margin:0 0 8px;font-size:13px}#healthDock #health{width:100%;max-width:none;height:17px}#healthDock #salvage{display:block;font-size:11px;color:#a8c594;letter-spacing:1px;margin-top:8px}#healthDock #pickupFeedback{max-width:none;min-height:18px;font-size:12px;margin-top:4px}button:disabled{opacity:.4;cursor:default}#hud #sector{max-width:200px}#hud #wave{font-size:25px}@media(max-width:650px){#healthDock{top:82px;width:260px;max-width:85vw;padding:10px 14px 3px}#hud{top:195px}#hud #wave{font-size:19px}#hud #sector{font-size:10px;max-width:150px}#hud .hudright strong{font-size:23px}#healthDock .health-label{font-size:12px}#toast{top:40%}}@media(max-height:520px) and (min-width:651px){#healthDock{top:16px;width:235px;padding:8px 12px 0}#hud{top:100px}#healthDock #salvage{font-size:10px}}

@media(min-width:651px) and (max-width:950px) and (min-height:521px){#healthDock{top:90px;width:300px}#hud{top:205px}}

/* The arena is rendered below this reserved HUD strip, never beneath health. */
body.playing #app:before{content:'';position:absolute;top:0;left:0;right:0;height:216px;background:#080c17;border-bottom:1px solid #344354;z-index:1;pointer-events:none}
#healthDock{top:86px;width:min(340px,80vw);max-width:none;padding:12px 18px 4px}
@media(max-width:950px){#healthDock{top:86px;width:260px;max-width:80vw}#hud{top:230px}}
@media(max-height:520px) and (min-width:951px){#healthDock{top:86px;width:300px}#hud{top:115px}}

.stats strong.infinity{font-family:Arial,'DejaVu Sans',sans-serif;font-weight:400;font-size:44px;line-height:1;letter-spacing:0}
#pause[hidden]{display:none}#healthDock{top:76px;padding:10px 18px 4px}#healthDock #dashbar{width:100%;margin:8px 0 5px}#healthDock #dashlabel{display:block;font-size:10px!important;letter-spacing:1px;color:#78dfff}#healthFeedback{display:block;min-height:17px;margin-top:4px;font-size:12px;color:#b7ff67;opacity:0;transition:opacity .2s}.hudright #pickupFeedback{max-width:none;text-align:right;min-height:30px;margin-top:8px;color:#b7ff67;font-size:14px}

#bonusFeedback{display:block;max-width:190px;min-height:30px;margin-top:4px;color:#ffdf87;font-size:12px;line-height:1.4;opacity:0;transition:opacity .2s}

.upgrade-delta{border-top:1px solid #334156;margin-top:16px;padding-top:12px;display:grid;gap:6px;color:#b7ff67;font:400 14px/1.4 'Space Grotesk',sans-serif}.card p{font-size:14px;line-height:1.5}.card{overflow-wrap:anywhere}
