:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f4efe6;background:#07060f;font-family:Outfit,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}html,body,#root,.app{height:100%;margin:0}body{overflow:hidden}button,kbd{font:inherit}button{color:#f4efe6;cursor:pointer;background:0 0;border:1px solid #f4efe659;padding:.7rem 1rem}button.primary{color:#140f16;background:#f4efe6;border-color:#f4efe6}button.texty{color:#b7b0a4;border:none;padding:.25rem 0}button:disabled{opacity:.45;cursor:wait}button:focus-visible{outline-offset:3px;outline:1px solid #f4efe6}.stage{width:100%;height:100%;display:block;position:fixed;inset:0}@property --edge-alpha{syntax:"<number>";inherits:true;initial-value:0}@property --edge-reach{syntax:"<percentage>";inherits:true;initial-value:14%}.edge-vignette{--edge-alpha:0;--edge-color:255 214 196;--edge-alpha-1:.1;--edge-alpha-2:.2;--edge-alpha-3:.3;z-index:1;pointer-events:none;background:linear-gradient(90deg, rgb(var(--edge-color) / var(--edge-alpha)) 0%, transparent var(--edge-reach), transparent calc(100% - var(--edge-reach)), rgb(var(--edge-color) / var(--edge-alpha)) 100%);transition:--edge-alpha 1.4s;position:fixed;inset:0}.edge-vignette.band-1{--edge-alpha:var(--edge-alpha-1)}.edge-vignette.band-2{--edge-alpha:var(--edge-alpha-2)}.edge-vignette.band-3{--edge-alpha:var(--edge-alpha-3)}.edge-vignette-pulse{background:inherit;animation:.42s ease-out forwards edge-pulse;position:absolute;inset:0}@keyframes edge-pulse{0%{opacity:.9}to{opacity:0}}.progress{z-index:4;pointer-events:none;background:#f4efe624;height:3px;position:fixed;top:0;left:0;right:0}.progress>span{transform-origin:0;background:#f4efe6;width:100%;height:100%;display:block;transform:scaleX(0)}.progress.is-hidden{visibility:hidden}.title-block{z-index:4;pointer-events:auto;width:fit-content;max-width:min(42rem,100vw - 2rem);position:fixed;top:16vh;left:max(1.5rem,7vw)}h1,h2,.wordmark,.judgement-name{letter-spacing:-.03em;font-family:Fraunces,Iowan Old Style,Palatino,Georgia,serif;font-style:italic;font-weight:560}h1{margin:0;font-size:clamp(4.2rem,9vw,7.2rem);line-height:.84}h2{margin:0 0 .4rem;font-size:3rem;line-height:.9}.lede{margin:2.5rem 0 .4rem;font-size:1.15rem}.song-wheel{width:16rem;height:22rem;margin:1.1rem 0 0;position:relative}.juke-arc{width:0;height:0;position:absolute;top:50%;left:56px}.juke-slot{width:0;height:0;transition:transform .52s cubic-bezier(.22,.8,.28,1);position:absolute;top:0;left:0}.juke-card{width:96px;height:96px;color:inherit;cursor:pointer;background:0 0;border:none;margin:-48px 0 0 -48px;padding:0;transition:transform .52s cubic-bezier(.22,.8,.28,1),opacity .52s linear;position:absolute;top:0;left:0}.juke-card:disabled{cursor:wait}.juke-thumb{background:#1b1622;border:1px solid #f4efe647;width:96px;height:96px;display:block;overflow:hidden}.juke-card.is-front .juke-thumb{border-color:#f4efe6db}.juke-thumb img,.juke-thumb svg{width:100%;height:100%;display:block}.juke-thumb img{object-fit:cover}.juke-hub{text-align:center;pointer-events:none;width:7.4rem;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.juke-collection{color:#a39b90;margin:0;font-size:.78rem}.juke-name{color:#f4efe6;letter-spacing:-.03em;margin:.25rem 0 0;font-family:Fraunces,Iowan Old Style,Palatino,Georgia,serif;font-size:1.25rem;font-style:italic;font-weight:560;line-height:1.05}.juke-score{font-variant-numeric:tabular-nums;color:#b7b0a4;min-height:1.1em;margin:.35rem 0 0;font-family:Cascadia Code,Segoe UI Mono,ui-monospace,monospace;font-size:.78rem}p{margin:.4rem 0;line-height:1.45}.quiet{color:#a39b90;font-size:.92rem}.error{color:#ffb4a8}kbd{text-align:center;border:1px solid #f4efe666;min-width:1.4rem;padding:.05rem .35rem;display:inline-block}.actions{pointer-events:auto;flex-wrap:wrap;gap:.6rem;margin-top:2.1rem;display:flex}.actions-inline{gap:.9rem;margin-top:.35rem}.texty{background:0 0}.top{z-index:4;pointer-events:none;justify-content:space-between;gap:1rem;display:flex;position:fixed;top:1.15rem;left:1.3rem;right:1.3rem}.top-main,.metrics,.card,.title-block,.keys{pointer-events:auto}.wordmark{margin:0;font-size:1.7rem}.clock,.metrics,.judgement-delta,.score,.stats dd{font-variant-numeric:tabular-nums;font-family:Cascadia Code,Segoe UI Mono,ui-monospace,monospace}.clock{margin-top:.2rem}.skip-hint{color:#a39b90;font-variant-numeric:normal;margin-left:.5rem;font-family:Outfit,Segoe UI,sans-serif;font-size:.92rem}.auto-hint{margin:.35rem 0 0}.auto-hint.is-on{color:#f4efe6}.metrics{text-align:right;color:#b7b0a4;pointer-events:none;font-size:.78rem;line-height:1.5}.metrics p,.score{margin:0}.score{color:#f4efe6;margin-top:.35rem;font-size:.95rem}.score-invalid{text-decoration:line-through}.metrics-title{z-index:4;position:fixed;top:1.15rem;right:1.3rem}.judgement{z-index:1;text-align:center;pointer-events:none;animation:.14s ease-out both judge-in;position:fixed;top:58%;left:50%;transform:translate(-50%,-50%)}.judgement-name{margin:0;font-size:3.4rem;line-height:.9}.judgement-delta{margin:.3rem 0 0;font-size:.95rem}.combo{letter-spacing:.08em;margin:.15rem 0 0;font-size:1.4rem}.judgement-perfect{color:#f4efe6}.judgement-great{color:#3ee0c5}.judgement-good{color:#ffc14d}.judgement-miss{color:#ff8f86}@keyframes judge-in{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}.count-in{z-index:5;pointer-events:none;width:8.5rem;height:8.5rem;position:fixed;top:42%;left:50%;transform:translate(-50%,-50%)}.count-ring{width:100%;height:100%;transform:rotate(-90deg)}.count-disc{fill:#07060f9e}.count-track,.count-arc{fill:none;stroke-width:3.5px}.count-track{stroke:#f4efe62e}.count-arc{stroke:#f4efe6;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0}.count-num{place-items:center;margin:0;font-family:Fraunces,Iowan Old Style,Palatino,Georgia,serif;font-size:4.2rem;font-style:italic;font-weight:560;line-height:1;animation:.18s ease-out count-pop;display:grid;position:absolute;inset:0}@keyframes count-pop{0%{opacity:.35;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.veil{z-index:2;pointer-events:none;background:#07060f80;position:fixed;inset:0}.veil.is-deep{background:#07060fc7}.card{z-index:5;background:#07060fe0;border:1px solid #f4efe62e;width:min(26rem,100vw - 2rem);padding:1.4rem 1.4rem 1.2rem;position:fixed;top:46%;left:50%;transform:translate(-50%,-50%)}.pause-note{padding-bottom:1lh}.pause-actions{justify-content:space-between;align-items:center;gap:.6rem;margin-top:calc(.8rem + 1lh);display:flex}.settings{margin:0}.settings h3{letter-spacing:.04em;color:#a39b90;margin:0 0 .45rem;font-size:.78rem;font-weight:500}.setting{grid-template-columns:4.2rem minmax(0,1fr) 2.2rem;align-items:center;gap:.65rem;display:grid}.setting input[type=range]{accent-color:#f4efe6;width:100%;margin:0}.setting-value{font-variant-numeric:tabular-nums;text-align:right;color:#a39b90}.card.wide{width:min(34rem,100vw - 2rem);max-height:calc(100vh - 2rem);overflow:auto}.clear-stage{z-index:5;width:min(26rem,100vw - 2rem);position:fixed;top:46%;left:50%;transform:translate(-50%,-50%)}.clear-stage .card{z-index:1;width:100%;position:relative;top:auto;left:auto;transform:none}.card.clear-card{background:#07060ff5;overflow:visible}button.polaroid-hang{z-index:0;color:#0000;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:0;transition:transform .18s;position:absolute;top:1.15rem;left:0;transform:translate(-64%,.2rem)}button.polaroid-hang:hover,button.polaroid-hang:focus-visible{transform:translate(calc(-64% - 6px),calc(.2rem - 6px))}.polaroid{pointer-events:none;background:linear-gradient(#f7f3ec 0%,#efe7dc 100%);width:min(8.8rem,36vw);padding:4.5% 4.5% 16%;animation:2.5s linear both polaroid-out;display:block;transform:rotate(-30deg);box-shadow:0 12px 28px #00000061}.polaroid-photo{aspect-ratio:1;background:#cfc6ba;display:block;position:relative;box-shadow:inset 0 0 0 1px #281c161f}.polaroid-photo img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.polaroid-hang .polaroid-photo img{opacity:0;animation:2.5s linear forwards polaroid-develop}.polaroid.is-lifted{visibility:hidden}button.polaroid-open{color:#0000;cursor:pointer;background:0 0;border:none;width:100%;margin:0;padding:0;font-size:0;display:block}button.polaroid-open .polaroid{width:100%;transition:transform .18s;animation:none;transform:rotate(-5deg)}button.polaroid-open:hover .polaroid,button.polaroid-open:focus-visible .polaroid{transform:translate(-6px,-6px)rotate(-5deg)}.polaroid-view{z-index:8;cursor:pointer;background:#07060f00;transition:background .52s;position:fixed;inset:0}.polaroid-view.is-open{background:#07060fb8}.polaroid-flight{z-index:9;pointer-events:none;height:max-content;margin:0;position:fixed}.polaroid-flight .polaroid{width:100%;height:auto;animation:none;transform:none}.records-backdrop{z-index:5;background:#07060fb8;position:fixed;inset:0}.records{z-index:6;background:#07060ff5;border:1px solid #f4efe62e;flex-direction:column;width:min(58rem,100vw - 2rem);height:min(46rem,100vh - 2rem);padding:1.15rem 1.25rem 1rem;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.records h2{margin:0;font-size:2.4rem}.records-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.records-head-actions{align-items:center;gap:.55rem;display:flex}.records-body{flex:1;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);gap:1rem;min-height:0;margin-top:.8rem;display:grid}.rewards .records-body{grid-template-columns:14rem minmax(0,1fr)}.records-list,.records-detail{scrollbar-width:thin;scrollbar-color:#4a453c transparent;min-height:0;overflow:auto}.records-list::-webkit-scrollbar{width:6px;height:6px}.records-detail::-webkit-scrollbar{width:6px;height:6px}.records-list::-webkit-scrollbar-track{background:0 0}.records-detail::-webkit-scrollbar-track{background:0 0}.records-list::-webkit-scrollbar-thumb{background:#4a453c;border-radius:999px}.records-detail::-webkit-scrollbar-thumb{background:#4a453c;border-radius:999px}.record-group ul{margin:0 0 .8rem;padding:0;list-style:none}.record-collection,.record-song,.record-detail-head{align-items:center;gap:.7rem;display:flex}.record-collection{margin:.35rem 0 .2rem}.record-thumb{background:#1b1622;flex:none;width:64px;height:64px;overflow:hidden;box-shadow:inset 0 0 0 1px #f4efe629}.record-thumb img,.record-thumb svg{width:100%;height:100%;display:block}.record-thumb img{object-fit:cover}button.record-song{color:#b7b0a4;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;margin:0;padding:.3rem .3rem .3rem .925rem}button.record-song.is-picked{color:#f4efe6;background:#f4efe614}button.reward-character{padding:.3rem}.reward-characters{margin:0;padding:0;list-style:none}.record-thumb.is-round{border-radius:.7rem}.record-song-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.record-song-name,.record-collection-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-collection-name{color:#f4efe6}.record-id{color:#a39b90;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.record-id-line{align-items:center;gap:.4rem;min-width:0;margin-top:.15rem;display:flex}.record-rev{color:#a39b90;letter-spacing:.03em;border:1px solid #f4efe647;border-radius:999px;flex:none;padding:.05rem .4rem;font-size:.68rem}.record-song-score{color:#a39b90;font-size:.85rem}.record-detail-head h3{letter-spacing:-.03em;margin:0;font-family:Fraunces,Iowan Old Style,Palatino,Georgia,serif;font-size:1.6rem;font-style:italic;font-weight:560}.record-detail-head{align-items:flex-start}.record-detail-copy{flex:1;min-width:0}.character-mark{flex-direction:column;flex:none;align-items:center;gap:.3rem;width:4rem;margin-left:auto;display:flex}.character-mark .record-thumb{border-radius:.7rem}.character-name{color:#f4efe6;text-align:center;overflow-wrap:anywhere;width:100%;font-size:.78rem;line-height:1.2}.record-rewards-title{letter-spacing:.04em;color:#a39b90;margin:1.2rem 0 .6rem;font-size:.78rem;font-weight:500}.reward-row{flex-wrap:wrap;align-items:flex-end;gap:1.5rem 1.6rem;padding:.8rem .8rem 1.4rem;display:flex}.reward-card{flex-direction:column;align-items:center;gap:.4rem;width:min(8.8rem,40%);display:flex}.reward-card .quiet{text-align:center;font-size:.75rem;display:block}@media (width<=720px){.records-body,.rewards .records-body{grid-template-columns:1fr}}@keyframes polaroid-develop{0%{opacity:0}to{opacity:1}}@keyframes polaroid-out{0%,20%{transform:translate(100%)rotate(-4deg)}82%,to{transform:rotate(-30deg)}}@media (prefers-reduced-motion:reduce){.juke-slot,.juke-card,.slam-key,.slam-key .key,.slam-key .key:before{transition:none;animation:none}.polaroid{animation:none}.polaroid-hang .polaroid-photo img{opacity:1;animation:none}}.calibrate .actions{justify-content:center}.calibrate .run-status{text-align:center}.nudge{justify-content:space-between;align-items:center;gap:.8rem;margin:2rem 0 .2rem;display:flex}.nudge p{text-align:center;font-variant-numeric:tabular-nums;min-width:8rem;margin:0}.correction{align-items:center;gap:.4rem;display:flex}button.clear-offset{color:#a39b90;border:none;place-items:center;width:1.15rem;height:1.15rem;padding:0;display:inline-grid}button.clear-offset svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;width:.72rem;height:.72rem}button.clear-offset:hover{color:#f4efe6}.nudge button:disabled{cursor:default}.tap-mark{background:#f4efe61a;border-radius:50%;width:3.25rem;height:3.25rem;margin:2.4rem auto 1.6rem}.tap-mark.is-lit{background:#f4efe6c7}.stats{grid-template-columns:1fr 1fr;gap:.35rem 1rem;margin:.8rem 0;display:grid}.stats div{border-bottom:1px solid #f4efe61f;justify-content:space-between;gap:1rem;padding-bottom:.2rem;display:flex}.stats dt{color:#a39b90}.stats dd{margin:0}.keys{z-index:3;pointer-events:none;grid-template-columns:repeat(4,1fr);gap:1.4vw;width:66vw;display:grid;position:fixed;bottom:3.2vh;left:50%;transform:translate(-50%)}.key{border:1px solid var(--lane);height:3.5rem;color:var(--lane);background:#07060f73;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;display:flex}.key-id{letter-spacing:.12em;font-size:.78rem}.key-label{font-family:Cascadia Code,Segoe UI Mono,ui-monospace,monospace;font-size:1.15rem}.key.is-down{background:var(--lane);color:#140f16}.slam-key{--slam-colors:linear-gradient(90deg, #ff4d8d 0%, #3ee0c5 12.5%, #ffc14d 25%, #8aa4ff 37.5%, #ff4d8d 50%, #3ee0c5 62.5%, #ffc14d 75%, #8aa4ff 87.5%, #ff4d8d 100%);z-index:4;pointer-events:none;width:66vw;padding:0 0 .35rem;transition:transform 1s;position:fixed;bottom:0;left:50%;transform:translate(-50%)translateY(110%)}.slam-key.is-up{transition-duration:1.1s;transform:translate(-50%)translateY(-.7rem)}.slam-key .key{color:#ffe7b0;background-color:#0000;background-image:linear-gradient(#07060f73, #07060f73), var(--slam-colors);background-repeat:no-repeat;background-size:100% 100%,200% 100%;background-origin:padding-box,border-box;background-clip:padding-box,border-box;border:2px solid #0000;height:2.2rem;transition:color 1s linear;animation:2.4s linear infinite slam-border;position:relative;overflow:hidden;scale:1}.slam-key .key-label{z-index:1;position:relative}.slam-key .key:before{content:"";background-image:var(--slam-colors);opacity:0;pointer-events:none;background-repeat:no-repeat;background-size:200% 100%;transition:opacity 1s linear;animation:2.4s linear infinite slam-sweep;position:absolute;inset:0}.slam-key.is-up .key,.slam-key.is-up .key:before{transition:none}.slam-key .key.is-lit{color:#140f16}.slam-key .key.is-tremble:not(.is-lit){animation:2.4s linear infinite slam-border,.16s linear infinite slam-tremble}.slam-key .key.is-grown{animation:2.4s linear infinite slam-border,.3s ease-out forwards slam-grow}@keyframes slam-grow{0%{scale:1}to{scale:1.15}}@keyframes slam-tremble{0%,to{transform:translate(0,0)}18%{transform:translate(-3px)}36%{transform:translate(3px,1px)}54%{transform:translate(-2px,-1px)}72%{transform:translate(2px)}88%{transform:translate(-1px,1px)}}@media (prefers-reduced-motion:reduce){.slam-key .key.is-tremble:not(.is-lit),.slam-key .key.is-grown{animation:none}}.slam-key .key.is-lit:before{opacity:1}@keyframes slam-border{0%{background-position:0 0,0 0}to{background-position:0 0,100% 0}}@keyframes slam-sweep{0%{background-position:0 0}to{background-position:100% 0}}.story-stage{z-index:7;cursor:pointer;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:fixed;inset:0}.story{aspect-ratio:1216/832;background-color:#120e16;background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #f4efe6c7;width:min(90vw,116.923vh);max-height:80vh;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #f4efe629,0 0 0 4px #07060f,0 0 0 5px #f4efe66b}.story-hero{z-index:1;opacity:.45;pointer-events:none;justify-content:center;align-items:flex-end;transition:opacity .16s;display:flex;position:absolute;top:0;bottom:0}.story-hero img{height:calc(100% * var(--hero-scale,1));object-fit:contain;object-position:center bottom;-webkit-user-drag:none;width:auto;max-width:100%;display:block}.story-hero.is-left{width:40%;left:1.5%}.story-hero.is-right{width:40%;right:1.5%}.story-hero.is-center{width:54%;left:50%;transform:translate(-50%)}.story-hero.is-speaking{opacity:1;z-index:2}.story-box{z-index:3;pointer-events:none;background:#0a0910f0;border:1px solid #f4efe652;width:min(1000px,100% - 2.7rem);min-height:100px;padding:1rem 1.2rem .85rem;position:absolute;bottom:1.15rem;left:50%;transform:translate(-50%);box-shadow:0 .7rem 1.8rem #00000073}.story-name{color:#f4efe6;background:#14111a;border:1px solid #f4efe652;margin:0;padding:.08rem .7rem .16rem;font-family:Fraunces,Iowan Old Style,Palatino,Georgia,serif;font-size:clamp(1.5rem,2.8vh,2.05rem);font-style:italic;font-weight:560;line-height:1.1;position:absolute;top:0;left:1rem;transform:translateY(-58%)}.story-tools{pointer-events:auto;gap:.35rem;display:flex;position:absolute;top:0;right:.85rem;transform:translateY(-58%)}.story-look{color:#f4efe6;cursor:pointer;background:#14111a;border:1px solid #f4efe652;place-items:center;width:1.85rem;height:1.85rem;margin:0;padding:.28rem;display:grid;position:relative}.story-look svg{width:100%;height:100%;display:block}.story-look:after{content:attr(data-tip);color:#f4efe6;white-space:nowrap;opacity:0;pointer-events:none;background:#14111a;border:1px solid #f4efe652;padding:.18rem .45rem;font-family:Outfit,Segoe UI,sans-serif;font-size:.75rem;font-style:normal;font-weight:400;line-height:1.2;position:absolute;bottom:calc(100% + .4rem);right:0}.story-look:hover,.story-look:focus-visible{color:#fff;border-color:#f4efe6b8}.story-look:hover:after,.story-look:focus-visible:after{opacity:1}.story-ask-layer{z-index:5;place-items:center;display:grid;position:absolute;inset:0}.story-ask{text-align:center;background:#0a0910f5;border:1px solid #f4efe652;width:min(18rem,100% - 3rem);padding:1rem 1.1rem .95rem;box-shadow:0 .7rem 1.8rem #00000073}.story-ask p{margin:0 0 .85rem;font-family:Fraunces,Iowan Old Style,Palatino,Georgia,serif;font-size:1.6rem;font-style:italic;font-weight:560;line-height:1.1}.story-ask-actions{justify-content:center;gap:.55rem;display:flex}.story-ask button{padding:.45rem .9rem}.story-text{color:#f4efe6;margin:0;padding-top:.5lh;font-size:1.05rem;line-height:1.45}.drag{z-index:6;pointer-events:none;background:#07060fb8;border:1px dashed #f4efe68c;place-items:center;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,5vw,3.4rem);font-style:italic;display:grid;position:fixed;inset:.8rem}
