@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#04050d;--fg:#ebeff5;--fg-dim:#a7aebbb3;--danger:#f94144;--accent:#6ccdea;--glass:#1115248c;--font:"Inter Variable", system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (color:lab(0% 0 0)){:root{--bg:lab(1.50495% .368677 -3.17218);--fg:lab(94.1679% -.518382 -3.73511);--fg-dim:lab(70.9304% -.939012 -7.41826/.7);--danger:lab(57.1752% 69.5963 43.0458);--accent:lab(77.3325% -23.7112 -23.8123);--glass:lab(7.00226% 1.38567 -10.8061/.55)}}:root[data-theme=light]{--bg:#f2eee6;--fg:#121b29;--fg-dim:#3e4858bf;--danger:#d40924;--accent:#00678d;--glass:#fbf8f199;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports (color:lab(0% 0 0)){:root[data-theme=light]{--bg:lab(94.2476% .352293 4.58145);--fg:lab(9.3565% -.346199 -10.7561);--fg-dim:lab(30.2703% -.954047 -10.9346/.75);--danger:lab(45.5382% 69.8881 46.2994);--accent:lab(39.84% -18.382 -33.0626);--glass:lab(97.7201% .286549 3.81312/.6)}}:root[data-theme=contrast]{--bg:#000;--fg:#fff;--fg-dim:#dedede;--accent:#72ecff;--glass:#060606eb}@supports (color:lab(0% 0 0)){:root[data-theme=contrast]{--fg-dim:lab(88.4% 0 .0000119209);--accent:lab(86.9979% -33.4944 -22.3631);--glass:lab(1.5609% 0 0/.92)}}:root[data-quality=low] .panel{-webkit-backdrop-filter:none;background:#0e111bf0;background:lab(5.15808% .562236 -6.58819/.94)}:root[data-theme=light][data-quality=low] .panel{background:#f8f5eef5;background:lab(96.5601% .286847 3.81331/.96)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font);overscroll-behavior:none;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}#app{position:fixed;inset:0}#stage{position:absolute;inset:0}#stage canvas{display:block}#ui{pointer-events:none;position:absolute;inset:0}.touch-guide{pointer-events:none;color:var(--fg-dim);letter-spacing:.04em;opacity:0;place-content:center;gap:10px;font-size:13px;transition:opacity .4s;display:grid;position:absolute}.touch-guide.on{opacity:.75}.touch-guide .g-row{align-items:center;gap:12px;display:flex}.touch-guide .g-ico{text-align:center;width:22px;color:var(--accent);font-size:15px}@media (pointer:fine){.touch-guide{display:none}}.pad-buttons{padding:18px 16px calc(env(safe-area-inset-bottom) + 16px);pointer-events:auto;grid-template-rows:1fr auto;grid-template-columns:repeat(4,1fr);gap:10px;display:grid;position:absolute}.pad-buttons[hidden]{display:none}.pad-btn{color:var(--fg);font:inherit;touch-action:none;background:#ebeff512;background:lab(94.1679% -.518382 -3.73511/.07);border:1px solid #d6dfec33;border:1px solid lab(88.3319% -.966102 -7.43206/.2);border-radius:18px;font-size:22px}.pad-btn:active{background:#6ccdea40;background:lab(77.3325% -23.7112 -23.8123/.25)}.pad-btn.wide{letter-spacing:.2em;grid-column:1/-1;padding:14px;font-size:14px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reverse-warn{letter-spacing:.3em;color:var(--danger);pointer-events:none;opacity:0;font-size:13px;font-weight:700;position:absolute;transform:translate(-50%)}.reverse-warn.on{animation:3s step-end forwards rev-blink}@keyframes rev-blink{0%,20%,40%,60%,80%{opacity:1}10%,30%,50%,70%,90%,to{opacity:.15}to{opacity:0}}@media (prefers-reduced-motion:reduce){.reverse-warn.on{opacity:1;animation:none}}.hud{pointer-events:none;font-variant-numeric:tabular-nums;position:absolute;inset:0}.hud-block{flex-direction:column;gap:2px;display:flex;position:absolute}.hud-score{letter-spacing:.02em;color:var(--fg);font-size:clamp(20px,3.4vmin,34px);font-weight:600}.hud-label{letter-spacing:.22em;color:var(--fg-dim);font-size:10px;font-weight:500}.hud-lv{color:var(--fg);font-size:clamp(13px,2vmin,18px);font-weight:600}.hud-pattern{letter-spacing:.24em;color:var(--accent);opacity:.8;font-size:11px}.hud-time{color:var(--accent);text-shadow:0 0 12px;font-size:clamp(20px,4.4vmin,32px);font-weight:700}.hud-time[data-low]{color:var(--danger);animation:1s steps(2,end) infinite time-low}@keyframes time-low{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.hud-time[data-low]{animation:none}}.hud-next{align-items:center;gap:14px;display:flex;position:absolute}.hud-next svg{overflow:visible}.hud-next .n2{opacity:.45;transform:scale(.8)}.hud-combo{color:var(--fg);opacity:0;white-space:nowrap;font-size:clamp(22px,4vmin,40px);font-weight:300;position:absolute}.hud-combo.pop{animation:combo-pop .9s linear(0, .4 8%, 1.08 20%, .98 30%, 1 40%, 1) forwards}@keyframes combo-pop{0%{opacity:0;font-weight:100;transform:scale(.8)}15%{opacity:1;font-weight:900;transform:scale(1.12)}45%{opacity:1;font-weight:600;transform:scale(1)}to{opacity:0;font-weight:300;transform:scale(1)}}.hud-points{color:var(--fg-dim);opacity:0;font-size:14px;font-weight:500;position:absolute}.hud-points.pop{animation:.9s ease-out forwards pts}@keyframes pts{0%{opacity:0;transform:translateY(6px)}20%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.hud-pause{pointer-events:auto;width:44px;height:44px;color:var(--fg-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:22px;place-items:center;font-size:18px;display:grid;position:absolute}.hud-pause:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hud-pause svg{width:18px;height:18px}.hud-badge{letter-spacing:.2em;color:var(--accent);border:1px solid;border-radius:4px;align-self:flex-start;padding:1px 5px;font-size:10px}@media (prefers-reduced-motion:reduce){.hud-combo.pop{animation-name:combo-fade;animation-duration:1.2s}@keyframes combo-fade{0%{opacity:0}15%{opacity:1;font-weight:800}to{opacity:0}}}.hint-toast{pointer-events:none;white-space:nowrap;letter-spacing:.04em;color:var(--fg);background:var(--glass);-webkit-backdrop-filter:blur(12px);opacity:0;border-radius:12px;padding:8px 14px;font-size:15px;font-weight:500;transition:opacity .3s;position:absolute;transform:translate(-50%,-50%)}.hint-toast.on{opacity:1}.hint-toast.big{-webkit-backdrop-filter:none;color:var(--accent);text-shadow:0 0 18px var(--accent);background:0 0;padding:4px 16px;font-size:clamp(28px,6vmin,44px);font-weight:800}.tut{background:var(--glass);-webkit-backdrop-filter:blur(16px);pointer-events:none;border:1px solid #6ccdea59;border:1px solid lab(77.3325% -23.7112 -23.8123/.35);border-radius:16px;flex-direction:column;gap:8px;max-width:520px;margin:0 auto;padding:14px 16px;display:flex;position:absolute}.tut[hidden]{display:none}.tut-progress{gap:6px;display:flex}.tut-progress span{background:#d6dfec33;background:lab(88.3319% -.966102 -7.43206/.2);border-radius:2px;width:18px;height:3px}.tut-progress span.on{background:var(--accent)}.tut-title{letter-spacing:.04em;font-size:17px;font-weight:700}.tut-body{color:var(--fg);font-size:14px;line-height:1.6}.tut-feedback{min-height:1.4em;font-size:14px;font-weight:600}.tut-feedback.good{color:#56ecb5;color:lab(84.592% -51.2001 14.5545)}.tut-feedback.retry{color:#fabb41;color:lab(80.3255% 15.4166 67.1365)}.tut-skip{pointer-events:auto;align-self:flex-end;padding:6px 12px;font-size:12px}.hud-chain{color:var(--fg-dim);opacity:0;pointer-events:none;text-shadow:0 0 14px;font-size:clamp(26px,6vmin,44px);font-weight:800;transition:opacity .12s;position:absolute;top:0;left:0}.hud-chain.on{opacity:.9}.hud-chain.ok{color:var(--fg)}.screen{pointer-events:auto;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));place-items:center;display:grid;position:absolute;inset:0}.screen[hidden]{display:none}.screen.dim{background:#01010559;background:lab(.432646% .24683 -1.55951/.35)}.panel{background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(140%);text-align:center;width:min(360px,100%);animation:panel-in .32s linear(0, .35 10%, .85 25%, 1.03 40%, 1 60%, 1) both;border:1px solid #d6dfec1f;border:1px solid lab(88.3319% -.966102 -7.43206/.12);border-radius:22px;flex-direction:column;gap:14px;padding:28px 24px 22px;display:flex;box-shadow:0 30px 80px #00000073;box-shadow:0 30px 80px lab(0% 0 0/.45)}@keyframes panel-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:none}}.title{letter-spacing:.32em;margin:6px 0 0;padding-left:.32em;font-size:clamp(30px,8vmin,46px);font-weight:200}.title b{font-weight:700}.sub{color:var(--fg-dim);letter-spacing:.06em;margin:0;font-size:12px}.btn{appearance:none;color:var(--fg);font:inherit;letter-spacing:.08em;cursor:pointer;background:#ebeff50f;background:lab(94.1679% -.518382 -3.73511/.06);border:1px solid #d6dfec2e;border:1px solid lab(88.3319% -.966102 -7.43206/.18);border-radius:14px;padding:12px 16px;font-size:15px;font-weight:500;transition:background .16s,transform .16s}.btn:hover{background:#ebeff51f;background:lab(94.1679% -.518382 -3.73511/.12)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary{letter-spacing:.2em;background:#6ccdea38;background:lab(77.3325% -23.7112 -23.8123/.22);border-color:#6ccdea80;border-color:lab(77.3325% -23.7112 -23.8123/.5);padding:18px 16px;font-size:20px;font-weight:700}.btn.primary small{letter-spacing:.24em;color:var(--fg-dim);margin-top:4px;font-size:11px;font-weight:500;display:block}.modes{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.modes .btn{letter-spacing:.1em;padding:10px 2px;font-size:11px}.modes .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.mode-desc{color:var(--fg-dim);min-height:2.6em;margin:0;font-size:12px;line-height:1.5}.row{gap:8px;display:flex}.row .btn{flex:1}.result-score{font-variant-numeric:tabular-nums;margin:0;font-size:clamp(36px,10vmin,54px);font-weight:600}.result-mode{letter-spacing:.3em;color:var(--accent);margin:0;font-size:11px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0;display:grid}.stats div{flex-direction:column;gap:2px;display:flex}.stats dt{letter-spacing:.22em;color:var(--fg-dim);font-size:9px}.stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:17px;font-weight:600}.badge-new{letter-spacing:.24em;color:#fabb41;color:lab(80.3255% 15.4166 67.1365);margin:0;font-size:11px}.hint-keys{color:var(--fg-dim);flex-wrap:wrap;justify-content:center;gap:0 14px;margin:0;font-size:11px;line-height:1.6;display:flex}.hint-keys span{white-space:nowrap}@media (pointer:coarse){.hint-keys{display:none}}@media (prefers-reduced-motion:reduce){.panel{animation:none}}.result .panel{width:min(400px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.coach{text-align:left;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.coach-card{background:#ebeff50f;background:lab(94.1679% -.518382 -3.73511/.06);border-left:3px solid #fd736dcc;border-left:3px solid lab(65.8493% 53.3364 30.7453/.8);border-radius:12px;padding:9px 12px;font-size:13px;line-height:1.55}.coach-card.good{border-left-color:#51daa7e6;border-left-color:lab(78.6595% -47.7681 13.5819/.9)}.coach-next{text-align:left;margin:0;font-size:13px;line-height:1.55}.coach-next b{color:var(--accent);font-weight:600}.trend-wrap{letter-spacing:.18em;color:var(--fg-dim);justify-content:center;align-items:center;gap:10px;font-size:10px;display:flex}.trend{width:220px;height:40px}.trend-line{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round;opacity:.8}.trend-dot{fill:var(--fg)}.settings{text-align:left;gap:10px;width:min(460px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.settings .result-mode{text-align:center}.set-head{letter-spacing:.24em;color:var(--accent);margin:8px 0 0;font-size:11px;font-weight:600}.set-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.set-label{color:var(--fg);min-width:6em;font-size:13px}.seg{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:4px;display:flex}.seg .btn{letter-spacing:.04em;padding:7px 10px;font-size:12px}.seg .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.set-row input[type=range]{max-width:220px;accent-color:var(--accent);flex:1}.home-sub{grid-template-columns:1fr 1fr;gap:8px;display:grid}.home-sub .btn{white-space:nowrap;padding:12px 8px;font-size:14px}:root[data-text=l]{font-size:118%}:root[data-text=xl]{font-size:136%}:root[data-text=l] .btn,:root[data-text=l] .coach-card,:root[data-text=l] .set-label{font-size:1.12em}:root[data-text=xl] .btn,:root[data-text=xl] .coach-card,:root[data-text=xl] .set-label{font-size:1.26em}:root[data-text=l] .hud-score{font-size:clamp(24px,4vmin,40px)}:root[data-text=xl] .hud-score{font-size:clamp(28px,4.8vmin,46px)}.records{text-align:left;width:min(460px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.records .result-mode{text-align:center}.rec-list,.hl-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rec-row{background:#ebeff50d;background:lab(94.1679% -.518382 -3.73511/.05);border-radius:12px;grid-template-columns:5.5em 1fr auto;align-items:center;gap:4px 10px;padding:8px 10px;display:grid}.rec-row .trend{grid-column:1/-1;width:100%;height:30px}.rec-mode{letter-spacing:.2em;color:var(--accent);font-size:11px}.rec-best{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.rec-daily{color:var(--fg-dim);margin:0;font-size:13px}.rec-empty{color:var(--fg-dim);font-size:12px}.hl-row{background:#ebeff50d;background:lab(94.1679% -.518382 -3.73511/.05);border-radius:12px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.hl-info{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.hl-info b{letter-spacing:.08em;font-size:13px}.hl-info span{color:var(--fg-dim);font-size:11px}.hl-actions{gap:6px;display:flex}.hl-actions .btn{flex:1;padding:7px 4px;font-size:12px}.replay-badge{top:calc(env(safe-area-inset-top) + 12px);letter-spacing:.3em;color:var(--accent);pointer-events:auto;align-items:center;gap:10px;font-size:11px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.replay-badge[hidden]{display:none}.replay-badge .btn{padding:6px 10px;font-size:11px}.rank-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.rank-row{font-variant-numeric:tabular-nums;background:#ebeff50d;background:lab(94.1679% -.518382 -3.73511/.05);border-radius:10px;grid-template-columns:2.4em 1fr auto;align-items:center;gap:8px;padding:7px 10px;display:grid}.rank-row:first-child .rank-no{color:#ffd244;color:lab(86.4723% 7.88522 79.1955)}.rank-row:nth-child(2) .rank-no{color:#c9d2de;color:lab(83.6915% -.959843 -7.4288)}.rank-row:nth-child(3) .rank-no{color:#df9d6f;color:lab(70.5696% 21.7999 34.1538)}.rank-row.me{outline:1px solid var(--accent)}.rank-no{text-align:center;font-weight:900}.rank-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-score{font-weight:700}.rank-send{align-items:center;gap:8px;display:flex}.rank-send input{min-width:0;font:inherit;color:var(--fg);background:#ebeff514;background:lab(94.1679% -.518382 -3.73511/.08);border:1px solid #d6dfec40;border:1px solid lab(88.3319% -.966102 -7.43206/.25);border-radius:12px;flex:1;padding:10px 12px;font-size:15px}.rank-send input:focus-visible{outline:2px solid var(--accent)}.rank-msg{min-height:1.4em;margin:0;font-size:13px}.rank-msg.good{color:#56ecb5;color:lab(84.592% -51.2001 14.5545);font-size:16px;font-weight:700}.rank-msg.bad{color:#fabb41;color:lab(80.3255% 15.4166 67.1365)}.result-panel{gap:12px;width:min(420px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.result-head{letter-spacing:.08em;color:#e9f2ff;color:lab(95.2532% -1.36638 -11.1067);text-shadow:0 0 10px #47d2e8,0 0 28px #b180fccc;text-shadow:0 0 10px lab(77.7108% -33.3258 -22.2996),0 0 28px lab(62.5517% 38.3757 -55.9008/.8);margin:0;padding-left:.08em;font-size:clamp(30px,9vmin,48px);font-weight:900;animation:.9s step-end both head-flicker}.result-head.overflow{text-shadow:0 0 10px #ff6964,0 0 30px #f94144cc;text-shadow:0 0 10px lab(65.3152% 69.425 41.7948),0 0 30px lab(57.1752% 69.5963 43.0458/.8)}@keyframes head-flicker{0%{opacity:0}12%{opacity:1}22%{opacity:.15}34%{opacity:1}48%{opacity:.4}60%,to{opacity:1}}.result-scoreline{justify-content:center;align-items:center;gap:16px;display:flex}.result-score{font-variant-numeric:tabular-nums;background:linear-gradient(100deg,#4be8ff,#eadcff,#ffa3fb);background:linear-gradient(100deg,lab(84.8148% -38.6907 -25.9493),lab(89.7559% 14.8795 -25.5483),lab(78.817% 52.5823 -32.7492));color:#0000;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 14px #b27eff99);filter:drop-shadow(0 0 14px lab(62.1579% 43.5784 -61.9524/.6));-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(42px,13vmin,64px);font-weight:800}.result-rank{opacity:0;border:3px solid;border-radius:50%;place-items:center;width:1.3em;height:1.3em;font-size:clamp(44px,13vmin,66px);font-weight:900;line-height:1;display:grid;transform:scale(2.4)rotate(-18deg)}.result.revealed .result-rank{animation:.5s cubic-bezier(.2,1.7,.4,1) forwards rank-in}@keyframes rank-in{to{opacity:1;transform:none}}.rank-S{color:#ffd244;color:lab(86.4723% 7.88522 79.1955);text-shadow:0 0 18px;box-shadow:0 0 24px #ffd24499,inset 0 0 18px #ffd24466;box-shadow:0 0 24px lab(86.4723% 7.88522 79.1955/.6),inset 0 0 18px lab(86.4723% 7.88522 79.1955/.4)}.rank-A{color:#ff8cf6;color:lab(73.8473% 58.3807 -36.265);text-shadow:0 0 14px;box-shadow:0 0 18px #ff8cf680;box-shadow:0 0 18px lab(73.8473% 58.3807 -36.265/.5)}.rank-B{color:#44e1f9;color:lab(82.424% -36.038 -24.1345);text-shadow:0 0 10px}.rank-C{color:#b3bfd2;color:lab(76.69% -1.30862 -11.0793)}.result .badge-new{letter-spacing:.3em;opacity:0;color:#ffd244;color:lab(86.4723% 7.88522 79.1955);text-shadow:0 0 14px;font-size:18px;font-weight:900}.result.revealed .badge-new{animation:.6s cubic-bezier(.2,1.8,.4,1) .15s forwards best-pop,1.2s ease-in-out .8s infinite best-glow}@keyframes best-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes best-glow{50%{text-shadow:0 0 28px}}.result-later{opacity:0;flex-direction:column;gap:12px;display:flex;transform:translateY(10px)}.result.revealed .result-later{animation:.5s ease-out .35s forwards later-in}@keyframes later-in{to{opacity:1;transform:none}}.result .stats .stat{opacity:0;transform:translateY(8px)scale(.9)}.result.revealed .stats .stat{animation:stat-in .45s cubic-bezier(.2, 1.6, .4, 1) calc(.45s + var(--i) * .14s) forwards}@keyframes stat-in{to{opacity:1;transform:none}}.result .stats dd{font-size:22px}@media (prefers-reduced-motion:reduce){.result-head{animation:none}.result .result-rank,.result .badge-new,.result .result-later,.result .stats .stat{opacity:1;transform:none;animation:none!important}}.result .result-panel{-webkit-backdrop-filter:blur(6px)saturate(140%);background:#0708156b;background:lab(2.32504% 1.68294 -6.68826/.42)}:root[data-theme=light] .result .result-panel{background:#fbf8f1b3;background:lab(97.7201% .286549 3.81312/.7)}.splash{z-index:50;pointer-events:auto;background:#f4f7fa;place-items:center;transition:opacity .4s;display:grid;position:fixed;inset:0}.splash.out{opacity:0}.splash-mark{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:min(72vw,320px);height:auto;animation:.8s ease-out both splash-in}@keyframes splash-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.splash-mark{animation-duration:10ms}}.title-screen{pointer-events:auto;cursor:pointer;text-align:center;padding:24px 16px calc(env(safe-area-inset-bottom) + 24px);background:radial-gradient(90% 45% at 50% 40%,#010006db,#01000673 60%,#01000626);background:radial-gradient(90% 45% at 50% 40%,lab(.253016% .78845 -1.96133/.86),lab(.253016% .78845 -1.96133/.45) 60%,lab(.253016% .78845 -1.96133/.15));flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.title-screen[hidden]{display:none}.title-glow{pointer-events:none;filter:blur(20px);background:radial-gradient(#dc3dd547,#00b3cb1f 45%,#0000 70%);background:radial-gradient(lab(55.5163% 72.92 -44.8945/.28),lab(66.296% -40.5819 -27.5404/.12) 45%,#0000 70%);width:120vmin;height:60vmin;animation:2.2s ease-in-out infinite glow-breathe;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}@keyframes glow-breathe{0%,to{opacity:.6;transform:translate(-50%,-50%)scale(.95)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}}.neo-title{flex-direction:column;align-items:center;margin:0;line-height:.92;display:flex;position:relative}.neo-title .w1{letter-spacing:.42em;color:#eaf2ff;color:lab(95.2923% -.974536 -7.43644);text-shadow:0 0 10px #47d2e8e6,0 0 30px #00b3cb99;text-shadow:0 0 10px lab(77.7108% -33.3258 -22.2996/.9),0 0 30px lab(66.296% -40.5819 -27.5404/.6);padding-left:.42em;font-size:clamp(30px,10vmin,72px);font-weight:200}.neo-title .w2{letter-spacing:.04em;filter:drop-shadow(0 0 8px #ee50e6e6)drop-shadow(0 0 28px #b27effb3)drop-shadow(0 0 60px #00b3cb80);filter:drop-shadow(0 0 8px lab(61.3573% 72.9126 -44.967/.9))drop-shadow(0 0 28px lab(62.1579% 43.5784 -61.9524/.7))drop-shadow(0 0 60px lab(66.296% -40.5819 -27.5404/.5));margin-top:.05em;padding-left:.04em;font-size:clamp(76px,30vmin,220px);font-weight:900}.neo-title .w2 .ch{background:linear-gradient(100deg,#ff8cf6,#e0cbff 35%,#4be8ff 65%,#00e5b4,#ff8cf6) 0 0/300% 100%;background:linear-gradient(100deg,lab(73.8473% 58.3807 -36.265),lab(84.547% 23.2516 -37.9128) 35%,lab(84.8148% -38.6907 -25.9493) 65%,lab(81.3569% -59.7027 10.8512),lab(73.8473% 58.3807 -36.265)) 0 0/300% 100%;color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-position:calc(var(--i) * 40%) 0}.title-screen.in .neo-title .w2 .ch{animation:ch-drop .7s cubic-bezier(.2, 1.6, .4, 1) calc(.5s + var(--i) * .12s) forwards, neo-flow 4s linear calc(1.4s + var(--i) * 0s) infinite}@keyframes neo-flow{0%{background-position:0 0}to{background-position:300% 0}}.neo-title .ch{opacity:0;display:inline-block}.title-screen.in .neo-title .w1 .ch{animation:ch-flicker .9s steps(1) calc(var(--i) * 70ms) forwards}@keyframes ch-flicker{0%{opacity:0}10%{opacity:1}20%{opacity:.1}30%{opacity:1}45%{opacity:.3}55%,to{opacity:1}}@keyframes ch-drop{0%{opacity:0;filter:blur(8px);transform:translateY(-.4em)scale(1.4)}60%{opacity:1;filter:blur()}to{opacity:1;transform:none}}.title-tag{letter-spacing:.32em;color:#d6e6ffe6;color:lab(90.5692% -1.67066 -14.7387/.9);opacity:0;text-shadow:0 0 12px #00b3cbcc;text-shadow:0 0 12px lab(66.296% -40.5819 -27.5404/.8);margin:0;font-size:clamp(13px,3.4vmin,18px)}.title-screen.in .title-tag{animation:.8s ease-out 1.2s forwards fade-up}.title-prompt{letter-spacing:.34em;color:#eaf2ff;color:lab(95.2923% -.974536 -7.43644);opacity:0;text-shadow:0 0 10px #ee50e6e6,0 0 24px #ee50e699;text-shadow:0 0 10px lab(61.3573% 72.9126 -44.967/.9),0 0 24px lab(61.3573% 72.9126 -44.967/.6);margin:6vh 0 0;padding-left:.34em;font-size:clamp(14px,3.6vmin,20px);font-weight:700}.title-screen.in .title-prompt{animation:.6s ease-out 1.6s forwards fade-up,1.1s ease-in-out 2.2s infinite prompt-blink}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes prompt-blink{0%,to{opacity:1}50%{opacity:.25}}.title-copy{bottom:calc(env(safe-area-inset-bottom) + 14px);letter-spacing:.12em;color:#c6cedb99;color:lab(82.5314% -.958145 -7.42798/.6);margin:0;font-size:11px;position:absolute}@media (prefers-reduced-motion:reduce){.title-glow{animation:none}.title-screen.in .neo-title .ch,.title-screen.in .title-tag,.title-screen.in .title-prompt{opacity:1;animation:none}}:root[data-theme=light] .title-screen{background:radial-gradient(80% 55% at 50% 42%,#f8f5eecc,#0000 70%);background:radial-gradient(80% 55% at 50% 42%,lab(96.5601% .286847 3.81331/.8),#0000 70%)}:root[data-theme=light] .neo-title .w1,:root[data-theme=light] .title-tag,:root[data-theme=light] .title-prompt{color:#192230;color:lab(12.8457% -.51146 -10.7977);text-shadow:none}
