:root{--bg: #05080c;--panel: rgba(8, 16, 22, .92);--green: #1fa34a;--green-bright: #3dff7a;--cyan: #00d4ff;--red: #ff3355;--text: #e8f4ef;--muted: #7a9a8c;--border: rgba(0, 212, 255, .35);--font: "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font)}#game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#0a1a14,#05080c 70%);z-index:20}.screen.overlay{background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hidden{display:none!important}.intro-card,.lobby-panel,.pause-card,.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:2rem 2.5rem;max-width:520px;width:92%;text-align:center;box-shadow:0 0 40px #00d4ff1f,inset 0 0 60px #1fa34a0d}.intro-badge{display:inline-block;font-size:.7rem;letter-spacing:.2em;color:var(--cyan);border:1px solid var(--border);padding:.35rem .75rem;border-radius:999px;margin-bottom:1rem}h1{font-size:2.8rem;letter-spacing:.15em;color:var(--green-bright);text-shadow:0 0 24px rgba(61,255,122,.4)}.tagline,.sub{color:var(--muted);margin:.75rem 0 1.5rem}.silhouettes{display:flex;gap:1.2rem;justify-content:center;margin-bottom:1.75rem}.silhouettes span{width:42px;height:64px;background:linear-gradient(180deg,#1a2a22,#0a100e);border:1px solid #2a4a3a;border-radius:6px 6px 2px 2px;position:relative;box-shadow:0 8px 16px #00000080}.silhouettes span:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%);width:22px;height:14px;background:#152018;border:1px solid #2a4a3a;border-radius:4px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:#00283299;color:var(--text);padding:.65rem 1.4rem;border-radius:8px;cursor:pointer;font-weight:600;letter-spacing:.04em;transition:.15s ease}.btn:hover{border-color:var(--cyan);box-shadow:0 0 12px #00d4ff40}.btn.primary{background:linear-gradient(180deg,#1fa34a,#0d6b2e);border-color:#3dff7a}.btn.primary:hover{filter:brightness(1.1)}.btn.ghost{background:transparent}.btn.small{padding:.4rem .75rem;font-size:.85rem}.btn.danger{border-color:var(--red);color:#ffb3bf}.btn.ready{margin-left:auto}.lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;text-align:left}label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}label.row{flex-direction:row;align-items:center;gap:.5rem;margin:.75rem 0}select,input[type=text],input[type=number]{background:#0a1210;border:1px solid var(--border);color:var(--text);padding:.5rem .65rem;border-radius:6px;font-size:1rem}.lobby-stats{display:flex;justify-content:space-around;margin:1rem 0 1.25rem;padding:.75rem;background:#00000059;border-radius:10px}.lobby-stats div{display:flex;flex-direction:column;gap:.2rem}.lobby-stats span{font-size:.7rem;color:var(--muted);letter-spacing:.08em}.lobby-stats strong{font-size:1.25rem;color:var(--cyan)}.lobby-actions{display:flex;gap:.75rem;justify-content:center;margin-top:.5rem}.unlock-list{text-align:left;max-height:300px;overflow-y:auto;margin-bottom:1rem;font-size:.85rem}.unlock-item{display:flex;justify-content:space-between;align-items:center;padding:.45rem .6rem;border-bottom:1px solid rgba(255,255,255,.06)}.unlock-item.locked{opacity:.55}.unlock-item button{font-size:.75rem;padding:.3rem .55rem}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}#hud>*{pointer-events:auto}#top-bar{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;gap:.75rem;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:.5rem 1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stat{display:flex;align-items:baseline;gap:.35rem;min-width:70px}.stat span{color:var(--muted);font-size:.75rem}.stat strong{font-size:1.15rem}.stat.cash strong{color:var(--green-bright)}.stat.lives strong{color:var(--red)}.stat.wave strong{color:var(--cyan)}.stat.wave em{color:var(--muted);font-style:normal;font-size:.85rem}.chip{background:#002832b3;border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.25rem .55rem;cursor:pointer;font-weight:600}#phase-banner{position:absolute;top:70px;left:50%;transform:translate(-50%);background:#000000b3;border:1px solid var(--cyan);color:var(--cyan);padding:.5rem 1.25rem;border-radius:8px;letter-spacing:.1em;font-weight:600}#toolbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:center;max-width:96vw;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:.55rem .75rem}#toolbar-towers,#toolbar-blocks{display:flex;gap:.4rem}.tb-btn{width:64px;min-height:56px;border-radius:10px;border:1px solid #2a4a3a;background:linear-gradient(180deg,#122018,#0a1210);color:var(--text);cursor:pointer;font-size:.7rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;line-height:1.1}.tb-btn .cost{color:var(--green-bright);font-weight:700}.tb-btn:hover,.tb-btn.active{border-color:var(--cyan);box-shadow:0 0 10px #00d4ff4d}.tb-btn:disabled{opacity:.35;cursor:not-allowed}#toolbar-blocks{border-left:1px solid rgba(255,255,255,.1);padding-left:.5rem;margin-left:.25rem}#tower-panel{position:absolute;top:70px;right:16px;width:260px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:.9rem}#tower-panel h3{color:var(--green-bright);margin-bottom:.35rem}#tower-panel p{font-size:.8rem;color:var(--muted);margin-bottom:.6rem}.tp-row{display:flex;gap:.4rem;margin-bottom:.6rem}.tp-paths{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.tp-paths .path{background:#0000004d;border-radius:8px;padding:.5rem}.tp-paths h4{font-size:.75rem;color:var(--cyan);margin-bottom:.35rem}.tp-paths .upg{width:100%}#hint{position:absolute;bottom:90px;left:50%;transform:translate(-50%);background:#000000bf;padding:.45rem 1rem;border-radius:8px;font-size:.9rem;color:var(--cyan);pointer-events:none;max-width:90vw;text-align:center}.modal{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:30}.tb-btn{position:relative;width:78px}.tb-btn .key{position:absolute;top:3px;left:5px;font-size:.6rem;color:var(--muted)}.tb-btn .swatch{width:18px;height:18px;border-radius:4px;box-shadow:0 0 8px currentColor}.tb-btn.poor .cost{color:var(--red)}.tb-btn.block .shape{font-size:.55rem;line-height:.6rem;color:var(--cyan)}.tp-paths .upg small{color:var(--muted)}#hint:empty{display:none}#toast-stack{position:absolute;top:120px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:15;pointer-events:none}.toast{background:#000c;border:1px solid var(--red);color:#fff;padding:.4rem 1rem;border-radius:8px;font-weight:700;animation:pop .25s ease}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.span2{grid-column:span 2}.coop-box{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);text-align:left}.coop-box h3{color:var(--cyan);font-size:.85rem;letter-spacing:.15em;margin-bottom:.5rem}.coop-row{display:flex;gap:.5rem;margin-bottom:.5rem}.coop-row input{flex:1}.coop-msg{font-size:.8rem;color:var(--muted);min-height:1em}.coop-msg.err{color:var(--red)}#coop-players{list-style:none;text-align:left;margin:.75rem 0;max-height:220px;overflow-y:auto}#coop-players li{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-bottom:1px solid rgba(255,255,255,.06)}.dot{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:0 0 8px currentColor}.tag{font-size:.65rem;padding:.1rem .4rem;border-radius:4px;border:1px solid var(--border);color:var(--cyan)}label.silly{color:#fc3}#vote-banner{position:absolute;top:112px;left:50%;transform:translate(-50%);z-index:16;display:flex;gap:.6rem;align-items:center;background:#1e1400e6;border:1px solid #ffcc33;border-radius:10px;padding:.5rem .9rem;color:#ffe9a8;font-weight:600;animation:pop .25s ease}.vote-timer{color:#fc3;font-variant-numeric:tabular-nums}.vote-count{color:var(--muted);font-size:.8rem}#toast-stack{top:160px}.toast.troll{border-color:#fc3;background:#3c1e00e6;font-size:1.05rem}.toast.info{border-color:var(--cyan)}#player-list{position:absolute;top:12px;left:12px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.4rem .7rem;font-size:.8rem}#player-list:empty{display:none}#player-list div{display:flex;gap:.4rem;align-items:center;padding:.15rem 0}#player-list .left{opacity:.4;text-decoration:line-through}#yt-holder{position:fixed;left:12px;bottom:12px;z-index:40}#yt-holder iframe{width:200px;height:113px;border:1px solid var(--border);border-radius:8px;opacity:.85}body.theme-graveyard{--green-bright: #ff9a3d;--cyan: #b38cff;--border: rgba(179,140,255,.4)}body.theme-graveyard h1{text-shadow:0 0 24px rgba(255,140,40,.6)}.credits{display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:center;margin-top:1.1rem;font-size:.75rem;color:var(--muted);letter-spacing:.04em}.credits b{color:var(--text);font-weight:600}.lobby-panel{max-height:94vh;overflow-y:auto}.lobby-panel h1{font-size:2.3rem}.map-blurb{color:var(--muted);font-size:.75rem;line-height:1.3;min-height:1em}.skin-row{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:.75rem}.skin-row select{min-width:60%}.loadout-strip{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px;padding:6px;background:#00000059;border-radius:6px}.loadout-strip .lo-title{width:100%;font-weight:700;font-size:.8rem;color:#9fe8b8}.loadout-strip .lo-title small{font-weight:400;opacity:.7}.lo-chip{border:1px solid #3dff7a;border-radius:4px;padding:2px 6px;font-size:.72rem;cursor:pointer;background:#14281ecc}.lo-chip:hover{background:#b3263a99}.unlock-filter{display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap}.unlock-item.in-loadout{box-shadow:inset 3px 0 #3dff7a}.intro-cine{background:#000;padding:0}#intro-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.letterbox{position:absolute;left:0;right:0;height:9vh;background:#000;z-index:2}.letterbox.top{top:0}.letterbox.bottom{bottom:0}#intro-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;z-index:1;pointer-events:none;transition:opacity .3s}.intro-caption{position:absolute;left:50%;bottom:12vh;transform:translate(-50%);z-index:3;max-width:80vw;text-align:center;font-family:Courier New,monospace;font-size:clamp(.95rem,2vw,1.35rem);letter-spacing:.04em;color:#e8f4ef;text-shadow:0 2px 8px #000;opacity:0;transition:opacity .6s}.intro-caption.show{opacity:1}.intro-status{position:absolute;top:calc(9vh + 12px);right:18px;z-index:3;font:600 .75rem Courier New,monospace;color:#f35;letter-spacing:.15em;animation:introblink 1.2s infinite}@keyframes introblink{50%{opacity:.25}}.intro-end{position:relative;z-index:4;animation:introIn 1.4s ease-out both;background:#050c09b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@keyframes introIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}#home-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:19;opacity:0;transition:opacity .8s ease;pointer-events:none}#home-canvas.on{opacity:1}.screen.home{--h-blue: #2f9bff;--h-blue-d: #0c3a66;--h-orange: #ff8a1f;--h-orange-d: #b84a00;--h-ink: #e9f3ff;--h-muted: #8fb0cf;background:radial-gradient(ellipse at 75% 40%,rgba(255,138,31,.1),transparent 55%),linear-gradient(90deg,#040c18eb,#040c188c 45%,#040c1800 75%);align-items:stretch;justify-content:flex-start;color:var(--h-ink)}.home .home-wrap{display:grid;grid-template-columns:minmax(320px,440px) minmax(320px,440px);grid-template-rows:auto 1fr auto;gap:18px 22px;padding:28px 36px;width:100%;max-width:980px;height:100%;animation:homeIn .7s cubic-bezier(.2,.8,.2,1) both}@keyframes homeIn{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}.home-brand{grid-column:1 / span 2}.home-badge{display:inline-block;font-size:.68rem;letter-spacing:.25em;color:var(--h-orange);border:1px solid rgba(255,138,31,.5);padding:.3rem .8rem;border-radius:999px}.home-title{font-size:clamp(2.6rem,6vw,4.4rem);letter-spacing:.12em;color:var(--h-ink);text-shadow:0 0 30px rgba(47,155,255,.55),0 4px 0 #0c3a66;margin:.35rem 0 .1rem;text-align:left}.home-title span{color:var(--h-orange);text-shadow:0 0 30px rgba(255,138,31,.6),0 4px 0 #6b2a00}.home-sub{color:var(--h-muted);text-align:left}.home-panel{background:linear-gradient(180deg,#0a1e36db,#06101ee0);border:1px solid rgba(47,155,255,.35);border-radius:16px;padding:18px 20px;box-shadow:0 12px 40px #00000073,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;min-height:0;text-align:left}.home-mission{animation:homeIn .7s .08s cubic-bezier(.2,.8,.2,1) both}.home-side{animation:homeIn .7s .16s cubic-bezier(.2,.8,.2,1) both}.panel-h{font-size:.75rem;letter-spacing:.22em;color:var(--h-orange);margin-bottom:.8rem;text-transform:uppercase}.home label{color:var(--h-muted)}.home select,.home input[type=text],.home input[type=number]{background:#030c18d9;border-color:#2f9bff66;color:var(--h-ink)}.home select:focus,.home input:focus{outline:none;border-color:var(--h-orange);box-shadow:0 0 0 2px #ff8a1f40}.home .lobby-grid .span2{grid-column:span 2}.home .map-blurb{color:#b9d4ee;min-height:2.4em}.home .btn{border-radius:10px;transition:transform .12s ease,box-shadow .2s ease,filter .2s ease}.home .btn:hover:not(:disabled){transform:translateY(-2px)}.home .btn:active:not(:disabled){transform:translateY(0) scale(.98)}.btn.mega{width:100%;font-size:1.35rem;padding:1rem;letter-spacing:.12em;margin:.4rem 0 .7rem}.btn.big{font-size:.95rem;padding:.8rem 1rem;letter-spacing:.08em;flex:1}.btn.orange{background:linear-gradient(180deg,#ff9a3a,#e0620a);border:1px solid #ffc07a;color:#1a0b00;box-shadow:0 6px 22px #ff8a1f59,inset 0 1px #ffffff59;font-weight:800}.btn.orange:hover:not(:disabled){box-shadow:0 10px 30px #ff8a1f8c,inset 0 1px #ffffff59;filter:brightness(1.06)}.btn.blue{background:linear-gradient(180deg,#3aa8ff,#155fb0);border:1px solid #8fd0ff;color:#fff;box-shadow:0 6px 22px #2f9bff4d;font-weight:700}.btn.blue:hover:not(:disabled){box-shadow:0 10px 30px #2f9bff80}.home .btn.ghost{border-color:#8fb0cf73;color:var(--h-ink);background:#ffffff08}.home .btn.small{background:#2f9bff1f;border-color:#2f9bff80}.home .btn.small.primary{background:linear-gradient(180deg,#ff9a3a,#e0620a);color:#1a0b00;border-color:#ffc07a}.home-row{display:flex;gap:10px}.home-tabs{display:flex;gap:6px;margin-bottom:12px}.home-tabs .tab{flex:1;background:transparent;border:1px solid rgba(47,155,255,.35);color:var(--h-muted);padding:.55rem;border-radius:9px;cursor:pointer;font-weight:700;letter-spacing:.08em;transition:.2s}.home-tabs .tab.active{background:linear-gradient(180deg,#ff8a1ff2,#e0620af2);color:#1a0b00;border-color:#ffc07a}.tab-pane{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;animation:paneIn .35s ease both}@keyframes paneIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.home .unlock-list{max-height:none;flex:1;overflow-y:auto;margin:0;padding-right:4px}.home .unlock-list::-webkit-scrollbar{width:6px}.home .unlock-list::-webkit-scrollbar-thumb{background:#ff8a1f80;border-radius:3px}.home .unlock-item{border-bottom-color:#2f9bff1f;border-radius:6px;transition:background .15s}.home .unlock-item:hover{background:#2f9bff14}.home .unlock-item.in-loadout{box-shadow:inset 3px 0 0 var(--h-orange)}.home .loadout-strip{background:#030c18b3;border:1px solid rgba(255,138,31,.3)}.home .loadout-strip .lo-title{color:var(--h-orange)}.home .lo-chip{background:#0c3a66cc}.home .lo-chip:hover{background:#e0620ab3}.home .coop-box{display:flex;flex-direction:column;gap:10px;border:0;padding:0;margin:0}.home .coop-row{display:flex;gap:8px}.home .coop-row input{flex:1;min-width:0}.pane-note{color:var(--h-muted);font-size:.85rem}.home .lobby-stats{background:#030c18b3}.home .lobby-stats strong{color:var(--h-orange)}.home-credits{grid-column:1 / span 2;justify-content:flex-start!important;color:var(--h-muted)}.home-credits b{color:var(--h-orange)}#screen-coop.home{justify-content:center;align-items:center}#screen-coop.home .lobby-panel{background:linear-gradient(180deg,#0a1e36eb,#06101ef0);border-color:#2f9bff66;animation:homeIn .6s cubic-bezier(.2,.8,.2,1) both}#screen-coop.home h2{color:var(--h-orange);letter-spacing:.1em}#screen-coop.home .btn.primary{background:linear-gradient(180deg,#ff9a3a,#e0620a);border-color:#ffc07a;color:#1a0b00;font-weight:800}.screen:not(.hidden){animation:screenFade .45s ease both}@keyframes screenFade{0%{opacity:0}to{opacity:1}}@media (max-width: 860px){.home .home-wrap{grid-template-columns:1fr;overflow-y:auto;padding:18px}.home-brand,.home-credits{grid-column:1}.screen.home{background:#040c18c7}}.btn.mega2{flex:1;font-size:1.1rem;padding:.95rem .6rem;letter-spacing:.1em;font-weight:800}.btn.orange-outline{background:#ff8a1f1f;border:2px solid #ff8a1f;color:#ffd2a6;box-shadow:0 6px 22px #ff8a1f2e}.btn.orange-outline:hover:not(:disabled){background:#ff8a1f40;box-shadow:0 10px 28px #ff8a1f59}.home-row.small-row{margin-top:10px}.home-row+.home-row{margin-top:10px}.coop-explain h4{color:var(--h-ink);margin-bottom:.6rem}.coop-explain ol,.modal-help ol{padding-left:1.2rem;color:#c9dcef;line-height:1.55;font-size:.9rem;margin-bottom:1rem}.coop-explain b,.modal-help b{color:var(--h-orange)}.modal-name,.modal-help{width:min(520px,92vw);gap:12px;animation:homeIn .35s ease both}.modal-help{width:min(640px,94vw);max-height:88vh;overflow-y:auto}#modal-name.screen,#modal-help.screen{justify-content:center;align-items:center;z-index:40;background:#020810b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.coop-msg.err{color:#ff9a7a}.coop-room{width:min(860px,95vw);max-height:94vh;overflow-y:auto;gap:10px}.room-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.room-code{font:800 2rem Courier New,monospace;letter-spacing:.25em;color:var(--h-orange);background:#030c18cc;border:1px dashed rgba(255,138,31,.6);border-radius:10px;padding:.3rem .8rem}.link-field{width:100%;font-size:.8rem!important;opacity:.8}.room-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:18px}@media (max-width: 720px){.room-grid{grid-template-columns:1fr}}.coop-room #coop-players{list-style:none;display:flex;flex-direction:column;gap:6px}.coop-room #coop-players li{display:flex;align-items:center;gap:8px;padding:.5rem .7rem;background:#030c18b3;border:1px solid rgba(47,155,255,.25);border-radius:8px;font-weight:700}#coop-settings{display:flex;flex-direction:column;gap:10px}.seg{display:flex;border:1px solid rgba(47,155,255,.45);border-radius:10px;overflow:hidden}.seg-b{flex:1;background:transparent;border:0;color:var(--h-muted);padding:.65rem;font-weight:800;letter-spacing:.06em;cursor:pointer;transition:.2s}.seg-b.active{background:linear-gradient(180deg,#ff9a3a,#e0620a);color:#1a0b00}.seg-b:disabled{cursor:default}label.toggle{flex-direction:row;align-items:center;gap:.6rem;color:var(--h-ink);cursor:pointer}label.toggle input{width:18px;height:18px;accent-color:#ff8a1f}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:auto}.tour-hole{position:absolute;border-radius:12px;box-shadow:0 0 0 9999px #020810b8,0 0 0 3px #ff8a1f,0 0 30px #ff8a1f99;transition:all .35s cubic-bezier(.2,.8,.2,1);pointer-events:none}.tour-bubble{position:absolute;width:320px;background:linear-gradient(180deg,#0f2c4c,#081a30);border:1px solid #ff8a1f;border-radius:12px;padding:14px;color:#e9f3ff;box-shadow:0 12px 40px #00000080;transition:all .35s cubic-bezier(.2,.8,.2,1)}.tour-bubble p{margin-bottom:10px;line-height:1.45}.tour-bubble small{color:#8fb0cf;display:block;margin-top:6px}.home-welcome{margin-top:10px;display:inline-flex;flex-direction:column;gap:2px;padding:8px 14px;border-radius:10px;background:#0a1e3c8c;border:1px solid rgba(80,160,255,.35);color:#dbe9ff;font-weight:600;font-size:14px}.home-welcome .hw-text{letter-spacing:.02em}.home-welcome .hw-note{color:#ffb36b;font-weight:500}.home-welcome.warn{border-color:#ff963cb3}#modal-settings .modal-card{max-height:88vh;overflow-y:auto}.kb-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.kb-grid label{display:flex;justify-content:space-between;align-items:center;font-size:13px}.kb-grid .kb{min-width:74px;text-transform:uppercase}.save-actions{display:flex;gap:8px;flex-wrap:wrap}.btn.danger{background:#5a1620;border-color:#ff4d5e;color:#ffd6da}#coop-players .card{display:block;width:100%;font-size:12px;color:var(--muted, #9ab);margin-left:18px}#coop-players .card.bad{color:#ff9a6b}.profile-stats{margin-top:10px;font-size:13px;color:#cfe0ff}.profile-stats .ps-row{display:grid;grid-template-columns:repeat(6,auto);gap:4px 10px;align-items:baseline;margin-bottom:6px}.profile-stats .ps-best{list-style:none;padding:0;margin:0 0 6px}.profile-stats .ps-best li{display:flex;justify-content:space-between;border-bottom:1px solid rgba(80,160,255,.15);padding:2px 0}body.desktop #btn-download{display:none}a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}#coop-lan-note{font-size:12px;line-height:1.4}.ev-tag{font-style:normal;font-size:11px;color:#ffb36b;border:1px solid rgba(255,140,40,.5);border-radius:6px;padding:0 4px;margin-left:4px}#boss-hp{position:fixed;top:118px;left:50%;transform:translate(-50%);width:min(560px,72vw);z-index:30;pointer-events:none;font-family:inherit;text-align:center;--boss: #ff3355;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--boss) 55%,transparent))}#boss-hp.hidden{display:none}#boss-hp .bh-name{font-weight:900;letter-spacing:.22em;font-size:15px;color:#fff;text-shadow:0 0 8px var(--boss),0 2px 0 #000;margin-bottom:4px}#boss-hp .bh-track{position:relative;height:16px;border-radius:9px;background:#05080cd9;border:2px solid var(--boss);overflow:hidden}#boss-hp .bh-fill{position:absolute;inset:0 auto 0 0;width:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--boss) 70%,#000),var(--boss) 60%,#fff 140%);transition:width .18s linear}#boss-hp .bh-shield{position:absolute;inset:0 auto 0 0;width:0;background:repeating-linear-gradient(45deg,#5aaaffd9 0,#5aaaffd9 6px,#96d2ffd9 6px,#96d2ffd9 12px)}#boss-hp .bh-num{font-size:11px;color:#d8e6f0;margin-top:3px;text-shadow:0 1px 0 #000}#boss-hp.low .bh-track{animation:bossLow .6s ease-in-out infinite alternate}@keyframes bossLow{to{box-shadow:0 0 14px var(--boss)}}#boss-banner{position:fixed;top:30%;left:0;right:0;text-align:center;z-index:40;pointer-events:none;opacity:0;--boss: #ff3355}#boss-banner .bb-sub{display:inline-block;font-size:14px;font-weight:800;letter-spacing:.35em;color:#fff;padding:4px 18px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--boss) 55%,transparent),transparent)}#boss-banner .bb-name{font-size:clamp(30px,6vw,64px);font-weight:900;letter-spacing:.12em;color:#fff;text-shadow:0 0 18px var(--boss),0 0 42px var(--boss),0 4px 0 #000}#boss-banner.show{animation:bossBanner 3.2s ease-out forwards}@keyframes bossBanner{0%{opacity:0;transform:scale(1.6);letter-spacing:.4em}10%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(.96)}}.home-row.small-row .btn{white-space:nowrap;font-size:.82rem;padding-left:.5rem;padding-right:.5rem;letter-spacing:.04em;min-width:0}.home-row.small-row{flex-wrap:nowrap}
