.bitmap-passage[data-v-892f0675]{width:100%;min-height:44px;overflow:hidden}canvas[data-v-892f0675]{max-width:100%;display:block}.sr-only[data-v-892f0675]{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root{color:#f7f5ff;font-synthesis:none;background:#0e0c18;font-family:Apple SD Gothic Neo,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit}.app{--glow:#ff477f;isolation:isolate;background:#0e0c18;outline:none;flex-direction:column;min-height:100dvh;padding:28px clamp(24px,6vw,96px);transition:background .5s;display:flex;position:relative;overflow:hidden}.ambient{z-index:-1;pointer-events:none;opacity:.8;background:radial-gradient(circle at 72% 36%,#322047 0,#0000 42%),radial-gradient(circle at 8% 90%,#29172b 0,#0000 34%);transition:opacity .5s,filter .5s;position:absolute;inset:-20%}.app[data-intensity="50"] .ambient{filter:saturate(1.5)}.app[data-intensity="100"] .ambient,.app[data-intensity="200"] .ambient{opacity:1;filter:saturate(2);animation:2s ease-in-out infinite alternate breathe}.app[data-intensity="200"]{--glow:#ffb34e}.app[data-phase=sprint] .ambient{background:radial-gradient(circle at 72% 36%,#502442 0,#0000 44%),radial-gradient(circle at 8% 90%,#3b182c 0,#0000 34%)}.topbar,footer{justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{letter-spacing:-.06em;white-space:nowrap;align-items:center;gap:9px;font-size:1.45rem;display:inline-flex}.brand img{flex:none;width:36px;height:36px;display:block}.brand-dot{color:#ff618d}.topline,.day,footer{color:#c9c4da;font-size:.82rem}.day{letter-spacing:.06em}.day b{color:#f7f5ff;margin-left:8px}.top-actions{align-items:center;gap:18px;display:flex}.sound,.nav-button{color:#ffe0ac;letter-spacing:.08em;white-space:nowrap;background:#2c2039;border:1px solid #786079;border-radius:8px;padding:8px 10px;font-size:.7rem}.sound:hover,.nav-button:hover{background:#493051}.panel{width:min(100%,1000px);margin:auto;padding:50px 0}.eyebrow{color:#ff82a5;letter-spacing:.22em;margin:0 0 16px;font-size:.8rem;font-weight:800}h1{letter-spacing:-.075em;margin:0;font-size:clamp(2.7rem,6vw,5.7rem);line-height:1.1}h1 em{color:#ff6794;font-style:normal}.description{color:#d0ccdc;margin:30px 0 0;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.8}.rules{flex-wrap:wrap;gap:12px;margin:38px 0;display:flex}.rules span{color:#d0ccdc;background:#221c31;border:1px solid #675671;border-radius:10px;padding:13px 18px}.rules b{color:#ffb876;margin-right:6px}button{cursor:pointer;border:0;font-weight:800}.mobile-input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;font-size:16px;position:fixed;bottom:0;left:0}.mobile-keyboard-button{color:#ffe3ee;background:#342239;border:1px solid #b1789a;border-radius:999px;align-self:center;margin-top:12px;padding:8px 14px;display:none}@media (pointer:coarse){.mobile-keyboard-button{display:block}}.primary{color:#200d18;background:#ff618d;border-radius:14px;padding:18px 28px;font-size:1.1rem;box-shadow:0 12px 40px #ff477f44}.primary:hover{background:#ff8aab}.primary span{margin-left:22px}.key-hint{color:#aaa5bd;margin:18px 0 0;font-size:.8rem}.hud{grid-template-columns:1fr 1.3fr 1.2fr;align-items:end;gap:20px;display:grid}.hud>div{min-width:0}.hud small,.stats small{color:#beb8cf;letter-spacing:.16em;font-size:.75rem;font-weight:800;display:block}.hud strong{white-space:nowrap;letter-spacing:-.07em;font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,5vw,5rem);line-height:1.1;display:block}.hud strong span{letter-spacing:0;margin-left:4px;font-size:.35em}.time strong{color:#f7f5ff}.time.urgent strong{color:#ff7795;animation:.55s ease-in-out infinite alternate time-pulse}.score strong{color:#fff}.score-number{position:relative}.score-gain{z-index:1;color:#ffd182;white-space:nowrap;text-shadow:0 0 22px #ffb04c;pointer-events:none;font-size:clamp(1.1rem,2.4vw,1.65rem);font-weight:900;animation:.65s ease-out forwards score-gain;position:absolute;bottom:80%;left:50%}.score-target{color:#c6b3ce;letter-spacing:.08em;font-size:.67rem;font-weight:700;display:block}.combo strong{color:#ffb876}.combo.fever strong,.combo.fever small{color:#fff285;text-shadow:0 0 24px #ffb34e}.time-track{background:#493a5b;border-radius:9px;height:9px;margin-top:18px;overflow:hidden}.time-track span{background:linear-gradient(90deg,#ffb878,#ff477f);height:100%;transition:width .1s linear;display:block}.stage{color:#ffa9bf;letter-spacing:.17em;margin-top:25px;font-size:.8rem;font-weight:800}.stage-dot{background:currentColor;border-radius:50%;width:8px;height:8px;margin-right:10px;display:inline-block;box-shadow:0 0 16px}.passage-head{color:#c1bbd0;letter-spacing:.12em;margin:35px 2px 10px;font-size:.78rem}.prompt{background:#252035;border:1px solid #685577;border-radius:22px;align-items:center;min-height:160px;padding:30px 35px;transition:box-shadow .25s,border-color .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 55px #0004}.passage-progress{pointer-events:none;background:#493a5b;height:5px;position:absolute;inset:auto 0 0;overflow:hidden}.passage-progress span{background:linear-gradient(90deg,#ffb878,#ff477f);height:100%;transition:width .1s ease-out;display:block}.passage-concealed{visibility:hidden}.countdown-cue{color:#ffca77;letter-spacing:-.06em;text-shadow:0 0 28px #ff874e88;justify-content:center;align-items:center;font-size:clamp(2.5rem,6vw,4rem);font-style:italic;font-weight:900;line-height:1;animation:.7s ease-out both cue-pop;display:flex;position:absolute;inset:0}.app[data-intensity="30"] .prompt{box-shadow:0 0 28px #ff4e7c22}.app[data-intensity="50"] .prompt{box-shadow:0 0 42px #ff4e7c44,inset 0 0 28px #ff4e7c11}.app[data-intensity="100"] .prompt,.app[data-intensity="200"] .prompt{border-color:#ffc368;box-shadow:0 0 65px #ff9c4666,inset 0 0 38px #ff9c4622}.app[data-intensity="200"] .prompt{animation:.15s linear infinite alternate max-shake}.prompt.celebrating{border-color:#e6aa72;box-shadow:0 0 38px #ff9b5544,inset 0 0 34px #ff9b5511}.prompt.new-passage-best{border-color:#ffcf73;box-shadow:0 0 55px #ffb35577,inset 0 0 50px #ffb35522}.prompt.miss{border-color:#ff7898;animation:.18s linear 2 miss-shake}.sparks{pointer-events:none;position:absolute}.sparks:before{content:"";background:#fff1ba;border-radius:50%;width:10px;height:10px;animation:.4s ease-out forwards spark-core;position:absolute;top:-5px;left:-5px;box-shadow:0 0 15px #ffbd72,0 0 27px #ff6b74}.sparks:after{content:"";clip-path:polygon(50% 0,57% 36%,72% 15%,64% 43%,100% 50%,64% 57%,85% 85%,57% 64%,50% 100%,43% 64%,15% 85%,36% 57%,0 50%,36% 43%,15% 15%,43% 36%);filter:drop-shadow(0 0 12px #ff9a72);background:#ffdfa0;width:24px;height:24px;animation:.95s ease-out forwards spark-ring;position:absolute;top:-12px;left:-12px}.sparks i{color:#ffd98b;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 8px);width:10px;height:10px;animation:spark .95s ease-out var(--delay) both;background:currentColor;position:absolute}.sparks i:nth-child(3n+2){color:#ff91ad}.sparks i:nth-child(3n+3){color:#fff0b1}.screen-toast{z-index:5;color:#ffca77;letter-spacing:-.055em;text-align:center;text-shadow:0 0 35px #ff874edd,0 4px 18px #160b1b;pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;width:max-content;max-width:calc(100vw - 28px);font-weight:900;line-height:1;animation:1.6s ease-out both passage-pop;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.screen-toast strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(2.8rem,5vw,4rem)}.screen-toast span{color:#ff82a5;white-space:nowrap;font-size:clamp(1.8rem,3vw,2.4rem)}.screen-toast.today-best span{color:#fff0a5;text-shadow:0 0 30px #ffb65c}.feedback{color:#e1dce8;min-height:24px;margin-top:19px;font-size:.92rem}.result.panel{padding:8px 0 14px}.result h1{font-size:clamp(2.5rem,4vw,4.7rem)}.result-intro{color:#d7ccdc;max-width:700px;margin:12px 0 24px;line-height:1.6}.share-layout{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,70px);display:grid}.share-preview{aspect-ratio:4/5;background:#21182c;border:1px solid #8d6b87;border-radius:20px;width:100%;overflow:hidden;box-shadow:0 26px 70px #0007,0 0 48px #ff638233}.share-preview img{object-fit:cover;width:100%;height:100%;display:block}.share-loading{color:#f3c7d7;text-align:center;place-items:center;height:100%;padding:24px;display:grid}.share-kicker{color:#ff9db7;letter-spacing:.16em;font-size:.8rem;font-weight:900}.share-side h2{letter-spacing:-.06em;margin:14px 0 18px;font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.2}.estimated-rank{background:#3b2837;border:1px solid #bf8b78;border-radius:13px;flex-wrap:wrap;align-items:baseline;gap:5px 13px;margin:3px 0 5px;padding:12px 18px;display:inline-flex}.estimated-rank span{color:#f2c8cf;font-size:.8rem;font-weight:700}.estimated-rank strong{color:#ffcb78;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,3vw,2.2rem)}.share-side .fever-praise{color:#ffcb78;margin:7px 0 0;font-size:1.15rem;font-weight:900;line-height:1.4}.share-side .estimate-note{color:#cfc1d2;margin:5px 0 18px;font-size:.8rem;line-height:1.5}.share-side>p:not(.share-kicker):not(.share-status):not(.estimate-note):not(.fever-praise):not(.photo-save-hint){color:#d7ccdc;max-width:430px;line-height:1.7}.share-action{margin-top:30px;display:block}.share-action:disabled{cursor:wait;opacity:.6}.share-side .photo-save-hint{color:#ffcf9b;margin:13px 0 0;font-size:.85rem;line-height:1.5}.link-action{color:#ffd2de;text-underline-offset:4px;background:0 0;margin-top:14px;padding:9px 2px;text-decoration:underline}.share-status{color:#ffcf9b;min-height:1.5em;font-size:.88rem}.result-records{border-top:1px solid #675671;border-bottom:1px solid #675671;margin-top:30px;padding:16px 0}.record{color:#fff0a5;letter-spacing:.14em;margin-bottom:10px;font-size:.82rem;font-weight:900;display:inline-block}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;display:grid}.stats>div{background:#231d30;border:1px solid #5a4a68;border-radius:12px;padding:10px 14px}.stats strong{font-variant-numeric:tabular-nums;margin-top:6px;font-size:clamp(1.3rem,2.3vw,1.9rem);display:block}.reaction-note{color:#c9c2d4;margin:0 0 12px;font-size:.82rem}.best{color:#c9c2d4;margin:0 0 9px}.best b{color:#fff}.result .primary{margin-top:12px}.leaderboard.panel{padding:36px 0}.leaderboard h1{font-size:clamp(2.7rem,5vw,4.8rem)}.leaderboard .description{margin-top:14px}.preview-note{color:#ffe0c5;background:#32232f;border:1px solid #8d6b69;border-radius:12px;margin:24px 0 20px;padding:12px 16px;font-size:.9rem;line-height:1.5}.leaderboard-tabs{gap:8px;margin-bottom:12px;display:flex}.leaderboard-tabs button{color:#d0ccdc;background:#221c31;border:1px solid #685577;border-radius:12px;flex:1;padding:13px 16px}.leaderboard-tabs button:hover{background:#382b45}.leaderboard-tabs button.selected{color:#fff;background:#533044;border-color:#ffaf86}.leaderboard-card{background:#211b30;border:1px solid #685577;border-radius:20px;padding:22px 26px 18px}.board-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:15px;display:flex}.board-kicker{color:#ffacbd;letter-spacing:.16em;font-size:.7rem;font-weight:800}.board-heading h2{margin:4px 0 2px;font-size:1.7rem}.board-heading p,.board-footnote{color:#c9c2d4;margin:0;font-size:.85rem}.board-date{color:#d8cfdf;white-space:nowrap;font-size:.8rem}.leaderboard-list{margin:0;padding:0;list-style:none}.leaderboard-list li{border-top:1px solid #51445e;grid-template-columns:74px 1fr auto;align-items:center;gap:12px;min-height:56px;display:grid}.board-rank{color:#ffbe87;font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:1.05rem;font-weight:900;display:inline-flex}.board-medal{font-size:1.4rem;line-height:1}.board-name{color:#f4effb;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.leaderboard-list strong,.personal-record strong{color:#fff;font-variant-numeric:tabular-nums}.personal-record{color:#ffd6b5;border-top:1px solid #8d6b69;justify-content:space-between;align-items:center;gap:16px;margin-top:8px;padding:16px 0 0;font-size:.9rem;display:flex}.board-footnote{margin:12px 0 18px}.leaderboard .primary{margin-top:4px}footer{padding-top:28px}@keyframes cue-pop{0%{opacity:0;transform:scale(1.25)}35%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes passage-pop{0%{opacity:0;transform:translate(-50%,-50%)translateY(24px)scale(.72)}24%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}42%{transform:translate(-50%,-50%)scale(1)}82%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)translateY(-10px)}}@keyframes score-gain{0%{opacity:1;transform:translate(-50%,10px)scale(.8)}to{opacity:0;transform:translate(-50%,-30px)scale(1.25)}}@keyframes spark-core{0%{opacity:.95;transform:scale(.7)}to{opacity:0;transform:scale(2)}}@keyframes spark-ring{0%{opacity:0;transform:scale(.35)}20%,60%{opacity:.8}to{opacity:0;transform:scale(1.8)}}@keyframes spark{0%{opacity:0;transform:translate(0)scale(.35)}20%{opacity:1}65%{opacity:1;transform:translate(var(--dx), var(--dy)) scale(1)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.35)}}@keyframes breathe{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes time-pulse{0%{opacity:1}to{opacity:.5}}@keyframes miss-shake{0%{transform:translate(-3px)}50%{transform:translate(3px)}to{transform:translate(0)}}@keyframes max-shake{0%{transform:translate(0)}to{transform:translate(1px,-1px)}}@media (width<=680px){.app{padding:22px}.topbar{flex-wrap:wrap;gap:12px}.topline{display:none}.top-actions{justify-content:space-between;gap:8px;width:100%}.day{font-size:.67rem}.day b{margin:3px 0 0;display:block}.nav-button{font-size:.65rem}.panel{padding:54px 0}.hud{grid-template-columns:repeat(3,1fr);gap:7px}.hud strong{font-size:clamp(1.65rem,7vw,3rem)}.hud small{font-size:.6rem}.prompt{min-height:152px;padding:20px}.screen-toast strong{font-size:clamp(2.2rem,8vw,3rem)}.screen-toast span{font-size:1.5rem}.share-layout{grid-template-columns:1fr;gap:22px}.share-preview{max-width:420px;margin:auto}.share-action{width:100%}.stats{grid-template-columns:repeat(2,1fr)}.leaderboard.panel{padding:44px 0}.leaderboard-card{padding:18px}.personal-record{flex-direction:column;align-items:flex-start;gap:5px}footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
