:root{--sky-1:#4a4fae;--sky-2:#2a2c6a;--sky-3:#1a1250;--floor:#33289a;--floor-2:#1d165c;--bar:#101129;--bar-2:#1a1b3d;--beige:#dcd2b6;--beige-hi:#efe7cf;--beige-lo:#b9ad8d;--ink:#26221d;--metal:#a3a9b0;--metal-hi:#c9ced4;--screen:#06170e;--phos:#5cf58e;--amber:#ffb12b;--red:#ff4b3a;--text:#f4f2ff;--muted:#a6a9db;--ghost:#5b5e9c;--ghost-2:#474a86;--ghost-ln:#34366c;--c-beat:#38c6ea;--c-fx:#a5d83a;--c-mel:#ff9636;--c-voc:#ff5d9e;--c-cho:#a07cff;--f-display:"Fredoka", "Trebuchet MS", system-ui, sans-serif;--f-screen:"VT323", "Courier New", monospace;--gut-l:max(16px, env(safe-area-inset-left,0px));--gut-r:max(16px, env(safe-area-inset-right,0px));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--sky-3);color:var(--text);font-family:var(--f-display);-webkit-tap-highlight-color:transparent;margin:0;font-size:14px;overflow-x:hidden}button{font:inherit;color:inherit}:focus-visible{outline-offset:3px;outline:3px solid #fff}.app{background:radial-gradient(120% 90% at 50% 45%,#0000 60%,#0a062880),radial-gradient(35% 40% at 0 85%,#ff46c852,#0000 70%),radial-gradient(35% 40% at 100% 85%,#3cc8ff4d,#0000 70%),radial-gradient(50% 30% at 50% 78%,#ffaae629,#0000 70%),radial-gradient(65% 60% at 50% 38%,#6e64ff8c,#0000 72%),linear-gradient(#1d1670,#2f2bb0 35%,#2a1f8c 70%,#1a1250);grid-template-rows:auto 1fr auto;min-height:100%;display:grid}.top,.deck{-webkit-backdrop-filter:blur(6px)saturate(1.3);backdrop-filter:blur(6px)saturate(1.3);background:#15163a2e}.top{z-index:4;padding:10px var(--gut-r) 10px var(--gut-l);border-bottom:1px solid #ffffff1a;grid-area:1/1;grid-template-columns:1fr auto 1fr;align-self:start;align-items:center;gap:10px 18px;display:grid;position:sticky;top:0}.disks{letter-spacing:.16em;color:var(--muted);grid-column:2;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.dk{fill:#ffffff24;width:32px;height:32px}.dk .sh{fill:#ffffff2e}.dk .lb{fill:#ffffff1a}.dk.on{fill:var(--c);filter:drop-shadow(0 0 6px var(--c))}.dk.on .sh{fill:#d9dce6}.dk.on .lb{fill:#fff}.dkf{width:32px;height:32px;fill:var(--c);clip-path:inset(calc(100% - var(--p,0) * 100%) 0 0 0);transition:clip-path .35s;position:absolute;inset:5px}.dkf .sh{fill:#d9dce6}.dkf .lb{fill:#fff}.dk.on+.dkf{display:none}.ctl{flex-wrap:wrap;grid-column:3;justify-content:flex-end;justify-self:end;align-items:center;gap:10px;display:flex}.mix{flex-direction:column;grid-column:1;justify-self:start;gap:6px;display:flex}.mix .vol #volIn{flex:1}.rb{width:42px;height:42px;color:var(--sky-2);cursor:pointer;background:#fff;border:none;border-radius:50%;place-items:center;padding:0;transition:transform .1s,background .15s;display:grid;box-shadow:0 4px #00000059}.rb:hover{transform:scale(1.08)}.rb:active{transform:translateY(3px);box-shadow:0 1px #00000059}.rb svg{fill:currentColor;width:20px;height:20px}.rb .st,.tools .st,.tb .st{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.rb.big{background:var(--c-mel);color:#fff;width:54px;height:54px}.rb.big svg{width:26px;height:26px}.rb .i-pause,.rb.on .i-play{display:none}.rb.on .i-pause{display:block}.tempo,.vol{background:#08091e66;border-radius:999px;align-items:center;gap:8px;padding:5px 7px;display:flex}.vol{padding-right:12px}#muteAll[aria-pressed=true]{background:var(--amber);color:var(--ink)}#muteAll .i-off,#muteAll[aria-pressed=true] .i-on{display:none}#muteAll[aria-pressed=true] .i-off{display:block}.rng{appearance:none;cursor:pointer;background:linear-gradient(90deg, #fff var(--f,80%), #fff3 var(--f,80%));border-radius:99px;height:8px;margin:0}.rng::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--sky-2);background:#fff;border-radius:50%;width:18px;height:18px;box-shadow:0 2px #0006}.rng::-moz-range-thumb{border:3px solid var(--sky-2);background:#fff;border-radius:50%;width:12px;height:12px;box-shadow:0 2px #0006}#volIn{width:clamp(70px,8vw,110px)}.tb{width:28px;height:28px;color:var(--sky-2);cursor:pointer;background:#fff;border:none;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 2px #00000059}.tb svg{width:14px;height:14px}.tb:active{box-shadow:none;transform:translateY(2px)}#bpmIn{appearance:none;cursor:pointer;background:linear-gradient(90deg, var(--c-beat), #fff 45%, var(--amber) 62%, var(--red));border-radius:99px;width:clamp(80px,11vw,140px);height:8px;margin:0}#bpmIn::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--sky-2);background:#fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px #0006}#bpmIn::-moz-range-thumb{border:3px solid var(--sky-2);background:#fff;border-radius:50%;width:14px;height:14px;box-shadow:0 2px #0006}.readout{letter-spacing:.14em;color:var(--muted);align-items:baseline;gap:5px;font-size:11px;font-weight:600;display:flex}#bpm{text-align:right;letter-spacing:0;color:#fff;font-variant-numeric:tabular-nums;min-width:3ch;font-size:24px;transition:color .3s;display:inline-block}.ocb{width:16px;height:16px;fill:var(--amber);align-self:center;display:none}.app.oc1 .ocb{display:block}.app.oc1 #bpm{color:var(--amber)}.app.oc2 #bpm{color:var(--red);text-shadow:0 0 10px #ff4b3ab3}.app.oc2 .ocb{fill:var(--red);filter:drop-shadow(0 0 4px var(--red))}.recb{min-width:84px;height:42px;color:var(--sky-2);cursor:pointer;letter-spacing:.08em;font-variant-numeric:tabular-nums;background:#fff;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:14px;font-weight:700;transition:transform .1s,background .15s;display:flex;box-shadow:0 4px #00000059}.recb:hover{transform:scale(1.05)}.recb:active{transform:translateY(3px);box-shadow:0 1px #00000059}.recb .dot{background:var(--red);border-radius:50%;width:12px;height:12px}.recb.on{background:var(--red);color:#fff}.recb.on .dot{background:#fff;border-radius:2px;width:11px;height:11px}@keyframes recBlink{50%{opacity:.2}}.recb.on.held .dot{animation:1s step-end infinite recBlink}.stage{padding-top:var(--top-h,0px);padding-bottom:var(--deck-h,0px);flex-direction:column;grid-area:1/1/4;min-height:380px;display:flex;position:relative;overflow:hidden}.stage:before{content:"";z-index:0;background:radial-gradient(ellipse 30% 55% at 50% 12%, #ffe2fa38, transparent 70%), radial-gradient(ellipse 22% 50% at 28% 18%, #38c6ea47, transparent 70%), radial-gradient(ellipse 22% 50% at 72% 18%, #ff5d9e42, transparent 70%), radial-gradient(ellipse 18% 40% at 12% 20%, #a5d83a2e, transparent 70%), radial-gradient(ellipse 18% 40% at 88% 20%, #ff96362e, transparent 70%), radial-gradient(ellipse 45% 80% at 50% 0%, #a08cff66, transparent 70%), linear-gradient(#ffffff12, transparent 14%), linear-gradient(var(--floor), var(--floor-2) 70%, #120d3c);border-top:2px solid #c8aaff8c;border-radius:50% 50% 0 0/46px 46px 0 0;height:clamp(80px,24%,190px);position:absolute;bottom:0;left:-15%;right:-15%;box-shadow:0 -1px #ffffff1a,0 -18px 50px -10px #be6eff73}.lights{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.lights:before{content:"";opacity:.85;background:radial-gradient(circle,#aab2ff29 1.1px,#0000 1.6px) 50% 0/22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 70% at 50% 15%,#000,#0000 85%);mask-image:radial-gradient(75% 70% at 50% 15%,#000,#0000 85%)}.lights i{opacity:.2;transform-origin:50% 0;background:conic-gradient(from 163deg at 50% 0,#0000,#ffffffe6 12deg 22deg,#0000 34deg);width:34%;height:120%;transition:opacity .4s,background .4s;position:absolute;top:-10%;-webkit-mask-image:radial-gradient(60% 100% at 50% 0,#000 30%,#0000 85%);mask-image:radial-gradient(60% 100% at 50% 0,#000 30%,#0000 85%)}.lights i:first-child{left:-4%;transform:rotate(-24deg)}.lights i:nth-child(2){right:-4%;transform:rotate(24deg)}@keyframes swayL{0%,to{transform:rotate(-30deg)}50%{transform:rotate(-14deg)}}@keyframes swayR{0%,to{transform:rotate(30deg)}50%{transform:rotate(14deg)}}@keyframes party{0%{background:conic-gradient(from 163deg at 50% 0%, transparent, var(--c-beat) 12deg 22deg, transparent 34deg)}20%{background:conic-gradient(from 163deg at 50% 0%, transparent, var(--c-fx) 12deg 22deg, transparent 34deg)}40%{background:conic-gradient(from 163deg at 50% 0%, transparent, var(--c-mel) 12deg 22deg, transparent 34deg)}60%{background:conic-gradient(from 163deg at 50% 0%, transparent, var(--c-voc) 12deg 22deg, transparent 34deg)}80%{background:conic-gradient(from 163deg at 50% 0%, transparent, var(--c-cho) 12deg 22deg, transparent 34deg)}}.app.live .lights i:first-child{animation:7s ease-in-out infinite swayL}.app.live .lights i:nth-child(2){animation:7s ease-in-out -3.5s infinite swayR}.app.party .lights i{opacity:.4}.app.party .lights i:first-child{animation:3.5s ease-in-out infinite swayL,1.6s step-end infinite party}.app.party .lights i:nth-child(2){animation:3.5s ease-in-out -1.75s infinite swayR,1.6s step-end -.8s infinite party}.hud{z-index:3;padding:6px var(--gut-r) 0 var(--gut-l);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid;position:relative}.counter{background:#08091e73;border-radius:999px;grid-area:1/2;justify-self:center;align-items:center;gap:14px;height:48px;padding:0 18px 0 17px;display:flex;box-shadow:inset 0 0 0 1px #ffffff0f}.counter .bars{align-items:flex-end;gap:11px;display:flex}.counter .bar{--c:var(--c-beat);align-items:flex-end;gap:4px;display:flex}.counter .bar:nth-child(2){--c:var(--c-fx)}.counter .bar:nth-child(3){--c:var(--c-mel)}.counter .bar:nth-child(4){--c:var(--c-voc)}.counter .bar i{transform-origin:50% 100%;background:#ffffff24;border-radius:3px;width:9px;height:14px;transition:background .2s,box-shadow .2s}.counter .bar i:first-child{height:22px}.counter .bar.done i{background:color-mix(in srgb, var(--c) 30%, #ffffff1a)}.counter .bar i.past{background:color-mix(in srgb, var(--c) 60%, transparent)}.counter .bar i.on{background:var(--c);box-shadow:0 0 12px var(--c)}@keyframes cue{50%{background:var(--c);box-shadow:0 0 8px var(--c)}}.counter .bar.cue i:first-child{animation:.5s step-end infinite cue}.counter .pos{color:#fff;font-variant-numeric:tabular-nums;text-align:center;min-width:2.4ch;font-size:22px;font-weight:600;line-height:1}.counter .pos i{color:var(--muted);font-style:normal}.app:not(.live) .counter .bar i.on{box-shadow:none}.app:not(.live) .counter .pos{color:var(--muted)}.hint{letter-spacing:.04em;color:var(--text);text-align:center;background:#08091e61;border-radius:999px;grid-area:2/2;justify-self:center;margin:0;padding:7px 16px;font-size:13px;font-weight:600}.hint .cur{width:.5em;display:inline-block}.shelf{z-index:2;margin-top:auto;width:min(100%,max(1080px,62vw),420svh - 1050px);padding:0 var(--gut-r) 10px var(--gut-l);grid-template-columns:repeat(7,minmax(0,1fr));margin-inline:auto;display:grid;position:relative}.slot{--cat:transparent;flex-direction:column;min-width:0;display:flex;position:relative}.char{aspect-ratio:120/184;cursor:pointer;isolation:isolate;border-radius:16px;margin-inline:clamp(0px,.5vw,8px);position:relative}.slot:not(.has) .char{cursor:default}.art-wrap{z-index:1;position:absolute;inset:0}.art-wrap svg{width:100%;height:100%;position:absolute;inset:0}.char:before{content:"";z-index:0;opacity:0;pointer-events:none;clip-path:polygon(42% 0,58% 0,88% 100%,12% 100%);background:linear-gradient(#fff4d680,#fff4d61f);transition:opacity .25s;position:absolute;inset:-70% -30% 2%}.char:after{content:"";z-index:0;opacity:0;background:radial-gradient(closest-side, var(--cat), transparent);border-radius:50%;height:12%;transition:opacity .3s;position:absolute;bottom:-3%;left:-6%;right:-6%}.slot.on .char:after{opacity:.6}.slot.solo .char:before{opacity:1}.tag{text-align:center;letter-spacing:.08em;height:20px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;opacity:.6;padding-top:2px;font-size:11px;font-weight:600;transition:opacity .15s,color .15s;overflow:hidden}.slot.has:hover .tag,.slot.has:focus-within .tag{opacity:1;color:#fff}.boot{z-index:3;background:#00000073;border-radius:99px;height:8px;display:none;position:absolute;top:2%;left:24%;right:24%;overflow:hidden}.boot i{height:100%;width:var(--p,0%);background:var(--cat);transition:width .1s;display:block}.slot.wait .boot{display:block}.tools{z-index:5;opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:6px;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%,-45%)}.slot.has:hover .tools,.slot.has:focus-within .tools{opacity:1;pointer-events:auto;transform:translate(-50%,-60%)}.tools button{width:30px;height:30px;color:var(--sky-2);cursor:pointer;background:#fff;border:none;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 3px #00000059}.tools button:hover{transform:scale(1.1)}.tools button[aria-pressed=true]{background:var(--amber);color:var(--ink)}.tools svg{fill:currentColor;width:16px;height:16px}.tools .row{gap:5px;display:flex}.pvol{background:#08091eb3;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;display:flex;box-shadow:0 3px #0000004d}.pvol svg{fill:#fff;flex:none;width:13px;height:13px}.pvol .rng{background:linear-gradient(90deg, var(--cat) var(--f,80%), #fff3 var(--f,80%));width:clamp(56px,6vw,84px);height:6px}.pvol .rng::-webkit-slider-thumb{border-width:2px;width:14px;height:14px}.pvol .rng::-moz-range-thumb{border-width:2px;width:10px;height:10px}@media (hover:none){.tools{justify-content:center;margin-top:2px;position:static;transform:none}.slot.has .tools{opacity:1;pointer-events:auto;transform:none}.slot:not(.has) .tools{visibility:hidden}.tools button{width:26px;height:26px}.tools{gap:4px}.pvol{padding:3px 7px}.pvol .rng{width:100%;min-width:0}.tag{display:none}}.sky{z-index:0;pointer-events:none;opacity:.7;transition:opacity 1.2s;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,#0000 88%);mask-image:linear-gradient(#000 55%,#0000 88%)}.app.live .sky{opacity:1}.app.party .sky{opacity:.55}.sky b{margin:calc(var(--s) / -2);width:var(--s);height:var(--s);background:var(--c);box-shadow:0 0 calc(var(--s) * 1.6) var(--c);animation:twinkle var(--d) ease-in-out infinite var(--dl);border-radius:50%;position:absolute}.sky i{width:var(--len);transform-origin:100%;opacity:0;height:20px;animation:comet var(--d) linear infinite var(--dl);background:radial-gradient(circle,#fff 0 1px,#0000 1.5px) 0 100%/10px 5px repeat-x;margin-top:-10px;position:absolute;-webkit-mask-image:linear-gradient(90deg,#0000,#000 45%);mask-image:linear-gradient(90deg,#0000,#000 45%)}.sky i:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--c) 70%, transparent) 45%, var(--c));filter:blur(3px);border-radius:50% 10px 10px 50%;position:absolute;inset:3px 8px 3px 0}.sky i:after{content:"";background:radial-gradient(circle, #fff 35%, var(--c) 75%);width:20px;height:20px;box-shadow:0 0 14px 4px var(--c), 0 0 40px 10px color-mix(in srgb, var(--c) 45%, transparent);border-radius:50%;margin-top:-10px;position:absolute;top:50%;right:0}@keyframes comet{0%{opacity:0;transform:rotate(var(--a)) translateX(-12vmax) scale(var(--z))}5%{opacity:1}25%{opacity:.9}33%,to{opacity:0;transform:rotate(var(--a)) translateX(34vmax) scale(var(--z))}}@keyframes twinkle{50%{filter:brightness(1.6);transform:scale(.55)}}@media (prefers-reduced-motion:reduce){.sky b{animation:none}}.venue{z-index:0;pointer-events:none;--bass:0;--mid:0;--high:0;--flr:clamp(80px, 24%, 190px);position:absolute;inset:0}.city{bottom:calc(var(--flr) - 22px);opacity:.75;width:30%;height:clamp(70px,20%,200px);position:absolute;-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.city.l{-webkit-mask-composite:source-in;left:0;-webkit-mask-image:linear-gradient(90deg,#000 40%,#0000),linear-gradient(#000 60%,#0000);mask-image:linear-gradient(90deg,#000 40%,#0000),linear-gradient(#000 60%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.city.r{-webkit-mask-composite:source-in;right:0;-webkit-mask-image:linear-gradient(-90deg,#000 40%,#0000),linear-gradient(#000 60%,#0000);mask-image:linear-gradient(-90deg,#000 40%,#0000),linear-gradient(#000 60%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.city i{box-shadow:inset 0 2px 0 color-mix(in srgb, var(--c) 60%, transparent);background:#1d1663;border-radius:3px 3px 0 0;position:absolute;bottom:0}.city i:before{content:"";opacity:calc(.35 + var(--mid) * .65);background:repeating-linear-gradient(transparent 0 6px, var(--c) 6px 9px);filter:drop-shadow(0 0 3px var(--c));position:absolute;inset:10px 22% 0;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 5px,#0000 5px 9px);mask-image:repeating-linear-gradient(90deg,#000 0 5px,#0000 5px 9px)}.truss{left:-2%;right:-2%;top:var(--top-h,0px);background:repeating-linear-gradient(60deg,#0000 0 9px,#5a55a6 9px 12px),repeating-linear-gradient(-60deg,#0000 0 9px,#5a55a6 9px 12px),#1a1450cc;border-block:3px solid #6d68b8;height:20px;position:absolute;box-shadow:0 6px 14px #0a062a88}.lamp{top:calc(var(--top-h,0px) + 20px);--on:0;width:28px;margin-left:-14px;position:absolute}.lamp:before{content:"";height:26px;box-shadow:inset 0 -5px 0 color-mix(in srgb, var(--c) calc(30% + var(--on) * 70%), #120e3a), 0 calc(3px + var(--on) * 8px) calc(6px + var(--on) * 18px) color-mix(in srgb, var(--c) calc(var(--on) * 100%), transparent);background:linear-gradient(90deg,#2a2560,#514c96 50%,#2a2560);border-radius:4px 4px 7px 7px;display:block}.lamp i{width:min(26vw,340px);height:min(70vh,640px);transform:rotate(var(--a));transform-origin:50% 0;background:conic-gradient(from 168deg at 50% 0, transparent, var(--c) 12deg, transparent 24deg);opacity:calc(.04 + var(--on) * .3);mix-blend-mode:screen;margin-left:max(-13vw,-170px);position:absolute;top:18px;left:50%;-webkit-mask-image:linear-gradient(#000,#0000 90%);mask-image:linear-gradient(#000,#0000 90%)}.hud{padding-top:56px}.app:not(.live) .venue{--bass:0;--mid:0;--high:0}@media (width<=900px),(height<=520px){.lamp,.truss{display:none}.hud{padding-top:6px}}.stage{--party-a:#b5ff79;--party-b:#d090ff}.app.party .stage{min-height:650px}.retro-show{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.retro-show[hidden]{display:none}#partyScene{width:100%;height:100%;position:absolute;inset:0}.stage{--gw:clamp(110px, 12vw, 170px);--shelf-half:min(490px, 50% - var(--gw) - 12px)}.guest{bottom:calc(var(--deck-h,0px) + 4px);width:var(--gw);will-change:transform;text-align:center;--glow:var(--party-a);--cat:var(--glow);position:absolute}.guest-left{left:calc(50% - var(--shelf-half) - var(--gw))}.guest-right{right:calc(50% - var(--shelf-half) - var(--gw));--glow:var(--party-b)}.guest-orbit{border:1px solid var(--glow);background:color-mix(in srgb, var(--glow) 12%, transparent);height:24px;box-shadow:0 0 32px color-mix(in srgb, var(--glow) 18%, transparent);transform:scale(calc(1 + var(--hit,0) * .15));opacity:calc(.45 + var(--hit,0) * .55);border-radius:50%;position:absolute;inset:auto 8% 29px}.guest-body{filter:drop-shadow(0 0 12px color-mix(in srgb, var(--glow) 40%, transparent));position:relative}.guest .art{width:min(100%,150px);margin:0 auto}.guest .art .eyes{animation:blink 5s infinite var(--bd,0s)}.guest.playing .art .lit{opacity:1}.guest-label{font-family:var(--f-screen);white-space:nowrap;flex-direction:column;gap:3px;display:flex;position:relative}.guest-label span{letter-spacing:.2em;color:#c3b7d8;font-size:11px}.guest-label b{font-size:clamp(11px, calc(var(--gw) / 13), 17px);letter-spacing:.06em;color:var(--party-a);font-weight:400}.guest-right .guest-label b{color:var(--party-b)}.guest.playing .guest-label b{text-shadow:0 0 12px;color:#fff5d6}.party-marquee{top:calc(var(--top-h,0px) + 148px);text-align:center;opacity:0;flex-direction:column;align-items:center;gap:7px;width:34%;transition:opacity .5s;display:flex;position:absolute;left:50%;transform:translate(-50%)}.dropped .party-marquee{opacity:1}.party-marquee span{font:12px var(--f-screen);letter-spacing:.22em;color:#c7b8dc}.party-marquee b{letter-spacing:.07em;color:#fff1d5;text-shadow:0 0 25px #dfb8ff55;font-size:clamp(13px,1.45vw,21px);font-weight:500}.bonus{z-index:4;top:calc(var(--top-h,0px) + 16px);pointer-events:none;background:#211b31ee;border:1px solid #8b7e9c;border-radius:12px;width:clamp(330px,30vw,540px);padding:16px 18px 18px;position:absolute;right:max(16px,2vw);box-shadow:0 8px #100d1c99,0 18px 40px #0005}.bonus[hidden]{display:none}.bonus-topline{font:13px var(--f-screen);letter-spacing:.12em;color:#b9accc;justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.bonus-live{color:var(--c);align-items:center;gap:6px;display:flex}.bonus-live:before{content:"";background:var(--c);width:5px;height:5px;box-shadow:0 0 8px var(--c);border-radius:50%}.bonus-broadcast{align-items:center;gap:16px;display:flex}.screen{background:var(--screen);border:2px solid #090c11;border-radius:5px;flex:none;width:clamp(140px,14vw,220px);position:relative;overflow:hidden}.screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0004 0 1px,#0000 1px 3px);position:absolute;inset:0}#bscene{aspect-ratio:16/9;width:100%;height:auto;image-rendering:pixelated;display:block}.bonus-copy{min-width:0}.bonus-copy h2{color:#f2eada;letter-spacing:.04em;margin:0 0 8px;font-size:20px;font-weight:500}#term{height:2.6em;font:18px/1.3 var(--f-screen);color:var(--c);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;overflow:hidden}.bonus-timeline{background:#ffffff16;height:2px;margin-top:12px;overflow:hidden}.bonus-timeline i{transform-origin:0;background:var(--c);width:100%;height:100%;box-shadow:0 0 8px var(--c);display:block}.unlock{z-index:6;left:50%;top:calc(var(--top-h,0px) + (100% - var(--top-h,0px) - var(--deck-h,0px)) * .49);text-align:center;pointer-events:none;--c:var(--c-mel);flex-direction:column;align-items:center;width:min(500px,54%);display:flex;position:absolute;transform:translate(-50%,-50%)}.unlock[hidden]{display:none}.unlock:before{content:"";z-index:-1;background:radial-gradient(#19132bef 20%,#19132b99 52%,#0000 72%);position:absolute;inset:-24px -16px}.unlock .rays{opacity:.4;background:repeating-conic-gradient(var(--c) 0 1deg, transparent 1deg 30deg);z-index:-1;border-radius:50%;width:440px;height:440px;margin:-220px 0 0 -220px;animation:35s linear infinite spin;position:absolute;top:36%;left:50%;-webkit-mask:radial-gradient(closest-side,#0000 25%,#0007 55%,#0000 90%);mask:radial-gradient(closest-side,#0000 25%,#0007 55%,#0000 90%)}.bdisk{width:66px;height:66px;filter:drop-shadow(0 5px 0 #0005) drop-shadow(0 0 20px color-mix(in srgb,var(--c) 35%,transparent));position:relative;overflow:visible}.bdisk :is(path,rect){stroke:var(--ink);stroke-width:1px;stroke-linejoin:round}.bdisk .bd-body{fill:var(--c)}.bdisk .bd-sh{fill:#d9dce6}.bdisk .bd-sl{fill:var(--ink);stroke:none}.bdisk .bd-lb{fill:#fff}.bdisk .bd-ln{fill:none;stroke:#9a958a;stroke-width:.8px}.u-kicker{font:13px var(--f-screen);color:var(--c);letter-spacing:.24em;margin:18px 0 0;position:relative}.u-name{color:#fff3de;text-shadow:0 3px 0 #0004,0 0 30px color-mix(in srgb,var(--c) 24%,transparent);margin:9px 0 0;font-size:clamp(26px,3.8vw,52px);font-weight:600;line-height:1.05;position:relative}.u-guests{max-width:340px;font:14px/1.4 var(--f-screen);letter-spacing:.05em;color:#e2d7eb;margin:13px 0 0}.u-countdown{color:#b4a4ca;align-items:center;gap:5px;margin-top:21px;display:flex}.u-countdown span{font:10px var(--f-screen);letter-spacing:.1em;margin-right:6px}.u-countdown i{border:1px solid #8b7b9d;border-radius:2px;width:8px;height:8px;display:block}.u-countdown i.on{background:var(--c);border-color:var(--c);box-shadow:0 0 9px var(--c)}.bonus-disk{cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:5px;display:grid;position:relative}.bonus-disk:hover{background:#ffffff16}.bonus-disk:has(.playing):after{content:"";background:var(--c);width:4px;height:4px;box-shadow:0 0 8px var(--c);border-radius:50%;position:absolute;bottom:-2px;left:calc(50% - 2px)}@property --spot{syntax:"<color>";inherits:false;initial-value:#fff4d6}.app.party .slot.star .char:after{opacity:1;background:radial-gradient(closest-side, var(--spot), transparent);animation:spotColor calc(var(--beat-time,2s) * 4) linear infinite}.app.party-paused .slot.star .char:after{animation-play-state:paused}@keyframes spotColor{0%,to{--spot:var(--party-a)}50%{--spot:var(--party-b)}}.slot .art-wrap{transition:opacity .4s}.app.party .slot.has:not(.star) .art-wrap{opacity:.72}.app.party .stage .lights i{opacity:0;animation:none}.app.party .hint,.app.party .counter{color:#e7dcef;background:#171027a8}.app.party .shelf{z-index:2;width:min(980px, 100% - 2 * var(--gw) - 24px)}.party-paused .retro-show *,.party-paused .unlock *{animation-play-state:paused!important}@media (width<=1000px){.bonus{width:320px}.bonus-copy h2{font-size:15px}.party-marquee{width:36%}}@media (width<=760px){.app.party .stage{min-height:660px}.app.party .shelf{width:100%;margin-top:405px}.guest{--gw:120px;bottom:auto;top:calc(var(--top-h,0px) + 180px)}.guest-left{left:1%}.guest-right{right:1%}.party-marquee{top:calc(var(--top-h,0px) + 159px);width:90%}.party-marquee span{font-size:10px}.party-marquee b{font-size:14px}.stage .bonus{top:calc(var(--top-h,0px) + 345px);width:min(340px,85%);padding:8px 10px;left:50%;right:auto;transform:translate(-50%)}.bonus-copy h2{font-size:13px}.stage #term{font-size:14px}.screen{width:75px}.bonus-topline{margin-bottom:6px}.unlock{top:calc(var(--top-h,0px) + 250px);width:62%}.unlock .bdisk{width:48px;height:48px}.u-name{font-size:28px}.u-kicker{letter-spacing:.12em;margin-top:10px;font-size:11px}.u-guests{font-size:12px}.u-countdown{margin-top:13px}.u-countdown span,.guest-label span{font-size:9px}.guest-label b{font-size:12px}}@media (width<=420px){.guest{--gw:104px;top:calc(var(--top-h,0px) + 193px)}.guest-left{left:0}.guest-right{right:0}.unlock{top:calc(var(--top-h,0px) + 250px);width:57%}.u-name{font-size:25px}.u-guests{max-width:180px}.u-countdown span{display:none}.party-marquee b,.stage #term{font-size:12px}.disks{gap:3px}}@media (width<=760px){.app.party .slot .char{flex-shrink:0}.app.party .slot .tools{opacity:1;pointer-events:auto;gap:4px;width:100%;position:static;top:auto;left:auto;transform:none}.app.party .slot:not(.has) .tools{visibility:hidden}.app.party .tag{display:none}.app.party .pvol{width:100%;padding:3px 5px}.app.party .tools .row{gap:3px}.app.party .tools button{width:24px;height:24px}}@media (prefers-reduced-motion:reduce){.app.party .slot.star .char:after{animation:none}.retro-show *,.unlock *{transition:none!important;animation:none!important}.guest{will-change:auto}}@property --ir{syntax:"<percentage>";inherits:false;initial-value:80%}.warp{z-index:5;pointer-events:none;--c1:#fff;--c2:#fff;position:absolute;inset:0;overflow:hidden}.warp>i,.warp b{opacity:0;position:absolute}.party-paused .warp *{animation-play-state:paused!important}.warp .wipe{mix-blend-mode:screen;background:linear-gradient(transparent, color-mix(in srgb, var(--c1) 60%, transparent) 75%, #fff 96%, transparent), repeating-linear-gradient(0deg, #0004 0 2px, transparent 2px 5px);height:30%;top:-30%;left:0;right:0}.app.w-in .warp .wipe{animation:1s cubic-bezier(.55,0,.45,1) both w-wipe}.app.w-out .warp .wipe{animation:1.1s cubic-bezier(.55,0,.45,1) both w-wipe-up}@keyframes w-wipe{0%{opacity:1;transform:translateY(0)}88%{opacity:1}to{opacity:0;transform:translateY(450%)}}@keyframes w-wipe-up{0%{opacity:1;transform:translateY(450%)scaleY(-1)}88%{opacity:1}to{opacity:0;transform:translateY(0)scaleY(-1)}}@keyframes w-glitch{0%,to{filter:none;transform:none}20%{filter:drop-shadow(5px 0 #ff2a6dcc)drop-shadow(-5px 0 #2ad8ffcc);transform:translate(-6px)skew(4deg)}40%{filter:drop-shadow(-4px 0 #ff2a6dcc)drop-shadow(4px 0 #2ad8ffcc)brightness(1.4);transform:translate(5px)}60%{filter:drop-shadow(3px 0 #ff2a6dcc)drop-shadow(-3px 0 #2ad8ffcc);transform:translate(-2px)skew(-3deg)}80%{filter:none;transform:translate(2px)}}.app.w-in .shelf{animation:.7s steps(6,end) w-glitch}.warp .iris{background:radial-gradient(ellipse 70% 80% at 50% 50%, transparent var(--ir), #06031acc calc(var(--ir) + 30%));inset:0}.app.w-build .warp .iris{animation:w-iris calc(var(--beat-time,2s) * 4) ease-in both}.app.w-drop .warp .iris{animation:.45s ease-out both w-open}@keyframes w-iris{0%{opacity:0;--ir:80%}to{opacity:1;--ir:12%}}@keyframes w-open{0%{opacity:1;--ir:12%}to{opacity:0;--ir:110%}}.warp .flash{background:radial-gradient(circle at 50% 50%, #fff 10%, color-mix(in srgb, var(--c1) 50%, transparent) 45%, transparent 75%);inset:0}.app.w-drop .warp .flash{animation:.7s ease-out both w-flash}@keyframes w-flash{0%{opacity:.9}to{opacity:0}}.warp .ring{border:solid var(--c1);box-shadow:0 0 24px var(--c1), inset 0 0 24px var(--c1);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.warp .ring:nth-of-type(5){border-color:var(--c2);box-shadow:0 0 24px var(--c2), inset 0 0 24px var(--c2)}.warp .ring:nth-of-type(6){border-color:#fff}.app.w-drop .warp .ring{animation:1.4s cubic-bezier(.25,.5,.4,1) both w-ring}.app.w-drop .warp .ring:nth-of-type(5){animation-delay:.12s}.app.w-drop .warp .ring:nth-of-type(6){animation-duration:1s;animation-delay:.24s}@keyframes w-ring{0%{opacity:1;border-width:18px;width:0;height:0}to{opacity:0;border-width:2px;width:160vmax;height:160vmax}}.warp .cf{position:absolute;top:50%;left:50%}.warp b{background:var(--c1);border-radius:2px;width:9px;height:15px;margin:-7px -4px}.warp b:nth-child(3n){background:var(--c2)}.warp b:nth-child(4n){background:#fff;border-radius:50%;width:7px;height:7px}.warp b:nth-child(5n){background:var(--amber)}.app.w-drop .warp b{animation:w-confetti var(--d) cubic-bezier(.2,.6,.4,1) both}@keyframes w-confetti{0%{opacity:1;transform:translate(0)rotate(0)scale(.3)}30%{opacity:1;transform:translate(var(--dx), var(--dy)) rotate(calc(var(--r) * .4)) scale(1)}to{opacity:0;transform:translate(calc(var(--dx) * 1.25), calc(var(--dy) + 55vh)) rotate(var(--r)) scale(.8)}}@keyframes w-shake{0%,to{transform:none}15%{transform:translate(-7px,4px)rotate(-.6deg)}30%{transform:translate(6px,-5px)rotate(.5deg)}50%{transform:translate(-4px,3px)}70%{transform:translate(3px,-2px)}85%{transform:translate(-1px,1px)}}.app.w-drop .shelf{animation:.5s ease-out w-shake}.unlock .bdisk{animation:.9s cubic-bezier(.3,1.5,.5,1) both u-disk}@keyframes u-disk{0%{opacity:0;transform:perspective(300px)rotateY(540deg)scale(.2)}}.unlock .rays{animation:.9s ease-out both u-rays,35s linear infinite spin}@keyframes u-rays{0%{opacity:0;scale:.2}}.u-kicker{animation:.8s step-end .3s both u-flicker}@keyframes u-flicker{0%{opacity:0}20%{opacity:1}30%{opacity:.2}45%{opacity:1}55%{opacity:.4}65%,to{opacity:1}}.u-name .w{white-space:nowrap;display:inline-block}.u-name .w span{animation:u-letter .55s cubic-bezier(.3,1.7,.5,1) both calc(.45s + var(--i) * 45ms);display:inline-block}@keyframes u-letter{0%{opacity:0;filter:blur(6px);transform:translateY(.7em)scale(.3)rotate(-14deg)}}.u-guests,.u-countdown{animation:.5s ease-out 1.1s both u-up}@keyframes u-up{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.warp{display:none}.unlock *{animation:none!important}}.art{display:block;overflow:visible}.art :is(rect,circle,ellipse,path){stroke:var(--ink);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.art :is(.ns,.ep,.es,.lit,.ph,.glow,.lp,.hole,.shadow,.flash){stroke:none}.art .shadow{fill:#00000a66}.art .b{fill:var(--beige)}.art .bl{fill:var(--beige-hi)}.art .bd{fill:var(--beige-lo)}.art .m{fill:var(--metal)}.art .mh{fill:var(--metal-hi)}.art .k{fill:#2b2a29}.art .k2{fill:#4b4946}.art .w{fill:#f7f4ea}.art .scr{fill:var(--screen)}.art .ph{fill:var(--phos)}.art .g{fill:#2e7a4b}.art .au{fill:#e3b23c}.art .blu{fill:#3a62b5}.art .r{fill:#d33b2e}.art .tt{fill:#c8c299}.art .ibm{fill:#7f94a7}.art .cg{fill:#9d9da2}.art .lab{fill:var(--c-mel)}.art .osc{fill:#8fa4ae}.art .tan{fill:#c9a878}.art .tan2{fill:#b38e5c}.art .glass{fill:#bee1ff24}.art .scr2{fill:#1c1a18}.art .hole{fill:#c8c1b0}.art .hi{fill:#ffffff8c;stroke:none}.art .look{transition:transform .12s ease-out}.art .ew{fill:#fff}.art .ep{fill:var(--ink)}.art .es{fill:#fff}.art .mouth{fill:#5a2424}.art .mouth.ph{fill:var(--phos)}.art .mouth.slotm{fill:#1d1b19}.art .flash{fill:var(--phos);opacity:0}.art .wave{fill:none;stroke:var(--phos);stroke-width:2.5px}.art .ledb{fill:#3b3631}.art .lit{fill:var(--amber);color:var(--amber);opacity:0;filter:drop-shadow(0 0 3px)}.art .lit.lg{fill:var(--phos);color:var(--phos)}.art .lit.lr{fill:var(--red);color:var(--red)}.art :is(.hl,.ln,.grill,.trace,.ridge,.tape,.cord,.wire,.wire2,.pin,.getter,.wireg,.grid,.kt,.handle,.leg,.closed){fill:none}.art .hl{stroke:#ffffffbf;stroke-width:3px}.art .ln{stroke:#9a958a;stroke-width:2px}.art .grill{stroke:var(--metal);stroke-width:2.5px}.art .trace{stroke:#5fb27c;stroke-width:2px}.art .ridge{stroke:#6e6e72;stroke-width:2px}.art .tape{stroke:#5b3a22;stroke-width:2px}.art .cord{stroke:var(--ink);stroke-width:3px}.art .wire{stroke:#c8392c;stroke-width:3px}.art .wire2{stroke:#1a1a1a;stroke-width:3px}.art .pin{stroke:#8a9097;stroke-width:3px}.art .getter{stroke:#b9c3cc;stroke-width:3px}.art .wireg{stroke:#8a9097;stroke-width:2px}.art .grid{stroke:#5cf58e2e;stroke-width:1px}.art .kt{stroke:var(--beige);stroke-width:2px}.art .handle{stroke:var(--ink);stroke-width:5px}.art text{stroke:none}.art .chip-t{font-family:var(--f-screen);fill:#a3a097;text-anchor:middle;font-size:14px}.art .seg-t{font-family:var(--f-screen);fill:var(--red);text-anchor:middle;font-size:13px}.art .ct{font-family:var(--f-screen);fill:var(--ink);text-anchor:middle;font-size:11px}.art .glow{fill:#ff9a3c;opacity:.15;filter:blur(3px)}.art .lp{fill:#3a3530}.art .leg{stroke:var(--ink);stroke-width:7px}.art .shoe{fill:var(--cat)}.art .shoe-hi{fill:#ffffff80;stroke:none}.art :is(.chain,.chain-o,.seam,.rip,.crease,.fold,.trim,.hband,.mono,.mchain,.boom){fill:none}.art .denim{fill:#4d72b8}.art .denim2{fill:#7095d6}.art .jeans{fill:#3a3946}.art .rip{stroke:#e9e3d2;stroke-width:2px}.art .suit{fill:#3d3657}.art .crease{stroke:#ffffff38;stroke-width:1.5px}.art .robe{fill:color-mix(in srgb, var(--cat) 58%, #3a0c2a)}.art .fold{stroke:#00000047;stroke-width:2px}.art .trim{stroke:#e3b23c;stroke-width:3.5px}.art .stole{fill:#e3b23c}.art .cd{fill:#dfe3ea}.art .seam{stroke:#00000040;stroke-width:1.5px}.art .chain-o{stroke:var(--ink);stroke-width:7px}.art .chain{stroke:#f2c94c;stroke-width:4px;stroke-dasharray:4 2.4;stroke-linecap:butt}.art .beanie{fill:#2f8f8a}.art .beanie2{fill:#257570}.art .hband{stroke:var(--ink);stroke-width:6px}.art .pad{fill:var(--cat);stroke-width:2px}.art .shade{fill:#17161d}.art .hawk{fill:#ff3f8e}.art .stud{fill:var(--metal-hi);stroke-width:1.8px}.art .felt{fill:#4a3b30}.art .straw{fill:#e6cf8b}.art .gem{fill:#ff5d9e;stroke-width:1.8px}.art .mono{stroke:#e3b23c;stroke-width:3px}.art .mchain{stroke:#e3b23c;stroke-width:1.5px}.art .hair{fill:#2a211c}.art .boom{stroke:var(--ink);stroke-width:3px}.fig.empty{opacity:.75;transition:opacity .2s,filter .2s}.fig.empty :is(rect,circle,ellipse,path),.fig.empty .leg{stroke:var(--ghost-ln)}.fig.empty .shoe,.fig.empty .gb{fill:var(--ghost)}.fig.empty .gs{fill:var(--ghost-2)}.fig.empty .closed{stroke-width:3px}.fig.empty .shadow{stroke:none}.art .bump,.art .bob,.art .idle{transform-box:fill-box;transform-origin:50% 100%}.art :is(.eyes,.mouth,.cap,.cone,.disk,.paper,.btnL,.btnR){transform-box:fill-box;transform-origin:50%}.art :is(.spin,.stick,.arm){transform-box:view-box}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes flicker{0%,to{opacity:.55}40%{opacity:.72}43%{opacity:.38}60%{opacity:.62}}@keyframes lp{0%{fill:var(--c)}50%{fill:#3a3530}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015,.975)}}.slot .art .eyes{animation:blink 5s infinite var(--bd,0s)}.slot .fig.empty .idle{animation:breathe 3.2s ease-in-out infinite var(--bd,0s)}.slot.on .art .spin{animation:spin calc(1.1s * var(--spd,1)) linear infinite}.slot.on .art .lit.steady{opacity:1}.slot.on .art .glow{opacity:.55;animation:2.3s infinite flicker}.slot.on .art .lp{animation:lp calc(var(--t,1s) * var(--spd,1)) steps(1) infinite var(--d,0s)}.slot.hover .fig.empty{opacity:1;filter:drop-shadow(0 0 14px #ffffff8c)}.slot.hover.has .art{filter:drop-shadow(0 0 14px #fff)}.slot.wait .art{opacity:.55;filter:grayscale(.6)}.slot.muted .art,.slot.dim .art,.slot.silent .art{filter:brightness(0)invert(.14);opacity:.85}.slot.muted .art .eyes,.slot.dim .art .eyes{animation:none}.enter{pointer-events:none;position:absolute;inset:0}.enter>*{z-index:2;display:block;position:absolute}@keyframes e-ring{0%{opacity:.9;transform:translate(-50%)scale(.2)}to{opacity:0;transform:translate(-50%)scale(1.6)}}@keyframes e-dust{0%{opacity:.8;transform:translate(-50%)scale(.4)}to{transform:translate(calc(-50% + var(--x)), var(--y)) scale(1.3);opacity:0}}.enter-beat .ring{z-index:0;border:3px solid var(--cat);width:110%;height:16%;box-shadow:0 0 14px var(--cat);border-radius:50%;animation:.5s ease-out .25s both e-ring;bottom:-2%;left:50%}.enter-beat b{width:var(--s);height:var(--s);animation:e-dust .55s calc(.25s + var(--dl)) ease-out both;background:#dcd2b6b3;border-radius:50%;bottom:2%;left:50%}@keyframes e-scan{0%{opacity:0;top:-6%}15%{opacity:.9}to{opacity:0;top:100%}}@keyframes e-pix{0%,to{opacity:0}10%,30%,55%{opacity:1}20%,45%{opacity:.15}}.enter-fx s{background:linear-gradient(transparent, var(--cat), transparent);mix-blend-mode:screen;height:6%;animation:e-scan .45s var(--dl) linear both;left:-6%;right:-6%}.enter-fx b{left:var(--x);top:var(--y);background:var(--cat);width:7px;height:7px;box-shadow:0 0 6px var(--cat);animation:e-pix .4s var(--dl) steps(1) both}@keyframes e-note{0%{opacity:0;transform:translate(-50%)rotate(0)scale(.5)}20%{opacity:1}to{transform:translate(calc(-50% + var(--dx)), -120px) rotate(var(--r)) scale(1.1);opacity:0}}.enter-mel b{left:var(--x);font:600 26px/1 var(--f-screen);color:var(--cat);text-shadow:0 2px 0 var(--ink), 0 0 10px var(--cat);animation:e-note 1s var(--dl) ease-out both;top:40%}@keyframes e-cone{0%{opacity:0}25%,55%{opacity:1}to{opacity:0}}@keyframes e-spark{0%{transform:translate(-50%, -50%) rotate(var(--a)) translateY(0) scale(0);opacity:1}60%{opacity:1}to{transform:translate(-50%, -50%) rotate(var(--a)) translateY(calc(-1 * var(--r))) scale(1);opacity:0}}.enter-voc .cone{z-index:0;clip-path:polygon(44% 0,56% 0,90% 100%,10% 100%);background:linear-gradient(color-mix(in srgb, var(--cat) 50%, transparent), #ffffff4d);animation:.9s ease-out both e-cone;inset:-70% -30% 2%}.enter-voc b{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:12px;height:12px;animation:e-spark .6s var(--dl) ease-out both;background:#fff;top:50%;left:50%}@keyframes e-halo{0%{opacity:0;transform:translate(-50%,-60px)scale(1.6)}40%{opacity:1}to{opacity:0;transform:translate(-50%)scale(1)}}@keyframes e-mote{0%{opacity:0;transform:translate(-50%)scale(.4)}25%{opacity:1}to{transform:translate(-50%, calc(-1 * var(--dy))) scale(1);opacity:0}}.enter-cho .halo{border:4px solid var(--cat);width:56%;height:12%;box-shadow:0 0 16px var(--cat), inset 0 0 8px var(--cat);border-radius:50%;animation:.9s ease-out both e-halo;top:6%;left:50%}.enter-cho b{left:var(--x);width:7px;height:7px;box-shadow:0 0 10px var(--cat);animation:e-mote 1s var(--dl) ease-out both;background:#fff3c4;border-radius:50%;bottom:12%}.stage:after{content:"";z-index:1;pointer-events:none;opacity:calc(var(--oc,0) * .9);background:radial-gradient(70% 55% at 50% 100%,#ff5a1e73,#0000 70%);transition:opacity .4s;position:absolute;inset:0}.app.oc1 .slot.on .art-wrap{filter:drop-shadow(0 0 calc(4px + var(--oc) * 14px) rgba(255,110,30,calc(.35 + var(--oc) * .5))) sepia(calc(var(--oc) * .35)) saturate(calc(1 + var(--oc) * .6)) hue-rotate(calc(var(--oc) * -12deg))}@keyframes jitter{0%,to{transform:translate(0)}25%{transform:translate(calc(var(--oc) * 1.6px), calc(var(--oc) * -1px))}50%{transform:translate(calc(var(--oc) * -1.4px), calc(var(--oc) * 1px))}75%{transform:translate(calc(var(--oc) * 1px), calc(var(--oc) * 1.4px))}}.app.oc2 .slot.on .art-wrap{animation:.18s linear infinite jitter}.app.oc3 .slot.on .art-wrap{animation-duration:.1s}.slot:nth-child(2n) .art-wrap{animation-delay:-.07s}.oc{z-index:2;pointer-events:none;opacity:0;transition:opacity .4s;position:absolute;inset:0}.app.oc2 .slot.on .oc{opacity:1}.oc i{filter:blur(2px);opacity:0;background:#e1e1f08c;border-radius:50%;width:18px;height:18px;animation:1.6s ease-out infinite puff;position:absolute;top:4%;left:calc(50% - 9px)}.oc i:nth-child(2){animation-delay:-.55s;left:36%}.oc i:nth-child(3){animation-delay:-1.1s;left:56%}.app.oc3 .oc i{background:#373442bf;animation-duration:1.1s}@keyframes puff{0%{opacity:0;transform:translateY(0)scale(.4)}20%{opacity:.85}to{opacity:0;transform:translateY(-64px)scale(1.9)}}.oc b{opacity:0;background:#8fd8ff;border-radius:0 50% 50%;width:8px;height:8px;animation:1.3s ease-in infinite drip;position:absolute;top:18%;right:15%}.slot:nth-child(odd) .oc b{animation-delay:-.6s;left:15%;right:auto}@keyframes drip{0%{opacity:0;transform:translateY(0)rotate(45deg)}15%{opacity:1}to{opacity:0;transform:translateY(44px)rotate(45deg)}}.oc s{width:5px;height:5px;box-shadow:0 0 6px var(--amber);background:#ffe36a;border-radius:50%;animation:.7s ease-out infinite spark;display:none;position:absolute;top:12%;left:50%}.oc s:first-of-type{--sx:-28px}.oc s:nth-of-type(2){--sx:26px;animation-delay:-.35s}.app.oc3 .oc s{display:block}@keyframes spark{0%{opacity:1;transform:translate(0)}to{transform:translate(var(--sx), -34px);opacity:0}}.deck{--kw:clamp(40px, calc((100vw - 340px) / 25), 74px);z-index:3;padding:12px var(--gut-r) 18px var(--gut-l);border-top:1px solid #ffffff1a;flex-wrap:wrap;grid-area:3/1;justify-content:center;align-self:end;gap:10px 26px;display:flex;position:relative}.group{flex-direction:column;align-items:center;gap:8px;display:flex}.group h2{letter-spacing:.22em;color:var(--cat);margin:0;font-size:11px;font-weight:600}.keys{gap:8px;display:flex}.key{width:var(--kw);aspect-ratio:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 30%, #fff6, transparent 62%), var(--cat);border:none;border-radius:50%;padding:0;transition:transform .12s,opacity .2s,filter .2s,box-shadow .12s;position:relative;box-shadow:0 4px #00000073,inset 0 -4px #0000002e}.key:hover{transform:translateY(-3px)scale(1.06)}.key svg{width:66%;height:auto;position:absolute;top:14%;left:17%}.key .lg{min-width:19px;height:19px;color:var(--sky-2);text-align:center;background:#fff;border-radius:10px;padding:0 4px;font-size:11px;font-weight:700;line-height:19px;position:absolute;bottom:-4px;right:-4px;box-shadow:0 2px #0006}.key.used{filter:grayscale()brightness(.6);opacity:.45;transform:none;box-shadow:inset 0 3px #0000004d}.ghost{z-index:50;pointer-events:none;filter:drop-shadow(0 10px 14px #00000080);width:96px;position:fixed;transform:translate(-50%,-70%)rotate(-6deg)}.ghost svg{width:100%;height:auto;display:block}.coach{z-index:40;width:min(300px,100vw - 24px);color:var(--ink);--ax:50%;background:#fff;border-radius:14px;padding:12px 14px 10px;position:fixed;top:0;left:0;box-shadow:0 5px #00000059,0 14px 30px #00000059}.coach:before{content:"";left:var(--ax);background:#fff;border-radius:2px;width:14px;height:14px;margin-left:-7px;position:absolute;top:-7px;transform:rotate(45deg)}.coach.up:before{top:auto;bottom:-7px}.coach p{margin:0 0 8px;font-size:15px;font-weight:600;line-height:1.3}.coach-row{align-items:center;gap:8px;display:flex}.coach-n{color:var(--ghost);flex:1;font-size:12px;font-weight:600}.coach button{cursor:pointer;border:none;font-size:13px;font-weight:600}.coach-skip{color:var(--ghost);background:0 0;padding:4px 6px}.coach-skip:hover{color:var(--ink)}.coach-go{background:var(--c-mel);color:#fff;border-radius:999px;padding:6px 14px;box-shadow:0 3px #00000040}@keyframes coachIn{0%{opacity:0;transform:translateY(6px)scale(.96)}}.coach.in{animation:.28s cubic-bezier(.3,1.4,.5,1) coachIn}@keyframes coachRing{0%,to{box-shadow:0 0 0 3px #fff,0 0 0 3px #ffffff80}50%{box-shadow:0 0 0 3px #fff,0 0 0 12px #fff0}}.coach-on{border-radius:16px;animation:1.4s ease-in-out infinite coachRing}.rb.coach-on,.tools .coach-on{border-radius:50%}.coach-on.tempo,.coach-on.vol,.recb.coach-on{border-radius:999px}.tape.coach-on{border-radius:6px}.slot.has .tools:has(.coach-on){opacity:1;pointer-events:auto;transform:translate(-50%,-60%)}@keyframes coachRingIn{0%,to{box-shadow:inset 0 0 0 3px #fff}50%{box-shadow:inset 0 0 0 3px #ffffff59}}.deck.coach-on{border-radius:0;animation-name:coachRingIn}@media (prefers-reduced-motion:reduce){.coach.in{animation:none}.coach-on,.deck.coach-on{animation:none;box-shadow:0 0 0 3px #fff}.deck.coach-on{box-shadow:inset 0 0 0 3px #fff}}.fxpanel{z-index:4;left:var(--gut-l);top:calc(var(--top-h,0px) + (100% - var(--top-h,0px) - var(--deck-h,0px)) / 2);-webkit-backdrop-filter:blur(6px)saturate(1.3);backdrop-filter:blur(6px)saturate(1.3);--cat:#f2f0ff;--kw:66px;background:#15163a2e;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:10px 10px 14px;display:flex;position:absolute;transform:translateY(-50%)}.fxpanel,.setpanel{transition:translate .35s cubic-bezier(.3,.7,.3,1)}.hider{cursor:pointer;color:#f2f0ff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#15163a59;border:1px solid #ffffff1a;place-items:center;width:20px;height:48px;margin-top:-24px;padding:0;transition:background .15s;display:grid;position:absolute;top:50%}.hider:hover{background:#15163a99}.hider svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:8px;height:13px;transition:rotate .35s}.fxpanel .hider{border-left:none;border-radius:0 10px 10px 0;left:100%}.fxpanel.hid{translate:calc(-100% - var(--gut-l)) 0}.fxpanel.hid .hider svg{rotate:180deg}.fxpanel h2{letter-spacing:.22em;color:var(--cat);margin:0;font-size:11px;font-weight:600}.fxpanel .list{flex-direction:column;gap:9px;display:flex}.pad{width:calc(var(--kw) * 1.12);height:calc(var(--kw) * .7);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;font:700 calc(var(--kw) * .17)/1.05 var(--f-display);letter-spacing:.02em;color:var(--sky-2);background:radial-gradient(circle at 50% 22%, #ffffffb3, transparent 70%), var(--cat);border:none;border-radius:12px;padding:0 3px;transition:transform 80ms,box-shadow 80ms,filter .15s;position:relative;box-shadow:0 4px #00000073,inset 0 -4px #00000024}.pad:hover{filter:brightness(1.05)}.pad.on{filter:brightness(1.1);transform:translateY(3px);box-shadow:0 1px #00000073,0 0 18px #fff,inset 0 -2px #00000024}.pad b{font-weight:700;display:block}.pad .lg{background:var(--sky-2);color:#fff;text-align:center;border-radius:10px;min-width:19px;height:19px;padding:0 4px;font-size:11px;font-weight:700;line-height:19px;position:absolute;bottom:-4px;right:-4px;box-shadow:0 2px #0006}@keyframes fx-flash{0%{opacity:.55}to{opacity:0}}.stage:after{content:"";z-index:5;pointer-events:none;opacity:0;background:radial-gradient(at 50% 70%,#fff,#fff3 70%);position:absolute;inset:0}.app.fx-crash .stage:after{animation:.45s ease-out fx-flash}.app.fx-drop .slot.has:not([data-cat=beat]) .art{filter:brightness(.45)saturate(.4);transition:filter .15s}@keyframes fx-jit{0%,to{transform:none}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.app.fx-stutter .shelf{animation:90ms steps(2,end) infinite fx-jit}.app.fx-tape .shelf{filter:saturate(.2)brightness(.75);transition:transform .9s ease-in,filter .9s ease-in;transform:translateY(8px)scaleY(.96)}.app .shelf{transition:transform .12s,filter .12s}.app.fx-sweep .stage{filter:brightness(.72)hue-rotate(-18deg);transition:filter .8s}.app .stage{transition:filter .4s}.app:is(.fx-half,.fx-double) .lights i{opacity:.55}@media (width<=1300px){.fxpanel{top:calc(var(--top-h,0px) + 142px);--kw:46px;flex-direction:row;padding:8px 12px 10px;left:50%;transform:translate(-50%)}.fxpanel .list{flex-flow:wrap;justify-content:center}:is(.fxpanel,.setpanel) .hider{border:1px solid #ffffff1a;border-radius:8px;align-self:center;height:30px;margin:0;position:static}.fxpanel.hid{translate:none}:is(.fxpanel,.setpanel).hid .list{display:none}}@media (width<=900px),(height<=520px){.app :is(.fxpanel,.setpanel){top:calc(var(--top-h,0px) + 8px);z-index:6;--kw:44px;flex-wrap:wrap;justify-content:flex-start;gap:6px 8px;padding:5px 6px 5px 12px;transform:none}.app .setpanel:not(.hid){justify-content:flex-end}.app :is(.fxpanel,.setpanel).hid{z-index:7}.app .fxpanel{left:var(--gut-l)}.app :is(.fxpanel,.setpanel):not(.hid){left:var(--gut-l);right:var(--gut-r);background:#15163a99;padding-bottom:12px}.app :is(.fxpanel,.setpanel) .list{flex-basis:100%;order:1;gap:9px 10px}}@media (height<=640px) and (width>=1301px){.fxpanel .list{grid-template-columns:1fr 1fr;display:grid}}@media (prefers-reduced-motion:reduce){.fxpanel,.setpanel,.hider svg{transition:none}.app.fx-stutter .shelf{animation:none}.app.fx-tape .shelf{transform:none}}.setpanel{z-index:4;right:var(--gut-r);top:calc(var(--top-h,0px) + (100% - var(--top-h,0px) - var(--deck-h,0px)) / 2);-webkit-backdrop-filter:blur(6px)saturate(1.3);backdrop-filter:blur(6px)saturate(1.3);--cat:#f2f0ff;--kw:66px;background:#15163a2e;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:10px 10px 14px;display:flex;position:absolute;transform:translateY(-50%)}.setpanel .hider{border-right:none;border-radius:10px 0 0 10px;right:100%}.setpanel .hider svg{rotate:180deg}.setpanel.hid{translate:calc(100% + var(--gut-r)) 0}.setpanel.hid .hider svg{rotate:0deg}.setpanel h2{letter-spacing:.22em;color:var(--cat);margin:0;font-size:11px;font-weight:600}.setpanel .list{flex-direction:column;gap:9px;display:flex}.set-w{position:relative}.set{width:calc(var(--kw) * 1.12);height:calc(var(--kw) * .7);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--cat);font:700 calc(var(--kw) * .2)/1 var(--f-display);background:#ffffff0a;border:2px dashed #f2f0ff59;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0 4px;transition:transform 80ms,box-shadow 80ms,filter .15s;display:flex;position:relative}.set.has{color:var(--sky-2);background:radial-gradient(circle at 50% 22%, #ffffffb3, transparent 70%), var(--cat);border:none;box-shadow:0 4px #00000073,inset 0 -4px #00000024}.set:hover{filter:brightness(1.08)}.set:active{transform:translateY(3px);box-shadow:0 1px #00000073}.set.on{box-shadow:0 4px 0 #00000073, 0 0 0 3px var(--phos), 0 0 16px var(--phos)}.set .dots{gap:2px;display:flex}.set .dots i{width:calc(var(--kw) * .1);height:calc(var(--kw) * .1);background:#2a2c6a38;border-radius:50%}.set:not(.has) .dots i{background:#f2f0ff2e}.set .dots i[style]{background:var(--c);box-shadow:0 0 0 1px #00000040}.set .dots i.m{opacity:.35}.set-w .tape{cursor:pointer;filter:drop-shadow(0 2px #00000073);background:0 0;border:none;width:31px;height:22px;padding:0;transition:transform 80ms;position:absolute;bottom:-7px;right:-8px}.set-w .tape svg{width:100%;height:100%;display:block;overflow:visible}.tape .bd{fill:var(--beige);stroke:var(--ink);stroke-width:1.6px}.tape .lb{fill:var(--amber)}.tape .wn{fill:var(--ink)}.tape .rl circle{fill:var(--beige-hi)}.tape .rl path{fill:none;stroke:var(--ink);stroke-width:1.1px;stroke-linecap:round}.tape .bt{fill:var(--beige-lo);stroke:var(--ink);stroke-width:1.4px;stroke-linejoin:round}.tape .sc{fill:var(--beige-lo)}.set-w .tape:hover{transform:translateY(-1px)rotate(-4deg)}.set-w .tape:active{filter:drop-shadow(0 0 #00000073);transform:translateY(2px)}@keyframes tape-spin{to{rotate:360deg}}@keyframes tape-rec{0%,to{fill:var(--amber)}30%,70%{fill:var(--red)}}.tape:hover .rl{animation:1.2s linear infinite tape-spin}.tape.rec .rl{animation:.35s linear 2 tape-spin}.tape.rec .lb{animation:.7s tape-rec}@media (width<=1300px){.setpanel{top:calc(var(--top-h,0px) + 186px);--kw:46px;flex-direction:row;padding:8px 12px 10px;left:50%;right:auto;transform:translate(-50%)}.setpanel .list{flex-flow:wrap;justify-content:center}.setpanel.hid{translate:none}.setpanel .hider svg{rotate:0deg}.setpanel.hid .hider svg{rotate:180deg}}@media (width<=900px),(height<=520px){.app .setpanel{right:var(--gut-r);left:auto}}@media (height<=640px) and (width>=1301px){.setpanel .list{grid-template-columns:1fr 1fr;display:grid}}@media (prefers-reduced-motion:reduce){.tape .rl{animation:none!important}}.about{width:min(540px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--text);background:#15163af0;border:1px solid #ffffff2e;border-radius:18px;padding:0;overflow:auto;box-shadow:0 20px 60px #00000080}.about::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08091e8c}.about-in{padding:22px 24px 20px;position:relative}.about h2{margin:0 40px 8px 0;font-size:24px;font-weight:700}.about h3{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px;font-size:12px;font-weight:600}.about p,.about li{margin:0 0 8px;line-height:1.5}.about ul{margin:0;padding-left:18px}.about a{color:var(--beige-hi)}.about-x{position:absolute;top:18px;right:18px}@media (width<=480px){.about-in{padding:18px 16px 16px}}@media (width<=1240px){.deck{--kw:clamp(44px, calc((100vw - 160px) / 10), 64px)}}@media (width<=980px){.top{grid-template-columns:auto auto;justify-content:center}.disks{grid-area:1/1/auto/-1;justify-self:center}.mix{grid-area:2/1}.ctl{grid-area:2/2}}@media (width<=760px) and (height>=521px){.shelf{grid-template-columns:repeat(8,minmax(0,1fr));row-gap:6px}.slot{grid-column:span 2}.slot:nth-child(5){grid-column:2/span 2}}@media (width<=640px){.hud{grid-template-columns:1fr}.counter,.hint{grid-area:auto/1;justify-self:center}.counter{gap:10px;height:42px;padding:0 14px}.counter .bars{gap:8px}.counter .bar{gap:3px}.counter .bar i{width:7px;height:11px}.counter .bar i:first-child{height:17px}.counter .pos{font-size:18px}#term{font-size:16px}}@media (width<=640px),(height<=520px){.top{padding:8px var(--gut-r) 8px var(--gut-l);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 8px;display:flex}.disks{flex-basis:100%;order:-1;justify-content:center;gap:4px}.disks .bonus-disk{zoom:.75}.mix{flex-direction:row;gap:6px}#bpmIn,#volIn{display:none}.tempo{gap:6px;padding:4px 6px}.vol{padding:4px}.readout{gap:0;font-size:0}#bpm{font-size:20px}.ctl{gap:8px}.rb{width:38px;height:38px}.rb.big{width:46px;height:46px}.recb{min-width:38px;height:38px;padding:0 13px}.recb:not(.on) #recTime{display:none}.deck{scrollbar-width:none;padding:8px var(--gut-r) 12px var(--gut-l);--kw:48px;flex-wrap:nowrap;justify-content:flex-start;gap:0 18px;position:sticky;bottom:0;overflow-x:auto}.deck::-webkit-scrollbar{display:none}.group{flex:none;gap:6px}.keys{gap:7px}.key{touch-action:pan-x}@media (hover:none){.tools :is([data-a=mute],[data-a=del]){display:none}}}@media (width<=640px) and (height>=521px){#aboutBtn{top:9px;right:var(--gut-r);width:30px;height:30px;position:absolute}#aboutBtn svg{width:16px;height:16px}.hud{padding-top:50px}.shelf{width:min(100%, calc((100svh - var(--top-h,0px) - var(--deck-h,0px) - 260px) * 1.3))}}@media (height<=520px){.disks{flex-basis:auto;order:0}.stage{min-height:0}.shelf{width:min(100%, calc((100svh - var(--top-h,0px) - var(--deck-h,0px) - 140px) * 4.5))}}@media (prefers-reduced-motion:reduce){.slot .art .eyes,.slot.on .art .spin,.slot.on .art .glow,.slot.on .art .lp,.slot .fig.empty .idle,.app .lights i,.slot .art-wrap{animation:none!important}.oc{display:none}.counter .bar.cue i:first-child{background:color-mix(in srgb, var(--c) 70%, transparent);animation:none}.unlock .rays,.unlock .bdisk,.bonus{animation:none}.dkf{transition:none}}
