:root{--lb:12vh;--gold:#ffd24a;--orange:#ff8a1e;--purple:#8c40e6;--ink:#0b0612;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:#000;height:100%;margin:0;overflow:hidden}body{color:#fff;-webkit-user-select:none;user-select:none;font-family:"Exo 2",system-ui,sans-serif}#c{width:100vw;height:100vh;display:block;position:fixed;inset:0}.bar{height:var(--lb);z-index:5;pointer-events:none;background:#000;transition:height .55s cubic-bezier(.6,0,.2,1);position:fixed;left:0;right:0}.bar.top{top:0}.bar.bottom{bottom:0}#captions{z-index:6;pointer-events:none;position:fixed;inset:0}.cap{text-align:center;opacity:0;position:absolute}.cap.story{letter-spacing:.34em;white-space:nowrap;background:linear-gradient(#fff7dc 0%,#ffd46a 48%,#ff962a 100%);color:#0000;filter:drop-shadow(0 0 22px #ff822873)drop-shadow(0 2px 2px #000000e6);-webkit-background-clip:text;background-clip:text;font-family:Cinzel,serif;font-size:clamp(22px,3.5vw,58px);font-weight:800;line-height:1.28;transition:opacity 1.1s,letter-spacing 2.6s cubic-bezier(.2,.7,.2,1),transform 3s ease-out;top:50%;left:50%;transform:translate(-50%,-50%)scale(1.06)}.cap.story.in{opacity:1;letter-spacing:.17em;transform:translate(-50%,-50%)scale(1)}.cap.story.out{opacity:0;transition:opacity .5s}.cap.impact{letter-spacing:.02em;white-space:nowrap;color:#fff;text-shadow:0 0 34px #ff7a1a,0 0 70px #ff3a10,0 7px #7a1a0a,0 -2px #ffd27a;font-size:clamp(42px,8.6vw,150px);font-style:italic;font-weight:900;line-height:.98;top:50%;left:50%;transform:translate(-50%,-50%)skew(-9deg)scale(2.6)}.cap.impact.in{animation:.2s cubic-bezier(.2,.9,.3,1.2) forwards slam}.cap.impact.out{transition:opacity .12s,transform .12s;animation:none;transform:translate(-50%,-50%)skew(-9deg)scale(.9);opacity:0!important}@keyframes slam{0%{opacity:0;transform:translate(-50%,-50%)skew(-9deg)scale(2.6)}to{opacity:1;transform:translate(-50%,-50%)skew(-9deg)scale(1)}}.cap.feature{letter-spacing:.22em;white-space:nowrap;color:#fff;text-shadow:0 2px #000000b3,0 0 18px #aa64ffcc;background:linear-gradient(90deg,#0000,#641ebe9e 20% 80%,#0000);padding:.55em 3.5em;font-size:clamp(13px,1.6vw,26px);font-weight:800;transition:opacity .35s,transform .35s;left:50%;transform:translate(-50%,-10px)}.cap.feature.top{top:calc(var(--lb) + 3.5vh)}.cap.feature.bottom{bottom:calc(var(--lb) + 4vh)}.cap.feature.in{opacity:1;transform:translate(-50%)}.cap.feature.out{opacity:0}.cap.boss{left:6vw;bottom:calc(var(--lb) + 7vh);text-align:left;transition:opacity .25s,transform .45s cubic-bezier(.2,1.3,.3,1);transform:translate(-40px)}.cap.boss:before{content:"";z-index:-1;background:linear-gradient(90deg,#960000bf,#96000000);position:absolute;inset:18% -4vw 8% -6vw;transform:skew(-14deg)}.cap.boss.in{opacity:1;transform:translate(0)}.cap.boss.out{opacity:0}.boss-kicker{letter-spacing:.5em;color:#fff;text-shadow:0 0 6px #ff2a1a,0 0 18px #ff2a1a,0 2px #3a0000;margin-bottom:.1em;font-size:clamp(14px,1.8vw,28px);font-style:italic;font-weight:900}.boss-name{letter-spacing:.04em;white-space:nowrap;background:linear-gradient(#fff 0%,#ffe39a 45%,#ff8a2a 75%,#b8320a 100%);color:#0000;filter:drop-shadow(0 0 20px #ff3c14b3)drop-shadow(0 4px #280000e6);-webkit-background-clip:text;background-clip:text;font-family:Cinzel,serif;font-size:clamp(34px,6.2vw,104px);font-weight:900;line-height:1}.cap.sub,.cap.sub2,.cap.soon{white-space:nowrap;transition:opacity 1s,transform 1s cubic-bezier(.2,.8,.2,1);left:50%;transform:translate(-50%,12px)}.cap.sub.in,.cap.sub2.in,.cap.soon.in{opacity:1;transform:translate(-50%)}.cap.sub{bottom:calc(var(--lb) + 16vh);letter-spacing:.4em;color:#ffe8bd;text-shadow:0 0 14px #ff781eb3,0 2px #000;font-size:clamp(12px,1.55vw,24px);font-weight:700}.cap.sub2{bottom:calc(var(--lb) + 11.5vh);letter-spacing:.28em;color:#d8b8ff;text-shadow:0 0 12px #9646ffcc,0 2px #000;font-size:clamp(10px,1.15vw,18px);font-weight:800}.cap.sub2 i{color:var(--gold);margin:0 .7em;font-style:normal}.cap.soon{bottom:calc(var(--lb) + 3.5vh);letter-spacing:.55em;color:#fff;text-shadow:0 0 18px #ff8a2a,0 0 40px #ff3a10;font-family:Cinzel,serif;font-size:clamp(16px,2.2vw,34px);font-weight:900}.cap.soon.in{animation:2s ease-in-out 1s infinite soonPulse}@keyframes soonPulse{50%{text-shadow:0 0 30px #ffb04a,0 0 70px #ff3a10}}#hud{z-index:3;pointer-events:none;opacity:0;transition:opacity .3s;position:fixed;inset:0}#hud.on{opacity:1}.hud-l,.hud-r{top:calc(var(--lb) + 14px);text-shadow:0 2px #000c,0 0 14px #0009;position:absolute}.hud-l{left:26px}.hud-r{text-align:right;right:26px}.hud-l .lbl,.hud-r .lbl{letter-spacing:.14em;color:#cbbfe6;font-size:clamp(11px,1.1vw,17px);font-weight:800}.hud-l .val,.hud-r .val{font-size:clamp(18px,2.1vw,34px);font-weight:900;line-height:1.05}.hud-l .lvl{letter-spacing:.12em;color:#ffd36a;margin-top:6px;font-size:clamp(10px,.95vw,15px);font-weight:800}.hud-c{top:calc(var(--lb) + 16px);position:absolute;left:50%;transform:translate(-50%)}.combo{color:#ffb04a;text-shadow:0 0 16px #ff7814e6,0 3px #5a2a00;font-size:clamp(14px,1.7vw,28px);font-style:italic;font-weight:900}.combo.hit{animation:.3s ease-out comboHit}@keyframes comboHit{0%{transform:scale(1.5)}to{transform:scale(1)}}#start,#end{z-index:20;display:none;position:fixed;inset:0}body.attract #start{background:radial-gradient(at 50% 45%,#0000 35%,#0000008c);display:block}.start-inner{left:50%;bottom:calc(var(--lb) * .3);text-align:center;opacity:0;transition:opacity .6s;position:absolute;transform:translate(-50%)}body.ready .start-inner{opacity:1}.loading{left:50%;bottom:calc(var(--lb) + 8vh);letter-spacing:.3em;color:#cbbfe6;font-weight:800;position:absolute;transform:translate(-50%)}body.ready .loading{display:none}.start-kicker{letter-spacing:.5em;color:#ffd9a0;text-shadow:0 0 14px #ff781ecc;margin-bottom:14px;font-family:Cinzel,serif;font-size:clamp(11px,1.2vw,18px);font-weight:800}#play,#replay{letter-spacing:.12em;cursor:pointer;color:#2a1204;background:linear-gradient(#ffe777,#ff9a1e);border:3px solid #fff2b0;border-radius:14px;align-items:center;gap:.6em;padding:.6em 1.6em .6em 1.3em;font-family:"Exo 2",sans-serif;font-size:clamp(18px,2vw,30px);font-weight:900;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 0 44px #ffaa2899,0 8px #8a4a08}#play:hover,#replay:hover{transform:translateY(-2px)scale(1.04);box-shadow:0 0 60px #ffaa28d9,0 10px #8a4a08}#play:active,#replay:active{transform:translateY(5px);box-shadow:0 0 30px #ffaa2899,0 3px #8a4a08}#play:focus-visible,#replay:focus-visible{outline-offset:4px;outline:3px solid #fff}.tri{border-top:.45em solid #0000;border-bottom:.45em solid #0000;border-left:.75em solid #2a1204;width:0;height:0}.start-note{letter-spacing:.18em;color:#ffffffb3;margin-top:14px;font-size:clamp(10px,1vw,14px);font-weight:700}body.ended #end{display:block}#end #replay{right:4vw;bottom:calc(var(--lb) + 3vh);font-size:clamp(13px,1.3vw,20px);position:absolute}#pausebadge{top:calc(var(--lb) + 12px);z-index:21;letter-spacing:.3em;background:#0009;border-radius:8px;padding:6px 14px;font-weight:900;display:none;position:fixed;left:50%;transform:translate(-50%)}body.paused #pausebadge{display:block}.keys-help{z-index:21;letter-spacing:.08em;color:#ffffff59;font-size:11px;font-weight:700;position:fixed;bottom:8px;right:14px}#fps{z-index:21;color:#9f9;font:700 12px monospace;position:fixed;bottom:8px;left:10px}body.noui #labels,body.noui #hud,body.noui #guide,body.noui #captions,body.noui .keys-help,body.noui #pausebadge{display:none}@media (width<=640px){.keys-help{display:none}.hud-l{left:14px}.hud-r{right:14px}}@media (prefers-reduced-motion:reduce){.cap.soon.in{animation:none}}body.debugshot *,body.debugshot :before,body.debugshot :after{transition:none!important;animation-duration:1ms!important;animation-delay:0s!important}.cap.qte{place-items:center;display:grid;top:40%;left:50%;transform:translate(-50%,-50%)scale(1.6)}.cap.qte.in{animation:.18s ease-out forwards qteIn}.cap.qte.out{opacity:0;transition:opacity .15s;animation:none}@keyframes qteIn{to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.qte-ring{aspect-ratio:1;width:clamp(130px,16vw,240px);animation:qteShrink var(--qd,1.3s) linear forwards;border:6px solid #ff3a2a;border-radius:50%;grid-area:1/1;box-shadow:0 0 30px #ff2a1a,inset 0 0 30px #ff281480}@keyframes qteShrink{0%{opacity:.4;transform:scale(1.6)}to{opacity:1;border-color:#ffd04a;transform:scale(.55)}}.qte-text{color:#fff;letter-spacing:.04em;text-shadow:0 0 20px #ff3a1a,0 0 50px #ff1a0a,0 5px #5a0a00;grid-area:1/1;font-size:clamp(28px,4.4vw,72px);font-style:italic;font-weight:900;animation:.12s linear infinite qteShake}@keyframes qteShake{25%{transform:translate(2px,-1px)rotate(-1deg)}75%{transform:translate(-2px,1px)rotate(1deg)}}.cap.roster{left:5vw;bottom:calc(var(--lb) + 6vh);text-align:left;transition:opacity .15s,transform .35s cubic-bezier(.2,1.4,.3,1);transform:translate(-60px)}.cap.roster.in{opacity:1;transform:translate(0)}.cap.roster.out{opacity:0;transition:opacity .1s}.cap.roster:before{content:"";background:linear-gradient(90deg, var(--c), transparent);opacity:.7;z-index:-1;position:absolute;inset:12% -6vw 0 -5vw;transform:skew(-14deg)}.r-num{letter-spacing:.4em;color:#ffffffbf;font-size:clamp(11px,1.2vw,18px);font-style:italic;font-weight:900}.r-name{white-space:nowrap;color:#fff;text-shadow:0 0 24px var(--c), 0 4px 0 #000c;font-family:Cinzel,serif;font-size:clamp(30px,5.4vw,92px);font-weight:900;line-height:1}.r-tag{letter-spacing:.3em;color:#fff;text-shadow:0 2px 0 #000, 0 0 12px var(--c);margin-top:.35em;font-size:clamp(11px,1.3vw,20px);font-weight:800}
