@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--pink:#ff4e9d;--cyan:#69eadf;--muted:#8b879f}*{box-sizing:border-box}body{margin:0;background:#0d0b14;color:#f4efff;font:14px 'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:700 11px 'DM Sans',sans-serif;cursor:pointer;color:inherit;background:#242030;border:1px solid #494053;padding:12px 17px;letter-spacing:.7px}button:hover{border-color:var(--pink);background:#352235}button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}header{height:80px;border-bottom:1px solid #282332;display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{font:900 31px 'Barlow Condensed';text-decoration:none;color:white;display:flex;align-items:center;gap:8px}.brand>span{font-size:16px;color:var(--pink)}.brand small{font:700 12px 'DM Sans';letter-spacing:2px;margin-left:16px}nav{display:flex;align-items:center;gap:12px}nav button{background:none;border:0;font-size:10px}.live{font-size:10px;letter-spacing:1px;color:var(--cyan);margin-right:20px}main{max-width:1540px;margin:auto;padding:36px 5%}.heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:2.2px;color:var(--pink);font-weight:700}h1{font:900 clamp(40px,5vw,68px)/.95 'Barlow Condensed';letter-spacing:-1px;margin:13px 0 0}h1 span{font-size:.38em;color:var(--pink);letter-spacing:5px;margin-left:16px}p{line-height:1.8;color:#a9a4b8}.heading p{font-size:12px;margin:0}.arena{height:min(66vw,650px);min-height:440px;position:relative;overflow:hidden;border:1px solid #484054;background:#121020;box-shadow:0 15px 90px #0006}canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;top:22px;left:23px;right:23px;display:flex;justify-content:space-between;pointer-events:none}.vitals{width:185px}.vitals>div:first-child{display:flex;gap:10px;align-items:center}.portrait{display:grid;place-items:center;width:32px;height:36px;background:#473656;border:1px solid #92719a;font:800 24px 'Barlow Condensed';color:#ffb6ce}.vitals b{font-size:12px;letter-spacing:1px}.vitals b small{display:block;font-size:8px;color:#a59bad;margin-top:3px}.health{height:5px;background:#472b41;margin-top:10px}.health i{display:block;width:100%;height:100%;background:var(--pink);transition:width .2s}.vitals>small{font-size:8px;color:#b9a9c7;display:block;margin-top:5px}.stats{display:flex;gap:34px}.stats small{display:block;font-size:8px;color:#b0a7bf;letter-spacing:1.4px;margin-bottom:5px}.stats b{font:600 27px 'Barlow Condensed';font-variant-numeric:tabular-nums}.gold b{color:#ffcf70}#notice{position:absolute;top:110px;width:100%;text-align:center;font-size:9px;letter-spacing:3px;color:#b1a0c7;pointer-events:none}.bottomhud{position:absolute;bottom:20px;left:23px;right:23px;display:flex;justify-content:space-between;align-items:end}#loadout{display:flex;gap:7px}.slot{width:46px;height:48px;background:#161421dd;border:1px solid #65506b;text-align:center;padding:5px;font-size:18px}.slot small{display:block;font-size:8px;color:var(--cyan);margin-top:2px}.slot.locked{opacity:.4}#shopbtn{background:#151320dc;font-size:10px}kbd{font:10px 'DM Sans';border:1px solid #57505f;padding:3px 5px;color:#c7bfd1;margin-left:4px}.overlay{position:absolute;inset:0;background:#0d091c9c;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center}.hidden{display:none!important}.startpanel{text-align:center;padding:25px}.startpanel h2{font:900 clamp(45px,6vw,82px)/1 'Barlow Condensed';margin:18px 0 13px;letter-spacing:-1px}.startpanel em{font-style:normal;color:var(--pink);text-shadow:0 0 38px #ff4e9d66}.startpanel p{font-size:13px}.primary{background:var(--pink);border:0;color:#1b1025;padding:17px 28px;min-width:240px;margin:15px 0 18px;box-shadow:0 0 30px #ff4e9d22}.primary:hover{background:#ff7ab8}.primary span{margin-left:30px}.startpanel>small{display:block;font-size:9px;color:#aaa0b9}.record{font-size:10px;color:var(--cyan);margin-top:18px}footer{display:flex;justify-content:space-between;gap:15px;padding:22px 0;font-size:9px;letter-spacing:.7px;color:#9e95ad}footer i{display:inline-block;width:6px;height:6px;background:var(--cyan);border-radius:50%;margin-right:7px}footer b{margin:0 8px;color:#53495f}.details{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #2c2636;margin-top:18px;padding:29px 0;gap:9%}.details span{font-size:9px;letter-spacing:1.5px;color:#857a95}.details h3{font:600 28px/1.1 'Barlow Condensed';margin:16px 0 10px}.details p{font-size:11px;max-width:280px}.shopPanel{width:min(850px,95%);max-height:96%;overflow:auto;padding:28px;background:#14101f;border:1px solid #6b4567}.shophead{display:flex;align-items:center;justify-content:space-between;gap:15px}.shophead h2{font:800 38px 'Barlow Condensed';margin:10px 0}.shopPanel p{font-size:11px}.shopPanel>small{display:block;color:#898098;text-align:center;margin-top:18px;font-size:10px}#shopcash{color:#ffcf70;float:right}#shopcards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.weaponCard{padding:18px 12px;background:#20192c;border:1px solid #44344f}.weaponCard .icon{font-size:29px;color:var(--cyan)}.weaponCard h3{font:700 22px 'Barlow Condensed';margin-bottom:5px}.weaponCard p{height:48px;line-height:1.5;font-size:10px}.weaponCard button{width:100%;font-size:9px;padding:12px 4px;color:#ffcf70}.weaponCard button:disabled{opacity:.4;cursor:default}.tiers{letter-spacing:4px;color:var(--pink);font-size:14px;margin:15px 0}dialog{background:#20172c;color:white;border:1px solid var(--pink);max-width:480px;padding:30px}dialog::backdrop{background:#000b}dialog h2{font:800 36px 'Barlow Condensed'}dialog p{font-size:13px}dialog>button{float:right}@media(max-width:700px){header{height:60px}.brand small,.live,nav #sound,.heading p,footer>span:last-child{display:none}main{padding:25px 3%}.heading{margin-bottom:20px}h1 span{display:block;margin:8px 0 0;font-size:.33em}.eyebrow{font-size:8px}.arena{height:70vh;min-height:500px}.hud{left:14px;right:14px;top:15px}.stats{gap:14px}.vitals{width:120px}.vitals b small{font-size:6px}.stats b{font-size:23px}.stats small{font-size:7px}.bottomhud{left:12px;right:12px}.slot{width:33px;font-size:16px}#shopbtn{padding:12px 8px;font-size:8px}footer{font-size:7px;flex-wrap:wrap}.details{gap:20px}.details h3{font-size:23px}.details p{font-size:10px}#shopcards{grid-template-columns:repeat(2,1fr)}.weaponCard{padding:10px}.weaponCard p{height:30px}.shopPanel{padding:18px}.shophead h2{font-size:30px}.shophead button{font-size:8px;padding:8px}.weaponCard h3{margin:5px 0}.tiers{margin:8px 0}}

