:root{--setup-type-label:.78rem;--setup-type-field:.98rem;--setup-type-control:.95rem;--setup-type-help:.88rem;--setup-type-value:1rem;--setup-type-note:1.35rem;--setup-type-tracking:0}.session-launcher .eyebrow,.progress-recap .eyebrow{font-size:var(--setup-type-label);letter-spacing:var(--setup-type-tracking);text-transform:uppercase;color:var(--color-text-secondary);font-weight:650}.pill-btn{color:var(--color-text-primary);font-weight:600;font-size:var(--setup-type-control);cursor:pointer;transition:all var(--transition-base);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.pill-btn.primary{background:var(--gradient-primary);color:#fff;border-color:#0000;box-shadow:0 8px 20px #c149493d}.pill-btn.ghost:hover{background:#ffffff14;border-color:#ffffff40}.pill-btn.ghost-danger{color:#f87171e6}.pill-btn.ghost-danger:hover:not(:disabled){background:#f8717114;border-color:#f8717166}.pill-btn:disabled{opacity:.6;cursor:not-allowed}.fretboard-container.svelte-ekiv0l{background:0 0;border-radius:16px;justify-content:center;align-items:center;width:100%;padding:.5rem;display:flex;position:relative}svg.svelte-ekiv0l{-webkit-user-select:none;user-select:none;width:100%;max-width:100%;height:auto}.target-string-glow.svelte-1ajhhlc{filter:drop-shadow(0 0 6px #c9a05a)drop-shadow(0 0 12px #8c6a3a)}.target-label-glow.svelte-1ajhhlc{filter:drop-shadow(0 0 4px #c9a05a)drop-shadow(0 0 8px #8c6a3a)}.open-string-hit.svelte-1ajhhlc,.open-string-target.svelte-1ajhhlc{filter:drop-shadow(0 0 4px #10b981)drop-shadow(0 0 8px #059669)}.open-string-target.svelte-1ajhhlc{animation:1.2s ease-in-out infinite svelte-1ajhhlc-preview-pulse}.open-string-preview.svelte-1ajhhlc{filter:drop-shadow(0 0 4px #3b82f6)drop-shadow(0 0 8px #2563eb);animation:1.2s ease-in-out infinite svelte-1ajhhlc-preview-pulse}.open-string-circle.svelte-1ajhhlc{transform-origin:50%;transform-box:fill-box;animation:1.2s ease-out svelte-1ajhhlc-open-string-circle-pulse}@keyframes svelte-1ajhhlc-open-string-circle-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}to{opacity:.8;transform:scale(1)}}@keyframes svelte-1ajhhlc-preview-pulse{0%,to{opacity:1}50%{opacity:.7}}.preview-position.svelte-1ajhhlc{animation:1.2s ease-in-out infinite svelte-1ajhhlc-preview-pulse}.clicked-idle-position.svelte-1ajhhlc{animation:1.2s ease-in-out infinite svelte-1ajhhlc-clicked-idle-pulse}@keyframes svelte-1ajhhlc-clicked-idle-pulse{0%,to{opacity:.9}50%{opacity:.6}}.open-string-clicked-idle.svelte-1ajhhlc{filter:drop-shadow(0 0 8px #8b5cf6)}.pulse.svelte-1ajhhlc{animation:1.4s ease-in-out infinite svelte-1ajhhlc-pulse}@keyframes svelte-1ajhhlc-pulse{0%,to{opacity:.35}50%{opacity:1}}.active-note.svelte-1ajhhlc{animation:1.4s ease-in-out infinite svelte-1ajhhlc-active-pulse}@keyframes svelte-1ajhhlc-active-pulse{0%,to{opacity:1}50%{opacity:.95}}.root-marker.svelte-1ajhhlc,.open-string-root.svelte-1ajhhlc{filter:drop-shadow(0 0 6px #d9770680)}.root-open-string.svelte-1ajhhlc{filter:drop-shadow(0 0 6px #d9770666)}.clickable-position.svelte-1ajhhlc{cursor:pointer;outline:none;transition:all .15s}.clickable-position.svelte-1ajhhlc:focus-visible{stroke:#667eeacc;stroke-width:2px}.clickable-position.svelte-1ajhhlc:hover{fill:#667eea26;stroke:#667eea99;stroke-width:2px}.hit-animation.svelte-xjsyw4{transform-origin:50%;transform-box:fill-box;animation:1.2s ease-out svelte-xjsyw4-hit-burst}@keyframes svelte-xjsyw4-hit-burst{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.miss-animation.svelte-xjsyw4{animation:1.2s ease-out svelte-xjsyw4-miss-shake}@keyframes svelte-xjsyw4-miss-shake{0%,to{opacity:1;transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}.string-toggle.svelte-swe7ct{transition:opacity .15s}.string-toggle.svelte-swe7ct:hover:not(.disabled) rect:where(.svelte-swe7ct){opacity:.7;stroke:#9ca3af}.string-toggle.svelte-swe7ct:not(.selected):hover:not(.disabled) rect:where(.svelte-swe7ct){opacity:.5;stroke:#6b7280}.string-toggle.disabled.svelte-swe7ct{opacity:.4}.string-toggle.svelte-swe7ct:focus{outline:none}.string-toggle.svelte-swe7ct:focus-visible rect:where(.svelte-swe7ct){stroke:#9ca3af}.fret-range-selector.disabled.svelte-1qsosyv{opacity:.4;pointer-events:none}.range-fill-line.svelte-1qsosyv{filter:drop-shadow(0 0 3px #c149494d)}.handle.svelte-1qsosyv .handle-shape:where(.svelte-1qsosyv){filter:drop-shadow(0 1px 3px #0006)drop-shadow(0 0 4px #c149494d);transition:x .2s,y .2s,width .2s,height .2s,rx .2s,ry .2s,fill .2s,stroke .2s,stroke-width .2s}.handle.svelte-1qsosyv:hover .handle-shape:where(.svelte-1qsosyv){filter:drop-shadow(0 1px 3px #0006)drop-shadow(0 0 6px #d6606073)}.handle.active.svelte-1qsosyv .handle-shape:where(.svelte-1qsosyv){filter:drop-shadow(0 1px 3px #0006)drop-shadow(0 0 8px #d660608c)}.marquee.svelte-ubdyz{padding:var(--space-xs) var(--space-md) calc(var(--space-xs) + 4px);text-align:center;flex-direction:column;justify-content:center;align-items:center;transition:filter .4s,transform .4s;display:flex;position:relative}.marquee.hit.svelte-ubdyz{filter:drop-shadow(0 0 32px #c9a05a73)}.marquee.miss.svelte-ubdyz{animation:.36s ease-out svelte-ubdyz-marquee-shake;transform:translate(0)}@keyframes svelte-ubdyz-marquee-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.callout.svelte-ubdyz{transform-origin:50% 100%;flex-direction:column;align-items:center;gap:4px;animation:.52s cubic-bezier(.2,.8,.25,1) svelte-ubdyz-callout-rise;display:flex}@keyframes svelte-ubdyz-callout-rise{0%{opacity:0;filter:blur(3px);transform:translateY(10px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.eyebrow.svelte-ubdyz{font-family:var(--font-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--color-ochre,#c9a05a);border-bottom:1px solid var(--color-rule,#c9a05a2e);text-indent:.26em;width:fit-content;margin-bottom:8px;padding-bottom:6px;font-size:.7rem;font-weight:600}.display.svelte-ubdyz{justify-content:center;align-items:baseline;margin-top:2px;line-height:.92;display:flex}.note.svelte-ubdyz{font-family:var(--font-sans);color:var(--color-text-primary,#f5ead8);letter-spacing:-.04em;font-feature-settings:"ss01", "cv01";font-size:5.2rem;font-weight:700}.octave.svelte-ubdyz{font-family:var(--font-sans);color:var(--color-ochre-soft,#c9a05ab3);letter-spacing:-.01em;align-self:flex-end;margin-bottom:.95rem;margin-left:6px;font-size:1.6rem;font-weight:500}.caption.svelte-ubdyz{font-family:var(--font-sans);color:var(--color-text-secondary,#b8a892);letter-spacing:.005em;font-size:.95rem;font-weight:400}.string-name.svelte-ubdyz{font-family:var(--font-sans);color:var(--color-ochre,#c9a05a);letter-spacing:-.01em;padding:0 1px;font-weight:700}.root.svelte-ubdyz{font-family:var(--font-sans);color:var(--color-ochre,#c9a05a);letter-spacing:-.01em;font-weight:700}@media (width<=880px){.note.svelte-ubdyz{font-size:3.9rem}.octave.svelte-ubdyz{margin-bottom:.7rem;font-size:1.25rem}.caption.svelte-ubdyz{font-size:.88rem}.eyebrow.svelte-ubdyz{letter-spacing:.24em;text-indent:.24em;font-size:.64rem}}.hud-row.svelte-1x7axxe{align-items:center;column-gap:clamp(var(--space-md), 3vw, var(--space-xl));padding:var(--space-xs) var(--space-md);grid-template-columns:auto 1fr auto 1fr auto;margin-bottom:0;display:grid}.hud-session.svelte-1x7axxe{flex-direction:column;justify-self:start;gap:2px;min-width:0;max-width:240px;display:flex}.session-eyebrow.svelte-1x7axxe{font-family:var(--font-sans);font-size:var(--setup-type-label);letter-spacing:var(--setup-type-tracking);text-transform:uppercase;color:var(--color-text-secondary,#b8a892);border-bottom:1px solid var(--color-rule-soft,#f5ead80f);text-indent:0;width:fit-content;margin-bottom:5px;padding-bottom:4px;font-weight:650}.session-meta.svelte-1x7axxe{font-family:var(--font-sans);font-size:var(--setup-type-help);color:var(--color-text-secondary,#b8a892);white-space:nowrap;text-overflow:ellipsis;line-height:1.25;overflow:hidden}.session-meta-key.svelte-1x7axxe{color:var(--color-text-primary,#f5ead8);font-weight:500}.session-meta-sep.svelte-1x7axxe{color:var(--color-rule-soft,#f5ead838);margin:0 .4em}.session-goal.svelte-1x7axxe{margin-top:4px}.session-goal.svelte-1x7axxe:empty{display:none}.hud-stats.svelte-1x7axxe{align-items:stretch;display:flex}.hud-stats-left.svelte-1x7axxe{justify-content:flex-end}.hud-stats-right.svelte-1x7axxe{justify-content:flex-start}.hud-target.svelte-1x7axxe{justify-self:center}.hud-controls.svelte-1x7axxe{align-items:center;gap:var(--space-xs);justify-self:end;display:inline-flex}.pill-btn.hud-action{font-size:var(--setup-type-control);padding:8px 12px;line-height:1}.hud-action-label.svelte-1x7axxe{letter-spacing:var(--setup-type-tracking)}@media (width<=1100px){.hud-action-label.svelte-1x7axxe{display:none}.pill-btn.hud-action{padding:8px 10px}}@media (width<=880px){.hud-row.svelte-1x7axxe{row-gap:var(--space-xs);grid-template-columns:1fr 1fr 1fr;grid-template-areas:"session session controls""stats-l target stats-r"}.hud-session.svelte-1x7axxe{grid-area:session;max-width:none}.hud-controls.svelte-1x7axxe{grid-area:controls}.hud-stats-left.svelte-1x7axxe{grid-area:stats-l}.hud-target.svelte-1x7axxe{grid-area:target}.hud-stats-right.svelte-1x7axxe{grid-area:stats-r}}.combo-badges.svelte-185alwq{align-items:center;gap:6px;display:inline-flex}.combo-badge.svelte-185alwq{border-radius:var(--radius-full,999px);height:24px;color:var(--color-ochre,#c9a05a);font-family:var(--font-sans);letter-spacing:.02em;white-space:nowrap;cursor:help;background:#c9a05a17;border:1px solid #c9a05a47;align-items:center;gap:6px;padding:0 10px 0 8px;font-size:.72rem;font-weight:600;display:inline-flex;box-shadow:0 0 10px #c9a05a29}.combo-label.svelte-185alwq{line-height:1}@media (width<=880px){.combo-label.svelte-185alwq{display:none}.combo-badge.svelte-185alwq{justify-content:center;width:24px;padding:0}}.hud-shelf.svelte-1w6sufc{min-height:28px;padding:0 var(--space-md);margin-bottom:var(--space-sm);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.hud-shelf-mic.svelte-1w6sufc,.hud-shelf-tracker.svelte-1w6sufc{align-items:center;display:flex}.hud-shelf-mic.svelte-1w6sufc{justify-self:start}.hud-shelf-tracker.svelte-1w6sufc{justify-self:end}.session-launcher.svelte-1fmysvn{max-width:1080px;margin:0 auto var(--space-md);border-radius:var(--radius-lg);background:radial-gradient(circle at 92% 0,#c1494917,#0000 30%),#0c1423e0;border:1px solid #94a3b82e;padding:clamp(20px,2.4vw,30px);box-shadow:0 20px 56px #0000002e}.launcher-heading.svelte-1fmysvn{justify-content:space-between;align-items:flex-end;gap:var(--space-xl);margin-bottom:var(--space-lg);display:flex}.launcher-heading.svelte-1fmysvn h1:where(.svelte-1fmysvn){font-family:var(--font-sans);letter-spacing:-.025em;margin-top:5px;font-size:clamp(1.45rem,2vw,1.85rem);font-weight:650;line-height:1.15}.launcher-heading.svelte-1fmysvn p:where(.svelte-1fmysvn){max-width:620px;color:var(--color-text-secondary);font-size:var(--setup-type-control);margin:7px 0 0;line-height:1.45}.launcher-goal.svelte-1fmysvn{border-radius:var(--radius-full);color:var(--color-ochre);font-size:var(--setup-type-help);white-space:nowrap;background:#c9a05a12;border:1px solid #c9a05a40;align-items:center;gap:7px;padding:8px 11px;display:inline-flex}.launcher-goal.svelte-1fmysvn strong:where(.svelte-1fmysvn){color:var(--color-text-primary)}.launcher-grid.svelte-1fmysvn{border-radius:var(--radius-md);background:#ffffff05;border:1px solid #ffffff13;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.launcher-field.svelte-1fmysvn{--mode-btn-min-width:92px;--mode-btn-padding:7px 15px;--length-chip-padding:8px 9px;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;padding:16px 18px;display:flex}.launcher-field.svelte-1fmysvn+.launcher-field:where(.svelte-1fmysvn){border-left:1px solid #fff1}.sub-label.svelte-1fmysvn{color:var(--color-text-secondary);font-size:var(--setup-type-field);font-weight:500}.mode-toggle-row.svelte-1fmysvn{align-items:center;gap:var(--space-sm);display:flex}.tuner-pill.svelte-1fmysvn{height:34px;color:var(--color-text-secondary);font-size:var(--setup-type-control);cursor:pointer;transition:border-color var(--transition-base), background var(--transition-base), color var(--transition-base);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.tuner-pill.svelte-1fmysvn:hover{color:var(--color-text-primary);background:#ffffff14;border-color:#ffffff40}.tuner-pill.svelte-1fmysvn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tuner-pill.svelte-1fmysvn:disabled{opacity:.6;cursor:not-allowed}.mic-enable-pill.svelte-1fmysvn{color:var(--color-warning-light);background:#fbbf2414;border-color:#fbbf2459}.mic-enable-pill.svelte-1fmysvn:hover:not(:disabled){color:var(--color-warning-light);background:#fbbf2424;border-color:#fbbf2499}.mic-enable-pill.has-error.svelte-1fmysvn{color:var(--color-error-light);background:#ef444414;border-color:#ef444473}.mic-enable-pill.has-error.svelte-1fmysvn:hover:not(:disabled){background:#ef444424;border-color:#ef4444b3}.field-help.svelte-1fmysvn{color:var(--color-text-muted);font-size:var(--setup-type-help)}.options-disclosure.svelte-1fmysvn{border-bottom:1px solid #fff1;margin-top:10px}.options-disclosure.svelte-1fmysvn summary:where(.svelte-1fmysvn){align-items:center;gap:var(--space-md);color:var(--color-text-secondary);font-size:var(--setup-type-help);cursor:pointer;padding:10px 2px;font-weight:600;list-style-position:inside;display:flex}.options-disclosure.svelte-1fmysvn summary:where(.svelte-1fmysvn)::marker{color:var(--color-text-muted)}.options-summary.svelte-1fmysvn{color:var(--color-text-muted);margin-left:auto;font-weight:400}.options-body.svelte-1fmysvn{padding:7px 2px 16px}.launcher-plan.svelte-1fmysvn{margin-top:var(--space-md);flex-direction:column;gap:8px;display:flex}.launcher-fretboard-hint.svelte-1fmysvn{padding-left:2px}.open-field.svelte-1fmysvn{--mode-btn-min-width:92px;--mode-btn-padding:7px 15px;--length-chip-padding:8px 9px;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;display:flex}.open-field.framed.svelte-1fmysvn{border-radius:var(--radius-md);background:#ffffff05;border:1px solid #ffffff13;padding:16px 18px}.pill-btn.launcher-start.is-blocked{opacity:.7;box-shadow:none}.pill-btn.launcher-start{width:100%;min-height:46px;margin-top:var(--space-md);border-radius:var(--radius-md);justify-content:center;font-size:1rem;box-shadow:0 10px 28px #c149493d}@media (width<=1000px){.launcher-grid.svelte-1fmysvn{grid-template-columns:1fr}.launcher-field.svelte-1fmysvn+.launcher-field:where(.svelte-1fmysvn){border-top:1px solid #fff1;border-left:0}}@media (width<=768px){.session-launcher.svelte-1fmysvn{padding:var(--space-sm) var(--space-md)}.launcher-heading.svelte-1fmysvn{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.launcher-goal.svelte-1fmysvn{white-space:normal}.options-summary.svelte-1fmysvn{display:none}}.progress-recap.svelte-6sq1fh{max-width:1080px;margin:0 auto var(--space-xl);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);background:var(--surface-panel);padding:clamp(18px,2.4vw,26px)}.progress-recap-heading.svelte-6sq1fh{justify-content:space-between;align-items:flex-end;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.progress-recap-heading.svelte-6sq1fh h2:where(.svelte-6sq1fh){color:var(--color-text-primary);letter-spacing:-.015em;margin:4px 0 0;font-size:1.25rem;font-weight:650}.progress-recap-heading.svelte-6sq1fh a:where(.svelte-6sq1fh){color:var(--color-primary-light);font-size:var(--setup-type-help);font-weight:600}.progress-recap-heading.svelte-6sq1fh a:where(.svelte-6sq1fh):hover{color:var(--color-text-primary)}.progress-recap-body.svelte-6sq1fh{gap:var(--space-lg);grid-template-columns:minmax(0,1.75fr) minmax(230px,.75fr);align-items:stretch;display:grid}.recent-session-list.svelte-6sq1fh{border-radius:var(--radius-md);background:#070d184d;border:1px solid #ffffff13;overflow:hidden}.recent-session-row.svelte-6sq1fh{grid-template-columns:minmax(170px,1.5fr) repeat(3,minmax(70px,.6fr));align-items:center;min-height:58px;padding:8px 14px;display:grid}.recent-session-row.svelte-6sq1fh+.recent-session-row:where(.svelte-6sq1fh){border-top:1px solid #ffffff0e}.recent-session-row.svelte-6sq1fh:first-child{background:linear-gradient(90deg,#c149491a,#c1494904 58%)}.recent-session-when.svelte-6sq1fh{align-items:baseline;gap:8px;min-width:0;display:flex}.recent-session-when.svelte-6sq1fh strong:where(.svelte-6sq1fh){color:var(--color-text-secondary);font-size:var(--setup-type-help);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.latest-marker.svelte-6sq1fh{color:var(--color-primary-light);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:.62rem;font-weight:700}.recent-session-metric.svelte-6sq1fh{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:2px;min-width:0;display:flex}.recent-session-metric.svelte-6sq1fh strong:where(.svelte-6sq1fh){color:var(--color-text-secondary);font-size:.92rem;font-weight:650}.recent-session-metric.svelte-6sq1fh small:where(.svelte-6sq1fh){color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.65rem}.recent-session-row.svelte-6sq1fh:first-child .accuracy-metric:where(.svelte-6sq1fh) strong:where(.svelte-6sq1fh){color:var(--color-primary-light)}.progress-highlights.svelte-6sq1fh{justify-content:center;gap:var(--space-md);padding:var(--space-md);border-left:1px solid #fff1;flex-direction:column;display:flex}.progress-highlight.svelte-6sq1fh{color:var(--color-text-muted);align-items:center;gap:9px;display:flex}.progress-highlight.svelte-6sq1fh>span:where(.svelte-6sq1fh):last-child{flex-direction:column;gap:2px;display:flex}.progress-highlight.svelte-6sq1fh strong:where(.svelte-6sq1fh),.progress-empty.svelte-6sq1fh strong:where(.svelte-6sq1fh){color:var(--color-text-secondary);font-size:var(--setup-type-help);font-weight:600}.progress-highlight.svelte-6sq1fh small:where(.svelte-6sq1fh),.progress-empty.svelte-6sq1fh span:where(.svelte-6sq1fh){color:var(--color-text-muted);font-size:.75rem}.trend-number.svelte-6sq1fh{min-width:44px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.trend-number.up.svelte-6sq1fh{color:var(--color-success-light)}.progress-empty.svelte-6sq1fh{padding:var(--space-lg);border-radius:var(--radius-md);text-align:center;border:1px dashed #94a3b82e;flex-direction:column;gap:4px;display:flex}@media (width<=1000px){.progress-recap-body.svelte-6sq1fh{grid-template-columns:1fr}.progress-highlights.svelte-6sq1fh{border-top:1px solid #fff1;border-left:0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=768px){.recent-session-row.svelte-6sq1fh{grid-template-columns:minmax(130px,1.3fr) repeat(3,minmax(58px,.6fr));padding-inline:10px}.latest-marker.svelte-6sq1fh{display:none}}.fretboard-section.svelte-hy9bcf{margin-bottom:var(--space-md);position:relative}.fretboard-card.svelte-hy9bcf{border-radius:var(--radius-md);padding:var(--space-md);gap:var(--space-md);margin-bottom:var(--space-md);background:#0f172abf;border:1px solid #94a3b81c;flex-direction:column;display:flex}.session-launcher+.fretboard-card.svelte-hy9bcf{margin-top:0}.fretboard-hint.svelte-hy9bcf{margin:0 0 var(--space-sm);text-align:center;color:var(--color-text-secondary);font-size:var(--setup-type-value);line-height:1.4}.fretboard-hint.svelte-hy9bcf strong:where(.svelte-hy9bcf){color:var(--color-text-primary);font-weight:600}.fretboard-card.svelte-hy9bcf .fretboard-section:where(.svelte-hy9bcf){margin-bottom:0;margin-top:var(--space-xs)}@media (width<=640px){.fretboard-hint.svelte-hy9bcf{font-size:var(--setup-type-control)}}
