#hud{position:fixed;inset:0;z-index:6;pointer-events:none;opacity:0;transition:opacity 260ms var(--ease);touch-action:none;}body[data-state="run"] #hud{opacity:1;}#hud .hud-click{pointer-events:auto;}.hud-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 20px;padding-top:max(14px,env(safe-area-inset-top,0px));padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));}.hud-wavebox{display:grid;grid-template-columns:auto auto;gap:2px 10px;align-items:baseline;padding:10px 18px 12px;background:linear-gradient(180deg,#1b2637 0%,#111a26 100%);border:2px solid #364d6e;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,0.6),inset 0 1px 0 rgba(255,255,255,0.1);min-width:176px;position:relative;}.hud-label{font-size:11px;font-weight:900;letter-spacing:0.22em;color:#ffbe2e;display:flex;align-items:center;gap:5px;text-shadow:0 0 8px rgba(255,190,46,0.4);}.hud-crest-star{font-style:normal;color:#ffd666;text-shadow:0 0 10px rgba(255,214,102,0.8);font-size:13px;}.hud-wavebox b{font-family:var(--font-num);font-size:21px;font-weight:900;letter-spacing:0.05em;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,0.6);}.hud-wavebar{grid-column:1 / -1;height:10px;margin-top:6px;background:#0d141e;border:1.5px solid #2d3f56;border-radius:999px;overflow:hidden;box-shadow:inset 0 2px 4px rgba(0,0,0,0.7);}.hud-wavebar s{display:block;height:100%;width:0%;background:linear-gradient(90deg,#3ccb4e,#72f384);border-radius:999px;box-shadow:0 0 12px rgba(60,203,78,0.7);transition:width 220ms linear;}.hud-status{flex:1;text-align:center;padding-top:10px;font-size:clamp(12px,1.8vw,15px);font-weight:900;letter-spacing:0.24em;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,0.8),0 0 14px rgba(63,214,224,0.4);text-transform:uppercase;}.hud-status.urgent{color:#ff5555;text-shadow:0 2px 8px rgba(0,0,0,0.9),0 0 16px rgba(255,85,85,0.8);animation:statuspulse 0.9s ease-in-out infinite alternate;}@keyframes statuspulse{from{transform:scale(0.98);filter:brightness(1);}to{transform:scale(1.04);filter:brightness(1.2);}}.hud-counters{display:flex;align-items:center;gap:10px;}.hud-timer{font-family:var(--font-num);font-size:15px;font-weight:900;color:#fff;padding:8px 14px;background:linear-gradient(180deg,#1b2637 0%,#111a26 100%);border:2px solid #364d6e;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.1);font-style:normal;letter-spacing:0.05em;}.hud-stat{display:flex;align-items:center;gap:7px;padding:7px 15px;background:linear-gradient(180deg,#1b2637 0%,#111a26 100%);border:2px solid #364d6e;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.1);font-style:normal;}.hud-stat img{width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.5));}.hud-stat b{font-family:var(--font-num);font-size:15px;font-weight:900;letter-spacing:0.03em;color:#fff;}.hud-stat.hud-stat-cash{border-color:#ffbe2e;}.hud-stat.hud-stat-cash b{color:#ffd666;}.hud-stat.hud-stat-kills{border-color:#ff5555;}.hud-stat.hud-stat-kills b{color:#fff;}#hud .icon-btn{width:42px;height:42px;display:grid;place-items:center;color:#fff;background:linear-gradient(180deg,#1b2637 0%,#111a26 100%);border:2px solid #364d6e;border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.1);cursor:pointer;font-size:15px;font-weight:900;transition:transform var(--dur) var(--ease),filter var(--dur) var(--ease);}#hud .icon-btn:hover{transform:translateY(-2px);filter:brightness(1.15);border-color:#ffbe2e;}#hud .icon-btn:active{transform:translateY(2px);}#boss-bar{position:absolute;top:74px;left:50%;transform:translateX(-50%);width:min(620px,86vw);display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;gap:4px 12px;padding:10px 16px 12px;background:linear-gradient(180deg,#2b1115 0%,#190a0c 100%);border:2px solid #e0392b;border-radius:18px;box-shadow:0 16px 45px rgba(224,57,43,0.35),inset 0 1px 0 rgba(255,255,255,0.1);}.boss-icon{grid-row:1 / span 2;width:46px;height:46px;align-self:center;object-fit:contain;background:#110507;border:2px solid #e0392b;border-radius:14px;padding:3px;box-shadow:0 0 12px rgba(224,57,43,0.5);}.boss-name{font-size:13px;font-weight:900;letter-spacing:0.24em;color:#ff5555;text-shadow:0 0 10px rgba(255,85,85,0.7);}.boss-track{height:14px;background:#0d0405;border:1.5px solid #4a1519;border-radius:999px;overflow:hidden;box-shadow:inset 0 2px 5px rgba(0,0,0,0.8);}.boss-track i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff4757,#ff6b81);box-shadow:0 0 14px rgba(255,71,87,0.7);transition:width 140ms linear;}#boss-bar[data-phase="1"] .boss-track i{background:linear-gradient(90deg,#ffa502,#ff7f50);box-shadow:0 0 14px rgba(255,165,2,0.7);}#boss-bar[data-phase="2"] .boss-track i{background:linear-gradient(90deg,#ffd32a,#ff9f1a);box-shadow:0 0 14px rgba(255,211,42,0.7);}#boss-bar[data-phase="3"] .boss-track i{background:linear-gradient(90deg,#a55eea,#8854d0);box-shadow:0 0 14px rgba(165,94,234,0.7);}.hud-perks{position:absolute;top:120px;left:max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;flex-wrap:wrap;max-height:46vh;gap:5px;}.perk-chip{position:relative;width:32px;height:28px;display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:900;letter-spacing:0.03em;color:#fff;background:#151f2c;border:1.5px solid #2d3f56;border-radius:9px;box-shadow:0 2px 4px rgba(0,0,0,0.4);}.perk-chip b{position:absolute;right:-5px;bottom:-6px;font-family:var(--font-num);font-size:9px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.8);background:#3ccb4e;border:1.5px solid #fff;border-radius:999px;padding:0 4px;}.hud-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:16px;padding-left:max(26px,env(safe-area-inset-left,0px) + 10px);padding-right:max(16px,env(safe-area-inset-right,0px));padding-bottom:max(16px,env(safe-area-inset-bottom,0px));}.hud-vitals{width:min(420px,46vw);display:grid;gap:8px;}.hud-boosts{display:flex;gap:8px;align-items:center;}.boost-chip{position:relative;display:grid;grid-template-columns:22px 1fr;align-items:center;gap:7px;min-width:96px;padding:4px 10px 4px 6px;background:linear-gradient(180deg,rgba(30,44,64,0.92),rgba(16,25,38,0.92));border:2px solid var(--tint,#ffe45a);border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,0.55),0 0 12px rgba(255,255,255,0.12);}.boost-chip img{width:22px;height:22px;object-fit:contain;}.bc-track{display:block;height:5px;background:rgba(0,0,0,0.55);border-radius:999px;overflow:hidden;}.bc-track s{display:block;height:100%;width:100%;background:var(--tint,#ffe45a);border-radius:999px;transition:width 34ms linear;}.boost-chip.ending{animation:boostend 520ms var(--ease) infinite;}@keyframes boostend{50%{opacity:0.45;}}.hud-hp{position:relative;}.vit-icon{object-fit:contain;pointer-events:none;}.vit-heart{position:absolute;left:-15px;top:50%;transform:translateY(-50%);width:38px;height:38px;z-index:2;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.5));}.vit-star{width:28px;height:28px;flex:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.5));}.hp-track{position:relative;display:block;height:22px;background:#0d141e;border:2px solid #334863;border-radius:999px;box-shadow:inset 0 2px 6px rgba(0,0,0,0.8);overflow:hidden;}.hp-track s{position:absolute;inset:0 auto 0 0;display:block;height:100%;text-decoration:none;background:linear-gradient(90deg,#3ccb4e,#72f384);box-shadow:0 0 12px rgba(60,203,78,0.7);transition:width 160ms var(--ease);}#hud-hp-fill.low{background:linear-gradient(90deg,#ff4757,#ff6b81);animation:hplow 0.85s ease-in-out infinite;}@keyframes hplow{50%{filter:brightness(1.4);}}#hud-hp-shield{background:linear-gradient(90deg,#3fd6e0,#7fe3ff);opacity:0.92;}#hud-hp-text{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-num);font-size:12px;font-weight:900;letter-spacing:0.08em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.9);}.hud-xp{display:flex;align-items:center;gap:9px;}.lv-badge{display:grid;place-items:center;min-width:32px;height:27px;padding:0 7px;background:linear-gradient(180deg,#ffd666,#ffbe2e 60%,#c28812);border:2px solid #fff5d8;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.5);transition:transform 200ms var(--ease);}.lv-badge b{font-family:var(--font-num);font-size:14px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.8);}.lv-badge.pop{animation:lvpop 420ms var(--ease);}@keyframes lvpop{0%{transform:scale(1);}40%{transform:scale(1.35);filter:brightness(1.3);}100%{transform:scale(1);}}.xp-track{flex:1;display:block;height:11px;background:#0d141e;border:1.5px solid #334863;border-radius:999px;box-shadow:inset 0 2px 4px rgba(0,0,0,0.8);overflow:hidden;}.xp-track s{display:block;height:100%;width:0%;text-decoration:none;background:linear-gradient(90deg,#3fd6e0,#63d6ff);box-shadow:0 0 10px rgba(63,214,224,0.7);transition:width 120ms linear;}.hud-weapon{display:flex;align-items:center;gap:9px;}.vit-gun{width:26px;height:26px;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.5));}.dur-track{flex:1;display:block;height:8px;background:#0d141e;border:1.5px solid #334863;border-radius:999px;box-shadow:inset 0 2px 4px rgba(0,0,0,0.8);overflow:hidden;}.dur-track s{display:block;height:100%;width:100%;text-decoration:none;background:linear-gradient(90deg,#3ccb4e,#72f384);box-shadow:0 0 8px rgba(60,203,78,0.6);transition:width 200ms linear,background 300ms var(--ease);}#hud-dur-text{min-width:40px;font-family:var(--font-num);font-size:12px;font-weight:900;color:#8da4c4;}.hud-weapon.worn .dur-track s{background:linear-gradient(90deg,#ffd666,#ffbe2e);box-shadow:0 0 8px rgba(255,190,46,0.6);}.hud-weapon.critical .dur-track s{background:linear-gradient(90deg,#ff4757,#ff6b81);box-shadow:0 0 8px rgba(255,71,87,0.8);}.hud-weapon.critical{animation:durpulse 900ms var(--ease) infinite;}@keyframes durpulse{0%,100%{opacity:1;}50%{opacity:0.55;}}.hud-buttons{display:flex;gap:12px;align-items:flex-end;}.round-btn{position:relative;width:68px;height:68px;display:grid;place-items:center;border-radius:50%;border:2.5px solid #3d587c;background:linear-gradient(180deg,#1e2c40 0%,#121c29 100%);box-shadow:0 6px 18px rgba(0,0,0,0.6);color:#8da4c4;font-size:11px;font-weight:900;letter-spacing:0.08em;cursor:pointer;transition:transform var(--dur) var(--ease);}.round-btn:hover{transform:translateY(-2px);border-color:#3fd6e0;}.round-btn.primary{width:86px;height:86px;font-size:15px;}.round-btn span{position:relative;z-index:2;}.round-btn .sweep{position:absolute;inset:4px;border-radius:50%;background:conic-gradient(rgba(0,0,0,0.4) 360deg,rgba(0,0,0,0.4) 0deg);mask:radial-gradient(circle,transparent 60%,#000 63%);-webkit-mask:radial-gradient(circle,transparent 60%,#000 63%);}.round-btn.ready{color:#fff;border-color:#3ccb4e;box-shadow:0 0 16px rgba(60,203,78,0.4);}.round-btn.primary.ready{background:linear-gradient(180deg,#24442f 0%,#12281a 100%);border-color:#4cd936;box-shadow:0 0 24px rgba(76,217,54,0.5);animation:readypulse 1.6s ease-in-out infinite;}@keyframes readypulse{50%{box-shadow:0 0 32px rgba(76,217,54,0.8);}}.round-btn:active{transform:scale(0.93);}.hud-toast{position:absolute;left:50%;bottom:22%;transform:translate(-50%,14px);padding:9px 18px;font-size:12px;font-weight:900;letter-spacing:0.14em;color:#fff;background:linear-gradient(180deg,#1b2637 0%,#111a26 100%);border:2px solid #364d6e;border-left:6px solid var(--loot,#3ccb4e);border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,0.7);opacity:0;transition:opacity 220ms var(--ease),transform 220ms var(--ease);}.hud-toast.on{opacity:1;transform:translate(-50%,0);}.hud-toast img{width:22px;height:22px;object-fit:contain;vertical-align:-6px;margin-right:8px;}.hud-toast.good{border-left-color:#3ccb4e;color:#72f384;}.hud-toast.bad{border-left-color:#ff5555;color:#ff5555;}.hud-toast.gun{border-left-color:#ffbe2e;color:#ffd666;}.hud-toast.loot{color:var(--loot);}.hud-banner{position:absolute;left:50%;top:27%;transform:translate(-50%,0) scale(0.94);display:grid;justify-items:center;gap:4px;text-align:center;opacity:0;pointer-events:none;}.hud-banner.on{animation:bannerIn 2.4s var(--ease) forwards;}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,12px) scale(0.9);}12%{opacity:1;transform:translate(-50%,0) scale(1);}78%{opacity:1;transform:translate(-50%,0) scale(1);}100%{opacity:0;transform:translate(-50%,-14px) scale(1.04);}}.hud-banner img{width:74px;height:74px;filter:drop-shadow(0 6px 18px rgba(0,0,0,0.7));}.hud-banner b{font-size:clamp(28px,5vw,52px);font-weight:900;letter-spacing:0.06em;color:#ffd666;text-shadow:0 4px 18px rgba(255,214,102,0.6),0 0 2px #000;}.hud-banner span{font-size:12px;font-weight:900;letter-spacing:0.28em;color:#72f384;text-shadow:0 0 10px rgba(114,243,132,0.6);}#damage-flash{position:fixed;inset:0;z-index:4;pointer-events:none;opacity:0;background:radial-gradient(120% 90% at 50% 50%,transparent 42%,rgba(226,84,63,0.55) 100%);}.stick{position:absolute;width:124px;height:124px;margin:-62px 0 0 -62px;border-radius:50%;border:2px solid rgba(63,214,224,0.4);background:rgba(14,21,32,0.4);opacity:0;pointer-events:none;transition:opacity 140ms var(--ease);}.stick.on{opacity:1;}.stick i{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:rgba(63,214,224,0.6);border:2px solid #3fd6e0;box-shadow:0 0 14px rgba(63,214,224,0.6);}body:not(.touch) .hud-buttons{opacity:0.92;}body:not(.touch) .stick{display:none;}@media (max-width:760px){.hud-top{flex-wrap:wrap;gap:8px;padding:8px 10px;padding-top:max(8px,env(safe-area-inset-top,0px));padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px));}.hud-wavebox{min-width:0;padding:6px 12px 8px;}.hud-wavebox b{font-size:15px;}.hud-label{font-size:9px;letter-spacing:0.16em;}.hud-status{order:3;width:100%;flex:none;padding-top:0;font-size:10px;letter-spacing:0.16em;white-space:nowrap;}.hud-counters{margin-left:auto;gap:5px;}.hud-timer{font-size:13px;padding:6px 9px;}.hud-stat{padding:5px 9px;gap:4px;}.hud-stat img{width:13px;height:13px;}.hud-stat b{font-size:12px;}.hud-counters .hud-stat:last-of-type{display:none;}#boss-bar{top:92px;width:min(560px,92vw);}.hud-perks{top:auto;bottom:132px;left:max(10px,env(safe-area-inset-left,0px));max-height:26vh;}@media (orientation:portrait){.hud-perks{top:104px;bottom:auto;max-height:42vh;}}.hud-vitals{width:50vw;}.hud-banner b{font-size:clamp(24px,8vw,40px);}.hud-banner img{width:56px;height:56px;}.round-btn{width:60px;height:60px;}.round-btn.primary{width:74px;height:74px;}.round-btn img{width:32px;height:32px;}}@media (max-width:520px) and (orientation:portrait){.hud-bottom{flex-direction:column;align-items:stretch;gap:10px;}.hud-vitals{width:100%;}.hud-buttons{justify-content:flex-end;}}.round-btn img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.6));pointer-events:none;}.round-btn:not(.ready) img{filter:grayscale(1) brightness(0.6);}.btn-hotkey{position:absolute;top:-4px;right:-4px;background:#111a26;border:1.5px solid #3d587c;color:#ffd666;font-family:var(--font-num,monospace);font-size:10px;font-weight:900;padding:1px 5px;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,0.6);pointer-events:none;z-index:5;letter-spacing:0.04em;}.round-btn.primary .btn-hotkey{font-size:12px;padding:2px 7px;border-color:#4cd936;color:#fff;background:#183321;}body.touch .btn-hotkey{display:none;}body[data-placing] .hud-corner,body[data-placing] .hud-top{opacity:0.45;transition:opacity 160ms ease;}body[data-placing="ability"] #btn-ability{animation:armedPulse 0.85s ease-in-out infinite;box-shadow:0 0 0 4px rgba(124,245,200,0.85),0 0 26px 6px rgba(124,245,200,0.5);}@keyframes armedPulse{50%{transform:scale(1.07);}}