.quote-overlay.svelte-pgzgp8{z-index:1000;background:var(--bg);text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:2.5rem;padding:clamp(2rem,22vh,12rem) 2rem 2rem;display:flex;position:fixed;inset:0;overflow-y:auto}.quote.svelte-pgzgp8{flex-direction:column;align-items:center;gap:1.5rem;max-width:42rem;margin:0;display:flex}blockquote.svelte-pgzgp8{color:var(--text);margin:0;font-size:clamp(1.5rem,4vw,2.75rem);font-weight:600;line-height:1.25}blockquote.svelte-pgzgp8:before{content:"“"}blockquote.svelte-pgzgp8:after{content:"”"}figcaption.svelte-pgzgp8{flex-direction:column;align-items:center;gap:.75rem;display:flex}.author.svelte-pgzgp8{cursor:pointer;font:inherit;color:var(--gold);border:none;border-bottom:1px dashed var(--gold-dim);background:0 0;padding:0;font-size:clamp(1rem,2.5vw,1.35rem);font-weight:600}.author.svelte-pgzgp8:hover,.author.svelte-pgzgp8:focus-visible{color:var(--gold);border-bottom-color:var(--gold)}.author-wrap.svelte-pgzgp8{flex-direction:column;align-items:center;display:inline-flex;position:relative}.testimonial.svelte-pgzgp8{z-index:10;background:var(--surface-2);border:1px solid var(--border-strong);width:max-content;max-width:min(34rem,85vw);color:var(--text-muted);text-align:center;pointer-events:none;border-radius:.6rem;padding:.7rem .95rem;font-size:.9rem;line-height:1.5;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.rate.svelte-pgzgp8{gap:1rem;display:flex}.rate.svelte-pgzgp8 button:where(.svelte-pgzgp8){font:inherit;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:.6rem;padding:.65rem 1.5rem;font-size:1.1rem}.rate.svelte-pgzgp8 .like:where(.svelte-pgzgp8):hover{border-color:var(--green);color:var(--green)}.rate.svelte-pgzgp8 .dislike:where(.svelte-pgzgp8):hover{border-color:var(--red);color:var(--red)}.never.svelte-pgzgp8{color:var(--text-faint);cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.back.svelte-4bkuey{font-family:var(--font-mono);color:var(--text-muted);margin-top:.75rem;font-size:.8rem;text-decoration:none;display:inline-block}.back.svelte-4bkuey:hover{color:var(--text)}h1.svelte-4bkuey{margin-top:.25rem}h1.svelte-4bkuey .number:where(.svelte-4bkuey){font-family:var(--font-mono);color:var(--text-muted);margin-right:.6rem;font-size:.75em}.chart-frame.svelte-4bkuey{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 1rem;padding:.55rem .7rem}.chart-frame.with-pads.svelte-4bkuey{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem .9rem;display:grid}.chart-actions.svelte-4bkuey{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem .2rem .15rem;display:flex}.with-pads.svelte-4bkuey .chart-actions:where(.svelte-4bkuey){display:contents}.with-pads.svelte-4bkuey .listen:where(.svelte-4bkuey){width:100%;min-width:0}.listen.svelte-4bkuey{min-width:6.5em;padding:.35em .9em;font-size:.9rem}.listen.running.svelte-4bkuey{border-color:var(--gold);color:var(--gold)}.listen-hint.svelte-4bkuey{color:var(--text-faint);font-size:.82rem}.cant-play.svelte-4bkuey{border:1px solid var(--gold-dim);border-radius:var(--radius-sm);color:var(--text-muted);background:#f0c04012;margin:0 0 1.25rem;padding:.6rem .9rem;font-size:.88rem}.device-line.svelte-4bkuey{color:var(--text-faint);margin:.5rem 0 0;font-size:.82rem}.kbd-hint.svelte-4bkuey kbd:where(.svelte-4bkuey){border:1px solid var(--border,#3a3a3a);background:var(--surface-2,#26262b);border-radius:.3rem;padding:.05rem .35rem;font-size:.78em;display:inline-block}.run-preview.svelte-4bkuey{left:0;right:0;bottom:calc(1.25rem + env(safe-area-inset-bottom));z-index:55;pointer-events:none;opacity:.9;justify-content:center;display:flex;position:fixed}.hints.svelte-4bkuey{color:var(--text-muted);margin:0 0 1.25rem;padding-left:1.1rem;font-size:.9rem;line-height:1.55}.hints.svelte-4bkuey li:where(.svelte-4bkuey){margin-bottom:.3rem}.hints.svelte-4bkuey li:where(.svelte-4bkuey)::marker{color:var(--gold)}.launch.svelte-4bkuey{--ctl-h:3.1rem;grid-template-columns:minmax(min-content,1fr) minmax(0,auto) minmax(min-content,1fr);align-items:center;gap:.75rem;margin:2rem 0 .5rem;display:grid}.launch-nav.svelte-4bkuey{min-width:0;display:flex}.launch-nav.to-prev.svelte-4bkuey{justify-content:flex-start}.launch-nav.to-next.svelte-4bkuey{justify-content:flex-end}.launch-controls.svelte-4bkuey{align-items:center;gap:.75rem;min-width:0;display:flex}@media (width<=46rem){.chart-frame.with-pads.svelte-4bkuey{column-gap:.55rem}.launch.svelte-4bkuey{grid-template-columns:1fr 1fr;grid-template-areas:"controls controls""to-prev to-next"}.launch-controls.svelte-4bkuey{flex-direction:column;grid-area:controls;align-items:stretch;gap:2.25rem}.launch-nav.to-prev.svelte-4bkuey{grid-area:to-prev}.launch-nav.to-next.svelte-4bkuey{grid-area:to-next}.launch-controls.svelte-4bkuey .start-btn:where(.svelte-4bkuey){width:100%}.launch-nav.svelte-4bkuey .lesson-nav:where(.svelte-4bkuey){flex:1;justify-content:center}.launch-controls.svelte-4bkuey .rung:where(.svelte-4bkuey){flex:1 0 auto}}.ladder.svelte-4bkuey{min-height:var(--ctl-h);border:1px solid var(--border-strong);border-radius:var(--radius-sm);flex-wrap:wrap;align-content:flex-start;align-items:stretch;min-width:0;display:flex}.rung.svelte-4bkuey{min-width:var(--ctl-h);height:calc(var(--ctl-h) - 2px);background:var(--surface-2);border:none;border-right:1px solid var(--border-strong);color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;border-radius:0;flex:none;justify-content:center;align-items:center;padding:0 .35rem;font-size:.95rem;transition:color .12s,background .12s;display:flex;position:relative}.rung.svelte-4bkuey:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.rung.svelte-4bkuey:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right:none}.rung.label.svelte-4bkuey,.rung.ellipsis.svelte-4bkuey{cursor:default;background:var(--surface);color:var(--text-faint);letter-spacing:.04em;font-size:.75rem}.rung.ellipsis.svelte-4bkuey{font-size:1rem}.rung.jump.svelte-4bkuey{cursor:pointer;background:var(--surface);color:var(--text-muted);font-size:.85rem}.rung.jump.svelte-4bkuey:hover{color:var(--text);background:var(--surface-3,var(--border))}.rung.jump.svelte-4bkuey select:where(.svelte-4bkuey){opacity:0;cursor:pointer;width:100%;height:100%;font:inherit;border:none;padding:0;position:absolute;inset:0}.rung.jump.svelte-4bkuey:focus-within{outline:2px solid var(--gold);outline-offset:-2px}.rung.svelte-4bkuey:not(.locked):not(.label):not(.ellipsis):hover{color:var(--text);background:var(--surface-3,var(--border))}.rung.selected.svelte-4bkuey{color:#1a1505;background:var(--gold);font-weight:700}.rung.locked.svelte-4bkuey{cursor:not-allowed;color:var(--text-faint)}.rung.svelte-4bkuey .lock:where(.svelte-4bkuey){font-size:.75rem;line-height:1}.rung.glow.svelte-4bkuey{color:var(--gold);animation:1.2s ease-in-out infinite svelte-4bkuey-rung-glow}@keyframes svelte-4bkuey-rung-glow{0%,to{background:var(--surface-2)}50%{background:color-mix(in srgb, var(--gold) 32%, var(--surface-2))}}.increase-hint.svelte-4bkuey{border-radius:var(--radius-sm);background:var(--gold);color:#1a1505;font-family:var(--font-mono);white-space:nowrap;pointer-events:none;padding:.3em .6em;font-size:.72rem;font-weight:700;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.increase-hint.svelte-4bkuey:after{content:"";border:5px solid #0000;border-top-color:var(--gold);position:absolute;top:100%;left:50%;transform:translate(-50%)}.lesson-nav.svelte-4bkuey{height:var(--ctl-h,auto);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;align-items:center;gap:.45rem;min-width:0;padding:.5em 1.1rem;font-size:.95rem;text-decoration:none;display:inline-flex}.lesson-nav.svelte-4bkuey:hover{border-color:var(--gold);color:var(--gold)}.lesson-nav.locked.svelte-4bkuey{color:var(--text-faint);background:var(--surface);cursor:not-allowed;border-style:dashed;font-family:inherit}.lesson-nav.locked.svelte-4bkuey:hover{border-color:var(--border-strong);color:var(--text-faint)}.lesson-nav.svelte-4bkuey .lock:where(.svelte-4bkuey){opacity:.75;font-size:.85em}@media (width<=24rem){.launch-nav.svelte-4bkuey .nav-label:where(.svelte-4bkuey){text-overflow:ellipsis;overflow:hidden}}.play.svelte-4bkuey{height:var(--ctl-h,auto);color:#fff;background:#2a7;border:1px solid #185;border-radius:.3rem;padding:.5em 1.5rem;font-weight:700}.description.svelte-4bkuey{color:#aab;margin:0 0 1rem;font-size:.92rem;line-height:1.5}.warn.svelte-4bkuey{color:#d80;font-size:.9rem}.highway.svelte-4bkuey{background:#12121e;border:1px solid #333;border-radius:.5rem;max-width:900px;display:flex;overflow:hidden}.highway.full.svelte-4bkuey{z-index:50;border:none;border-radius:0;align-items:center;max-width:none;position:fixed;inset:0;height:auto!important}.highway.banded.full.svelte-4bkuey .labels:where(.svelte-4bkuey),.highway.banded.full.svelte-4bkuey .track:where(.svelte-4bkuey){border-top:1px solid #333;border-bottom:1px solid #333}@media (orientation:portrait){.highway.full.svelte-4bkuey{align-items:flex-start;padding-top:11dvh}.highway.full.svelte-4bkuey .labels:where(.svelte-4bkuey){display:none}}.hud.svelte-4bkuey{top:calc(1rem + env(safe-area-inset-top));right:calc(1rem + env(safe-area-inset-right));left:calc(1rem + env(safe-area-inset-left));z-index:60;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex;position:fixed}@media (width<=30rem){.hud-word.svelte-4bkuey{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.hud-tempo.svelte-4bkuey{border:1px solid var(--border-strong);font-family:var(--font-mono);color:var(--gold);background:#0c0d16bf;border-radius:.3rem;padding:.4em .7em;font-size:.85rem}.exit.svelte-4bkuey{color:#fff;cursor:pointer;background:#a33;border:1px solid #c55;border-radius:.3rem;padding:.5em 1em;font-size:1rem;font-weight:700}.pause-btn.svelte-4bkuey{color:#fff;cursor:pointer;background:#357;border:1px solid #579;border-radius:.3rem;padding:.5em 1em;font-size:1rem;font-weight:700}.restart-btn.svelte-4bkuey{color:#cdd;border:1px solid var(--border-strong);cursor:pointer;background:#2a2a3e;border-radius:.3rem;padding:.5em 1em;font-size:1rem;font-weight:700}.restart-btn.svelte-4bkuey:hover{color:#fff;background:#34344a}.view-btn.svelte-4bkuey{color:#cdd;border:1px solid var(--border-strong);cursor:pointer;background:#2a2a3e;border-radius:.3rem;padding:.5em 1em;font-size:1rem;font-weight:700}.view-btn.svelte-4bkuey:hover{color:#fff;background:#34344a}.labels.svelte-4bkuey{z-index:2;background:#16162a;border-right:1px solid #333;flex:0 0 130px}.lane-label.svelte-4bkuey{color:#bcd;border-bottom:1px solid #23233a;align-items:center;padding:0 .75rem;font-family:monospace;font-size:.85rem;transition:background 80ms;display:flex}.lane-label.flash.svelte-4bkuey{color:#fff;background:#1a3a4e}.track.svelte-4bkuey{flex:1;position:relative;overflow:hidden}.lane.svelte-4bkuey{border-bottom:1px solid #20203a;position:absolute;left:0;right:0}.hitline.svelte-4bkuey{z-index:3;background:#f0c040;width:3px;position:absolute;top:0;bottom:0;left:15%;box-shadow:0 0 10px #f0c04099}.strip.svelte-4bkuey{will-change:transform;position:absolute;top:0;bottom:0;left:15%}.barline.svelte-4bkuey{background:#33334d;width:1px;position:absolute;top:0;bottom:0}.note.svelte-4bkuey{background:var(--note-1);contain:layout paint;border-radius:.3rem;width:26px;height:26px;margin-left:-13px;transition:background .1s;position:absolute}.note.good.svelte-4bkuey{background:var(--res-good);box-shadow:0 0 4px color-mix(in srgb, var(--res-good) 55%, transparent)}.note.perfect.svelte-4bkuey{background:var(--res-perfect);box-shadow:0 0 8px color-mix(in srgb, var(--res-perfect) 90%, transparent);animation:.28s svelte-4bkuey-pop}.note.off.svelte-4bkuey{background:var(--res-off);box-shadow:0 0 4px color-mix(in srgb, var(--res-off) 40%, transparent)}.note.miss.svelte-4bkuey{background:var(--res-miss);box-shadow:none}@keyframes svelte-4bkuey-pop{0%{transform:scale(1)}45%{transform:scale(1.7)}to{transform:scale(1)}}.report.svelte-4bkuey{z-index:60;background:#16162a;border:1px solid #2a2a3a;border-radius:.5rem;flex-direction:column;width:min(500px,100vw - 2rem);max-height:90dvh;padding:1rem 1.25rem;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 48px #0009}.report-body.svelte-4bkuey{-webkit-overflow-scrolling:touch;overflow:auto}.report-actions.svelte-4bkuey{flex-wrap:wrap;gap:.6rem;display:flex}@media (width<=48rem){.report.svelte-4bkuey{width:auto;max-height:none;padding:calc(1rem + env(safe-area-inset-top)) calc(1.25rem + env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) calc(1.25rem + env(safe-area-inset-left));border:none;border-radius:0;inset:0;transform:none}.report-body.svelte-4bkuey{flex:1;min-height:0}.report-actions.svelte-4bkuey{background:#16162a;border-top:1px solid #2a2a3a;margin-top:auto;padding-top:.85rem;position:sticky;bottom:0}.report-actions.svelte-4bkuey button:where(.svelte-4bkuey){flex:auto;min-height:48px}}.done.svelte-4bkuey{color:#ddd;cursor:pointer;background:#333;border:1px solid #555;border-radius:.3rem;padding:.4em .9em;font-weight:700}.increase-btn.svelte-4bkuey{background:var(--gold);color:#1a1505;border:1px solid var(--gold);cursor:pointer;border-radius:.3rem;padding:.4em .9em;font-weight:700}.increase-btn.svelte-4bkuey:hover{background:#f6cd5e}.report.svelte-4bkuey h2:where(.svelte-4bkuey){margin:0;font-size:1.2rem}.grade-head.svelte-4bkuey{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.grade.svelte-4bkuey{color:#fff;background:#444;border-radius:.5rem;justify-content:center;align-items:center;width:3rem;height:3rem;font-family:monospace;font-size:1.8rem;font-weight:700;display:flex}.grade-S.svelte-4bkuey{background:#3ca059}.grade-A.svelte-4bkuey{background:#749331}.grade-B.svelte-4bkuey{background:#998700}.grade-C.svelte-4bkuey{background:#a87520}.grade-D.svelte-4bkuey{background:#ae5528}.grade-E.svelte-4bkuey{background:#a43b38}.sub.svelte-4bkuey{color:#99a;margin:.15rem 0 0;font-size:.85rem}.scoreline.svelte-4bkuey{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.chip.svelte-4bkuey{border-radius:1em;padding:.2em .6em;font-size:.8rem;font-weight:700}.chip.perfect.svelte-4bkuey{background:color-mix(in srgb, var(--res-perfect) 18%, var(--bg));color:color-mix(in srgb, var(--res-perfect) 70%, var(--text))}.chip.good.svelte-4bkuey{background:color-mix(in srgb, var(--res-good) 18%, var(--bg));color:color-mix(in srgb, var(--res-good) 70%, var(--text))}.chip.off.svelte-4bkuey{background:color-mix(in srgb, var(--res-off) 18%, var(--bg));color:color-mix(in srgb, var(--res-off) 70%, var(--text))}.chip.miss.svelte-4bkuey{background:color-mix(in srgb, var(--res-miss) 18%, var(--bg));color:color-mix(in srgb, var(--res-miss) 70%, var(--text))}.chip.extra.svelte-4bkuey{background:var(--surface-3);color:var(--text-muted)}.timing.svelte-4bkuey{color:#ccd;font-size:.9rem}.report.svelte-4bkuey table:where(.svelte-4bkuey){border-collapse:collapse;width:100%;margin:.5rem 0 1rem;font-size:.85rem}.report.svelte-4bkuey th:where(.svelte-4bkuey),.report.svelte-4bkuey td:where(.svelte-4bkuey){text-align:left;border-bottom:1px solid #2a2a3a;padding:.3em .5em}.start-btn.svelte-4bkuey{cursor:pointer;white-space:nowrap;flex:none;font-size:1.15rem}
