:root{--bg: #030f0d;--bg-deep: #02080a;--fg: #f2e7ec;--fg-dim: #c9b8c1;--accent: #e4285a;--accent-soft: #ff6b8e;--ink: #030f0d;--danger: #e4285a;--warn: #ffaa33;--panel: rgba(3, 15, 13, .78);--panel-border: rgba(228, 40, 90, .28);--font-title: "Coda", "UmbertoRegular", "Impact", "Arial Black", sans-serif;--font: "Coda", "VG5000Regular", "Courier New", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:var(--bg);color:var(--fg);font-family:var(--font);overflow:hidden;user-select:none;-webkit-user-select:none}#app{position:fixed;inset:0;overflow:hidden}canvas#game{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated;cursor:crosshair}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#030f0dd1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:10;opacity:0;pointer-events:none;transition:none}.overlay.visible{opacity:1;pointer-events:auto}.overlay.hidden{display:none}.menu-inner,.draft-inner{background:var(--panel);border:1px solid var(--panel-border);padding:36px 48px;min-width:420px;text-align:center;box-shadow:0 0 48px #e4285a14}.logo{font-family:var(--font);font-size:56px;letter-spacing:6px;color:var(--accent);text-shadow:0 0 18px rgba(228,40,90,.35);margin-bottom:6px;line-height:1}.logo span{color:var(--fg);margin-left:10px;opacity:.75}.logo.small{font-size:38px;letter-spacing:5px}.tag,.draft-sub,.draft-title{font-size:13px;letter-spacing:3px;opacity:.78;margin-bottom:18px}.draft-title{font-family:var(--font-title);font-size:clamp(36px,6vw,62px);color:#ff2a2a;letter-spacing:9px;line-height:.95;text-transform:uppercase;opacity:1;margin:0 0 8px;text-shadow:0 0 10px rgba(255,42,42,.35),0 3px 0 rgba(90,0,0,.7)}.draft-title-meta{margin:0 0 8px;font-size:24px;letter-spacing:3px;line-height:1;color:#f3f6f8;opacity:.92;text-transform:uppercase}.draft-title-count{font-family:var(--font-title);font-size:36px;margin-right:8px;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.28)}button{display:block;width:100%;margin:6px 0;padding:14px 24px;font-family:var(--font);font-size:14px;letter-spacing:4px;border:1px solid var(--panel-border);background:#ffffff0a;color:var(--fg);cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease,border-color .12s ease}button.primary{border-color:var(--accent);background:var(--accent);color:var(--ink);font-weight:700}button.primary:hover{background:var(--accent-soft);border-color:var(--accent-soft);transform:translateY(-1px)}button.secondary:hover{background:#e4285a1f;border-color:var(--accent);color:var(--fg);transform:translateY(-1px)}button:active{transform:translateY(0)}.controls{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-top:20px;font-size:11px;opacity:.75;letter-spacing:2px}.main-menu{background:var(--bg-deep);backdrop-filter:none;-webkit-backdrop-filter:none;flex-direction:column;justify-content:center;align-items:stretch;padding:0;overflow:hidden}.main-menu .stars{position:absolute;inset:0;background-color:var(--bg-deep);background-image:radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.9),transparent 60%),radial-gradient(1px 1px at 28% 72%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1.2px 1.2px at 43% 34%,rgba(255,255,255,.85),transparent 60%),radial-gradient(1px 1px at 67% 12%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1.4px 1.4px at 78% 64%,rgba(255,255,255,.95),transparent 60%),radial-gradient(1px 1px at 88% 28%,rgba(255,255,255,.55),transparent 60%),radial-gradient(1px 1px at 8% 82%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 55% 88%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1px 1px at 36% 8%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1.2px 1.2px at 92% 76%,rgba(255,255,255,.8),transparent 60%),radial-gradient(1px 1px at 19% 48%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 71% 92%,rgba(255,255,255,.6),transparent 60%);pointer-events:none;z-index:0}.main-menu .nebula{position:absolute;top:-10%;left:20%;width:60%;height:60%;background:radial-gradient(ellipse at center,rgba(228,40,90,.18) 0%,rgba(228,40,90,.08) 25%,rgba(200,200,220,.05) 45%,transparent 70%);filter:blur(20px);pointer-events:none;z-index:0}.main-menu .title-banner{position:relative;z-index:2;background:var(--accent);color:var(--ink);padding:36px 6vw 48px;margin-top:6vh;box-shadow:0 12px 40px #e4285a40}.main-menu .title-banner-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;min-height:clamp(170px,22vh,280px)}.main-menu .game-title{font-family:UmbertoRegular,Impact,Arial Black,sans-serif;font-weight:900;font-size:clamp(68px,12vw,172px);line-height:.88;letter-spacing:-2px;margin:0;color:var(--ink);text-transform:uppercase;display:flex;flex-direction:column;transform-origin:center center;will-change:transform,filter;position:relative;--gx: 0px;--gy: 0px;--slice-y: 0%;--slice-h: 0%;--slice-x: 0px;text-shadow:calc(var(--gx) * -1) calc(var(--gy) * -1) 0 #00e8ff,var(--gx) var(--gy) 0 #ff003c}.main-menu .game-title .title-line{display:block;position:relative}.main-menu .game-title .title-line:before,.main-menu .game-title .title-line:after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;text-shadow:none;color:var(--ink);clip-path:inset(var(--slice-y) 0 calc(100% - var(--slice-y) - var(--slice-h)) 0);transform:translate(var(--slice-x));mix-blend-mode:hard-light;opacity:0}.main-menu .game-title .title-line:before{color:#ff0030;transform:translate(calc(var(--slice-x) * -1))}.main-menu .game-title .title-line:after{color:#00e8ff}.main-menu .game-title.is-glitching .title-line:before,.main-menu .game-title.is-glitching .title-line:after{opacity:.95}.main-menu .title-banner:before{content:"";position:absolute;inset:-8% 0 -28%;pointer-events:none;z-index:0;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 6px,rgba(120,0,18,.18) 6px,rgba(120,0,18,.18) 9px,transparent 9px,transparent 22px),repeating-linear-gradient(to right,transparent 0,transparent 18px,rgba(180,0,30,.1) 18px,rgba(180,0,30,.1) 19px,transparent 19px,transparent 64px);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 22%,rgba(0,0,0,.85) 60%,rgba(0,0,0,.55) 80%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 22%,rgba(0,0,0,.85) 60%,rgba(0,0,0,.55) 80%,transparent 100%);mix-blend-mode:multiply;opacity:.85;animation:drip-shift 9s linear infinite}@keyframes drip-shift{0%{background-position:0 0,0 0}to{background-position:0 22px,64px 0}}.main-menu .title-banner-inner{position:relative;z-index:1}.main-menu .version{z-index:2}.main-menu .title-dots{display:flex;gap:10px;align-items:center;margin-top:14px;padding-top:10px;border-top:6px solid var(--ink);padding-left:35%}.main-menu .title-dots span{width:10px;height:10px;border-radius:50%;background:var(--ink)}.main-menu .title-dots span:nth-child(2),.main-menu .title-dots span:nth-child(3),.main-menu .title-dots span:nth-child(4){margin-left:4px}.main-menu .title-dots span:nth-child(5),.main-menu .title-dots span:nth-child(6),.main-menu .title-dots span:nth-child(7),.main-menu .title-dots span:nth-child(8){margin-left:4px}.main-menu .title-dots span:last-child{width:14px;height:14px;border:2px solid var(--ink);background:transparent;margin-left:8px}.main-menu .version{position:absolute;right:24px;bottom:14px;font-size:10px;letter-spacing:2.4px;color:#f2e7ec85;background:transparent;text-transform:uppercase}.main-menu .menu-inner{position:relative;z-index:2;background:transparent;border:none;box-shadow:none;margin:40px auto 6vh;padding:0 24px;min-width:0;width:min(460px,90vw);text-align:left}.main-menu .section-label{font-family:var(--font-title);font-weight:700;font-size:9px;letter-spacing:2.6px;color:#f2e7ec6b;margin-bottom:8px;text-transform:uppercase}.main-menu .menu-actions{display:flex;flex-direction:column;gap:8px}.main-menu .menu-actions button{margin:0;text-align:center}.main-menu .menu-actions #btn-start{padding:18px 24px;font-size:15px;letter-spacing:4px;border-width:2px;transition:background .12s ease,color .12s ease,transform .12s ease,border-color .12s ease,box-shadow .16s ease;box-shadow:0 0 0 1px #ffb7ce59,0 0 24px #e4285a66}.main-menu .menu-actions #btn-start:hover,.main-menu .menu-actions #btn-start:focus-visible{transform:translateY(-1px) scale(1.018);box-shadow:0 0 0 1px #ffccde99,0 0 30px #e4285a94}.main-menu .menu-actions #btn-start.is-pressed{transform:scale(.985);filter:brightness(1.14);box-shadow:0 0 0 2px #ffdeeab8,0 0 26px #ff78a0b8}.main-menu .menu-actions #btn-sandbox{width:92%;margin-left:auto;margin-top:2px;padding:12px 18px;font-size:12px;letter-spacing:3px}.main-menu .menu-actions .secondary{background:#c8c8dc2e;border-color:#c8c8dc38;color:var(--fg)}.character-select-screen{position:relative;background:linear-gradient(180deg,#0c070fe6,#05030af2),radial-gradient(circle at 20% 15%,rgba(228,40,90,.15),transparent 45%),radial-gradient(circle at 85% 75%,rgba(96,180,255,.14),transparent 40%);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.character-select-screen-inner{position:relative;z-index:1;border:1px solid rgba(228,40,90,.28);background:#0a0e16d6;padding:14px 16px 16px;width:min(960px,94vw);min-height:min(520px,78vh);display:flex;flex-direction:column;gap:12px}.character-select-toolbar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:4px;border-bottom:1px solid rgba(228,40,90,.2)}.character-select-label{font-size:11px;letter-spacing:2px;color:var(--accent-soft);margin:0}.character-progress{margin:0;font-size:10px;letter-spacing:2px;color:var(--fg-dim)}.character-grid{display:grid;grid-template-columns:repeat(3,minmax(96px,1fr));gap:10px;flex:1;align-content:start}.character-grid--bo4{grid-template-columns:repeat(3,minmax(100px,1fr))}.character-card{min-height:0;border:1px solid rgba(228,40,90,.25);background:#ffffff08;margin:0;padding:0;text-align:center;letter-spacing:1px;position:relative;cursor:pointer;border-radius:2px;overflow:hidden;display:flex;flex-direction:column;align-items:stretch}.character-card--bo4 .character-card-thumb-wrap{position:relative;aspect-ratio:1;width:100%;background:#030f0dd9;border-bottom:1px solid rgba(228,40,90,.2)}.character-card-thumb{width:100%;height:100%;object-fit:cover;display:block}.character-card-thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-size:clamp(18px,5vw,28px);font-weight:800;color:var(--accent-soft);background:#ffffff0a}.character-card--bo4 .character-card-name{display:block;padding:8px 6px 10px;font-size:9px;letter-spacing:1px;line-height:1.2;color:var(--fg-dim);text-transform:uppercase}.character-card.is-selected{outline:2px solid var(--accent);outline-offset:0;border-color:#e4285aa6;box-shadow:0 0 0 1px #e4285a59,0 8px 28px #e4285a2e}.character-card.is-locked{opacity:.55;cursor:not-allowed}.character-card.is-locked .character-card-thumb-wrap{filter:grayscale(.85)}.character-card.placeholder{border-style:dashed;display:flex;align-items:center;justify-content:center;min-height:120px;color:#f2e7ec6b;font-size:10px;cursor:default}.character-select-footer{display:flex;justify-content:flex-start;padding-top:4px}.character-select-footer button{margin:0}.character-detail-modal{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:min(24px,4vw)}.character-detail-modal[hidden]{display:none!important}.character-detail-modal-backdrop{position:absolute;inset:0;background:#020508b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.character-detail-modal-shell{position:relative;z-index:1;width:min(820px,96vw);max-height:min(92vh,900px);display:flex;flex-direction:column;pointer-events:auto}.character-detail-modal-panel{border:1px solid var(--panel-border);background:#030f0deb;box-shadow:0 18px 48px #0000008c,0 0 40px #e4285a14;display:flex;flex-direction:column;max-height:inherit}.character-modal-body{overflow-y:auto;padding:0;flex:1;min-height:0}.character-modal-strip{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"ctx title page";align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(90deg,var(--accent) 0%,#c91f4d 100%);border-bottom:1px solid rgba(0,0,0,.25)}.character-modal-strip-context{grid-area:ctx;font-size:9px;letter-spacing:2px;color:#03080abf;text-transform:uppercase;justify-self:start}.character-modal-title{grid-area:title;margin:0;font-family:var(--font-title);font-size:clamp(22px,4.5vw,34px);letter-spacing:3px;text-transform:uppercase;color:var(--ink);text-align:center;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.12)}.character-modal-strip-page{grid-area:page;font-size:10px;letter-spacing:2px;color:#03080aa6;justify-self:end}.character-modal-columns{display:grid;grid-template-columns:minmax(160px,.42fr) minmax(0,1fr);gap:0;align-items:stretch;border-bottom:1px solid rgba(228,40,90,.18)}.character-modal-art{position:relative;background:radial-gradient(circle at 50% 30%,rgba(228,40,90,.12),transparent 55%),#030f0df2;border-right:1px solid rgba(228,40,90,.15);min-height:220px;margin-top:-36px;padding-top:36px;display:flex;align-items:flex-end;justify-content:center}.character-modal-portrait-img{max-width:100%;max-height:min(380px,52vh);width:auto;height:auto;object-fit:contain;object-position:bottom center;display:block;filter:drop-shadow(0 12px 24px rgba(0,0,0,.45))}.character-modal-art-fallback{width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-size:42px;font-weight:800;color:var(--accent-soft);opacity:.85}.character-modal-info{padding:16px 18px 18px;background:linear-gradient(180deg,#030f0d80,#030f0dd9)}.character-modal-fullname{margin:0 0 4px;font-size:13px;letter-spacing:1px;color:var(--fg)}.character-modal-role{margin:0 0 10px;font-size:11px;color:var(--accent-soft);letter-spacing:1px;text-transform:uppercase}.character-modal-quote{margin:0 0 12px;padding:0;border:none;font-size:11px;line-height:1.45;color:var(--fg-dim);font-style:italic}.character-tags{margin-top:0;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:6px}.character-tag{border:1px solid rgba(138,255,240,.4);background:#8afff01c;padding:2px 8px;font-size:10px;letter-spacing:1px}.character-modal-skills-head{font-family:var(--font-title);font-size:12px;letter-spacing:3px;color:var(--accent);margin-bottom:10px}.character-skill-icons{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.character-skill-btn{width:48px;height:48px;border-radius:50%;padding:0;border:2px solid rgba(228,40,90,.35);background:#ffffff0d;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.character-skill-btn img{width:70%;height:70%;object-fit:contain}.character-skill-fallback{font-family:var(--font-title);font-size:14px;font-weight:800;color:var(--fg)}.character-skill-btn.is-current{border-color:var(--accent-soft);box-shadow:0 0 0 2px #e4285a59,0 0 18px #e4285a47}.character-skill-detail{padding-top:4px}.character-skill-section{font-size:9px;letter-spacing:2px;color:var(--fg-dim);margin-bottom:4px}.character-skill-name{margin:0 0 6px;font-size:14px;letter-spacing:1px;color:var(--accent-soft);text-transform:uppercase}.character-skill-text{margin:0;font-size:12px;line-height:1.45;color:var(--fg-dim)}.character-unlock-note{margin-top:14px;padding-top:12px;border-top:1px solid rgba(228,40,90,.18);font-size:11px;letter-spacing:1px;color:#f2e7ecd9}.character-modal-footer{flex-shrink:0;display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px;border-top:1px solid rgba(228,40,90,.22);background:#020807eb}.character-modal-footer button{margin:0}.character-modal-footer button:disabled{opacity:.45;cursor:not-allowed}.main-menu .menu-settings-toggle{margin-top:18px;width:auto;justify-self:start;align-self:flex-start;padding:7px 10px;font-size:9px;letter-spacing:1.8px;border-color:#e4285a42;background:#030f0d66;color:#f2e7ecad}.main-menu .menu-settings-toggle:hover{border-color:#e4285aa8;background:#e4285a1f}.main-menu .menu-settings-panel{margin-top:10px;border:1px solid rgba(228,40,90,.24);background:#030f0d94;padding:10px 12px 12px}.main-menu .menu-settings-panel[hidden]{display:none}.main-menu .controls{margin-top:0;opacity:.75;font-size:10px;gap:5px 14px}.main-menu .audio-settings{margin-top:10px;background:#030f0d59}.menu-loading-status{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:4px 10px;border:1px solid rgba(228,40,90,.35);background:#030f0d8c;color:var(--fg-dim);font-family:var(--font-title);font-size:10px;letter-spacing:2px;text-transform:uppercase;opacity:.85}.menu-loading-status[hidden]{display:none}.menu-loading-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);animation:menu-loading-pulse 1.1s ease-in-out infinite}@keyframes menu-loading-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@media (max-width: 600px){.main-menu .title-banner{padding:24px 5vw 34px}.main-menu .title-banner-inner{min-height:140px}.main-menu .game-title{font-size:56px}.main-menu .title-dots{padding-left:10%}.main-menu .menu-actions #btn-sandbox{width:100%}.character-select-screen-inner{width:min(96vw,620px);min-height:0;max-height:92vh;overflow:auto}.character-modal-columns{grid-template-columns:1fr}.character-modal-art{margin-top:0;padding-top:16px;border-right:none;border-bottom:1px solid rgba(228,40,90,.15);min-height:180px}.character-modal-strip{grid-template-columns:1fr;grid-template-areas:"title" "ctx" "page";justify-items:center;text-align:center}.character-modal-strip-context,.character-modal-strip-page{justify-self:center}}.audio-settings{margin-top:18px;text-align:left;border:1px solid var(--panel-border);background:#ffffff08;padding:12px 14px}.audio-settings.compact{margin-top:12px}.audio-title{font-size:11px;letter-spacing:3px;color:var(--accent);margin-bottom:8px}.audio-settings label{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center;font-size:10px;letter-spacing:2px;margin:6px 0;opacity:.9}.audio-settings input[type=range]{width:100%}.menu-blackout{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:30}kbd{display:inline-block;min-width:36px;padding:2px 6px;margin-right:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:2px;font-family:var(--font);font-size:10px;color:var(--accent);text-align:center}#vintage-vignette{position:fixed;inset:0;pointer-events:none;z-index:3;opacity:1;background:radial-gradient(ellipse at center,#0000 48%,#2a14081a 68%,#10080352);mix-blend-mode:multiply}#danger-vignette{position:fixed;inset:0;pointer-events:none;z-index:4;border-radius:0;opacity:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(220,20,40,.28) 100%);transition:opacity .3s ease}#danger-vignette.danger-low{animation:vignette-pulse .9s ease-in-out infinite alternate}#danger-vignette.danger-critical{animation:vignette-pulse .48s ease-in-out infinite alternate}@keyframes vignette-pulse{0%{opacity:0}to{opacity:1}}.hud{position:absolute;inset:0;pointer-events:none;z-index:5;opacity:1;transition:opacity .2s ease}.hud.hidden{opacity:0;pointer-events:none}.hud-top{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.hp,.dash{display:flex;align-items:center;gap:13px;background:transparent;border:none;padding:10px 18px;font-size:16px;letter-spacing:2px}.hp-label,.dash-label{color:#c7f4ff;text-shadow:0 0 6px rgba(132,231,255,.9),0 0 14px rgba(72,166,255,.6)}.hp-bar{width:208px;height:13px;background:linear-gradient(180deg,#78f5ff1f,#1e69a03d);position:relative;overflow:hidden;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);box-shadow:inset 0 0 0 1px #98f2ff59,inset 0 0 14px #65c8ff59,0 0 10px #66d2ff59}#hp-fill{height:100%;width:100%;background:linear-gradient(90deg,#ff4f86,#ff2f5e 55%,#ff9db5);transition:none;box-shadow:0 0 8px #ff4b7dcc,0 0 16px #ff4b7d73}#hp-fill.hp-critical{animation:hp-pulse .72s ease-in-out infinite alternate}@keyframes hp-pulse{0%{filter:brightness(1) saturate(1.2)}to{filter:brightness(1.7) saturate(2) drop-shadow(0 0 4px #ff2040cc)}}.dash-pip{width:78px;height:13px;background:linear-gradient(180deg,#78f5ff1f,#1e69a03d);overflow:hidden;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);box-shadow:inset 0 0 0 1px #98f2ff59,inset 0 0 14px #65c8ff59,0 0 10px #66d2ff59}#dash-fill{height:100%;width:100%;background:linear-gradient(90deg,#6af1ff,#3fd9ff,#c8f8ff);transition:none;box-shadow:0 0 8px #62e0ffe6,0 0 16px #62e0ff8c}#dash-fill.stamina-depleted{animation:stamina-flash .35s ease-out forwards}#dash-fill.stamina-low{filter:hue-rotate(-30deg) saturate(1.4)}@keyframes stamina-flash{0%{filter:brightness(2.5) saturate(0);opacity:1}60%{filter:brightness(1.4) saturate(.4)}to{filter:brightness(1) saturate(1);opacity:1}}#hp-text{font-size:14px;opacity:.95;min-width:52px;text-align:right;color:#ebfaff;text-shadow:0 0 8px rgba(123,232,255,.7),0 0 18px rgba(123,232,255,.35)}.weapons-hud{position:absolute;left:0;bottom:0;width:min(390px,52vw);display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:linear-gradient(180deg,#7aa1b62e,#2b4b6042);border:1px solid rgba(190,221,239,.24);box-shadow:0 8px 24px #00000059,inset 0 0 20px #7cbbdd0f;backdrop-filter:blur(1.2px);-webkit-backdrop-filter:blur(1.2px)}.weapon-slot{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border:1px solid rgba(190,221,239,.22);background:#0b1c2870;transition:border-color .12s ease}.weapon-slot.reloading{background:#3a222870;animation:reload-border .6s linear infinite}@keyframes reload-border{0%{box-shadow:inset 0 0 0 2px #ffc83c33}50%{box-shadow:inset 0 0 0 2px #ffc83ce6}to{box-shadow:inset 0 0 0 2px #ffc83c33}}.weapon-slot-top{display:flex;align-items:center;gap:7px;min-width:0}.weapon-slot-hand{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:9px;color:#dceef8eb;border:1px solid rgba(194,225,241,.35)}.weapon-slot-ammo-value{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 5px;font-size:15px;letter-spacing:.4px;color:#e8f6ff;border:1px solid rgba(194,225,241,.42);background:#a5d4f11f;font-variant-numeric:tabular-nums}#weapon-left-name,#weapon-right-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;letter-spacing:1.2px;color:#eaf6ff}.weapon-slot-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}#weapon-left-ammo,#weapon-right-ammo{font-size:11px;letter-spacing:1.8px;min-height:14px;color:#dcf0fad6}.ammo-critical{animation:ammo-flash .55s ease-in-out infinite alternate;color:#ff6040!important}@keyframes ammo-flash{0%{opacity:1}to{opacity:.4}}.weapon-slot-icons{display:inline-flex;align-items:center;gap:4px}.weapon-slot-icons i{display:block;width:10px;height:5px;border:1px solid rgba(194,225,241,.44);background:#b2e2ff2e}.weapon-slot-icons i:nth-child(3){width:14px}.weapon-slot-bar{width:100%;height:4px;background:#beddef2e;overflow:hidden}#weapon-left-reserve-fill,#weapon-right-reserve-fill{width:100%;height:100%;background:linear-gradient(90deg,#b7e4ffcc,#b7e4ff40);transform-origin:left center}.room-stack{display:flex;flex-direction:column;align-items:center;gap:6px}.hp{display:flex;flex-direction:column;align-items:flex-start;gap:8px;position:relative;overflow:visible;padding-top:21px;box-shadow:none}.hp:before{content:"VITALS";position:absolute;left:16px;top:5px;font-size:10px;letter-spacing:2.3px;color:#9cf1ffd9;text-shadow:0 0 8px rgba(118,222,255,.75),0 0 14px rgba(84,164,255,.4)}.hp-main{display:flex;align-items:center;gap:13px}.dash{padding:5px 10px;border:none;background:transparent;font-size:13px;letter-spacing:1.7px;box-shadow:none}.dash-pip{width:114px}.room-timer{position:relative;min-width:178px;width:100%;height:30px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:3px 18px 4px;color:#f4fbff;font-family:var(--font);font-size:20px;font-weight:800;line-height:1;letter-spacing:1px;text-shadow:0 0 8px rgba(130,225,255,.75),0 0 16px rgba(228,40,90,.42);background:linear-gradient(180deg,#ffffff24,#ffffff05 38%,#03080ce6),linear-gradient(90deg,#2c040cdb,#09141ae6 50%,#2c040cdb);border:1px solid rgba(255,225,235,.18);border-left-color:#e4285aad;border-right-color:#e4285aad;box-shadow:0 0 20px #e4285a2e,inset 0 0 12px #80dcff1f,inset 0 -1px #e4285a85;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%)}.room-timer.hidden{display:none}.room-timer:before,.room-timer:after{content:"";position:absolute;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,rgba(162,230,255,.72),transparent);opacity:.72}.room-timer:before{top:4px}.room-timer:after{bottom:4px}.room-timer-glyph{position:relative;display:inline-block;width:10px;height:10px;border:2px solid rgba(244,251,255,.92);border-radius:50%;box-shadow:0 0 8px #82e1ffb3}.room-timer-glyph:before{content:"";position:absolute;width:5px;height:2px;transform:translate(3px,2px) rotate(-45deg);background:#f4fbffeb;transform-origin:left center}.combo-meter{position:absolute;left:8px;top:calc(100% + 64px);width:220px;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 18px 14px;border:1px solid rgba(255,42,70,.52);background:linear-gradient(135deg,rgba(255,42,70,.13),transparent 36%),linear-gradient(180deg,#040c126b,#04080c2e);box-shadow:0 0 28px #e4285a3d,inset 0 0 22px #ff2a4614;transform-origin:center center;clip-path:polygon(14px 0,100% 0,calc(100% - 16px) 100%,0 100%);will-change:transform,opacity,filter}.combo-meter.hidden{display:none}.combo-label{color:#fff;font-size:15px;font-weight:800;letter-spacing:4px;line-height:1;text-shadow:2px 0 0 rgba(55,175,255,.36),-2px 0 0 rgba(255,42,70,.5),0 0 10px rgba(255,255,255,.35)}.combo-count{font-family:var(--font-title);font-size:72px;font-weight:800;line-height:.78;color:#fff;letter-spacing:-2px;text-shadow:3px 0 0 rgba(55,175,255,.42),-3px 0 0 rgba(255,42,70,.56),0 4px 0 rgba(52,0,12,.72),0 0 18px rgba(255,255,255,.42),0 0 32px rgba(228,40,90,.64);will-change:transform,filter}.room-counter{background:var(--panel);border:1px solid var(--panel-border);padding:8px 14px;font-size:13px;letter-spacing:4px;color:var(--accent)}.stage-intro{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;z-index:7;text-align:center}.stage-intro-frame{min-width:min(92vw,980px);padding:12px 28px 16px;background:linear-gradient(90deg,#a01638c7,#5c0822a8);border:1px solid rgba(255,120,160,.42);box-shadow:0 0 36px #e4285a57,inset 0 0 40px #ffb4d212;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.stage-intro-main{font-family:UmbertoRegular,Impact,Arial Black,sans-serif;font-size:clamp(46px,7.3vw,102px);font-weight:900;line-height:.9;letter-spacing:3px;text-transform:uppercase;transform:skew(-9deg);color:#ffe9f1;text-shadow:-2px 0 0 rgba(255,120,175,.42),2px 0 0 rgba(205,15,80,.55),0 0 18px rgba(228,40,90,.35)}.stage-intro-sub{margin-top:6px;font-family:UmbertoRegular,Impact,Arial Black,sans-serif;font-size:clamp(24px,3vw,44px);font-weight:700;line-height:.96;letter-spacing:8px;text-transform:uppercase;color:#ffe2edf2;text-shadow:0 0 10px rgba(228,40,90,.38)}.objective-banner{position:absolute;right:18px;top:86px;width:min(300px,calc(100vw - 36px));z-index:8;pointer-events:none;text-align:left;color:#eaf3ff;background:linear-gradient(180deg,#82c0ff29,#82c0ff05 36%,#050a0edb),linear-gradient(90deg,#04121cd6,#060e14eb,#04121cd6);border:1px solid rgba(172,220,255,.32);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);padding:8px 20px 10px;box-shadow:0 0 24px #62b4ff2e,0 8px 24px #00000073,inset 0 0 16px #92d2ff14;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);transition:width .22s ease,padding .22s ease,filter .22s ease}.objective-banner.hidden{display:none}.objective-label{display:block;color:#d4eeffe0;font-size:9px;font-weight:700;line-height:1;letter-spacing:1.8px;text-transform:uppercase}.objective-text{margin-top:8px;padding:0;font-family:VG5000Regular,Courier New,ui-monospace,monospace;font-size:clamp(12px,1.35vw,20px);line-height:1.15;letter-spacing:.3px;text-transform:none;background:none;text-shadow:0 0 10px rgba(0,0,0,.56),0 0 14px rgba(116,196,255,.28)}.objective-hint{margin-top:6px;font-size:clamp(10px,.95vw,14px);line-height:1.16;letter-spacing:.8px;color:#e7f3ffeb;text-shadow:0 0 9px rgba(0,0,0,.48)}.objective-progress-row{margin-top:7px;display:flex;justify-content:space-between;align-items:center;gap:10px}.objective-progress-percent{font-family:var(--font-title);font-size:13px;font-weight:800;line-height:1;letter-spacing:.2px;color:#f6fbff}.objective-progress-count{font-size:19px;letter-spacing:.2px;color:#f5fcfffa;font-family:var(--font-title);text-shadow:0 0 10px rgba(124,205,255,.32);padding:2px 8px;border:1px solid rgba(180,225,255,.28);background:#78beff1a}.objective-progress-track{margin-top:6px;width:100%;height:5px;background:#b4dcff2e;overflow:hidden}.objective-progress-fill{width:0;height:100%;background:linear-gradient(90deg,#5ec2fff2,#f45f86e0)}.objective-banner.objective-updated{animation:objective-banner-attention .34s ease-out 0s 4 alternate}.objective-banner.objective-compact .objective-text{font-size:clamp(11px,1.05vw,15px)}.objective-banner.objective-compact{width:min(260px,calc(100vw - 36px));padding:7px 16px 9px}.objective-banner.objective-compact .objective-hint{font-size:clamp(9px,.78vw,12px);opacity:.84}.objective-banner.objective-compact .objective-progress-count{font-size:16px}@keyframes objective-banner-attention{0%{filter:brightness(1);box-shadow:0 0 24px #62b4ff2e,0 8px 24px #00000073,inset 0 0 16px #92d2ff14}to{filter:brightness(1.24);box-shadow:0 0 28px #91cfff57,0 8px 24px #00000073,inset 0 0 20px #bde7ff33}}.hud-bottom{position:absolute;bottom:18px;left:18px;right:18px;display:flex;justify-content:center;align-items:flex-end}.exit-indicator{position:absolute;left:50%;top:50%;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(138,255,240,.65);background:#030f0de0;color:#8afff0;letter-spacing:2px;font-size:11px;box-shadow:0 0 14px #8afff040;transform-origin:center center}.exit-indicator.hidden{display:none}.exit-indicator-arrow{display:inline-block;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid #8afff0;transform-origin:45% 50%}.fragments-list{display:flex;flex-wrap:wrap;gap:8px;background:var(--panel);border:1px solid var(--panel-border);padding:8px 14px;min-height:34px;font-size:11px;letter-spacing:2px;box-shadow:0 8px 20px #00000047,inset 0 0 14px #e4285a0d}.medkit-indicator{position:absolute;right:0;bottom:0;display:inline-flex;align-items:center;gap:6px;min-width:136px;justify-content:center;padding:9px 12px;border:1px solid rgba(225,236,246,.3);background:linear-gradient(90deg,rgba(228,40,90,.12),transparent 38%),linear-gradient(180deg,#3746547a,#10141ac7);box-shadow:0 8px 20px #00000059,inset 0 0 12px #ffffff0a}.medkit-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid rgba(232,244,255,.45);color:#f1f8ff;font-size:16px;line-height:1;text-shadow:0 0 8px rgba(255,255,255,.34)}.medkit-label{font-size:9px;letter-spacing:1.5px;color:#deeffbbd}.medkit-count{font-size:12px;letter-spacing:2px;color:#e7f3ff;font-variant-numeric:tabular-nums}.medkit-indicator.is-empty{opacity:.55}@media (max-width: 980px){.weapons-hud{width:min(340px,64vw)}#weapon-left-name,#weapon-right-name{font-size:12px}}.fragments-list:empty:before{content:"FRAGMENTS: EMPTY";opacity:.5;letter-spacing:1.5px}.frag-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--accent);color:var(--accent);background:#e4285a1a;min-height:20px;box-shadow:inset 0 0 10px #e4285a14}.frag-chip:before{content:"◆";font-size:8px;opacity:.78}.draft-inner{min-width:760px;max-width:92vw;padding:32px 40px 40px}.draft-cards{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:22px;margin-top:26px;justify-items:center;perspective:1200px}.frag-card{--card-accent: var(--accent);--card-accent-soft: rgba(228, 40, 90, .18);position:relative;width:100%;max-width:220px;padding:0;margin:0;border:none;background:transparent;cursor:pointer;font-family:var(--font);text-align:left;will-change:transform;transform-origin:center bottom;transition:filter .18s ease;overflow:visible}.frag-card:focus{outline:none}.frag-card:focus-visible .frag-card-frame{box-shadow:0 0 0 2px var(--card-accent),0 14px 32px #0000008c}.frag-card-frame{position:relative;display:flex;flex-direction:column;background:#060c12eb;border:1.5px solid var(--card-accent);border-radius:8px;box-shadow:0 8px 22px #00000073,inset 0 0 0 1px #ffffff0a;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.frag-card:hover .frag-card-frame{border-color:var(--card-accent);box-shadow:0 18px 36px #0000008c,0 0 24px var(--card-accent-soft),inset 0 0 0 1px #ffffff0f}.frag-card-header{padding:8px 12px;font-size:13px;letter-spacing:3px;font-weight:700;color:var(--ink);background:var(--card-accent);text-shadow:0 1px 0 rgba(255,255,255,.18);border-bottom:2px solid rgba(0,0,0,.35)}.frag-card-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frag-card-art{position:relative;aspect-ratio:1 / 1;width:100%;background:#080c1299;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.05)}.frag-card-art-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.frag-card-art-img[hidden]{display:none}.frag-card-art-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.frag-card-art-placeholder[hidden]{display:none}.frag-card-art-mono{font-family:var(--font-title);font-size:72px;font-weight:900;letter-spacing:0;line-height:1;text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 18px rgba(0,0,0,.45);z-index:1}.frag-card-art-grid{position:absolute;inset:14%;border:1px dashed;opacity:.45;border-radius:4px}.frag-card-kind{position:absolute;left:8px;bottom:8px;padding:2px 8px;font-size:9px;letter-spacing:2px;background:#03080cc7;border:1px solid;border-radius:2px;text-transform:uppercase}.frag-card-desc{padding:12px 12px 14px;font-size:11px;line-height:1.5;opacity:.86;background:linear-gradient(180deg,#080c12f2,#03080cf2);flex:1}.toast{position:absolute;top:80px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--accent);color:var(--accent);padding:10px 18px;font-size:13px;letter-spacing:3px;z-index:20;opacity:0;pointer-events:none;transition:none}.toast.visible{opacity:1}.toast.hidden{display:none}.drop-tooltip{position:absolute;left:0;top:0;min-width:210px;max-width:280px;padding:10px 12px;border:1px solid rgba(255,255,255,.2);background:#030f0df0;box-shadow:0 8px 22px #00000073;color:var(--fg);z-index:8;pointer-events:none;opacity:0;transition:opacity .08s linear}.drop-tooltip.visible{opacity:1}.drop-tooltip.hidden{display:none}.drop-tooltip-name{font-size:14px;letter-spacing:2px;line-height:1.2;color:#f4f8fc;text-transform:uppercase}.drop-tooltip-meta{margin-top:4px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#fffc}.drop-tooltip-hint{margin-top:8px;font-size:11px;letter-spacing:1px;color:var(--accent-soft)}.drop-tooltip.rarity-common{border-color:#d2dce66b}.drop-tooltip.rarity-uncommon{border-color:#50ff91a6}.drop-tooltip.rarity-rare{border-color:#5ab4ffa6}.drop-tooltip.rarity-epic{border-color:#b768ffb8}.drop-tooltip.rarity-legendary{border-color:#ffbf40c7}.debug-panel{position:absolute;right:18px;bottom:18px;z-index:6;pointer-events:none;background:var(--panel);border:1px solid var(--panel-border);padding:10px 12px;font-size:11px;letter-spacing:1px;min-width:220px;line-height:1.5}.debug-panel.hidden{display:none}.debug-title{color:var(--accent);letter-spacing:2px;margin-bottom:6px}.debug-panel .sandbox-opt{pointer-events:auto;cursor:pointer;display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--panel-border);user-select:none}.debug-panel .sandbox-opt input{cursor:pointer}.shake{animation:shake .22s ease-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px,2px)}50%{transform:translate(3px,-2px)}75%{transform:translate(-2px,-3px)}}.hit-flash{position:absolute;inset:0;background:#e4285a59;pointer-events:none;z-index:4;opacity:0;transition:none}.hit-flash.active{opacity:1}
