.pitch-diagnostics.svelte-z5lmvm{display:grid;gap:10px;padding:10px 12px;border-radius:16px;background:#fffcf7d1;border:1px solid rgba(215,227,220,.25)}.pitch-grid.svelte-z5lmvm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pitch-stat.svelte-z5lmvm{display:grid;gap:4px;text-align:center}.label.svelte-z5lmvm{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#66756e}.sparkline-shell.svelte-z5lmvm{height:48px}svg.svelte-z5lmvm{width:100%;height:100%}.fingering-panel.svelte-1d306jl{display:flex;flex-direction:column;height:100%;padding:6px 4px;gap:10px}.fingering-header.svelte-1d306jl{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap}.pitch-block.svelte-1d306jl{display:flex;flex-direction:column;align-items:center;min-width:0;flex:1 1 0}.pitch-label.svelte-1d306jl{margin:0;font-size:9px;text-transform:uppercase;color:#66756e;font-weight:600}.pitch-note.svelte-1d306jl{margin:4px 0 0;font-size:15px;font-weight:600;color:var(--pitch-color, #1F2D27);white-space:nowrap}.pitch-hz.svelte-1d306jl{margin:3px 0 0;font-size:10px;color:var(--pitch-color, #66756E);opacity:.85;white-space:nowrap}.fingering-display.svelte-1d306jl{flex:1;display:grid;align-items:center;justify-items:center;align-content:center;width:100%;gap:12px;padding:4px;overflow:hidden}.fingering-display.single.svelte-1d306jl{grid-template-columns:1fr}.fingering-display.multi.svelte-1d306jl{grid-template-columns:repeat(2,minmax(0,1fr))}.whistle.svelte-1d306jl{aspect-ratio:130 / 906;width:100%;height:100%;max-height:100%}.hole.svelte-1d306jl{stroke:#1f2d27;stroke-width:2}.hole.open.svelte-1d306jl{fill:#fff}.hole.closed.svelte-1d306jl{fill:#1f2d27}@media(max-width:900px){.fingering-panel.svelte-1d306jl{padding:6px 4px;gap:8px}.fingering-header.svelte-1d306jl{gap:6px}.pitch-block.svelte-1d306jl{min-width:0}.pitch-label.svelte-1d306jl{font-size:8px;letter-spacing:.16em}.pitch-note.svelte-1d306jl{font-size:14px}.pitch-hz.svelte-1d306jl{font-size:10px}}@media(max-width:720px){.fingering-panel.svelte-1d306jl{padding:6px 4px}}@media(max-height:520px){.fingering-panel.svelte-1d306jl{padding:6px 4px}}.modal-backdrop.svelte-17h9ukv{position:fixed;inset:0;background:#3f6b5a66;display:flex;align-items:center;justify-content:center;z-index:2000}.modal.svelte-17h9ukv{background:#fff;width:min(92vw,420px);border-radius:16px;padding:20px 22px;box-shadow:0 20px 50px -35px #3f6b5a66}.modal-title.svelte-17h9ukv{margin:0 0 6px;font-size:18px;color:#1f2d27}.modal-desc.svelte-17h9ukv{margin:0 0 16px;font-size:13px;color:#66756e}.modal-body.svelte-17h9ukv{display:flex;flex-direction:column;gap:10px}.modal-label.svelte-17h9ukv{font-size:12px;color:#66756e;font-weight:600}.modal-input.svelte-17h9ukv,.modal-textarea.svelte-17h9ukv{border:1px solid rgba(215,227,220,.5);border-radius:10px;padding:8px 10px;font-size:13px;font-family:inherit}.modal-textarea.svelte-17h9ukv{resize:vertical}.modal-error.svelte-17h9ukv{margin:0;font-size:12px;color:#355a4b}.modal-actions.svelte-17h9ukv{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-btn.svelte-17h9ukv{border-radius:999px;padding:6px 14px;font-size:12px;cursor:pointer;border:1px solid transparent}.modal-btn.primary.svelte-17h9ukv{background:#3f6b5a;color:#fff}.modal-btn.primary.svelte-17h9ukv:disabled{opacity:.5;cursor:not-allowed}.modal-btn.ghost.svelte-17h9ukv{background:#eef4f0;color:#1f2d27;border-color:#d7e3dc80}.left-footer.svelte-1w5c2b2{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px 24px 16px;border-top:1px solid rgba(215,227,220,.3)}.footer-link.svelte-1w5c2b2{background:none;border:none;padding:0;color:#66756e;font-size:12px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;line-height:1.2;transition:transform .14s ease,filter .14s ease}.footer-link.svelte-1w5c2b2:hover{color:#1f2d27}.footer-link--feedback.svelte-1w5c2b2{background:linear-gradient(120deg,#355a4b,#3f6b5a,#355a4b);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:240% 100%;animation:svelte-1w5c2b2-text-sweep 2.8s linear infinite;text-shadow:0 6px 14px rgba(140,70,20,.3)}.footer-link--feedback.svelte-1w5c2b2:hover{filter:brightness(.95);transform:translateY(-1px)}@keyframes svelte-1w5c2b2-text-sweep{0%{background-position:0% 0}to{background-position:100% 0}}.toolbar-a1.svelte-18erhgu{position:relative}.brand-bar.svelte-18erhgu{display:flex;justify-content:center;align-items:center;padding:0;line-height:1}.brand-link.svelte-18erhgu{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--play-text, #111111);text-decoration:none;transition:color .18s ease}.brand-link.svelte-18erhgu:hover,.brand-link.svelte-18erhgu:focus-visible{color:var(--play-accent, #1F4D3A);outline:none}.col-grid.svelte-18erhgu{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto auto;gap:6px 0;padding:6px 0 10px;align-items:center}.left-header.svelte-18erhgu{display:flex;align-items:center;gap:10px;min-width:0;align-self:center}.center-spacer.svelte-18erhgu{display:block}.right-top.svelte-18erhgu{display:flex;justify-content:flex-end;align-items:center;align-self:center}.score-title.svelte-18erhgu{margin:0;font-family:Fraunces,Newsreader,serif;font-size:1.05rem;font-weight:700;line-height:1.15;color:#1f2d27;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;flex-shrink:1}.lesson-link.svelte-18erhgu{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3f6b5a;text-decoration:none;transition:color .18s ease}.lesson-link.svelte-18erhgu svg:where(.svelte-18erhgu){width:12px;height:12px;flex-shrink:0}.lesson-link.svelte-18erhgu:hover,.lesson-link.svelte-18erhgu:focus-visible{color:#1f4d3a;outline:none}.left-extra.svelte-18erhgu{width:100%;min-width:0;align-self:center}.col-center.svelte-18erhgu{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;padding:0 24px;align-self:center}.tools-gated-wrap.svelte-18erhgu{display:contents}.crown-badge.svelte-18erhgu{position:absolute;top:-5px;right:-5px;width:14px;height:14px;border-radius:50%;background:#f59e0b;border:1.5px solid #ffffff;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5;transform:rotate(45deg)}.crown-badge.svelte-18erhgu svg:where(.svelte-18erhgu){width:8px;height:8px;color:#fff;flex-shrink:0}.tools-row.svelte-18erhgu{display:flex;align-items:center;justify-content:flex-end;gap:6px;align-self:center}.mode-btn.svelte-18erhgu{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 15px;border-radius:5px;font-size:.88rem;font-weight:700;cursor:pointer;transition:box-shadow .2s ease,background .2s ease,color .2s ease}.mode-btn.svelte-18erhgu svg:where(.svelte-18erhgu){width:17px;height:17px;flex-shrink:0}.mode-btn.svelte-18erhgu:disabled{opacity:.52;cursor:not-allowed}.play-btn.svelte-18erhgu{min-width:104px;border:1px solid #3F6B5A;background:#3f6b5a;color:#fffaf5}.play-btn.svelte-18erhgu:hover:not(:disabled){background:#2d5242}.play-btn.active.svelte-18erhgu{box-shadow:0 0 0 4px #d9772b26}.follow-btn.svelte-18erhgu{border:1px solid rgba(215,227,220,.6);background:#eef4f0;color:#1f2d27}.follow-btn.svelte-18erhgu:hover:not(:disabled){background:#e4ede7}.follow-btn.active.svelte-18erhgu{border-color:#1b5e4e73;background:#d9f5ece6;color:#1b5e4e;box-shadow:0 0 0 4px #1b5e4e14}.challenge-btn.svelte-18erhgu{border:1px solid rgba(44,36,27,.18);background:#f0eae0d9;color:#1f2d27}.challenge-btn.svelte-18erhgu:hover:not(:disabled){background:#2c241b1a}.challenge-btn.active.svelte-18erhgu{border-color:#2c241b33;background:#2c241be6;color:#fffaf5;min-width:116px;box-shadow:0 0 0 4px #2c241b1f}.challenge-split.svelte-18erhgu{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(44,36,27,.2);border-radius:5px;background:#2c241be6;min-width:116px;height:40px;overflow:hidden;box-shadow:0 0 0 4px #2c241b1f}.challenge-split-btn.svelte-18erhgu{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;border:0;cursor:pointer;background:transparent;color:#fffaf5;transition:background .18s ease}.challenge-split-btn.svelte-18erhgu svg:where(.svelte-18erhgu){width:17px;height:17px}.challenge-split-btn.pause.svelte-18erhgu{border-right:1px solid rgba(255,250,245,.28)}.challenge-split-btn.svelte-18erhgu:hover{background:#fffaf524}.challenge-split-btn.svelte-18erhgu:disabled{opacity:.52;cursor:not-allowed}.account-btn.svelte-18erhgu{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 10px 0 6px;border-radius:5px;border:1px solid rgba(215,227,220,.5);background:#ffffffc7;color:#1f2d27;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .18s ease,box-shadow .18s ease}.account-btn.svelte-18erhgu:hover,.account-btn.svelte-18erhgu:focus-visible{background:#fff;box-shadow:0 0 0 3px #3f6b5a1a;outline:none}.account-avatar.svelte-18erhgu{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#fffffff5,#eef4f0f5);border:1px solid rgba(63,107,90,.2);font-size:.65rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#1f2d27;flex-shrink:0}.account-avatar.svelte-18erhgu svg:where(.svelte-18erhgu){width:14px;height:14px}.account-name.svelte-18erhgu{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#485750}.speed-group.svelte-18erhgu,.ab-group.svelte-18erhgu{display:inline-flex;align-items:center;border:1px solid rgba(215,227,220,.6);border-radius:5px;background:#ffffffc2;padding:2px;gap:0;overflow:visible}.segment-btn.svelte-18erhgu{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:26px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:#1f2d27;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .18s ease,color .18s ease;overflow:visible}.segment-btn.svelte-18erhgu:hover:not(:disabled){background:#fff}.segment-btn.is-active.svelte-18erhgu{background:#3f6b5a;color:#fffaf5;box-shadow:0 4px 10px #3f6b5a2e}.segment-btn.svelte-18erhgu:disabled{opacity:.42;cursor:not-allowed}.ab-group.ab-ready.svelte-18erhgu .ab-point-btn:where(.svelte-18erhgu){background:#3f6b5a;color:#fffaf5}.icon-tool.svelte-18erhgu{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(215,227,220,.5);border-radius:5px;background:#eef4f0;color:#1f2d27;cursor:pointer;overflow:visible;transition:background .18s ease,box-shadow .18s ease}.icon-tool.svelte-18erhgu svg:where(.svelte-18erhgu){width:17px;height:17px}.icon-tool.svelte-18erhgu:hover:not(:disabled){background:#fff;box-shadow:0 0 0 3px #3f6b5a1a}.icon-tool.is-active.svelte-18erhgu{border-color:#3f6b5a52;background:#d9f5ece0;color:#1b5e4e;box-shadow:0 0 0 3px #1b5e4e14}.icon-tool.svelte-18erhgu:disabled{opacity:.42;cursor:not-allowed}.toolbar-tooltip.svelte-18erhgu{position:absolute;transform:translate(-50%);max-width:220px;padding:8px 10px;border-radius:5px;background:#2c241bf5;color:#fffaf5;font-size:12px;line-height:1.35;box-shadow:0 18px 34px -24px #2c241b99;pointer-events:none;z-index:20;text-align:center}@media(max-width:1100px){.score-title.svelte-18erhgu{max-width:160px}.col-center.svelte-18erhgu{padding:0 12px;gap:6px}.mode-btn.svelte-18erhgu{padding:0 10px}.mode-btn.svelte-18erhgu span:where(.svelte-18erhgu){display:none}.play-btn.svelte-18erhgu{min-width:44px}}@media(max-width:768px){.col-grid.svelte-18erhgu{grid-template-columns:minmax(0,1fr) auto}.right-top.svelte-18erhgu,.tools-row.svelte-18erhgu{display:none}.col-center.svelte-18erhgu{padding:0 8px}}.score-nav.svelte-1h40998{display:flex;align-items:stretch;width:100%;border-top:1px solid rgba(215,227,220,.3);background:#fffcf7f2;position:relative}.nav-item.svelte-1h40998{flex:1;min-width:0}.nav-divider.svelte-1h40998{width:1px;background:#d7e3dc4d}.scroll-top-btn.svelte-1h40998{position:absolute;left:50%;top:-40px;transform:translate(-50%);background:none;border:none;cursor:pointer;width:48px;height:48px;display:flex;align-items:flex-end;justify-content:center;transition:all .2s ease;color:#3f6b5a;z-index:10;padding-bottom:8px}.scroll-top-btn.svelte-1h40998:hover{background:none;border:none;border-radius:0;box-shadow:none}.arrow-up.svelte-1h40998{font-size:24px;font-weight:700;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:inline-block}.scroll-top-btn.svelte-1h40998:hover .arrow-up:where(.svelte-1h40998){transform:scaleY(1.4) translateY(-4px)}.nav-link.svelte-1h40998{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;height:100%;padding:24px 32px;text-decoration:none;color:#1f2d27;transition:background-color .2s ease}.nav-link.svelte-1h40998:hover{background-color:#d9772b14}.nav-content.svelte-1h40998{display:flex;flex-direction:column;gap:4px;overflow:hidden}.prev.svelte-1h40998 .nav-content:where(.svelte-1h40998){align-items:flex-start}.next.svelte-1h40998 .nav-content:where(.svelte-1h40998){align-items:flex-end;text-align:right}.nav-label.svelte-1h40998{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#7b8c85;font-weight:600}.nav-title.svelte-1h40998{font-family:Fraunces,Newsreader,serif;font-size:18px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#1f2d27}.nav-arrow.svelte-1h40998{font-size:20px;color:#3f6b5a;flex-shrink:0;transition:transform .2s ease}.prev.svelte-1h40998 .nav-link:where(.svelte-1h40998):hover .nav-arrow:where(.svelte-1h40998){transform:translate(-4px)}.next.svelte-1h40998 .nav-link:where(.svelte-1h40998):hover .nav-arrow:where(.svelte-1h40998){transform:translate(4px)}@media(max-width:640px){.nav-link.svelte-1h40998{padding:16px;gap:12px}.nav-title.svelte-1h40998{font-size:15px}}*{box-sizing:border-box}.scroll-container.svelte-w50yg1{height:100vh;overflow-y:scroll;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;width:100vw;-ms-overflow-style:none;scrollbar-width:none}.scroll-container.svelte-w50yg1::-webkit-scrollbar{display:none}.snap-section.svelte-w50yg1{height:100vh;width:100vw;scroll-snap-align:start;scroll-snap-stop:always;position:relative;overflow:hidden}.seo-section.svelte-w50yg1{background:#fffcf7e0;overflow-y:auto;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}.seo-section.svelte-w50yg1::-webkit-scrollbar{display:none}.practice.svelte-w50yg1{display:grid;grid-template-columns:minmax(0,9fr) minmax(170px,1.25fr);width:100vw;height:100%;background:radial-gradient(circle at top,#fff9ef,#eef4f0 35% 100%);overflow:hidden}.pane.svelte-w50yg1{height:100%;overflow:hidden}.pane-left.svelte-w50yg1{display:grid;grid-template-rows:auto minmax(0,1fr);background:#fffcf7e0;border-right:1px solid rgba(215,227,220,.35);box-shadow:0 20px 60px -40px #3f6b5a59;position:relative}.left-top.svelte-w50yg1{display:grid;gap:12px;padding:8px 24px;border-bottom:1px solid rgba(215,227,220,.3);overflow:visible}.left-bottom.svelte-w50yg1{display:flex;flex-direction:column;overflow:hidden;min-height:0}.recent-scores-empty.svelte-w50yg1,.recent-score-duration.svelte-w50yg1{font-size:.78rem;color:#72827b}.recent-scores-empty.svelte-w50yg1{margin:0}.recent-score-item.svelte-w50yg1{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:38px;padding:0 10px;border-radius:5px;border:1px solid transparent;background:#f7f3ecc7}.recent-score-item.single.svelte-w50yg1{min-height:44px}.recent-score-row.svelte-w50yg1{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.recent-score-item.selected.svelte-w50yg1{border-color:#d9772b40;background:#eef4f0f0;box-shadow:inset 0 0 0 1px #3f6b5a24}.recent-score-select.svelte-w50yg1,.recent-score-play.svelte-w50yg1,.recent-nav-btn.svelte-w50yg1{border:0;font:inherit}.recent-score-select.svelte-w50yg1{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:0;background:transparent;text-align:left}.recent-score-value.svelte-w50yg1{display:flex;align-items:center;min-width:54px}.recent-score-value.svelte-w50yg1 strong:where(.svelte-w50yg1){font-size:.98rem;line-height:1;color:#1f2d27}.recent-score-copy.svelte-w50yg1{display:grid;gap:2px;min-width:0}.recent-score-copy.svelte-w50yg1 p:where(.svelte-w50yg1){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#51605a}.recent-nav-stack.svelte-w50yg1{display:inline-flex;align-items:center;gap:6px}.recent-nav-btn.svelte-w50yg1{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:5px;background:#355a4b1f;color:#355a4b;font-size:.78rem;font-weight:700}.recent-nav-btn.svelte-w50yg1:disabled{opacity:.4}.recent-score-play.svelte-w50yg1{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 12px;border-radius:5px;background:#355a4b;color:#fffaf5;font-size:.8rem;font-weight:700;white-space:nowrap}.recent-score-play.svelte-w50yg1:disabled{opacity:.55}@media(max-width:900px){.left-top.svelte-w50yg1{padding:10px 14px}}@media(max-width:720px){.left-top.svelte-w50yg1{padding:8px 10px}}@media(max-height:520px){.left-top.svelte-w50yg1{padding:8px 12px}}.pane-right.svelte-w50yg1{background:#fffaf2bf}.modal-backdrop.svelte-w50yg1{position:fixed;inset:0;background:#3f6b5a66;display:flex;align-items:center;justify-content:center;z-index:2000}.modal.svelte-w50yg1{background:#fff;width:min(92vw,420px);border-radius:5px;padding:22px 24px;box-shadow:0 20px 50px -35px #3f6b5a66;text-align:center}.challenge-title.svelte-w50yg1{margin:0 0 4px;font-size:11px;color:#66756e;letter-spacing:.16em;text-transform:uppercase}.challenge-value.svelte-w50yg1{margin:0 0 2px;font-size:42px;font-weight:700;color:#1f2d27;line-height:1}.challenge-detail.svelte-w50yg1{margin:0;font-size:11px;color:#66756e}.modal-actions.svelte-w50yg1{display:flex;justify-content:center}.modal-btn.svelte-w50yg1{border-radius:5px;padding:6px 16px;font-size:12px;cursor:pointer;border:1px solid transparent}.modal-btn.primary.svelte-w50yg1{background:#3f6b5a;color:#fff}.countdown-overlay.svelte-w50yg1{position:absolute;top:92px;left:0;right:0;display:flex;align-items:flex-start;justify-content:center;z-index:50;pointer-events:none}.countdown-card.svelte-w50yg1{background:#fffcf7f0;border-radius:5px;padding:12px 18px;box-shadow:0 18px 36px -28px #3f6b5a66;border:1px solid rgba(215,227,220,.3);text-align:center;min-width:180px}.countdown-value.svelte-w50yg1{animation:svelte-w50yg1-countdown-pop 1s ease-in-out}@keyframes svelte-w50yg1-countdown-pop{0%{transform:scale(.98);opacity:.6}40%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@media(max-width:720px){.countdown-overlay.svelte-w50yg1{top:78px}.countdown-card.svelte-w50yg1{min-width:160px;padding:10px 16px}.countdown-card.svelte-w50yg1 .challenge-value:where(.svelte-w50yg1){font-size:42px}}
