:root{--red:#d4202b;--red2:#ff3b4f;--yellow:#ffd23f;--ink:#15121a;--panel:#121018db;--line:#ffffff1f;--dim:#fff9;font-size:clamp(.72rem,.95vw + .3vh,1.2rem)}*{box-sizing:border-box}html,body{color:#fff;-webkit-user-select:none;user-select:none;background:#0d0f14;height:100%;margin:0;font-family:Nunito,system-ui,sans-serif;overflow:hidden}#gl{width:100%;height:100%;display:block;position:fixed;inset:0}#hud,#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}.hidden{display:none!important}.dim{color:var(--dim)}svg{vertical-align:-.12em;width:1em;height:1em}kbd{background:#ffffff1f;border:.06rem solid #ffffff40;border-bottom-width:.15rem;border-radius:.3rem;padding:.05rem .4rem;font-family:inherit;font-size:.85em;font-weight:800;display:inline-block}.btn{pointer-events:auto;color:#fff;cursor:pointer;background:#ffffff14;border:.12rem solid #fff3;border-radius:.6rem;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1rem;font:800 1rem Nunito,sans-serif;transition:transform 80ms,background .15s,border-color .15s;display:inline-flex}.btn:hover{background:#ffffff29;border-color:#fff6;transform:translateY(-.08rem)}.btn:active{transform:translateY(.05rem)}.btn.primary{background:var(--red);border-color:#ff6a74;box-shadow:0 .25rem #7d0f17}.btn.primary:hover{background:var(--red2)}.btn.danger{color:#ffb3b9;border-color:#ff6a74}.btn.big{padding:.75rem 1.4rem;font-size:1.25rem}.btn.small{padding:.3rem .6rem;font-size:.8rem}.row{flex-wrap:wrap;gap:.6rem;display:flex}.row.end{justify-content:flex-end}.panel{background:var(--panel);border:.1rem solid var(--line);-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);border-radius:1rem;padding:1.1rem 1.3rem;box-shadow:0 1rem 3rem #00000073}.panel h2{letter-spacing:.06em;color:var(--yellow);text-shadow:.12rem .12rem 0 var(--red);margin:0 0 .6rem;font:400 2rem Bangers,Impact,sans-serif}.panel h3{text-transform:uppercase;letter-spacing:.12em;color:#ffffffd9;margin:1rem 0 .5rem;font-size:.85rem}input,select{color:#fff;background:#00000059;border:.1rem solid #fff3;border-radius:.5rem;outline:none;padding:.4rem .6rem;font:700 1rem Nunito,sans-serif}input:focus,select:focus{border-color:var(--yellow)}select option{background:#1d1a24}label{color:#ffffffd9;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:800;display:flex}label.check{cursor:pointer;flex-direction:row;align-items:center;gap:.5rem}input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--red)}input[type=range]{accent-color:var(--yellow);padding:0}.menu{position:fixed;inset:0}.title-screen{background:linear-gradient(90deg,#0a0810bf 0%,#0a081059 45%,#0a081000 70%);grid-template-columns:1fr;align-content:center;justify-items:start;padding:0 6vw;display:grid}.logo-wrap{margin-bottom:2.2rem}.logo{transform-origin:0;flex-direction:column;line-height:.82;display:flex;transform:rotate(-4deg)}.logo .l1,.logo .l2{letter-spacing:.04em;color:var(--red2);-webkit-text-stroke:.18rem #fff;text-shadow:.35rem .35rem 0 var(--ink), 0 0 2rem #ff3b4f80;font:400 7.5rem Bangers,Impact,sans-serif}.logo .l2{color:var(--yellow);text-shadow:.35rem .35rem 0 var(--ink), 0 0 2rem #ffd23f73;margin-left:3.2rem}.tagline{color:#fff;text-shadow:.1rem .1rem 0 var(--ink);max-width:34rem;margin-top:1.4rem;font:400 1.25rem Permanent Marker,cursive}.title-menu{flex-direction:column;gap:.7rem;min-width:22rem;display:flex}.title-menu .btn.big{justify-content:flex-start;padding:.85rem 1.4rem;font-size:1.4rem}.title-menu .btn.big svg{font-size:1.5rem}.title-foot{color:#ffffff8c;font-size:.8rem;position:fixed;bottom:1.4rem;left:6vw}.join-screen{background:#0a08108c;place-items:center;display:grid}.join-panel{width:min(34rem,92vw)}.code-row{gap:.6rem;display:flex}.code-in{letter-spacing:.4em;text-align:center;text-transform:uppercase;flex:1;font:400 2rem Bangers,Impact,sans-serif}.rooms{flex-direction:column;gap:.5rem;max-height:40vh;margin-bottom:1rem;display:flex;overflow:auto}.room{background:#ffffff0d;border-radius:.6rem;grid-template-columns:1fr auto auto;align-items:center;gap:.8rem;padding:.6rem .8rem;display:grid}.lobby-screen{background:#0a081099;grid-template-rows:1fr auto;grid-template-columns:minmax(20rem,1fr) minmax(22rem,1.25fr);gap:1rem;padding:1.4rem 2rem;display:grid}.lobby-screen .panel{overflow:auto}.lobby-actions{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.codebox{align-items:center;gap:.8rem;margin-bottom:.4rem;display:flex}.code{letter-spacing:.25em;color:var(--yellow);font:400 2.4rem Bangers,Impact,sans-serif}.prow{background:#ffffff0a;border-radius:.5rem;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:.55rem;margin-bottom:.3rem;padding:.4rem .6rem;display:grid}.prow.me{background:#ffd23f1f;outline:.1rem solid #ffd23f59}.sw{border-radius:50%;width:.9rem;height:.9rem;display:inline-block;box-shadow:0 0 0 .12rem #00000080}.hat svg{width:1.2rem;height:1.2rem}.pn{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.tag{text-transform:uppercase;background:#ffffff1a;border-radius:.3rem;margin-left:.25rem;padding:.1rem .45rem;font-size:.7rem;font-style:normal;font-weight:900}.tag.host{background:var(--red)}.tag.ok{background:#1f8a4c}.tag.bot{background:#3a3f63}.pspells{gap:.25rem;display:flex}.mini svg{width:1.05rem;height:1.05rem}.maps{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.mapcard{text-align:left;color:#fff;cursor:pointer;background-size:cover;border:.15rem solid #ffffff26;border-radius:.7rem;flex-direction:column;gap:.25rem;min-height:5.5rem;padding:.7rem .8rem;font-family:inherit;display:flex;position:relative;overflow:hidden}.mapcard b{letter-spacing:.05em;text-shadow:.1rem .1rem 0 var(--ink);font:400 1.5rem Bangers,Impact,sans-serif}.mapcard span{text-shadow:0 .05rem .2rem #000;font-size:.8rem}.map-rooftops{background:linear-gradient(160deg,#cf6a34d9,#501e14e6),repeating-linear-gradient(0deg,#a8432f 0 .4rem,#d9c3b0 .4rem .5rem)}.map-bridge{background:linear-gradient(160deg,#3f7fa8d9,#28283ce6)}.map-ships{background:linear-gradient(160deg,#ffa078d9,#3b2a45eb 60%,#1e465af2)}.dmgnums{pointer-events:none;position:absolute;inset:0;overflow:hidden}.dmgnum{letter-spacing:.04em;color:#fff;text-shadow:.1rem .1rem #1a1414,-.06rem -.06rem #1a1414,.06rem -.06rem #1a1414,-.06rem .06rem #1a1414;white-space:nowrap;will-change:transform, opacity;font:400 1.5rem Bangers,Impact,sans-serif;position:absolute;transform:translate(-50%,-50%)}.dmgnum.big{color:#ffd23f;font-size:2.1rem}.dmgnum.huge{color:#ff6b3d;font-size:2.7rem}.clickplay.brief .cp-box span{display:none}.mapcard.on{border-color:var(--yellow);box-shadow:0 0 0 .15rem #ffd23f59}.mapcard:disabled{cursor:default;opacity:.85}.grid{grid-template-columns:repeat(4,1fr);align-items:end;gap:.6rem;margin-top:.8rem;display:grid}.grid .check{grid-column:span 2}.look{flex-direction:column;gap:.7rem;display:flex}.swatches{flex-wrap:wrap;gap:.4rem;display:flex}.swatch{cursor:pointer;border:.15rem solid #0006;border-radius:50%;width:1.8rem;height:1.8rem}.swatch.on{outline-offset:.12rem;outline:.18rem solid #fff}.hats{gap:.4rem;display:flex}.hatbtn{cursor:pointer;background:#ffffff0d;border:.12rem solid #ffffff1f;border-radius:.6rem;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem .6rem;font:700 .7rem Nunito,sans-serif;display:flex}.hatbtn svg{width:1.8rem;height:1.8rem}.hatbtn span{color:#fff}.hatbtn.on{border-color:var(--yellow);background:#ffd23f1f}.spellgrid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.spellcard{text-align:left;color:#fff;cursor:pointer;background:#ffffff0a;border:.13rem solid #ffffff1a;border-radius:.7rem;grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;column-gap:.7rem;padding:.6rem .7rem;font-family:inherit;transition:border-color .15s,background .15s;display:grid}.spellcard:hover{border-color:#ffffff4d}.spellcard.on{border-color:var(--c);background:color-mix(in srgb, var(--c) 16%, transparent)}.sic{color:var(--c);grid-row:span 3;place-items:center;font-size:2rem;display:grid}.snm{align-items:center;gap:.4rem;font-size:1rem;font-weight:900;display:flex}.slot{font-style:normal}.snm .slot{background:var(--c);color:var(--ink);border-radius:.3rem;padding:.05rem .35rem;font-size:.65rem}.stag{color:var(--c);font-size:.7rem;font-weight:800}.sbl{color:#ffffffb8;font-size:.75rem}.modal{z-index:20;pointer-events:auto;background:#06050a99;place-items:center;display:grid;position:fixed;inset:0}.modal .panel{flex-direction:column;gap:.8rem;width:min(38rem,94vw);max-height:90vh;display:flex;overflow:auto}.modal .pause{width:min(24rem,94vw)}.howto{width:min(52rem,94vw)!important}.howto p{margin:0;line-height:1.5}.howto .cols{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.howto ul{margin:0;padding-left:1.1rem;line-height:1.7}.toast{opacity:0;background:var(--ink);border:.1rem solid var(--yellow);z-index:30;border-radius:.6rem;padding:.6rem 1.1rem;font-weight:800;transition:opacity .2s,transform .2s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%,1rem);pointer-events:none!important}.toast.on{opacity:1;transform:translate(-50%)}.fps{color:#ffffffb3;z-index:40;pointer-events:none;font-size:.75rem;font-weight:800;position:fixed;top:.4rem;right:.6rem}.hud{pointer-events:none;text-shadow:0 .08rem .25rem #000000b3;position:fixed;inset:0}.speedlines{width:100%;height:100%;position:absolute;inset:0}.vignette{opacity:0;background:radial-gradient(#0000 55%,#e61428a6 100%);position:absolute;inset:0}.xhair{width:0;height:0;position:absolute;top:50%;left:50%}.xhair i{background:#fff;position:absolute;box-shadow:0 0 .15rem #000}.xhair i:first-child,.xhair i:nth-child(2){width:.12rem;height:.5rem;left:-.06rem}.xhair i:first-child{top:-.85rem}.xhair i:nth-child(2){top:.35rem}.xhair i:nth-child(3),.xhair i:nth-child(4){width:.5rem;height:.12rem;top:-.06rem}.xhair i:nth-child(3){left:-.85rem}.xhair i:nth-child(4){left:.35rem}.xhair b{opacity:0;background:linear-gradient(45deg,#0000 46%,#fff 46% 54%,#0000 54%),linear-gradient(-45deg,#0000 46%,#fff 46% 54%,#0000 54%);width:1.6rem;height:1.6rem;position:absolute;top:-.8rem;left:-.8rem;-webkit-mask:radial-gradient(circle,#0000 40%,#000 41%);mask:radial-gradient(circle,#0000 40%,#000 41%)}.xhair.hit b{opacity:1}.xhair.hit.bighit b{background:linear-gradient(45deg, transparent 44%, var(--yellow) 44% 56%, transparent 56%), linear-gradient(-45deg, transparent 44%, var(--yellow) 44% 56%, transparent 56%);transform:scale(1.4)}.timer{letter-spacing:.08em;background:#00000059;border-radius:.6rem;padding:.1rem 1rem;font:400 2rem Bangers,Impact,sans-serif;position:absolute;top:.8rem;left:50%;transform:translate(-50%)}.timer.hurry{color:var(--red2);animation:.6s infinite alternate pulse}@keyframes pulse{to{transform:translate(-50%)scale(1.08)}}.feed{flex-direction:column;align-items:flex-end;gap:.3rem;font-size:.95rem;font-weight:800;display:flex;position:absolute;top:.8rem;right:1rem}.feed>div{background:#00000073;border-radius:.4rem;padding:.25rem .7rem;transition:opacity .3s}.feed .how{color:var(--yellow);margin:0 .25rem}.msg{text-align:center;position:absolute;top:26%;left:0;right:0}.msg .big{letter-spacing:.06em;color:var(--yellow);-webkit-text-stroke:.12rem var(--ink);text-shadow:.3rem .3rem 0 var(--red);font:400 6rem Bangers,Impact,sans-serif}.msg .big.ko{color:var(--red2);text-shadow:.3rem .3rem 0 var(--ink)}.msg .big.myko{color:#fff;text-shadow:.3rem .3rem 0 var(--red)}.msg .big.count{font-size:8rem}.msg .small{font-size:1.3rem;font-weight:900}.msg.pop .big{animation:.35s cubic-bezier(.2,1.6,.4,1) popin}@keyframes popin{0%{opacity:0;transform:scale(2.2)rotate(-6deg)}}.sub{text-align:center;font-size:1.15rem;font-weight:900;position:absolute;top:60%;left:0;right:0}.hint{color:#e9d6ff;text-shadow:0 .08rem .3rem #000;font-size:.85rem;font-weight:800;position:absolute;top:calc(50% + 3.4rem);left:50%;transform:translate(-50%)}.hint b{color:#d6a8ff}.speedo{color:#ffffff8c;font-size:.75rem;font-weight:900;position:absolute;top:calc(50% + 2.2rem);left:50%;transform:translate(-50%)}.spells{gap:.5rem;display:flex;position:absolute;bottom:6.8rem;left:50%;transform:translate(-50%)}.spells .slot{background:#0a081099;border:.15rem solid #ffffff2e;border-radius:.8rem;place-items:center;width:3.6rem;height:3.6rem;display:grid;position:relative;overflow:hidden}.spells .slot .ic{color:var(--c);filter:drop-shadow(0 0 .3rem #0009);font-size:2rem}.spells .slot .cd{background:conic-gradient(#000000b8 calc(var(--k) * 360deg), transparent 0);position:absolute;inset:0}.spells .slot.ready{border-color:var(--c);box-shadow:0 0 .7rem color-mix(in srgb, var(--c) 50%, transparent)}.spells .slot .key{color:#ffffffd9;font-size:.6rem;font-weight:900;position:absolute;bottom:.1rem;right:.3rem}.spells .slot .ch{color:var(--yellow);font-size:.75rem;font-weight:900;position:absolute;top:.1rem;left:.35rem}.buffs{gap:.4rem;display:flex;position:absolute;bottom:11.2rem;left:50%;transform:translate(-50%)}.buff{border:.12rem solid var(--c);color:var(--c);background:#00000080;border-radius:.5rem;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.9rem;font-weight:900;display:flex}.cards{align-items:flex-end;gap:.45rem;display:flex;position:absolute;bottom:.8rem;left:50%;transform:translate(-50%)}.card{border-bottom:.35rem solid var(--c);text-align:center;background:linear-gradient(#0a08104d,#0a0810bf);border-radius:.6rem;min-width:6.4rem;padding:.3rem .6rem .35rem;position:relative}.card.me{background:linear-gradient(#0a081059,#0a0810d9);outline:.12rem solid #ffffff59;min-width:8.5rem}.card .nm{white-space:nowrap;text-overflow:ellipsis;max-width:8rem;color:var(--c);font-size:.75rem;font-weight:900;overflow:hidden}.card .boticon{opacity:.6;margin-right:.15rem}.card .pct{letter-spacing:.03em;-webkit-text-stroke:.06rem var(--ink);font:400 2.1rem/1 Bangers,Impact,sans-serif}.card.me .pct{font-size:3rem}.card .stocks{justify-content:center;gap:.18rem;min-height:.55rem;display:flex}.card .stocks i{background:var(--c);border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 0 .08rem #0009}.card.out{opacity:.45}.card.dead{opacity:.7}.card.shake{animation:.3s shake}@keyframes shake{20%{transform:translate(-.3rem,-.15rem)rotate(-2deg)}40%{transform:translate(.3rem,.1rem)rotate(2deg)}60%{transform:translate(-.2rem)rotate(-1deg)}80%{transform:translate(.15rem)}}.score{background:var(--panel);border:.1rem solid var(--line);border-radius:1rem;min-width:28rem;padding:1rem 1.4rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.score table,.results table{border-collapse:collapse;width:100%;font-weight:800}.score th,.results th{text-align:left;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);padding:.3rem .6rem;font-size:.75rem}.score td,.results td{border-top:.06rem solid var(--line);padding:.35rem .6rem}.score td i,.results td i{border-radius:50%;width:.7rem;height:.7rem;margin-right:.5rem;display:inline-block}tr.me td{background:#ffd23f1a}tr.out td{opacity:.5}.results{background:#06050a59;place-items:center;display:grid;position:absolute;inset:0}.res-card{background:var(--panel);border:.15rem solid var(--yellow);border-radius:1rem;min-width:32rem;padding:1.2rem 1.6rem;animation:.4s cubic-bezier(.2,1.4,.4,1) popin}.res-title{letter-spacing:.05em;text-align:center;text-shadow:.2rem .2rem 0 var(--ink);font:400 3.4rem Bangers,Impact,sans-serif}.res-me{text-align:center;margin-bottom:.6rem;font-weight:900}tr.first td{color:var(--yellow)}.res-foot{text-align:center;margin-top:.8rem;font-size:.85rem}body.locked{cursor:none}.clickplay{background:#06050a40;place-items:center;display:grid;position:absolute;inset:0}.cp-box{background:var(--panel);border:.15rem solid var(--yellow);border-radius:.9rem;flex-direction:column;align-items:center;gap:.4rem;padding:1rem 1.6rem;display:flex}.cp-box b{letter-spacing:.06em;color:var(--yellow);font:400 2.4rem Bangers,Impact,sans-serif}.cp-box span{color:var(--dim);font-size:.85rem;font-weight:800}.intro{text-align:center;position:absolute;top:8%;left:0;right:0}.intro .map-name{letter-spacing:.06em;color:#fff;-webkit-text-stroke:.1rem var(--ink);text-shadow:.25rem .25rem 0 var(--red);font:400 3.4rem Bangers,Impact,sans-serif}.intro .map-blurb{margin-bottom:.8rem;font:400 1.1rem Permanent Marker,cursive}.intro .keys{flex-wrap:wrap;justify-content:center;gap:.4rem 1rem;font-size:.85rem;font-weight:800;display:flex}@media (max-width:60rem){.lobby-screen{grid-template-rows:auto auto auto;grid-template-columns:1fr;padding:1rem;overflow:auto}.lobby-screen .panel{overflow:visible}.logo .l1,.logo .l2{font-size:4.5rem}.title-menu{width:100%;min-width:0}.howto .cols,.maps,.spellgrid{grid-template-columns:1fr}}