.slot{padding:5px 0;letter-spacing:0}.slot.equipped{border-color:#6affdf;box-shadow:0 0 14px #6affdf33}#shopbtn.near{border-color:#6affdf;color:#6affdf;background:#173733}canvas{image-rendering:auto}.arena{height:min(72vw,760px)}@media(max-width:700px){.arena{height:73vh}}

@media(max-width:450px){.hud{display:block}.vitals{width:110px}.stats{position:absolute;top:0;right:0;gap:8px}.stats small{font-size:6px;letter-spacing:.3px}.stats b{font-size:19px}.vitals b{font-size:9px}.portrait{width:24px;height:28px}.hud{left:10px;right:10px}.vitals b small{display:none}.health{margin-top:7px}.vitals>div:first-child{gap:5px}.stats{background:#141728bb;padding:4px}.vitals{width:95px}.stats div{min-width:35px}.stats b{font-size:17px}.stats small{font-size:5px}.stats{gap:4px}.startpanel>small{line-height:1.7}}

.xp{height:4px;margin-top:7px;background:#243147}
.xp i{display:block;width:0;height:100%;background:#69eadf;transition:width .15s}
#level-status{color:var(--cyan)}

canvas{image-rendering:auto}
#levelup{background:#0a0917b8;backdrop-filter:none}
.level-panel{width:min(670px,94%);max-height:96%;overflow:auto;padding:12px 4px;color:#eef2fc}
.upgrade-marquee,.upgrade-details{border:3px solid #8986a3;box-shadow:inset 0 0 0 2px #30324b,0 4px 0 #0a0a15;background:#101521}
.upgrade-marquee{overflow:hidden;height:54px;display:flex;align-items:center}
.upgrade-scroll{display:flex;flex:none;min-width:200%;width:max-content;animation:upgrade-scroll 9s steps(150,end) infinite}
.upgrade-scroll span{display:block;flex:1 0 50%;padding:0 22px;white-space:nowrap;color:#a4fa70;text-shadow:2px 2px #28592d,0 0 12px #6bee5480;font:800 clamp(18px,4vw,32px)/1 'IBM Plex Mono',monospace;letter-spacing:1px}
@keyframes upgrade-scroll{to{transform:translateX(-50%)}}
#level-title{margin:14px 0 8px;text-align:center;font:700 12px 'IBM Plex Mono',monospace;letter-spacing:2px;color:#a8c8de}
#level-options{display:flex;justify-content:center;gap:clamp(5px,2vw,13px);margin-bottom:17px}
#level-options .upgrade-tile{position:relative;flex:0 0 auto;width:clamp(66px,16vw,108px);aspect-ratio:1;display:grid;place-items:center;padding:0;border:3px solid #8b9ac0;background:repeating-linear-gradient(0deg,#131b3b28 0 2px,transparent 2px 4px),radial-gradient(at 42% 28%,#426cba,#152546 72%);box-shadow:inset 0 0 0 3px #10192d,0 4px 0 #080b18}
#level-options .passive{border-color:#a7819b;background:repeating-linear-gradient(0deg,#22152f30 0 2px,transparent 2px 4px),radial-gradient(at 42% 28%,#995877,#332048 72%)}
#level-options .highlighted,#level-options .upgrade-tile:focus-visible{border-color:#e4ef85;outline:2px solid #b3c556;outline-offset:2px}
.upgrade-tile img{width:57%;height:auto;image-rendering:pixelated;filter:drop-shadow(3px 4px 0 #0b0c1ba8)}
.upgrade-tile kbd{position:absolute;right:4px;bottom:4px;background:#101326;font-weight:700;padding:2px 4px}
.upgrade-details{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:112px;padding:13px 16px;gap:15px}
.upgrade-details strong{display:block;font:800 25px/1 'Barlow Condensed',sans-serif;letter-spacing:.5px}
.upgrade-details small{display:block;margin-top:4px;font:700 10px 'IBM Plex Mono',monospace;color:#76e5d9}
.upgrade-details p{margin:6px 0 0;color:#d5d9e8;font:12px/1.45 'IBM Plex Mono',monospace}
.upgrade-controls{align-self:center;padding-left:12px;border-left:1px solid #565970;color:#b9bfd3;font:10px/1.65 'IBM Plex Mono',monospace}
.upgrade-controls b{color:#e4ef85}
@media(max-width:450px){.upgrade-marquee{height:42px}.upgrade-details{padding:10px}.upgrade-controls{display:none}}
@media(prefers-reduced-motion:reduce){.upgrade-scroll{animation:none}}

.upgrade-marquee {
  border: 2px solid #ffb8eb;
  border-radius: 9px;
  background: #1e1025;
  box-shadow: 0 0 5px #ffebfb, 0 0 18px #f33caa, inset 0 0 13px #f33caa55;
}
.upgrade-scroll span {
  color: #fff2fb;
  font-weight: 500;
  text-shadow: 0 0 2px white, 0 0 6px #ff9ce5, 0 0 13px #ff49ba, 0 0 24px #ff49ba;
}
.stats .gold b { color: #8cf0ab; }
html,body,main{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}
main{max-width:none;padding:0}
.arena{width:100%;height:100%;height:100dvh;min-height:0;border:0;box-shadow:none}
.overlay{overflow:auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.startpanel{width:min(560px,100%);max-height:100%;padding:clamp(12px,4vw,25px)}
.startpanel h1{font:900 clamp(35px,8vw,78px)/.95 'Barlow Condensed';margin:0}
.startpanel h1 em{display:block;font-size:.49em;letter-spacing:.12em;margin-top:6px}
.controls-guide{display:grid;gap:8px;text-align:left;background:#14101fe8;padding:12px 16px;margin:10px 0;font-size:12px}
.controls-guide dt{font-weight:700;color:var(--cyan)}
.controls-guide dd{margin:2px 0 0;color:#ded7ea}
.game-controls{position:absolute;z-index:2;display:flex;gap:5px;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}
.game-controls button{min-height:44px;padding:7px 10px;background:#151320e8;font-size:10px}
.bottomhud{bottom:calc(64px + env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));pointer-events:none}
.bottomhud button{pointer-events:auto;min-height:44px}
.hud{top:max(12px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right))}
#notice{top:calc(95px + env(safe-area-inset-top))}
@media(max-height:470px) and (orientation:landscape){
  .controls-guide{grid-template-columns:repeat(3,1fr);font-size:11px}
  .startpanel h1{font-size:37px}
  .startpanel .primary{margin:6px 0;padding:11px 20px}
  .startpanel p{margin:6px 0;line-height:1.35}
  .record{margin-top:6px}
}
#boss-intro{position:absolute;inset:0;display:grid;align-items:end;justify-items:center;padding:0 12px max(12vh,env(safe-area-inset-bottom));background:linear-gradient(0deg,#110616ce,transparent 35%,transparent 85%,#1106169e);pointer-events:none}
#boss-name{font:900 italic clamp(36px,8vw,112px)/1 'Barlow Condensed',sans-serif;color:#ff495f;text-align:center;text-shadow:3px 4px #230817,0 0 24px #76092d}
.minimap{position:absolute;right:max(12px,env(safe-area-inset-right));top:calc(76px + env(safe-area-inset-top));width:clamp(82px,12vw,144px);border:1px solid #65758f;background:#111423d9;pointer-events:none}
.minimap canvas{width:100%;height:auto;aspect-ratio:1}
.minimap div{display:flex;justify-content:space-evenly;gap:2px;padding:4px 1px;font-size:clamp(6px,1vw,9px)}
.minimap span:first-child{color:#66f1cf}
.minimap span:last-child{color:#ff526e}
@media(max-width:540px){.bottomhud #loadout{gap:3px}.bottomhud .slot{width:25px}.bottomhud #shopbtn{max-width:110px}}
.wrench-icon{display:inline-block;vertical-align:middle;image-rendering:pixelated}
.slot .wrench-icon{width:19px;height:19px}
