[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;background:#1b1b20;color:#eee;font-family:system-ui,sans-serif}#game{position:fixed;inset:0;width:100%;height:100%;display:block}#overlay{position:fixed;inset:0;pointer-events:none}.prompt{position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:18px;opacity:0;transition:opacity 60ms}.prompt.counter{opacity:1;background:#ffd23f;color:#222;box-shadow:0 0 14px #ffd23f}.prompt.dodge{opacity:1;background:#e23b3b;color:#fff;box-shadow:0 0 14px #e23b3b;border-radius:4px;transform-origin:center}.prompt.dodge:before{content:"";position:absolute;inset:0;border:3px solid #fff;border-radius:4px;transform:rotate(45deg) scale(.9)}.ebar{position:absolute;left:0;top:0;width:52px;height:6px;background:#000c;border:1px solid #000;transition:opacity .2s}.ebar i{display:block;height:100%;background:#ff5a5a}#hud{position:fixed;left:20px;right:20px;top:16px;display:flex;justify-content:space-between;gap:16px;pointer-events:none}.pbar{display:grid;gap:4px;width:min(260px,42vw)}.pbar.p2{text-align:right}.pbar b{font-size:13px;letter-spacing:3px;color:var(--c)}.pbar .hp{height:12px;background:#0009;border:2px solid var(--c)}.pbar .hp i{display:block;height:100%;background:var(--c);transition:width .12s}.pbar.p2 .hp i{margin-left:auto}.pbar small{font-size:12px;opacity:.75;min-height:1em}.pbar.waiting .hp{opacity:.35}.nametag{position:absolute;left:0;top:0;font-size:11px;font-weight:800;letter-spacing:2px;color:var(--c);text-shadow:0 1px 3px #000;white-space:nowrap}.nametag.down{font-size:13px;color:#fff;background:var(--c);padding:2px 8px;border-radius:3px}.popup{position:absolute;transform:translate(-50%,-50%);font-weight:900;font-size:26px;letter-spacing:2px;color:#ffd23f;text-shadow:0 2px 10px #000;animation:rise .9s ease-out forwards;pointer-events:none}@keyframes rise{0%{opacity:1;margin-top:0}to{opacity:0;margin-top:-50px}}#banner{position:fixed;left:0;right:0;top:14vh;display:grid;place-content:center;text-align:center;pointer-events:none;font-size:46px;font-weight:900;letter-spacing:6px;text-shadow:0 4px 24px #000;transition:opacity .2s}#banner small{display:block;font-size:16px;font-weight:500;letter-spacing:2px;margin-top:8px;opacity:.8}#hint{position:fixed;bottom:10px;left:50%;transform:translate(-50%);text-align:center;font-size:13px;opacity:.75;background:#0009;padding:4px 12px;border-radius:4px;white-space:nowrap}@media(max-width:600px){#banner{font-size:36px}}.bossbar{position:absolute;left:50%;bottom:44px;transform:translate(-50%);width:min(560px,80vw);display:grid;gap:4px;text-align:center}.bossbar b{font-size:13px;letter-spacing:4px;color:#e9dcff;text-shadow:0 1px 4px #000}.bossbar div{height:12px;background:#000a;border:2px solid #8a5bd6}.bossbar i{display:block;height:100%;background:#8a5bd6;transition:width .15s}.bossbar.enraged div{border-color:#e23b3b}.bossbar.enraged i{background:#e23b3b}#net{position:fixed;top:64px;left:50%;transform:translate(-50%);max-width:calc(100vw - 32px);padding:8px 12px;background:#000c;border:1px solid #ffffff30;border-radius:6px;font-size:13px;text-align:center}#net input{width:min(340px,60vw);font:inherit;background:#111;color:#eee;border:1px solid #555;padding:3px 6px}#net button{font:inherit;padding:3px 10px;cursor:pointer}#title,#menu,#results{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:22px 26px;background:#0b0d16e8;border:1px solid #ffffff22;border-radius:10px;box-shadow:0 20px 60px #000a;z-index:5}#title h1{margin:0;font-size:clamp(40px,9vw,76px);font-weight:900;letter-spacing:8px;color:#ffd9a0;text-shadow:0 0 24px #ff6a3a88;text-align:center}#title .sub,#results .sub{text-align:center;opacity:.75;margin:4px 0 18px}#title .cols,#results .cols{display:flex;flex-wrap:wrap;gap:18px 28px;justify-content:center}#title table{border-collapse:collapse;font-size:14px}#title th,#title td{padding:3px 10px;text-align:left}#title th{opacity:.6;font-weight:600}#title ul{margin:0;padding-left:18px;max-width:340px;font-size:14px;line-height:1.5;min-width:0}#title .diff{text-align:center;margin:18px 0 6px;font-size:14px}#title .diff span{display:inline-block;padding:3px 10px;margin:0 2px;border:1px solid #ffffff33;border-radius:4px;cursor:pointer;opacity:.55}#title .diff span.on{opacity:1;background:#ffd23f;color:#222;border-color:#ffd23f;font-weight:800}#title .diff small{opacity:.5;margin-left:6px}#title .go,#results .go{text-align:center;margin:14px 0 0;font-size:15px}.dot{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:-1px}.dot.y{background:#ffd23f}.dot.r{background:#e23b3b}b.y{color:#ffd23f}b.r{color:#ff6a6a}#tip{position:fixed;left:50%;bottom:46px;transform:translate(-50%,10px);max-width:calc(100vw - 32px);padding:8px 14px;background:#000c;border:1px solid #ffd23f66;border-radius:6px;font-size:15px;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;text-align:center}#tip.on{opacity:1;transform:translate(-50%)}#menu h2,#results h2{margin:0 0 10px;text-align:center;letter-spacing:6px;font-size:32px}#menu{width:min(420px,calc(100vw - 32px));display:grid;gap:12px}#menu .buttons{display:flex;gap:10px;justify-content:center}#menu button{font:inherit;font-weight:700;padding:8px 18px;border-radius:6px;border:0;background:#ffd23f;color:#222;cursor:pointer}#menu button:focus-visible,#menu input:focus-visible,#menu select:focus-visible{outline:2px solid #fff;outline-offset:2px}#menu label{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:10px;font-size:14px}#menu label small{grid-column:2;opacity:.5}#menu label.check{display:flex}#menu select{font:inherit;background:#111;color:#eee;border:1px solid #555;padding:3px 6px}#menu .note{margin:0;text-align:center;font-size:13px;opacity:.6}#results .col{min-width:220px;border-top:3px solid var(--c);padding-top:8px}#results h3{margin:0 0 6px;color:var(--c);letter-spacing:3px}#results dl{display:grid;grid-template-columns:1fr auto;gap:3px 16px;margin:0;font-size:14px;font-variant-numeric:tabular-nums}#results dd{margin:0;text-align:right;font-weight:700}#results .worst{font-size:13px;opacity:.7;margin:8px 0 0}#fps{position:fixed;right:12px;bottom:12px;font:12px ui-monospace,monospace;background:#000a;padding:2px 6px;border-radius:3px}.pbar .style{display:flex;align-items:center;gap:8px;min-height:26px}.pbar.p2 .style{flex-direction:row-reverse}.pbar .style em{font-style:normal;font-weight:900;font-size:20px;letter-spacing:2px;color:var(--rank, #fff);text-shadow:0 0 12px var(--rank, #fff8),0 2px 4px #000;transform-origin:left center}.pbar.p2 .style em{transform-origin:right center}.pbar .style em.up{animation:rankup .38s ease-out}.pbar .style span{flex:1;height:4px;background:#0008;max-width:110px}.pbar .style span i{display:block;height:100%;background:var(--rank, #fff)}.pbar.p2 .style span i{margin-left:auto}@keyframes rankup{0%{transform:scale(1.8)}to{transform:scale(1)}}.edge{position:absolute;left:0;top:0;width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:24px solid #e23b3b;filter:drop-shadow(0 0 8px #e23b3b);pointer-events:none}#results .grade{display:inline-block;margin-left:10px;font-size:1.6em;font-weight:900;color:#ffd23f;text-shadow:0 0 14px #ffd23f88}#results .grade.gS{color:#ff3d6e;text-shadow:0 0 18px #ff3d6e}.popup.small{font-size:17px;color:#fff;letter-spacing:3px}.popup.miss{font-size:14px;color:#9aa;letter-spacing:3px}
