:root{--pink: #ff2e88;--yellow: #ffe600;--cyan: #1fd1ff;--lime: #9dff2e;--ink: #120a1c;--hud: "Bungee", Impact, "Arial Black", sans-serif;--pix: "Press Start 2P", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0b0714;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body{background:repeating-linear-gradient(45deg,#140b22 0 14px,#0b0714 14px 28px)}#app{position:absolute;top:0;left:50%;transform:translate(-50%);height:100vh;height:100dvh;width:min(100vw,56.25vh);width:min(100vw,56.25dvh);overflow:hidden;background:#000;cursor:pointer;box-shadow:0 0 0 3px #000,0 0 60px #ff2e8859}canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}#fx{pointer-events:none}#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(0,0,0,.55) 100%)}#flash{position:absolute;inset:0;pointer-events:none;opacity:0;background:#fff}#flash.go{animation:flash .28s ease-out}@keyframes flash{0%{opacity:.75}to{opacity:0}}.hidden{display:none!important}#hud{position:absolute;inset:0;pointer-events:none;font-family:var(--hud);color:#fff}#top{position:absolute;top:calc(env(safe-area-inset-top) + 12px);left:14px;right:14px;display:flex;justify-content:space-between;align-items:flex-start}#score{font-size:clamp(26px,8vw,40px);line-height:1;letter-spacing:1px;color:var(--yellow);transform:skew(-8deg) rotate(-3deg);transform-origin:left;text-shadow:3px 3px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink),5px 5px 0 var(--pink)}#dist{font-size:clamp(16px,5vw,22px);color:var(--cyan);text-shadow:2px 2px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink);transform:rotate(3deg)}#dist small{font-size:.6em;margin-left:2px}#combo{position:absolute;top:calc(env(safe-area-inset-top) + 70px);left:14px;transform:rotate(-4deg);transform-origin:left;transition:opacity .2s}#combo.off{opacity:0}#mult{font-size:clamp(34px,11vw,54px);line-height:.9;color:var(--pink);text-shadow:3px 3px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink),6px 6px 0 var(--yellow)}#mult.bump{animation:bump .25s ease-out}@keyframes bump{0%{transform:scale(1.6) rotate(-8deg)}to{transform:scale(1)}}#cnum{font-family:var(--pix);font-size:9px;margin-top:6px;text-shadow:2px 2px 0 var(--ink)}#cbar{width:110px;height:6px;background:#0009;margin-top:5px;border:2px solid var(--ink)}#cbar i{display:block;height:100%;width:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left}#speedo{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 16px);right:14px;text-align:right;transform:skew(-10deg)}#kmh{font-size:clamp(30px,10vw,46px);line-height:1;color:#fff;text-shadow:3px 3px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink),5px 5px 0 var(--cyan)}#speedo small{font-family:var(--pix);font-size:9px;margin-left:4px;text-shadow:2px 2px 0 var(--ink)}#sbar{width:150px;height:10px;margin:6px 0 0 auto;background:#0009;border:2px solid var(--ink)}#sbar i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--cyan),var(--lime),var(--yellow),var(--pink));background-size:150px 100%}#speedo.hot #kmh{animation:jitter .08s infinite;color:var(--yellow)}@keyframes jitter{0%{transform:translate(0)}50%{transform:translate(1px,-1px)}to{transform:translate(-1px,1px)}}#pops{position:absolute;left:0;right:0;top:30%;height:30%}.pop{position:absolute;top:0;transform:translate(-50%) rotate(var(--r));font-size:clamp(22px,7.5vw,36px);white-space:nowrap;color:var(--yellow);text-shadow:3px 3px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink),5px 5px 0 var(--pink);animation:pop .95s cubic-bezier(.2,1.6,.4,1) forwards}.pop.c{color:var(--cyan);text-shadow:3px 3px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink),5px 5px 0 var(--pink)}.pop.p{color:var(--pink);text-shadow:3px 3px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink),5px 5px 0 var(--yellow)}.pop.l{color:var(--lime)}.pop.r{color:#ff4040;text-shadow:3px 3px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink),5px 5px 0 #000}.pop.s{font-size:clamp(14px,4.5vw,20px)}.pop.big{font-size:clamp(40px,14vw,68px)}@keyframes pop{0%{opacity:0;transform:translate(-50%) rotate(var(--r)) scale(2.4)}18%{opacity:1;transform:translate(-50%) rotate(var(--r)) scale(1)}70%{opacity:1;transform:translate(-50%,-24px) rotate(var(--r)) scale(1)}to{opacity:0;transform:translate(-50%,-50px) rotate(var(--r)) scale(.9)}}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;color:#fff;font-family:var(--hud);background:linear-gradient(180deg,#120a1c26,#120a1cb8 70%)}.logo{transform:rotate(-7deg) skew(-8deg);margin-bottom:10px}.logo .l1{font-size:clamp(56px,19vw,96px);line-height:.85;color:var(--yellow);text-shadow:4px 4px 0 var(--ink),-3px -3px 0 var(--ink),3px -3px 0 var(--ink),-3px 3px 0 var(--ink),9px 9px 0 var(--pink),13px 13px 0 var(--ink)}.logo .l2{font-size:clamp(64px,23vw,118px);line-height:.9;color:var(--cyan);margin-left:30%;text-shadow:4px 4px 0 var(--ink),-3px -3px 0 var(--ink),3px -3px 0 var(--ink),-3px 3px 0 var(--ink),9px 9px 0 var(--pink),13px 13px 0 var(--ink);animation:throb .3448s ease-out infinite}@keyframes throb{0%{transform:scale(1.06)}to{transform:scale(1)}}.sub{font-family:var(--pix);font-size:9px;letter-spacing:1px;margin:18px 0 20px;color:var(--lime);text-shadow:2px 2px 0 var(--ink)}.how{list-style:none;padding:12px 14px;margin:0;background:#0000008c;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--pink);transform:rotate(1deg);max-width:330px;text-align:left}.how li{display:flex;gap:10px;align-items:baseline;font-family:system-ui,sans-serif;font-size:12px;line-height:1.35;margin:6px 0}.how b{font-family:var(--hud);font-weight:400;color:var(--yellow);min-width:46px;font-size:13px}.keys{font-family:var(--pix);font-size:7px;margin-top:14px;opacity:.75}#tap{margin-top:26px;font-size:clamp(20px,6.5vw,28px);color:#fff;text-shadow:3px 3px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink),5px 5px 0 var(--pink)}.blink{animation:blink .69s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}#err{position:absolute;inset:auto 10px 10px;padding:10px;background:#300;color:#fcc;font:12px monospace;white-space:pre-wrap}#menu{justify-content:flex-start;padding-top:calc(env(safe-area-inset-top) + 7vh);background:linear-gradient(180deg,#120a1ccc,#120a1c8c 45%,#120a1c00 62%)}#menu .logo{transform:rotate(-7deg) skew(-8deg) scale(.85)}#menu .sub{margin:10px 0 12px}#menu .how{transform:rotate(1deg) scale(.92)}#menu #tap{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 6vh);left:0;right:0;margin:0}#menu .how{max-width:340px}#stagesel,#charsel{display:flex;align-items:center;gap:10px;margin-top:16px;pointer-events:auto}#stagesel button,#charsel button{font:18px var(--hud);color:var(--ink);background:var(--yellow);border:3px solid var(--ink);width:40px;height:40px;box-shadow:3px 3px 0 var(--pink);cursor:pointer;transform:skew(-8deg)}#stagesel button:disabled{opacity:.3}#charsel{margin-top:8px}#sname,#cname{min-width:170px;transform:skew(-8deg);background:#000000b3;border:3px solid var(--ink);padding:4px 10px}#sname small,#cname small{display:block;font-family:var(--pix);font-size:8px;color:var(--cyan)}#sname b,#cname b{font-weight:400;font-size:18px;color:#fff}#sname.locked b{color:#777}#stagecard{position:absolute;left:0;right:0;top:30%;pointer-events:none;text-align:center;font-family:var(--hud);color:#fff}#stagecard.go{animation:sc 2.4s ease-out forwards}.sc-band{position:absolute;left:-10%;right:-10%;top:-14px;height:118px;background:var(--ink);transform:rotate(-5deg);box-shadow:0 6px 0 var(--sc, var(--yellow))}.sc-num{position:relative;font-family:var(--pix);font-size:11px;color:var(--sc, var(--yellow));transform:rotate(-5deg)}.sc-name{position:relative;font-size:clamp(34px,11vw,52px);line-height:1.1;transform:rotate(-5deg) skew(-8deg);text-shadow:3px 3px 0 var(--ink),6px 6px 0 var(--sc, var(--pink))}.sc-tag{position:relative;font-family:system-ui,sans-serif;font-size:12px;font-weight:700;margin-top:4px;transform:rotate(-5deg);color:#ddd}@keyframes sc{0%{opacity:0;transform:translate(80%)}10%{opacity:1;transform:translate(0)}82%{opacity:1;transform:translate(-3%)}to{opacity:0;transform:translate(-90%)}}#gl.deathcam{filter:grayscale(1) contrast(1.55) brightness(1.05)}#halftone{position:absolute;inset:0;pointer-events:none;opacity:0;background-image:radial-gradient(rgba(214,255,31,.55) 1.2px,transparent 1.6px);background-size:7px 7px;mask-image:linear-gradient(115deg,transparent 35%,#000 90%);-webkit-mask-image:linear-gradient(115deg,transparent 35%,#000 90%)}#halftone.on{opacity:.9;transition:opacity .25s}#wipe{position:absolute;inset:0;pointer-events:none;overflow:hidden;font-family:Anton,Impact,sans-serif}.w-bar{position:absolute;left:-20%;right:-20%;height:26%;background:#0c0a10}.w-top{top:-8%;transform:rotate(-8deg) translate(-110%)}.w-bot{bottom:-8%;transform:rotate(-8deg) translate(110%)}#wipe.go .w-top{animation:barL .28s cubic-bezier(.2,.9,.3,1) forwards}#wipe.go .w-bot{animation:barR .28s cubic-bezier(.2,.9,.3,1) forwards}@keyframes barL{to{transform:rotate(-8deg) translate(0)}}@keyframes barR{to{transform:rotate(-8deg) translate(0)}}.w-tape{position:absolute;left:-20%;right:-20%;top:58%;height:30px;background:#d6ff1f;transform:rotate(-8deg) scaleX(0);overflow:hidden;white-space:nowrap;color:#0c0a10;font-size:20px;line-height:30px}.w-tape span{display:inline-block;animation:tape 1.2s linear infinite}#wipe.go .w-tape{animation:tapeIn .25s .15s ease-out forwards}@keyframes tapeIn{to{transform:rotate(-8deg) scaleX(1)}}@keyframes tape{to{transform:translate(-33.33%)}}.w-text{position:absolute;left:0;right:0;top:38%;text-align:center;transform:rotate(-8deg)}.w-text span{position:absolute;left:0;right:0;font-size:clamp(64px,22vw,110px);line-height:1;font-style:italic;letter-spacing:1px;opacity:0}.w-main{color:#fff;-webkit-text-stroke:3px #0c0a10;text-shadow:6px 6px 0 #0c0a10}.w-ghost.g1{color:#ff2e88}.w-ghost.g2{color:#1fd1ff}#wipe.go .w-main{animation:slamIn .32s .2s cubic-bezier(.2,1.7,.4,1) forwards,glitch .9s .55s steps(1) infinite}#wipe.go .g1{animation:ghost1 .5s .22s steps(2) forwards}#wipe.go .g2{animation:ghost2 .5s .26s steps(2) forwards}@keyframes slamIn{0%{opacity:0;transform:scale(3.2) skew(-14deg)}to{opacity:1;transform:scale(1) skew(-14deg)}}@keyframes ghost1{0%{opacity:.9;transform:translate(-14px,4px) skew(-14deg)}to{opacity:.85;transform:translate(-5px,2px) skew(-14deg)}}@keyframes ghost2{0%{opacity:.9;transform:translate(14px,-4px) skew(-14deg)}to{opacity:.85;transform:translate(5px,-2px) skew(-14deg)}}@keyframes glitch{0%,to{transform:skew(-14deg)}30%{transform:translate(3px,-2px) skew(-18deg);clip-path:inset(0 0 45% 0)}33%{transform:skew(-14deg);clip-path:none}70%{transform:translate(-3px,1px) skew(-10deg)}72%{transform:skew(-14deg)}}.w-sub{position:absolute;left:0;right:0;top:67%;text-align:center;transform:rotate(-8deg);color:#fff;font-family:system-ui,sans-serif;font-weight:800;font-size:13px;opacity:0;text-shadow:2px 2px 0 #0c0a10}#wipe.go .w-sub{animation:fadeIn .3s .6s forwards}@keyframes fadeIn{to{opacity:1}}#over{position:absolute;inset:0;color:#fff;font-family:Anton,Impact,sans-serif;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;background:linear-gradient(160deg,#0c0a108c,#0c0a10eb 55%);padding:max(18px,calc(env(safe-area-inset-top) + 12px)) max(22px,calc(env(safe-area-inset-right) + 16px)) max(20px,calc(env(safe-area-inset-bottom) + 14px)) max(22px,calc(env(safe-area-inset-left) + 16px));animation:fadeIn .2s}#over:before{content:"";position:absolute;left:-30%;right:-30%;top:9%;height:64px;background:#d6ff1f;transform:rotate(-10deg);z-index:-0;opacity:.95}#over>*{position:relative}.r-head{display:flex;align-items:baseline;gap:10px;font-size:20px;letter-spacing:3px}.r-head em{font-style:normal;font-size:13px;color:#d6ff1f;letter-spacing:1px}#over .r-rank{position:absolute;right:max(16px,calc(env(safe-area-inset-right) + 12px));top:max(44px,calc(env(safe-area-inset-top) + 40px));text-align:center}.r-rank small{display:block;font-size:16px;letter-spacing:4px}.r-rank b{display:block;font-weight:400;font-size:clamp(120px,42vw,210px);line-height:.9;font-style:italic;-webkit-text-stroke:5px #0c0a10;text-shadow:10px 10px 0 #0c0a10;animation:rankIn .5s .15s cubic-bezier(.2,1.8,.4,1) both}@keyframes rankIn{0%{transform:scale(2.6) rotate(-20deg);opacity:0}}.r-score{margin-top:clamp(84px,21vh,200px);margin-top:clamp(84px,21dvh,200px);flex-shrink:0}.r-score small{display:block;font-size:14px;color:#d6ff1f;letter-spacing:2px}.r-score b{display:block;font-weight:400;font-size:clamp(48px,16vw,76px);line-height:1;font-style:italic;-webkit-text-stroke:2px #0c0a10;text-shadow:5px 5px 0 #ff2e88}#ovbest{margin-top:6px;font-size:14px;letter-spacing:1px;color:#aaa}#ovbest.new{color:#0c0a10;background:#ff2e88;display:inline-block;padding:2px 10px;transform:skew(-10deg);color:#fff;animation:blink .4s steps(2,start) 4}.r-rows{margin-top:18px;max-width:360px}.r-rows div{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:2px solid rgba(255,255,255,.14)}.r-rows span{font-size:15px;color:#bbb;letter-spacing:1px}.r-rows b{font-weight:400;font-size:22px}.r-btns{position:relative;margin-top:auto;padding-top:16px;display:flex;gap:14px;flex-shrink:0;padding-right:6px}.r-btns button{flex:1;height:58px;font:22px Anton,Impact,sans-serif;letter-spacing:2px;border:3px solid #0c0a10;cursor:pointer;transform:skew(-12deg)}#bshare{background:#fff;color:#0c0a10;box-shadow:5px 5px #1fd1ff}#bretry{background:#d6ff1f;color:#0c0a10;box-shadow:5px 5px #ff2e88}.r-btns button:active{transform:skew(-12deg) translate(3px,3px);box-shadow:none}#toast{position:absolute;left:50%;bottom:max(96px,calc(env(safe-area-inset-bottom) + 90px));transform:translate(-50%);background:#0c0a10;color:#d6ff1f;padding:8px 14px;font-family:system-ui,sans-serif;font-weight:700;font-size:13px;border:2px solid #d6ff1f}@media(max-height:620px){.r-score{margin-top:84px}.r-rows div{padding:4px 0}.r-rank b{font-size:110px}}#rtop{display:block;font-style:normal;font-size:18px;letter-spacing:1px;margin-top:6px;color:#fff;text-shadow:2px 2px 0 #0c0a10}.w-rew{position:absolute;right:16px;top:max(16px,calc(env(safe-area-inset-top) + 10px));font-family:"Press Start 2P",monospace;font-size:11px;color:#fff;background:#0c0a10;padding:5px 8px;opacity:0}#wipe.go .w-rew{animation:rew .5s .1s steps(1) 3 forwards}@keyframes rew{0%{opacity:1}50%{opacity:0}to{opacity:1}}#wipe:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,transparent 0 22px,rgba(255,255,255,.18) 22px 24px,transparent 24px 60px)}#wipe.go:after{animation:vhs 1.3s linear forwards}@keyframes vhs{0%{opacity:.9;background-position:0 0}90%{opacity:.6}to{opacity:0;background-position:0 -600px}}#capcap{position:absolute;left:6%;right:6%;top:21%;text-align:center;pointer-events:none;opacity:0;transform:rotate(-4deg) scale(.9);font-family:Bungee,Impact,sans-serif;font-size:25px;line-height:1.15;color:#fff;transition:opacity .12s,transform .12s;text-shadow:3px 3px 0 #120a1c,-2px -2px 0 #120a1c,2px -2px 0 #120a1c,-2px 2px 0 #120a1c,5px 5px 0 #ff2e88}#capcap.on{opacity:1;transform:rotate(-4deg) scale(1)}#capcap em{font-style:normal;color:#ffe600}#capcap small{display:block;font-family:system-ui,sans-serif;font-weight:900;font-size:15px;margin-top:6px;color:#d6ff1f;text-shadow:2px 2px 0 #120a1c}#endcard{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:#0c0a10d1;opacity:0;transition:opacity .2s;font-family:Bungee,Impact,sans-serif;color:#fff}#endcard.on{opacity:1}#endcard .e1{font-size:64px;line-height:.9;color:#ffe600;transform:rotate(-7deg) skew(-8deg);text-shadow:4px 4px 0 #120a1c,-3px -3px 0 #120a1c,3px -3px 0 #120a1c,-3px 3px 0 #120a1c,9px 9px 0 #ff2e88}#endcard .e2{font-size:76px;line-height:.9;color:#1fd1ff;margin-left:30%;transform:rotate(-7deg) skew(-8deg);text-shadow:4px 4px 0 #120a1c,-3px -3px 0 #120a1c,3px -3px 0 #120a1c,-3px 3px 0 #120a1c,9px 9px 0 #ff2e88}#endcard .e3{margin-top:26px;font-family:system-ui,sans-serif;font-weight:900;font-size:18px;color:#d6ff1f}#endcard .e4{margin-top:10px;font-size:22px;background:#d6ff1f;color:#120a1c;padding:4px 12px;transform:skew(-10deg)}body.capture #menu .how,body.capture #menu .keys,body.capture #stagesel,body.capture #charsel{display:none}@media(hover:none),(pointer:coarse){#menu .keys{display:none}}#menu{padding-top:calc(env(safe-area-inset-top) + 4vh)}#menu .logo{transform:rotate(-7deg) skew(-8deg) scale(.72);margin-bottom:-6px}#menu .sub{margin:4px 0 8px}#menu .how{transform:rotate(1deg) scale(.86);margin:-6px 0}#menu .how li{margin:4px 0}#stagesel,#charsel{margin-top:6px}
