.session-score-status-card,.session-rating-panel,.session-score-overlay{color:var(--sn-color-text-primary)}.progress-bar{position:relative;height:10px;width:100%;border-radius:999px;background:var(--sn-color-divider);overflow:hidden}.progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--sn-color-brand)}.large-progress{height:14px}.audio-player{width:100%}.session-player{display:grid;gap:22px}.session-player-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-rows:minmax(0,1fr);gap:0;padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));background:var(--sn-color-app-background);min-height:100vh;min-height:100dvh}.session-player-shell-fullscreen{padding:calc(6px + env(safe-area-inset-top)) calc(6px + env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) calc(6px + env(safe-area-inset-left))}.session-floating-exit,.session-control-button{border:0;cursor:pointer;font:inherit}.session-floating-exit{position:fixed;top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));z-index:34;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:999px;color:var(--sn-color-text-secondary);background:var(--sn-color-surface);border:1px solid var(--sn-color-border);box-shadow:var(--sn-shadow-card);backdrop-filter:blur(10px) saturate(108%);-webkit-backdrop-filter:blur(10px) saturate(108%);line-height:1;transition:background .16s ease,border-color .16s ease,transform .16s ease}.session-floating-exit:hover{color:var(--sn-color-brand);background:var(--sn-color-surface-subtle);border-color:var(--sn-color-brand-border)}.session-floating-exit:active{transform:scale(.97)}.session-floating-exit:disabled,.session-control-button:disabled,.session-rating-action:disabled{opacity:.5;cursor:not-allowed}.session-hud-label,.session-control-readout-label{color:var(--sn-color-text-secondary);font-size:.68rem;text-transform:uppercase;letter-spacing:0}.session-player-stage{min-height:0;overflow:auto;--session-transport-safety-area: 256px;background:var(--sn-color-app-background);scroll-padding-bottom:calc(var(--session-transport-safety-area) + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.session-immersive-score{position:relative;min-height:100%;padding:clamp(22px,3vw,44px) clamp(14px,3.4vw,48px) calc(var(--session-transport-safety-area) + env(safe-area-inset-bottom));background:var(--sn-color-app-background)}.session-player-shell-fullscreen .session-player-stage{--session-transport-safety-area: 240px}.session-player-shell-fullscreen .session-immersive-score{padding:clamp(10px,1.3vw,20px) clamp(6px,1.2vw,18px) calc(var(--session-transport-safety-area) + env(safe-area-inset-bottom))}.session-score-surface{width:min(100%,1240px);margin:0 auto;padding:clamp(8px,1.25vw,16px);border-radius:14px;background:transparent;border:0;box-shadow:none;transition:opacity .16s ease,filter .16s ease}.session-player-shell-fullscreen .session-score-surface{width:100%;padding:0;background:transparent}.session-score-surface-muted{opacity:.24;filter:blur(.75px)}.triad-grid{display:grid;--triad-visible-system-count: 2.35;--triad-stage-reserved-height: 280px;gap:10px;max-width:980px;margin:0 auto}.triad-grid-subtitle,.triad-grid-state{margin:0;color:var(--sn-color-text-secondary)}.triad-grid-subtitle,.triad-grid-state{text-align:center}.triad-grid-state{padding:28px}.triad-grid-state-error{color:var(--sn-color-danger)}.triad-grid-systems{display:grid;gap:14px}.triad-grid-system{display:grid;grid-template-columns:repeat(var(--triad-grid-measures-per-system),minmax(0,1fr));overflow:hidden;min-height:clamp(170px,calc((100dvh - var(--triad-stage-reserved-height)) / var(--triad-visible-system-count)),230px);background:var(--sn-color-surface);border:1px solid var(--sn-color-border);border-radius:10px}.triad-grid-measure{display:grid;gap:8px;grid-template-rows:auto minmax(0,1fr);padding:10px 12px;color:var(--sn-color-text-primary);text-align:left;background:transparent;border:0;border-radius:0;cursor:pointer}.triad-grid-measure+.triad-grid-measure{border-left:1px solid var(--sn-color-border)}.triad-grid-measure:hover,.triad-grid-measure:focus-visible{background:var(--sn-color-surface-subtle);outline:none}.triad-grid-measure.active{background:var(--sn-color-surface-subtle);box-shadow:inset 0 2px 0 var(--sn-color-brand-border)}.triad-grid-measure.selected:not(.active){box-shadow:inset 0 -2px 0 var(--sn-color-brand-border)}.triad-grid-measure-number{color:var(--sn-color-text-secondary);font-size:.72rem;font-weight:600}.triad-grid-events{display:flex;min-width:0;align-items:stretch;min-height:0}.triad-grid-event{display:grid;min-width:0;min-height:52px;place-items:center;padding:6px 4px;color:var(--sn-color-text-primary);font-size:clamp(1.05rem,2vw,1.5rem);font-weight:700}.triad-grid-event+.triad-grid-event{border-left:1px solid var(--sn-color-border)}.triad-grid-event.active{background:var(--sn-color-surface-subtle);color:var(--sn-color-brand);box-shadow:inset 0 -3px 0 var(--sn-color-brand)}@media(max-width:720px){.triad-grid{--triad-visible-system-count: 2.1;--triad-stage-reserved-height: 230px}.triad-grid-system{min-height:clamp(120px,calc((100dvh - var(--triad-stage-reserved-height)) / var(--triad-visible-system-count)),180px)}.triad-grid-measure{padding:9px 10px}.triad-grid-event{min-height:50px;font-size:clamp(.84rem,4vw,1.1rem)}}@media(max-width:440px){.triad-grid-system{grid-template-columns:1fr}.triad-grid-measure+.triad-grid-measure{border-top:1px solid var(--sn-color-border);border-left:0}}.session-immersive-score .score-wrapper{min-height:auto}.session-immersive-score .score-canvas{min-height:100%}.session-immersive-score .score-canvas svg{display:block;width:min(100%,1160px);margin:0 auto 30px;background:var(--sn-color-surface);border:1px solid var(--sn-color-border);border-radius:10px;padding:clamp(22px,2.8vw,38px) clamp(18px,2.6vw,34px) clamp(20px,2.4vw,32px);box-shadow:var(--sn-shadow-card)}.session-player-shell-fullscreen .session-immersive-score .score-canvas svg{width:100%;margin-bottom:20px;padding:clamp(14px,1.8vw,24px) clamp(10px,1.4vw,20px) clamp(12px,1.4vw,18px)}.session-score-overlay{position:sticky;z-index:2;display:flex;justify-content:center;pointer-events:none}.session-score-phase-overlay{top:0;margin-bottom:16px}.session-score-status-card,.session-rating-panel{display:grid;gap:10px;width:min(100%,420px);padding:18px 20px;border-radius:14px;background:var(--sn-color-surface);border:1px solid var(--sn-color-border);box-shadow:var(--sn-shadow-card)}.session-score-status-card span,.session-rating-panel p{color:var(--sn-color-text-secondary)}.session-score-rating-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px}.score-player-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-items:center;padding:calc(22px + env(safe-area-inset-top)) calc(22px + env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) calc(22px + env(safe-area-inset-left));pointer-events:none}.score-player-overlay-completion{background:#2d2a232e}.exercise-guidance-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:36;display:grid;place-items:center;padding:calc(22px + env(safe-area-inset-top)) calc(22px + env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) calc(22px + env(safe-area-inset-left));background:#1c202247;pointer-events:auto}.exercise-guidance-dialog{display:grid;gap:12px;width:min(100%,460px);max-height:min(720px,calc(100vh - 44px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));padding:22px 24px;overflow:auto;border-radius:16px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);border:1px solid var(--sn-color-border);box-shadow:var(--sn-shadow-card);text-align:left;overscroll-behavior:contain}.exercise-guidance-dialog h2{margin:0;color:var(--sn-color-text-primary);font-family:var(--font-display);font-size:1.45rem;line-height:1.12;letter-spacing:0}.exercise-guidance-body{display:grid;gap:9px}.exercise-guidance-body p{margin:0;color:var(--sn-color-text-secondary);font-size:.96rem;line-height:1.48}.exercise-guidance-preference{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border-radius:10px;color:var(--sn-color-text-secondary);background:var(--sn-color-surface-subtle);border:1px solid var(--sn-color-border);font-size:.86rem;font-weight:600;line-height:1.32}.exercise-guidance-preference input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--sn-color-brand)}.exercise-guidance-actions{display:flex;justify-content:flex-end}.exercise-guidance-actions .score-player-overlay-action{min-width:160px}.score-player-overlay-panel{display:grid;gap:12px;width:min(100%,440px);padding:24px;border-radius:14px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);border:1px solid var(--sn-color-border);box-shadow:var(--sn-shadow-card);text-align:center;pointer-events:auto}.score-player-overlay-count-in .score-player-overlay-panel{gap:6px;width:min(100%,360px);padding:24px 28px 28px}.score-player-overlay-completion .score-player-overlay-panel{width:min(100%,720px);max-height:min(760px,calc(100vh - 44px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));padding:clamp(20px,3vw,30px);overflow:auto;overscroll-behavior:contain}.score-player-overlay-panel h2{margin:0;font-family:var(--font-display);line-height:1.12;letter-spacing:0;color:var(--sn-color-text-primary)}.score-player-overlay-description{margin:0;color:var(--sn-color-text-secondary)}.score-player-overlay-completion .score-player-overlay-description{display:grid;gap:14px;justify-items:stretch;text-align:left}.score-player-assessment-shell{display:grid;gap:16px;justify-items:stretch;text-align:left}.score-player-assessment-summary{display:grid;gap:10px}.score-player-assessment-heading{display:flex;gap:12px;align-items:baseline;justify-content:space-between}.score-player-assessment-support{margin:0;color:var(--sn-color-text-secondary);font-size:.92rem;line-height:1.4}.score-player-assessment-progress{flex:0 0 auto;margin:0;padding:4px 8px;border-radius:999px;color:var(--sn-color-text-secondary);background:var(--sn-color-surface-subtle);border:1px solid var(--sn-color-border);font-size:.78rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.score-player-overlay-count-in .score-player-overlay-description{margin-top:2px;color:var(--sn-color-brand);font-family:var(--font-display);font-size:clamp(2.7rem,6vw,4.3rem);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.score-player-overlay-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.score-player-overlay-completion .score-player-overlay-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:9px;margin-top:0}.score-player-overlay-action{min-height:var(--touch-target);padding:0 14px;border-radius:10px;border:1px solid var(--sn-color-border);color:var(--sn-color-text-primary);background:var(--sn-color-surface);cursor:pointer;font:inherit;font-weight:700;transition:transform .12s ease,background .16s ease,border-color .16s ease,opacity .16s ease}.score-player-overlay-action.primary{color:var(--sn-color-surface);background:var(--sn-color-brand);border-color:var(--sn-color-brand);box-shadow:var(--sn-shadow-card)}.score-player-overlay-completion .score-player-overlay-action{width:100%}.score-player-assessment-summary{padding:2px 0 0;border-radius:0;background:transparent;border:1px solid var(--sn-color-border);border-width:1px 0 0}.score-player-assessment-summary-status{margin:0;color:var(--sn-color-text-primary);font-size:1rem;font-weight:700;line-height:1.25}.score-player-assessment-summary-overall{margin:0;color:var(--sn-color-text-secondary);font-size:.92rem;font-weight:600;line-height:1.35}.score-player-assessment-summary-list{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 0;padding:0;list-style:none}.score-player-assessment-summary-item{margin:0;padding:6px 9px;border-radius:10px;background:var(--sn-color-surface-subtle);border:1px solid var(--sn-color-border);color:var(--sn-color-text-secondary);font-size:.8rem;line-height:1.25}.score-player-overlay-action:active{transform:scale(.98)}.session-floating-exit:focus-visible,.exercise-guidance-preference input:focus-visible,.score-player-overlay-action:focus-visible,.score-player-assessment-level:focus-visible,.free-player-instructions-button:focus-visible,.transport-button:focus-visible,.transport-layout-button:focus-visible,.transport-tempo-reset:focus-visible{outline:none;box-shadow:var(--sn-focus-ring)}.score-player-overlay-action:disabled{opacity:.5;cursor:not-allowed}.score-player-assessment-grid{display:grid;border-top:1px solid var(--sn-color-divider)}.score-player-assessment-actions{display:flex;justify-content:center;margin-top:-2px;padding-top:14px;border-top:1px solid var(--sn-color-divider)}.score-player-assessment-criterion{display:grid;grid-template-columns:minmax(175px,.8fr) minmax(0,1.45fr);gap:20px;align-items:center;padding:14px 0}.score-player-assessment-criterion+.score-player-assessment-criterion{border-top:1px solid var(--sn-color-divider)}.score-player-assessment-criterion-copy{display:grid;gap:3px}.score-player-assessment-criterion-title{margin:0;color:var(--sn-color-text-primary);font-size:.92rem;font-weight:700;line-height:1.2}.score-player-assessment-criterion-copy .inline-note{font-size:.82rem;line-height:1.28}.score-player-assessment-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.score-player-assessment-level{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;align-items:center;min-height:48px;padding:7px 8px;border-radius:8px;border:1px solid var(--sn-color-border);background:var(--sn-color-surface);color:var(--sn-color-text-primary);cursor:pointer;font:inherit;font-size:.76rem;font-weight:650;line-height:1.15;text-align:center;box-shadow:none;transition:transform .12s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,opacity .16s ease}.score-player-assessment-level:hover{background:var(--sn-color-surface-subtle);border-color:var(--sn-color-text-secondary)}.score-player-assessment-level.selected{font-weight:800;box-shadow:inset 0 0 0 1px currentColor}.score-player-assessment-level.selected:before{content:"✓";font-size:.85rem;font-weight:800}.score-player-assessment-level.level-1.selected{color:#853f34;background:#f8e9e4;border-color:#bd7465}.score-player-assessment-level.level-2.selected{color:#7a5a18;background:#f7f0df;border-color:#b69a58}.score-player-assessment-level.level-3.selected{color:var(--sn-color-brand);background:var(--sn-color-brand-soft);border-color:var(--sn-color-brand-border)}.score-player-assessment-level.level-4.selected{color:#176a63;background:#e4f2ee;border-color:#5e9d94}.score-player-assessment-level:active{transform:scale(.98)}.score-player-assessment-level:disabled{opacity:.58;cursor:not-allowed}.score-player-assessment-level:disabled:not(.selected):hover{transform:none}.score-player-assessment-save{min-width:min(100%,240px);width:100%}.score-player-overlay-completion .score-player-assessment-save{min-height:42px}.score-player-assessment-save:disabled{opacity:.5;cursor:not-allowed}.score-player-assessment-feedback{color:var(--sn-color-text-secondary);font-size:.84rem;font-weight:600;text-align:center}.session-rating-panel{text-align:center;pointer-events:auto}.session-rating-panel h2{margin:0;font-family:var(--font-display);line-height:1.1}.session-player-controls{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:35;display:flex;gap:10px;align-items:center;justify-content:center;width:auto;max-width:min(calc(100vw - 24px),1180px);margin:0 auto;padding:0;border:0;background:transparent;transform:translate(-50%);isolation:isolate}.session-player-controls:before{content:"";position:absolute;left:50%;bottom:calc(-16px - env(safe-area-inset-bottom));z-index:-1;width:100vw;height:calc(178px + env(safe-area-inset-bottom));transform:translate(-50%);background:linear-gradient(180deg,transparent,var(--sn-color-app-background));pointer-events:none}.score-transport{--transport-accent: var(--sn-color-brand);--transport-accent-strong: var(--sn-color-brand);--transport-accent-soft: var(--sn-color-brand-soft);--transport-accent-faint: var(--sn-color-surface-subtle);--transport-ink: var(--sn-color-text-primary);--transport-muted: var(--sn-color-text-secondary);--transport-line: var(--sn-color-divider);--transport-control: var(--sn-color-surface);--transport-control-hover: var(--sn-color-surface-subtle);--transport-control-pressed: var(--sn-color-brand-soft);position:relative;display:grid;justify-items:center;width:fit-content;max-width:100%}.score-transport-bar{display:flex;flex-wrap:nowrap;gap:7px;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin:0 auto;padding:9px;border-radius:16px;background:var(--sn-color-surface);border:1px solid var(--sn-color-border);box-shadow:var(--sn-shadow-card)}.free-player-controls-stack{display:grid;gap:8px;justify-items:center;width:fit-content;max-width:min(100%,1060px)}.free-player-reading-mask-indicator{display:flex;gap:6px;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:34px;padding:0 12px;border-radius:999px;color:var(--sn-color-text-secondary);font-size:.76rem;font-weight:650;line-height:1;letter-spacing:.01em;background:var(--sn-color-surface-subtle);border:1px solid var(--sn-color-border);box-shadow:none}.free-player-instructions-button{min-height:36px;padding:0 14px;border:1px solid var(--sn-color-border);border-radius:10px;color:var(--sn-color-brand);background:var(--sn-color-surface);box-shadow:var(--sn-shadow-card);cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;line-height:1}.free-player-instructions-button:hover{color:var(--sn-color-brand-hover);background:var(--sn-color-surface-subtle);border-color:var(--sn-color-brand-border)}.transport-group{display:flex;gap:6px;align-items:center;min-height:44px;padding:4px;border:1px solid transparent;border-radius:12px;background:transparent}.transport-group-core{gap:6px;padding-right:9px;border-right-color:var(--transport-line)}.transport-group-tempo{flex:0 1 auto;padding:0;border-color:var(--sn-color-border);background:var(--sn-color-surface-subtle)}.transport-group-metronome,.transport-group-fullscreen,.transport-group-options{padding:4px 2px}.transport-group-options{padding-left:9px;border-left-color:var(--transport-line)}.transport-button{min-height:44px;border-radius:10px;padding:0 12px;color:var(--transport-ink);background:var(--sn-color-surface);border:1px solid var(--sn-color-border);cursor:pointer;font:inherit;white-space:nowrap;box-shadow:none;transition:transform .16s ease,box-shadow .16s ease,color .16s ease,border-color .16s ease,background .16s ease}.transport-button:hover{color:var(--sn-color-brand);background:var(--sn-color-surface-subtle);border-color:var(--sn-color-brand-border)}.transport-button:disabled:hover{transform:none}.transport-button:disabled:active,.transport-layout-button:disabled:active{transform:none}.transport-button:active{color:var(--sn-color-brand);background:var(--sn-color-brand-soft);border-color:var(--sn-color-brand-border);box-shadow:none;transform:scale(.98)}.transport-button-icon{display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;font-size:1.08rem;line-height:1}.transport-button.primary{width:52px;min-width:52px;height:52px;border-radius:13px;color:var(--sn-color-surface);background:var(--sn-color-brand);border-color:var(--sn-color-brand);box-shadow:var(--sn-shadow-card)}.transport-button.primary:hover{background:var(--sn-color-brand-hover);border-color:var(--sn-color-brand-hover)}.transport-toggle{position:relative;display:inline-grid;place-items:center;min-width:44px;min-height:44px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);padding:0 10px}.transport-toggle.active{color:var(--sn-color-brand);background:var(--sn-color-brand-soft);border-color:var(--sn-color-brand-border);box-shadow:none}.transport-feature-toggle{display:inline-flex;gap:7px;padding:0 11px;font-size:.76rem;font-weight:700}.transport-feature-label{white-space:nowrap}.transport-options-button[aria-expanded=true]{color:var(--sn-color-brand);border-color:var(--sn-color-brand-border);background:var(--sn-color-brand-soft)}.transport-options-panel{position:absolute;right:0;bottom:calc(100% + 8px);z-index:2;display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:16px;width:min(580px,calc(100vw - 32px));padding:10px 12px;border-radius:13px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);border:1px solid var(--sn-color-border);box-shadow:var(--sn-shadow-card)}.transport-options-group{min-width:0;margin:0;padding:0;border:0}.transport-options-group legend{display:none}.transport-options-practice-controls{display:flex;gap:6px;align-items:center;min-height:100%}.transport-option-toggle{display:inline-flex;flex:0 0 auto;gap:6px;justify-content:center;min-width:0;min-height:42px;padding:0 10px;font-size:.76rem;font-weight:700}.transport-options-display{min-width:0}.transport-display-settings{display:grid}.transport-display-setting{display:flex;gap:8px;align-items:center}.transport-display-setting-label{color:var(--sn-color-text-secondary);font-size:.7rem;font-weight:700;line-height:1.1;white-space:nowrap}.transport-layout-value{display:grid;place-items:center;min-width:48px;min-height:32px;border-radius:8px;color:var(--sn-color-text-primary);background:var(--sn-color-surface-subtle);font-size:.82rem;font-weight:750;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.transport-zoom-control{display:inline-grid;grid-template-columns:42px 52px 42px;gap:2px;align-items:center}.transport-options-panel .transport-layout-button{width:42px;min-width:42px;height:42px;min-height:42px;border-radius:10px}.transport-icon{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;vector-effect:non-scaling-stroke}.transport-button.primary .transport-icon{width:25px;height:25px;stroke-width:2}.transport-icon[data-icon=play]{transform:translate(1px)}.session-floating-exit .transport-icon{width:22px;height:22px;stroke-width:1.9}.transport-tempo-button .transport-icon,.transport-layout-button .transport-icon{width:19px;height:19px}.transport-layout-button{display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;border:1px solid var(--sn-color-border);border-radius:12px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);cursor:pointer;font:inherit;padding:0;box-shadow:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}.transport-layout-button:hover{color:var(--sn-color-brand);background:var(--sn-color-surface-subtle);border-color:var(--sn-color-brand-border)}.transport-layout-button:active{color:var(--sn-color-brand);background:var(--sn-color-brand-soft);border-color:var(--sn-color-brand-border);box-shadow:none;transform:scale(.98)}.transport-layout-button:disabled{opacity:.35;cursor:not-allowed}.transport-layout-button:disabled:hover{transform:none}.transport-button:disabled{opacity:.5;cursor:not-allowed}.transport-button:focus-visible,.transport-layout-button:focus-visible,.transport-tempo-reset:focus-visible{outline:none;box-shadow:var(--sn-focus-ring)}.transport-tempo-control{position:relative;display:flex;align-items:center;gap:6px;min-height:44px;padding:4px 7px 4px 11px;border-radius:12px;background:var(--sn-color-surface-subtle);border:1px solid var(--sn-color-border);box-shadow:none}.transport-tempo-label{color:var(--sn-color-text-secondary);font-size:.74rem;font-weight:700;letter-spacing:0;white-space:nowrap}.transport-tempo-value{display:grid;place-items:center;min-width:58px;padding:0 6px;color:var(--sn-color-text-primary);font-size:.94rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.transport-tempo-button{display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;border-radius:12px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);border:1px solid var(--sn-color-border);box-shadow:none;font-size:1.1rem;line-height:1}.transport-tempo-button:active{transform:scale(.98)}.transport-tempo-reset{min-height:32px;border:1px solid transparent;border-radius:10px;padding:0 8px;background:transparent;color:var(--sn-color-brand);font:inherit;font-size:.76rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .16s ease,border-color .16s ease,transform .16s ease}.transport-tempo-reset:hover{color:var(--sn-color-brand-hover);background:var(--sn-color-surface-subtle);border-color:var(--sn-color-brand-border)}.transport-tempo-reset:active{transform:scale(.98)}.transport-tempo-reset:disabled{opacity:.45;cursor:not-allowed}.transport-tempo-reset:disabled:hover{transform:none}.transport-tempo-button[aria-disabled=true],.transport-tempo-reset[aria-disabled=true]{opacity:.5;cursor:not-allowed}.transport-tempo-button[aria-disabled=true]:active,.transport-tempo-reset[aria-disabled=true]:active,.transport-tempo-reset[aria-disabled=true]:hover{transform:none}.transport-tempo-lock-note{position:absolute;top:calc(100% + 4px);left:10px;right:10px;z-index:1;padding:4px 8px;border-radius:8px;color:var(--sn-color-text-secondary);background:var(--sn-color-surface-subtle);border:1px solid var(--sn-color-border);box-shadow:none;font-size:.68rem;font-weight:600;line-height:1.2;text-align:center;pointer-events:none;white-space:nowrap}.transport-readout{min-width:120px;flex:0 1 160px;min-height:44px;padding:9px 12px;border-radius:12px;color:var(--sn-color-text-secondary);background:var(--sn-color-surface-subtle);border:1px solid var(--sn-color-border);box-shadow:none;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1180px){.score-transport-bar{gap:6px}}@media(max-width:1050px){.transport-group-fullscreen .transport-feature-label{display:none}}@media(max-width:900px){.transport-options-label{display:none}}@media(pointer:coarse),(max-width:860px){.session-player-stage{--session-transport-safety-area: 304px}.session-immersive-score{padding-right:clamp(10px,2.4vw,22px);padding-bottom:calc(var(--session-transport-safety-area) + env(safe-area-inset-bottom));padding-left:clamp(10px,2.4vw,22px)}.session-player-shell-fullscreen .session-player-stage{--session-transport-safety-area: 288px}.session-player-shell-fullscreen .session-immersive-score{padding-bottom:calc(var(--session-transport-safety-area) + env(safe-area-inset-bottom))}.score-transport-bar{gap:6px;padding:8px;border-radius:15px}.transport-button-icon,.transport-toggle,.transport-layout-button,.transport-tempo-button{min-width:44px;min-height:44px}.transport-button.primary{width:52px;min-width:52px;height:52px}.transport-tempo-control{min-height:44px}}@media(max-width:620px){.session-player-controls{bottom:calc(10px + env(safe-area-inset-bottom));max-width:min(calc(100vw - 16px),560px)}.session-immersive-score{padding-top:clamp(18px,5vw,28px);padding-bottom:calc(var(--session-transport-safety-area) + env(safe-area-inset-bottom))}.session-player-stage{--session-transport-safety-area: 340px}.session-player-shell-fullscreen .session-player-stage{--session-transport-safety-area: 324px}.session-player-shell-fullscreen .session-immersive-score{padding-bottom:calc(var(--session-transport-safety-area) + env(safe-area-inset-bottom))}.session-player-controls:before{bottom:calc(-10px - env(safe-area-inset-bottom));height:calc(240px + env(safe-area-inset-bottom))}.session-immersive-score .score-canvas svg{padding:clamp(14px,4vw,20px) clamp(10px,3vw,16px) clamp(12px,3vw,16px);border-radius:12px}.score-transport-bar{flex-wrap:wrap;width:min(100%,560px);justify-content:center}.transport-group-core,.transport-group-tempo,.transport-group-metronome,.transport-group-fullscreen,.transport-group-options{flex:0 0 auto;justify-content:center}.transport-group-core{order:1}.transport-readout{order:2}.transport-group-tempo{flex-basis:100%;order:3}.transport-group-metronome{order:4}.transport-group-fullscreen{order:5}.transport-group-options{order:6}.transport-tempo-control{flex-wrap:wrap;justify-content:center;width:100%}.score-player-overlay-completion .score-player-overlay-actions{grid-template-columns:1fr}.score-player-assessment-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.score-player-assessment-criterion{grid-template-columns:1fr;gap:10px}}@media(max-width:560px){.transport-options-panel{grid-template-columns:minmax(0,1fr);gap:8px;width:min(580px,calc(100vw - 32px))}.transport-options-display{min-width:0;justify-self:end}}@media(max-width:480px){.transport-options-practice-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.transport-option-toggle{min-width:0;padding:0 7px}.transport-option-toggle span{display:none}}@media(max-width:420px){.score-player-overlay-panel,.score-player-overlay-completion .score-player-overlay-panel{padding:16px}.score-player-assessment-heading{align-items:flex-start;flex-direction:column;gap:7px}.transport-tempo-label{flex-basis:100%;text-align:center}.transport-tempo-value{min-width:74px}}.session-control-stack{display:grid;gap:10px}.session-control-button,.session-control-readout,.session-rating-actions,.session-launch-button{min-height:68px}.session-control-button{padding:16px 20px;border-radius:8px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);border:1px solid var(--sn-color-border);box-shadow:var(--sn-shadow-card)}.session-control-toggle.active{color:var(--sn-color-brand);background:var(--sn-color-brand-soft);border-color:var(--sn-color-brand-border)}.session-control-readout{display:grid;gap:6px;padding:14px 18px;border-radius:8px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);border:1px solid var(--sn-color-border);box-shadow:var(--sn-shadow-card)}.session-control-readout strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-launch-button{min-width:168px;color:var(--sn-color-surface);background:var(--sn-color-brand);border:1px solid var(--sn-color-brand);box-shadow:var(--sn-shadow-card)}.session-rating-actions{display:flex;gap:10px}.session-rating-action{padding:16px 20px;border-radius:10px;border:1px solid var(--sn-color-border);cursor:pointer;font:inherit;color:var(--sn-color-text-primary);background:var(--sn-color-surface);box-shadow:var(--sn-shadow-card)}.session-rating-action.hard{background:var(--sn-color-surface)}.session-rating-action.ok{background:var(--sn-color-surface-subtle)}.session-rating-action.easy{color:var(--sn-color-brand);background:var(--sn-color-brand-soft);border-color:var(--sn-color-brand-border)}:root{color-scheme:light;--sn-color-app-background: #F7F4EE;--sn-color-surface: #FFFDFC;--sn-color-surface-subtle: #FAF7F2;--sn-color-text-primary: #24211D;--sn-color-text-secondary: #716A61;--sn-color-text-tertiary: #928A80;--sn-color-border: #E5DDD2;--sn-color-border-strong: #D5CABC;--sn-color-divider: #EAE3DA;--sn-color-brand: #123F5B;--sn-color-brand-hover: #0D3147;--sn-color-brand-active: #092639;--sn-color-brand-soft: #E8F0F4;--sn-color-brand-border: #BDD0DA;--sn-color-guide: #355AA8;--sn-color-guide-soft: #E9EEF9;--sn-color-guide-border: #C3CEE8;--sn-color-gold: #A87532;--sn-focus-1: #397873;--sn-focus-1-soft: #E7F0EE;--sn-focus-2: #3D6F9D;--sn-focus-2-soft: #E7EEF5;--sn-focus-3: #A87532;--sn-focus-4: #686B83;--sn-focus-4-soft: #ECECF1;--sn-status-neutral: #78736C;--sn-status-neutral-soft: #F1EEEA;--sn-status-neutral-border: #DCD6CE;--sn-status-opened: #355AA8;--sn-status-opened-soft: #E6EDF8;--sn-status-opened-border: #C6D2EA;--sn-status-review: #A3410C;--sn-status-review-soft: #F0D4BF;--sn-status-review-border: #A3410C;--sn-status-secure: #3F7653;--sn-status-secure-soft: #E7F1EA;--sn-status-secure-border: #BDD7C4;--sn-shadow-card: 0 1px 2px rgba(36, 33, 29, .03), 0 8px 22px rgba(36, 33, 29, .055);--sn-focus-ring: 0 0 0 3px rgba(18, 63, 91, .22);--font-display: "Iowan Old Style", "New York", "Book Antiqua", Palatino, serif;--font-sans: "Avenir Next", "SF Pro Text", "Segoe UI", "Helvetica Neue", sans-serif;--color-paper: #fdfaf6;--color-paper-strong: #f9f4ec;--surface-app: var(--color-paper);--surface-panel: #fcfaf5;--surface-panel-cool: #fbfcfc;--surface-sidebar: #fffdfb;--surface-card: #fffdfb;--surface-card-raised: rgba(255, 255, 253, .98);--surface-card-muted: rgba(255, 253, 251, .88);--surface-card-strong: #fffdfb;--surface-highlight: rgba(255, 255, 253, .94);--surface-overlay: rgba(255, 255, 252, .96);--surface-card-bright: rgba(255, 255, 253, .99);--surface-card-faint: rgba(255, 255, 253, .82);--surface-card-soft: rgba(255, 255, 253, .9);--surface-card-warm-faint: rgba(249, 244, 236, .34);--surface-card-warm-soft: rgba(249, 244, 236, .42);--surface-card-highlight: rgba(255, 255, 253, .96);--surface-paper-panel: linear-gradient(180deg, var(--surface-card-bright), var(--surface-card-warm-soft)), var(--surface-card-strong);--surface-paper-panel-soft: linear-gradient(180deg, var(--surface-card-highlight), var(--surface-card-warm-faint)), var(--surface-card);--surface-paper-inset: linear-gradient(180deg, rgba(255, 255, 253, .94), rgba(249, 244, 236, .58));--score-reading-mask-paper: #fffdf8;--score-reading-mask-line: rgba(35, 32, 28, .48);--ink-primary: #1f1d1a;--ink-secondary: #6c6257;--navy-primary: #103a56;--navy-hover: #0b2b40;--navy-soft: #e7f0f5;--gold-accent: #b88746;--border-subtle-ivory: #ece4da;--border-strong-ivory: #e2d8ca;--border-navy-subtle: rgba(16, 58, 86, .08);--text-primary: var(--ink-primary);--text-secondary: #332f2a;--text-muted: var(--ink-secondary);--text-strong: #50483f;--border-default: #e9dfd3;--border-subtle: #ece4da;--border-strong: #e2d8ca;--border-accent-soft: rgba(16, 58, 86, .08);--border-accent: rgba(16, 58, 86, .16);--border-accent-strong: rgba(16, 58, 86, .26);--border-paper: var(--border-subtle-ivory);--border-paper-accent: var(--border-accent-soft);--accent: var(--navy-primary);--accent-strong: var(--navy-hover);--accent-soft: rgba(18, 58, 86, .12);--success: #476c55;--danger: #a9483d;--status-review-ink: #A3410C;--status-review-surface: #F0D4BF;--status-review-border: #A3410C;--status-review-glow: rgba(163, 65, 12, .08);--status-practice-ink: #355aa8;--status-practice-surface: rgba(53, 90, 168, .12);--status-practice-border: rgba(53, 90, 168, .18);--status-success-ink: #476c55;--status-success-surface: rgba(71, 108, 85, .1);--status-success-border: rgba(71, 108, 85, .14);--chip-surface: rgba(255, 255, 253, .78);--chip-surface-strong: rgba(18, 58, 86, .12);--chip-border: var(--border-subtle);--chip-border-strong: rgba(18, 58, 86, .18);--chip-text: var(--text-muted);--chip-text-strong: var(--accent-strong);--chip-success-surface: rgba(45, 111, 69, .08);--chip-success-border: rgba(45, 111, 69, .14);--button-primary-bg: var(--navy-primary);--button-primary-bg-hover: var(--navy-hover);--button-primary-border: rgba(11, 43, 64, .28);--button-primary-shadow: 0 8px 18px rgba(11, 43, 64, .16);--control-surface: rgba(255, 255, 253, .82);--control-surface-hover: rgba(255, 255, 253, .96);--control-border: var(--border-subtle);--control-border-hover: var(--border-default);--control-text: var(--text-secondary);--control-text-strong: var(--text-strong);--radius-panel: 16px;--radius-card: 14px;--radius-control: 11px;--radius-chip: 999px;--touch-target: 48px;--shadow-card: 0 1px 2px rgba(35, 30, 24, .035), 0 10px 20px rgba(35, 30, 24, .03);--shadow-card-strong: 0 1px 2px rgba(35, 30, 24, .04), 0 14px 28px rgba(35, 30, 24, .045);--shadow-card-subtle: 0 1px 1px rgba(35, 30, 24, .028);--shadow-card-subtle-soft: 0 1px 1px rgba(35, 30, 24, .022);--shadow-control: 0 6px 14px rgba(35, 30, 24, .05);--shadow-control-hover: 0 7px 16px rgba(35, 30, 24, .055);--shadow-focus-soft: 0 0 0 1px rgba(16, 58, 86, .08);--shadow: var(--shadow-card-strong);--shadow-soft: var(--shadow-card);--focus-ring: 3px solid rgba(16, 58, 86, .22);--focus-ring-offset: 3px;--content-max: 1160px;--shell-max: 1496px;--staff-line: rgba(16, 58, 86, .024);--staff-line-soft: rgba(80, 72, 63, .01);--bg: var(--color-paper);--bg-strong: var(--color-paper-strong);--bg-sidebar: var(--surface-sidebar);--surface: var(--surface-card);--surface-elevated: var(--surface-card-raised);--surface-muted: var(--surface-card-muted);--surface-strong: var(--surface-card-strong);--ink: var(--text-primary);--ink-soft: var(--text-secondary);--muted: var(--text-muted);--muted-strong: var(--text-strong);--line: var(--border-default);--line-soft: var(--border-subtle);--sn-page-transition-out-duration: .18s;--sn-page-transition-in-duration: .36s;--sn-page-transition-in-delay: 90ms;--sn-page-transition-offset: 4px;--sn-page-transition-ease: cubic-bezier(.2, 0, 0, 1);--sn-auth-entry-out-duration: .24s;--sn-auth-entry-in-duration: .42s;--sn-auth-entry-in-delay: .1s;--sn-auth-entry-out-offset: -2px;--sn-auth-entry-in-offset: 6px;--sn-auth-entry-ease: cubic-bezier(.2, 0, 0, 1);--sn-player-transition-open-out: .22s;--sn-player-transition-open-in: .36s;--sn-player-transition-close-out: .24s;--sn-player-transition-close-in: .32s;--sn-player-transition-offset: 8px;--sn-player-transition-ease: cubic-bezier(.16, .72, .24, 1)}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%}body{position:relative;isolation:isolate;margin:0;color:var(--ink);font-family:var(--font-sans);background:radial-gradient(circle at 18% -10%,#ffffffb8,#fff0 30rem),radial-gradient(circle at 92% 8%,#f9f4ec29,#f9f4ec00 26rem),linear-gradient(180deg,#ffffff80,#f9f4ec1a 340px),var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 10% 0%,#fff3,#fff0 32rem),linear-gradient(180deg,#ffffff0f,#fff0 220px);opacity:.04;z-index:0}body.session-immersive-active{overflow:hidden;overscroll-behavior:none}a{color:inherit;text-decoration:none}button,input{font:inherit}button:focus-visible,input:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.shell{position:relative;z-index:1;display:grid;grid-template-columns:260px minmax(0,var(--content-max));min-height:100vh;min-height:100dvh;width:min(100%,var(--shell-max));margin:0 auto;gap:30px;padding:24px 28px;justify-content:center}.sidebar{position:sticky;top:24px;overflow:hidden;align-self:start;min-height:calc(100dvh - 48px);padding:16px 11px;border:1px solid var(--line-soft);border-radius:var(--radius-panel);background:linear-gradient(180deg,#fffffdf5,#fffffd80 210px),var(--bg-sidebar);box-shadow:var(--shadow-card-strong);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:18px}.page-header:before,.hero-card:before,.login-panel:before{content:"";position:absolute;top:0;right:0;bottom:auto;left:auto;width:min(48%,520px);height:132px;pointer-events:none;background:linear-gradient(90deg,#fff0,#ffffff3d),repeating-linear-gradient(180deg,transparent 0,transparent 38px,rgba(34,79,111,.032) 38px,rgba(34,79,111,.032) 39px,transparent 39px,transparent 44px,rgba(34,79,111,.024) 44px,rgba(34,79,111,.024) 45px,transparent 45px,transparent 50px,rgba(34,79,111,.032) 50px,rgba(34,79,111,.032) 51px,transparent 51px,transparent 56px,rgba(34,79,111,.024) 56px,rgba(34,79,111,.024) 57px,transparent 57px,transparent 62px,rgba(34,79,111,.032) 62px,rgba(34,79,111,.032) 63px,transparent 63px,transparent 118px);opacity:.22}.sidebar:before{content:"";position:absolute;inset:0 0 auto;height:180px;pointer-events:none;background:linear-gradient(180deg,#fffffd57,#fffffd00);opacity:.3}.sidebar>*,.page-header>*,.hero-card>*,.login-panel>*{position:relative;z-index:1}.sidebar h1,.page-header h1,.hero-card h1,.app-card h2,.app-card h3,.panel-card h2,.panel-card h3,.login-panel h1,.login-panel h2,.login-product-intro h1{margin:0;font-family:var(--font-display);line-height:1.1;letter-spacing:0}.app-title-link{position:relative;z-index:1;display:inline-block}.sidebar-top{padding:6px 8px 0;text-align:left}.sidebar-top h1{color:var(--ink-soft);font-family:var(--font-display);font-size:1.42rem;font-weight:700;letter-spacing:0}.sidebar-brand{margin:0}.sidebar-brand-link{display:flex;align-items:center;justify-content:flex-start;gap:14px;width:100%;padding:3px 5px 4px;color:var(--ink-soft);font-family:var(--font-display);line-height:1}.sidebar-brand-mark{display:block;width:48px;height:48px;flex:none;object-fit:contain;border-radius:14px}.sidebar-brand-copy{display:grid;gap:4px;min-width:0}.sidebar-brand-name{display:block;font-size:1.26rem;font-weight:700;letter-spacing:-.015em;line-height:.98}.sidebar-top p,.lead,.panel-card p,.assignment-card p,.inline-note,.library-list span,.timeline-list span{color:var(--muted);line-height:1.6}.eyebrow{display:inline-block;color:var(--muted-strong);text-transform:uppercase;letter-spacing:0;font-size:.72rem;font-weight:700;margin-bottom:10px}.nav-stack,.mobile-nav{display:flex;gap:10px}.sidebar .nav-stack{flex-direction:column;gap:4px}.sidebar .nav-link{position:relative;min-height:42px;padding:10px 12px;border-radius:11px;color:var(--muted-strong);display:flex;align-items:center;justify-content:flex-start;gap:10px;font-family:var(--font-display);font-size:1.02rem;font-weight:600;line-height:1.2;border:1px solid transparent;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .12s ease}.sidebar .nav-link:before{content:none}.sidebar .nav-link:hover{background:#fffffdd6;border-color:var(--line-soft);color:var(--ink)}.sidebar .nav-link.active{background:var(--navy-primary);border-color:var(--border-accent-strong);color:var(--surface-card-strong);box-shadow:var(--shadow-control)}.sidebar .nav-link.active:before{content:none}.sidebar .nav-link:active{transform:scale(.985)}.sidebar-nav-icon{flex:0 0 22px;display:grid;place-items:center;width:22px;height:22px;color:currentColor}.sidebar-nav-icon svg{display:block;width:20px;height:20px}.sidebar-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile{margin-top:auto;display:grid;gap:8px;padding:12px 8px 0;border:0;border-top:1px solid var(--line-soft);background:linear-gradient(180deg,#fffffd00,#fffffd75);box-shadow:none}.sidebar-profile strong,.mobile-header strong,.metric-value,.tempo-display strong{display:block;font-size:1.25rem}.sidebar-profile strong{color:var(--ink-soft);font-size:.8rem;font-weight:600;line-height:1.35}.sidebar-profile-copy{display:grid;gap:4px}.sidebar-profile-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.sidebar-profile-email{display:block;color:var(--muted);font-size:.68rem;line-height:1.35;overflow-wrap:anywhere}.sidebar-profile-mode{min-height:20px;padding:2px 7px;font-size:.65rem}.sidebar-profile .button.sidebar-sign-out{font-family:var(--font-display);width:fit-content;min-height:32px;padding:6px 10px;border-radius:10px;font-size:.82rem;font-weight:600;justify-self:start}.content-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;width:100%;max-width:var(--content-max);justify-self:center;border-radius:0;background:transparent;border:0;overflow:visible}.content-area{width:100%;padding:4px 0 24px;flex:1;view-transition-name:sightnote-page}html[data-page-transition=sightnote-auth-entry] .content-area{view-transition-name:none}html[data-page-transition=sightnote-auth-entry] .login-shell,html[data-page-transition=sightnote-auth-entry] .shell{view-transition-name:sightnote-auth-entry}html[data-page-transition^=sightnote-player-] .content-area{view-transition-name:none}html[data-page-transition^=sightnote-player-] .page{view-transition-name:sightnote-player-context}html[data-page-transition^=sightnote-player-] .session-player-shell,html[data-page-transition^=sightnote-player-] .app-state{view-transition-name:sightnote-player-shell}html[data-page-transition^=sightnote-player-] .session-score-surface{view-transition-name:sightnote-player-score}html[data-page-transition^=sightnote-player-] .session-player-controls{view-transition-name:sightnote-player-controls}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(sightnote-page),::view-transition-new(sightnote-page){mix-blend-mode:normal}::view-transition-old(sightnote-player-context),::view-transition-new(sightnote-player-context),::view-transition-old(sightnote-player-shell),::view-transition-new(sightnote-player-shell),::view-transition-old(sightnote-player-score),::view-transition-new(sightnote-player-score),::view-transition-old(sightnote-player-controls),::view-transition-new(sightnote-player-controls){mix-blend-mode:normal}html[data-page-transition=fade-through]::view-transition-group(sightnote-page){animation-duration:var(--sn-page-transition-in-duration);animation-timing-function:var(--sn-page-transition-ease)}html[data-page-transition=fade-through]::view-transition-old(sightnote-page){animation:sightnote-fade-through-old var(--sn-page-transition-out-duration) var(--sn-page-transition-ease) both}html[data-page-transition=fade-through]::view-transition-new(sightnote-page){animation:sightnote-fade-through-new var(--sn-page-transition-in-duration) var(--sn-page-transition-ease) var(--sn-page-transition-in-delay) both}html[data-page-transition=sightnote-auth-entry]::view-transition-group(sightnote-auth-entry){animation-duration:var(--sn-auth-entry-in-duration);animation-timing-function:var(--sn-auth-entry-ease)}html[data-page-transition=sightnote-auth-entry]::view-transition-old(sightnote-auth-entry){animation:sightnote-auth-entry-old var(--sn-auth-entry-out-duration) var(--sn-auth-entry-ease) both}html[data-page-transition=sightnote-auth-entry]::view-transition-new(sightnote-auth-entry){animation:sightnote-auth-entry-new var(--sn-auth-entry-in-duration) var(--sn-auth-entry-ease) var(--sn-auth-entry-in-delay) both}html[data-page-transition=sightnote-player-open]::view-transition-old(sightnote-player-context){animation:sightnote-player-open-context-out var(--sn-player-transition-open-out) var(--sn-player-transition-ease) both}html[data-page-transition=sightnote-player-open]::view-transition-new(sightnote-player-shell){animation:sightnote-player-open-shell-in var(--sn-player-transition-open-in) var(--sn-player-transition-ease) both}html[data-page-transition=sightnote-player-open]::view-transition-new(sightnote-player-score),html[data-page-transition=sightnote-player-open]::view-transition-new(sightnote-player-controls){animation:sightnote-player-open-content-in .38s var(--sn-player-transition-ease) 60ms both}html[data-page-transition=sightnote-player-close]::view-transition-old(sightnote-player-shell){animation:sightnote-player-close-shell-out var(--sn-player-transition-close-out) var(--sn-player-transition-ease) both}html[data-page-transition=sightnote-player-close]::view-transition-old(sightnote-player-score),html[data-page-transition=sightnote-player-close]::view-transition-old(sightnote-player-controls){animation:sightnote-player-close-content-out var(--sn-player-transition-close-out) var(--sn-player-transition-ease) both}html[data-page-transition=sightnote-player-close]::view-transition-new(sightnote-player-context){animation:sightnote-player-close-context-in var(--sn-player-transition-close-in) var(--sn-player-transition-ease) both}@keyframes sightnote-fade-through-old{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@keyframes sightnote-fade-through-new{0%{opacity:0;transform:translateY(var(--sn-page-transition-offset))}to{opacity:1;transform:translateY(0)}}@keyframes sightnote-auth-entry-old{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--sn-auth-entry-out-offset))}}@keyframes sightnote-auth-entry-new{0%{opacity:0;transform:translateY(var(--sn-auth-entry-in-offset))}to{opacity:1;transform:translateY(0)}}@keyframes sightnote-player-open-context-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2px)}}@keyframes sightnote-player-open-shell-in{0%{opacity:0}to{opacity:1}}@keyframes sightnote-player-open-content-in{0%{opacity:0;transform:translateY(var(--sn-player-transition-offset))}to{opacity:1;transform:translateY(0)}}@keyframes sightnote-player-close-shell-out{0%{opacity:1}to{opacity:0}}@keyframes sightnote-player-close-content-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2px)}}@keyframes sightnote-player-close-context-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes sightnote-reduced-out{0%{opacity:1;transform:none}to{opacity:0;transform:none}}@keyframes sightnote-reduced-in{0%{opacity:0;transform:none}to{opacity:1;transform:none}}.shell-welcome{padding:7px 0 13px;margin-bottom:6px;border-bottom:1px solid var(--line-soft)}.content-shell:has(.home-page) .shell-welcome{display:none}.shell-welcome p{margin:0;color:var(--muted-strong);font-size:clamp(1rem,.96rem + .2vw,1.1rem);font-weight:600;line-height:1.35;letter-spacing:-.01em}.page{display:grid;gap:18px;width:100%}.page-header,.app-card,.interactive-card,.hero-card,.panel-card,.assignment-card,.login-panel{position:relative;overflow:hidden;background:var(--surface-paper-panel);border:1px solid var(--border-paper);box-shadow:var(--shadow-soft);border-top-color:#fffffdeb}.page-header,.app-card,.interactive-card,.hero-card,.panel-card,.login-panel{border-radius:var(--radius-panel);padding:20px}.page-header,.hero-card{display:grid;gap:20px}.hero-copy{display:grid;gap:12px}.page-header h1,.hero-card h1{color:var(--ink);font-size:clamp(1.8rem,1.55rem + .8vw,2.45rem);font-weight:600;line-height:1.05}.app-card h2,.panel-card h2{color:var(--ink-soft);font-size:clamp(1.16rem,1.05rem + .35vw,1.42rem);font-weight:600}.compact-hero{grid-template-columns:1.2fr auto;align-items:start}.dashboard-hero,.session-page-hero,.session-hero{position:relative;overflow:hidden;background:var(--surface)}.dashboard-hero:after,.session-page-hero:after,.session-hero:after{content:none}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.metric-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.metric-card{padding:16px;border-radius:var(--radius-card);background:var(--surface-paper-inset);border:1px solid var(--border-paper);box-shadow:inset 0 1px 0 var(--surface-card-highlight)}.metric-label,.meta-label{display:block;color:var(--muted);font-size:.9rem;margin-top:6px}.metric-note{display:block;color:var(--muted);font-size:.82rem;line-height:1.5;margin-top:6px}.section-stack,.section-heading,.stack-form,.instruction-list,.library-list,.timeline-list{display:grid;gap:12px}.assignment-list,.library-grid{display:grid;gap:16px}.assignment-card{border-radius:var(--radius-panel);padding:20px;display:grid;gap:16px;grid-template-columns:1fr auto;background:var(--surface-elevated);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.interactive-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.interactive-card:hover,.assignment-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-strong)}.assignment-main h3{margin:6px 0 8px;font-size:1.4rem}.assignment-meta{display:grid;gap:10px;justify-items:end;color:var(--muted)}.assignment-meta-chip{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:8px 12px;border-radius:999px;background:var(--chip-surface);border:1px solid var(--chip-border)}.button-row,.pill-row,.meta-grid,.metronome-panel{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.button,.tempo-button{border:1px solid transparent;cursor:pointer;border-radius:var(--radius-control);min-height:44px;padding:11px 16px;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease}.button:hover,.tempo-button:hover{transform:none}.button:active,.tempo-button:active{transform:scale(.985)}.button-primary{color:#fff;background:var(--button-primary-bg);border-color:var(--button-primary-border);box-shadow:var(--button-primary-shadow)}.button-primary:hover{background:var(--button-primary-bg-hover);box-shadow:0 10px 22px #0b2b4033}.button-secondary,.tempo-button{color:var(--control-text-strong);background:var(--surface-paper-inset);border-color:var(--border-paper);box-shadow:inset 0 1px #fffffddb;font-weight:650}.button-secondary:hover,.tempo-button:hover{background:var(--surface-paper-panel-soft);border-color:var(--control-border-hover);box-shadow:var(--shadow-focus-soft)}.button:disabled,.tempo-button:disabled,.lesson-launch-button:disabled,.rating-button:disabled,.tab-button:disabled,.lesson-progress-toggle:disabled{box-shadow:none;transform:none;cursor:not-allowed;opacity:.5}.sidebar-profile .button{min-height:var(--touch-target);padding:10px 12px;font-size:.88rem}.settings-page{width:min(100%,920px);margin-inline:auto}.settings-page-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px 22px;padding:18px 18px 17px;border:1px solid var(--border-accent-soft);box-shadow:var(--shadow-card-strong)}.settings-page-header-copy{gap:8px;max-width:56ch}.settings-page-header .lead{max-width:52ch}.settings-page-header h1{font-size:clamp(1.65rem,1.45rem + .45vw,2rem);line-height:1.08}.settings-page-header-meta{display:flex;flex-wrap:wrap;gap:8px}.settings-auto-save{width:fit-content;max-width:100%}.settings-summary{min-width:150px;padding:14px 15px;align-self:start;justify-items:start;gap:4px}.settings-summary .metric-label{margin-top:4px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.settings-section{display:grid;gap:14px;padding:16px 17px 17px}.settings-section--full{grid-column:1 / -1}.settings-section--compact{width:min(100%,384px);justify-self:start}.settings-section-header{display:grid;gap:4px}.settings-section-header h2{margin:0;color:var(--ink-soft);font-family:var(--font-sans);font-size:1.08rem;font-weight:600;line-height:1.15}.settings-stack{display:grid;gap:12px}.settings-control{display:grid;gap:10px}.settings-control-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.settings-control-head strong{color:var(--ink-soft);font-size:.95rem;font-weight:600;line-height:1.35}.settings-control--range{gap:8px}.settings-control--range input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:30px;margin:0;background:transparent;cursor:pointer;--settings-range-fill: 75%}.settings-segmented{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:4px;border:1px solid rgba(16,58,86,.12);border-radius:calc(var(--radius-card) + 2px);background:linear-gradient(180deg,#fffffdfa,#f9f4ecdb);box-shadow:inset 0 1px #ffffffeb,0 1px #ffffff80}.settings-segmented--compact{max-width:340px}.settings-option{position:relative;display:grid;place-items:center;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink-soft);cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.settings-option:hover{background:#fffffde6;border-color:#103a5614}.settings-option.active{background:linear-gradient(180deg,#fffffdfa,#e7f0f5eb),var(--accent-soft);border-color:#103a5638;box-shadow:inset 0 1px #fffffff0,0 1px #ffffff7a;color:var(--navy-primary)}.settings-option input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:inherit}.settings-option-label{display:block;color:inherit;font-size:.92rem;font-weight:600;line-height:1.2;text-align:center}.settings-option.active .settings-option-label{font-weight:700}.settings-option:focus-within{box-shadow:0 0 0 3px #103a5629}.settings-control--range input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0,var(--accent) var(--settings-range-fill),rgba(16,58,86,.14) var(--settings-range-fill),rgba(16,58,86,.14) 100%);box-shadow:inset 0 1px 1px #231e181a}.settings-control--range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin-top:-7px;border:1px solid rgba(16,58,86,.2);border-radius:50%;background:linear-gradient(180deg,#fff,#f1eadf);box-shadow:0 2px 6px #231e1829,inset 0 1px #ffffffeb;transition:box-shadow .16s ease,transform .16s ease}.settings-control--range input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:#103a5624;box-shadow:inset 0 1px 1px #231e181a}.settings-control--range input[type=range]::-moz-range-progress{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-strong))}.settings-control--range input[type=range]::-moz-range-thumb{width:20px;height:20px;border:1px solid rgba(16,58,86,.2);border-radius:50%;background:linear-gradient(180deg,#fff,#f1eadf);box-shadow:0 2px 6px #231e1829,inset 0 1px #ffffffeb;transition:box-shadow .16s ease,transform .16s ease}.settings-control--range input[type=range]:focus-visible{outline:none}.settings-control--range input[type=range]:focus-visible::-webkit-slider-thumb,.settings-control--range input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px #103a561f,0 3px 8px #231e1833,inset 0 1px #ffffffeb}.settings-maintenance{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:linear-gradient(180deg,#fffffde6,#f9f4ec42);box-shadow:inset 0 1px #fffffde6}.settings-maintenance-copy{display:grid;gap:4px;min-width:0}.settings-maintenance-copy h2{margin:0;color:var(--ink-soft);font-family:var(--font-sans);font-size:1rem;font-weight:600;line-height:1.2}.settings-maintenance-copy p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}.settings-reset-button{color:var(--danger);background:#a8483d0a;border-color:#a8483d29;min-height:40px;padding:8px 12px;font-size:.88rem;font-weight:600;box-shadow:none;align-self:start}.settings-reset-button:hover{color:#8f3e35;background:#a8483d14;border-color:#a8483d3d}.settings-card{display:grid;gap:18px}.segmented-options{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-option{display:grid;gap:8px;padding:18px;border-radius:var(--radius-card);border:1px solid var(--line-soft);background:var(--surface-elevated);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.segmented-option:hover{transform:translateY(-1px);box-shadow:var(--shadow-card-strong)}.segmented-option.active{border-color:var(--border-accent);background:#224f6f13}.segmented-option input{margin:0}.segmented-option span,.range-field small{color:var(--muted);line-height:1.5}.range-field{display:grid;gap:10px;padding:16px;border-radius:var(--radius-card);background:var(--surface-elevated);border:1px solid var(--line-soft);box-shadow:inset 0 1px #fffefae6}.range-field span{display:flex;justify-content:space-between;gap:16px}.range-field input[type=range]{width:100%;accent-color:var(--accent)}.status-pill,.tag-chip,.metadata-chip,.mode-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:24px;padding:3px 9px;border-radius:var(--radius-chip);background:linear-gradient(180deg,var(--surface-card-highlight),var(--surface-card-warm-faint));border:1px solid var(--border-paper);color:var(--chip-text);font-size:.78rem;font-weight:600;letter-spacing:0}.status-pill.done{background:var(--chip-success-surface);color:var(--success);border-color:var(--chip-success-border)}.mode-badge{padding:4px 8px;border-radius:999px;background:var(--chip-surface-strong);color:var(--chip-text-strong)}.muted-panel{background:var(--surface-muted)}.chapter-card{background:var(--surface)}.exercise-layout{display:grid;gap:22px;grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);align-items:start}.score-stage{overflow:hidden}.score-wrapper{position:relative;min-height:260px}.score-canvas{min-height:220px}.score-canvas svg{width:100%;height:auto;background:linear-gradient(180deg,#fffefad9,#fffefa00 140px),linear-gradient(180deg,#fffefbfa,#f9f5edf5);border-radius:24px;border:1px solid rgba(26,33,38,.08);padding:14px;margin-bottom:12px;box-shadow:0 20px 54px #161d210d}.score-measure-hit-area{cursor:pointer;fill:transparent;pointer-events:all;stroke:none;stroke-width:0;touch-action:manipulation}.score-current-measure-highlight{fill:#224f6f1f;stroke:#224f6f57;stroke-width:1.5;pointer-events:none}.score-selected-measure-highlight{fill:#1f25280a;stroke:#1f252824;stroke-width:1.2;pointer-events:none}.score-reading-mask-layer,.score-reading-mask-surface,.score-reading-mask-staff-line{pointer-events:none}.score-reading-mask-surface{fill:var(--score-reading-mask-paper, #fffdf8);fill-opacity:1;stroke:none;stroke-width:0}.score-reading-mask-staff-line{fill:none;stroke:var(--score-reading-mask-line, rgba(35, 32, 28, .48));stroke-linecap:butt;stroke-width:1.05}.score-state{position:absolute;inset:0 auto auto 0;padding:10px 12px;border-radius:999px;background:#fffdf8eb;z-index:2;border:1px solid rgba(26,33,38,.08);box-shadow:0 8px 20px #161d210d}.score-error{color:var(--danger)}.score-pdf{width:100%;min-height:520px;border:1px solid rgba(26,33,38,.08);border-radius:24px;background:#fffdf8f2}.exercise-sidebar{display:grid;gap:18px}.instruction-list,.library-list,.timeline-list{list-style:none;padding:0;margin:0}.instruction-list li,.library-list li,.timeline-list li{padding:14px 0;border-bottom:1px solid var(--line)}.instruction-list li:last-child,.library-list li:last-child,.timeline-list li:last-child{border-bottom:0}.library-list li,.timeline-list li{display:flex;align-items:center;justify-content:space-between;gap:16px}.tracking-table-wrap{overflow-x:auto;border:1px solid var(--line-soft);border-radius:var(--radius-panel);background:var(--surface-elevated);box-shadow:0 1px 2px #231e1806}.tracking-table{width:100%;min-width:720px;border-collapse:collapse;background:transparent}.tracking-table th,.tracking-table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.tracking-table th{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#faf6eeeb}.tracking-table tbody tr:last-child td{border-bottom:0}.tracking-table td strong{display:block}.tracking-table td span{color:var(--muted)}.progress-page{width:min(100%,1080px);gap:16px;--progress-panel-surface: linear-gradient( 180deg, var(--surface-card-bright), rgba(249, 244, 236, .86) );--progress-panel-border: var(--border-paper-accent);--progress-panel-shadow: var(--shadow-card);--progress-inner-surface: var(--surface-paper-inset);--progress-lesson-ink: var(--accent-strong);--progress-lesson-border: rgba(16, 58, 86, .12);--progress-review-ink: var(--status-review-ink);--progress-review-border: var(--status-review-border);--progress-review-surface: var(--status-review-surface);--progress-success-ink: var(--status-success-ink);--progress-success-border: rgba(45, 111, 69, .16);--progress-neutral-ink: var(--text-muted);--progress-neutral-border: rgba(16, 58, 86, .065);--progress-momentum-ink: var(--navy-primary);--progress-momentum-border: rgba(16, 58, 86, .105);--progress-momentum-surface-top: rgba(255, 255, 253, .96);--progress-momentum-surface-bottom: rgba(249, 244, 236, .72);--progress-momentum-ring: rgba(16, 58, 86, .7);--progress-momentum-ring-track: rgba(16, 58, 86, .08);--progress-momentum-ring-shadow: rgba(16, 58, 86, .06)}body:has(:is(.home-page,.exercises-page,.lessons-page,.lesson-detail-page,.progress-page,.settings-page)){color:var(--sn-color-text-primary);background:var(--sn-color-surface)}body:has(:is(.home-page,.exercises-page,.lessons-page,.lesson-detail-page,.progress-page,.settings-page)):before{content:none}.shell:has(.home-page) .sidebar{background:var(--sn-color-surface);border-color:var(--sn-color-border);backdrop-filter:none;-webkit-backdrop-filter:none}.shell:has(.home-page) .sidebar:before{content:none}.shell:has(.home-page) .sidebar-brand-link,.shell:has(.home-page) .sidebar .nav-link,.shell:has(.home-page) .sidebar-profile strong{color:var(--sn-color-text-primary)}.shell:has(.home-page) .sidebar .nav-link:hover{color:var(--sn-color-text-primary);background:var(--sn-color-surface);border-color:var(--sn-color-border)}.shell:has(.home-page) .sidebar .nav-link.active{color:var(--sn-color-surface);background:var(--sn-color-brand);border-color:var(--sn-color-brand)}.shell:has(.home-page) .sidebar-profile{background:transparent;border-top-color:var(--sn-color-divider)}.shell:has(.home-page) .sidebar-profile-email{color:var(--sn-color-text-secondary)}.shell:has(.home-page) .sidebar-profile-mode{color:var(--sn-color-text-secondary);background:var(--sn-color-surface);border-color:var(--sn-color-border)}.shell:has(.home-page) .sidebar-profile .button.sidebar-sign-out,.shell:has(.home-page) .sidebar-profile .button.sidebar-sign-out:hover{color:var(--sn-color-text-primary);background:var(--sn-color-surface);border-color:var(--sn-color-border);box-shadow:none}:is(.exercises-page,.lessons-page,.lesson-detail-page,.progress-page,.settings-page){--surface-paper-panel: var(--sn-color-surface);--surface-paper-panel-soft: var(--sn-color-surface);--surface-paper-inset: var(--sn-color-surface-subtle);--border-paper: var(--sn-color-border);--border-paper-accent: var(--sn-color-border);--shadow-card: var(--sn-shadow-card);--shadow-card-strong: var(--sn-shadow-card);--shadow-soft: var(--sn-shadow-card)}.home-page{width:min(100%,1120px);gap:10px;color:var(--sn-color-text-primary)}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,480px);align-items:start;gap:32px;padding:28px 32px;border-radius:16px;background:var(--sn-color-surface);border:1px solid var(--sn-color-border);box-shadow:var(--sn-shadow-card)}.home-hero:before{content:none}.home-hero .hero-copy{max-width:64ch;gap:0}.home-hero .eyebrow{color:var(--sn-color-brand)}.home-hero h1{color:var(--sn-color-text-primary);font-family:var(--font-display);font-size:2.25rem;font-weight:600;line-height:1.08}.home-hero p{margin:16px 0 0;max-width:68ch;color:var(--sn-color-text-secondary);font-size:.96rem;line-height:1.55}.home-hero p.home-hero-meta{margin-top:10px;max-width:52ch;color:var(--sn-color-text-secondary);font-size:.86rem;font-weight:600;line-height:1.4}.home-hero p.home-hero-description{margin-top:12px}.home-hero .hero-actions{gap:10px;margin-top:24px}.home-hero .button-primary{min-height:44px;color:#fff;background:var(--sn-color-brand);border-color:var(--sn-color-brand);box-shadow:none}.home-hero .button-primary:hover{background:var(--sn-color-brand-hover);border-color:var(--sn-color-brand-hover);box-shadow:none}.home-hero .button-primary:active{background:var(--sn-color-brand-active);border-color:var(--sn-color-brand-active)}.home-hero-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);border-color:var(--sn-color-border);box-shadow:none;font-weight:600}.home-hero-secondary-action:hover{color:var(--sn-color-text-primary);background:var(--sn-color-surface);border-color:var(--sn-color-border);box-shadow:none}.home-hero-secondary-action-icon{display:block;flex:none;width:18px;height:18px}.home-page--loading{pointer-events:none}.home-hero--loading,.home-next-step--loading{-webkit-user-select:none;user-select:none}.home-loading-copy{gap:12px}.home-loading-lines{display:grid;gap:10px}.home-loading-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.home-loading-next-step-action{display:flex;align-self:center;justify-content:flex-end;padding-left:24px;border-left:1px solid rgba(16,58,86,.08)}.home-loading-pill,.home-loading-block,.home-loading-button{display:block;border-radius:999px;background:linear-gradient(180deg,#103a561f,#103a560f);box-shadow:inset 0 1px #ffffff73}.home-loading-pill--eyebrow,.home-loading-pill--next-step{width:130px;height:14px}.home-loading-block--title{width:min(100%,18ch);height:42px;border-radius:14px}.home-loading-block--meta{width:180px;height:15px}.home-loading-block--line{width:100%;height:14px}.home-loading-block--line-short{width:72%}.home-loading-button--primary{width:148px;height:44px}.home-loading-button--secondary{width:170px;height:44px}.home-loading-button--next-step{width:132px;height:40px}.home-dashboard-metrics--loading .home-metric-card{border-color:#103a5614;background:linear-gradient(180deg,#fffffdfa,#f9f4ecbd)}.home-metric-card--loading .home-metric-icon-shell{color:transparent;background:#103a5614;border-color:#103a5614}.home-metric-card--loading .metric-value,.home-metric-card--loading .metric-label,.home-metric-card--loading .metric-note{color:transparent;display:block;border-radius:999px;background:linear-gradient(180deg,#103a561f,#103a560f);box-shadow:inset 0 1px #ffffff73}.home-metric-card--loading .metric-value{width:2.5ch;height:28px;border-radius:12px}.home-metric-card--loading .metric-label{width:72%;height:14px}.home-metric-card--loading .metric-note{width:84%;height:12px}.home-next-step--loading{grid-template-columns:minmax(0,1fr) max-content;align-items:center;border-left-color:#103a561f}.home-next-step--loading .home-next-step-main{gap:12px}.home-next-step--loading .home-next-step-copy{gap:10px}.home-loading-block--next-title{width:min(100%,18ch);height:28px;border-radius:12px}.home-loading-block--next-lesson{width:160px;height:13px}.home-dashboard-metrics{width:100%;min-width:0;align-self:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;--sn-home-metric-momentum: #484F72;--sn-home-metric-momentum-soft: #DDE0EE;--sn-home-metric-active-days: #175A98;--sn-home-metric-active-days-soft: #D3E4F4;--sn-home-metric-recent-practice: #176F68;--sn-home-metric-recent-practice-soft: #D2E8E3;--sn-home-metric-guided-review: #A3410C;--sn-home-metric-guided-review-soft: #F0D4BF}.home-metric-card--momentum{--home-metric-accent: var(--sn-home-metric-momentum);--home-metric-accent-soft: var(--sn-home-metric-momentum-soft);--home-metric-accent-border: #D6DAE7}.home-metric-card--active-days{--home-metric-accent: var(--sn-home-metric-active-days);--home-metric-accent-soft: var(--sn-home-metric-active-days-soft);--home-metric-accent-border: #BFD4E8}.home-metric-card--recent-practice{--home-metric-accent: var(--sn-home-metric-recent-practice);--home-metric-accent-soft: var(--sn-home-metric-recent-practice-soft);--home-metric-accent-border: #BEDAD6}.home-metric-card--guided-review{--home-metric-accent: var(--sn-home-metric-guided-review);--home-metric-accent-soft: var(--sn-home-metric-guided-review-soft);--home-metric-accent-border: #E4C1A1}.home-next-step{display:grid;gap:12px 24px;grid-template-columns:minmax(0,1fr) max-content;align-items:stretch;padding:24px 28px;border:1px solid var(--sn-color-border);border-left-width:5px;border-left-color:var(--sn-color-gold);background:var(--sn-color-surface);box-shadow:var(--sn-shadow-card)}.home-next-step--guided{border-color:var(--sn-color-guide-border);border-left-color:var(--sn-color-guide)}.home-next-step--informational{grid-template-columns:minmax(0,1fr)}.home-next-step-main{display:grid;gap:12px;min-width:0}.home-next-step .section-heading{gap:4px;max-width:70ch}.home-next-step .eyebrow{color:var(--sn-color-gold)}.home-next-step--guided .eyebrow{color:var(--sn-color-guide)}.home-next-step h2{color:var(--sn-color-text-primary);font-size:1.65rem;font-weight:600;line-height:1.1}.home-next-step .section-heading p{color:var(--sn-color-text-secondary);font-size:.94rem;line-height:1.55}.home-next-step p.home-next-step-lesson{margin:0;color:var(--sn-color-text-secondary);font-size:.84rem;font-weight:600;line-height:1.35}.home-next-step p.home-next-step-description{margin:0;color:var(--sn-color-text-secondary);font-size:.94rem;line-height:1.55}.home-next-step-action{display:flex;align-items:center;justify-content:flex-end;padding-left:24px;border-left:1px solid var(--sn-color-divider)}.home-next-step-link{min-width:0;min-height:40px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;font-size:.92rem;color:var(--sn-color-text-primary);background:var(--sn-color-surface);border-color:var(--sn-color-border);box-shadow:none;font-weight:600}.home-next-step-link:hover{color:var(--sn-color-text-primary);background:var(--sn-color-surface);border-color:var(--sn-color-border);box-shadow:none}.home-snapshot{display:grid;gap:14px;padding:20px 22px 22px}.home-review-panel,.home-links{display:grid;gap:14px;padding:20px 22px 22px;border:1px solid var(--border-paper-accent);background:var(--surface-paper-panel);box-shadow:var(--shadow-card)}.home-review-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.home-review-action{justify-self:start}.home-review-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.home-review-card{display:grid;gap:8px;align-content:start;min-height:100%;padding:16px 18px;border-radius:var(--radius-card);border:1px solid var(--border-paper);background:var(--surface-paper-inset);box-shadow:var(--shadow-card-subtle-soft);color:inherit}.home-review-card h3{margin:0;color:var(--ink-soft);font-size:1.02rem;font-weight:600;line-height:1.3}.home-review-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.5}.home-review-context{color:var(--muted-strong);font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.home-snapshot-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.home-metric-card{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:14px;row-gap:4px;width:100%;min-width:0;align-content:start;min-height:100%;padding:16px;border:1px solid var(--sn-color-border);border-radius:14px;background:var(--sn-color-surface);box-shadow:none}.home-metric-icon-shell{display:grid;grid-column:1;grid-row:1 / span 3;place-items:center;width:48px;height:48px;color:var(--home-metric-accent, var(--sn-color-brand));background:var(--home-metric-accent-soft, var(--sn-color-brand-soft));border:1px solid var(--home-metric-accent-border, var(--sn-color-brand-border));border-radius:50%}.home-metric-icon{display:block;width:20px;height:20px}.home-metric-card .metric-value,.home-metric-card .metric-label,.home-metric-card .metric-note{grid-column:2;min-width:0}.home-metric-card .metric-value{color:var(--sn-color-text-primary);font-family:var(--font-display);font-size:1.55rem;font-weight:600;line-height:1.05;letter-spacing:0}.home-metric-card .metric-label{margin-top:0;color:var(--sn-color-text-primary);font-family:var(--font-sans);font-size:.82rem;font-weight:600;line-height:1.22}.home-metric-card .metric-note{margin-top:0;color:var(--sn-color-text-secondary);font-family:var(--font-sans);font-size:.78rem;font-weight:400;line-height:1.35;overflow-wrap:anywhere}.home-lesson-path{display:grid;gap:6px;width:100%;margin-top:4px;padding-top:10px;border-top:1px solid var(--sn-color-divider);background:transparent;box-shadow:none}.home-lesson-path-summary{color:var(--sn-color-text-primary);font-size:.78rem;font-weight:600;line-height:1.35}.home-lesson-path-header,.lesson-step-status-heading{display:flex;align-items:center;gap:7px}.home-lesson-path-header{color:var(--sn-color-text-primary);font-size:.78rem;font-weight:700;line-height:1.35}.home-lesson-path-rail{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;min-height:49px;padding:2px 4px}.home-lesson-path-step{position:relative;display:grid;place-items:center;width:100%;min-width:0;min-height:49px}.home-lesson-path-step:not(:last-child):after{content:"";position:absolute;z-index:0;left:50%;top:50%;width:100%;height:1px;background:var(--sn-status-neutral-border);transform:translateY(-50%)}.home-lesson-path-node{position:relative;z-index:1;display:grid;justify-self:center;place-items:center;width:32px;height:32px;min-width:32px;min-height:32px;box-sizing:border-box;border-radius:50%}.home-snapshot-empty{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6}.progress-hero{grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);align-items:start;gap:16px 22px;padding:22px 24px 21px;background:var(--surface-paper-panel);border:1px solid var(--progress-panel-border);box-shadow:var(--progress-panel-shadow)}.progress-hero .hero-copy{max-width:64ch}.progress-hero-lede{margin:0;color:var(--muted);font-size:.98rem;line-height:1.62}.progress-hero-metrics{align-self:start;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden;border:1px solid var(--progress-panel-border);border-radius:var(--radius-card);background:var(--surface-paper-inset);box-shadow:inset 0 1px #fffffddb}.progress-hero-actions{margin-top:4px}.progress-hero-metric{position:relative;overflow:hidden;padding:13px 14px 14px;border:0;border-right:1px solid var(--progress-panel-border);border-radius:0;background:transparent;box-shadow:none}.progress-hero-metric:before{content:"";position:absolute;inset:0 14px auto;height:2px;border-radius:999px;background:var(--progress-hero-metric-accent, rgba(16, 58, 86, .1));opacity:.7}.progress-hero-metric:last-child{border-right:0}:is(.progress-hero-metric--attention,.progress-hero-metric--warming,.progress-hero-metric--building,.progress-hero-metric--solid,.progress-hero-metric--secure){--progress-hero-metric-accent: var(--progress-momentum-ring);background:transparent}:is(.progress-hero-metric--attention,.progress-hero-metric--warming,.progress-hero-metric--building,.progress-hero-metric--solid,.progress-hero-metric--secure) .metric-value{color:var(--progress-momentum-ink)}:is(.progress-hero-metric--attention,.progress-hero-metric--warming,.progress-hero-metric--building,.progress-hero-metric--solid,.progress-hero-metric--secure) .metric-label,:is(.progress-hero-metric--attention,.progress-hero-metric--warming,.progress-hero-metric--building,.progress-hero-metric--solid,.progress-hero-metric--secure) .metric-note{color:var(--muted)}.progress-hero-metric .metric-value{font-size:1.05rem;line-height:1.2;color:var(--ink)}.progress-hero-metric .metric-label{margin-top:3px;font-size:.8rem;color:var(--muted-strong)}.progress-hero-metric .metric-note{margin-top:3px;color:var(--muted);font-size:.74rem;line-height:1.35}.progress-hero-metric--lesson,.progress-hero-metric--review,.progress-hero-metric--clear{box-shadow:none}.progress-hero-metric--lesson{--progress-hero-metric-accent: var(--progress-lesson-ink);border-color:var(--progress-lesson-border)}.progress-hero-metric--lesson .metric-value{color:var(--progress-lesson-ink)}.progress-hero-metric--lesson .metric-label{color:var(--muted-strong)}.progress-hero-metric--lesson .metric-note{color:var(--muted)}.progress-hero-metric--review{--progress-hero-metric-accent: var(--progress-review-ink);border-color:var(--progress-review-border)}.progress-hero-metric--review .metric-value{color:var(--progress-review-ink)}.progress-hero-metric--review .metric-label{color:var(--muted-strong)}.progress-hero-metric--review .metric-note{color:var(--muted)}.progress-hero-metric--clear{--progress-hero-metric-accent: rgba(16, 58, 86, .08);border-color:var(--progress-neutral-border)}.progress-hero-metric--clear .metric-value{color:var(--progress-neutral-ink)}.progress-hero-metric--clear .metric-label,.progress-hero-metric--clear .metric-note{color:var(--muted)}.progress-hero h1{line-height:1.08}.progress-empty-state{margin:0}.progress-empty-card{display:grid;gap:8px;align-items:start;padding:0}.progress-empty-card--action{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;align-items:center}.progress-empty-card--action .progress-empty-card-copy{max-width:56ch}.progress-empty-card-action{justify-self:end;align-self:center}.progress-empty-card-copy{display:grid;gap:6px;min-width:0;max-width:68ch}.progress-empty-card-copy h3{margin:0;color:var(--ink);font-size:1.02rem;line-height:1.25}.progress-empty-card-copy p{margin:0;color:var(--muted-strong);font-size:.86rem;line-height:1.55}.progress-empty-card--chart,.progress-empty-card--section{padding:2px 0 0}.progress-section-note{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.progress-recent-practice{display:grid;gap:14px}.progress-summary-panel{padding:19px 20px 20px;background:var(--progress-panel-surface);border:1px solid var(--progress-panel-border);box-shadow:var(--progress-panel-shadow)}.progress-recent-layout{display:grid;gap:20px;grid-template-columns:minmax(260px,1.16fr) minmax(230px,.8fr) minmax(300px,1.02fr);align-items:start}.progress-momentum-card{--progress-momentum-tone-border: var(--progress-momentum-border);--progress-momentum-tone-surface-top: var(--progress-momentum-surface-top);--progress-momentum-tone-surface-bottom: var(--progress-momentum-surface-bottom);--progress-momentum-tone-ring: var(--progress-momentum-ring);--progress-momentum-tone-ring-track: var(--progress-momentum-ring-track);--progress-momentum-tone-ring-shadow: var(--progress-momentum-ring-shadow);--progress-momentum-tone-ink: var(--progress-momentum-ink);--progress-momentum-tone-muted: var(--text-muted);--progress-momentum-tone-glow: rgba(16, 58, 86, .035);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;min-height:148px;padding:18px 18px 18px 20px;border:1px solid var(--progress-momentum-tone-border);border-radius:var(--radius-card);background:linear-gradient(180deg,var(--progress-momentum-tone-surface-top),var(--progress-momentum-tone-surface-bottom));box-shadow:inset 0 1px #fffffdfa,0 1px 1px #231e1806,0 6px 14px #231e1805;overflow:hidden}:is(.progress-momentum-card--attention,.progress-hero-metric--attention){--progress-momentum-tone-border: rgba(16, 58, 86, .095);--progress-momentum-tone-surface-top: rgba(255, 255, 253, .96);--progress-momentum-tone-surface-bottom: rgba(249, 244, 236, .7);--progress-momentum-tone-ring: rgba(16, 58, 86, .62);--progress-momentum-tone-ring-track: rgba(16, 58, 86, .08);--progress-momentum-tone-ring-shadow: rgba(16, 58, 86, .055);--progress-momentum-tone-ink: var(--navy-primary);--progress-momentum-tone-muted: var(--text-muted);--progress-momentum-tone-glow: rgba(16, 58, 86, .035)}:is(.progress-momentum-card--warming,.progress-hero-metric--warming){--progress-momentum-tone-border: rgba(16, 58, 86, .1);--progress-momentum-tone-surface-top: rgba(255, 255, 253, .96);--progress-momentum-tone-surface-bottom: rgba(249, 244, 236, .72);--progress-momentum-tone-ring: rgba(16, 58, 86, .66);--progress-momentum-tone-ring-track: rgba(16, 58, 86, .08);--progress-momentum-tone-ring-shadow: rgba(16, 58, 86, .055);--progress-momentum-tone-ink: var(--navy-primary);--progress-momentum-tone-muted: var(--text-muted);--progress-momentum-tone-glow: rgba(16, 58, 86, .035)}:is(.progress-momentum-card--building,.progress-hero-metric--building){--progress-momentum-tone-border: rgba(16, 58, 86, .105);--progress-momentum-tone-surface-top: rgba(255, 255, 253, .97);--progress-momentum-tone-surface-bottom: rgba(249, 244, 236, .72);--progress-momentum-tone-ring: rgba(16, 58, 86, .7);--progress-momentum-tone-ring-track: rgba(16, 58, 86, .08);--progress-momentum-tone-ring-shadow: rgba(16, 58, 86, .06);--progress-momentum-tone-ink: var(--navy-primary);--progress-momentum-tone-muted: var(--text-muted);--progress-momentum-tone-glow: rgba(16, 58, 86, .035)}:is(.progress-momentum-card--solid,.progress-hero-metric--solid){--progress-momentum-tone-border: rgba(16, 58, 86, .105);--progress-momentum-tone-surface-top: rgba(255, 255, 253, .97);--progress-momentum-tone-surface-bottom: rgba(249, 244, 236, .7);--progress-momentum-tone-ring: rgba(16, 58, 86, .68);--progress-momentum-tone-ring-track: rgba(16, 58, 86, .08);--progress-momentum-tone-ring-shadow: rgba(16, 58, 86, .055);--progress-momentum-tone-ink: var(--navy-primary);--progress-momentum-tone-muted: var(--text-muted);--progress-momentum-tone-glow: rgba(16, 58, 86, .035)}:is(.progress-momentum-card--secure,.progress-hero-metric--secure){--progress-momentum-tone-border: rgba(16, 58, 86, .11);--progress-momentum-tone-surface-top: rgba(255, 255, 253, .97);--progress-momentum-tone-surface-bottom: rgba(249, 244, 236, .68);--progress-momentum-tone-ring: rgba(16, 58, 86, .66);--progress-momentum-tone-ring-track: rgba(16, 58, 86, .08);--progress-momentum-tone-ring-shadow: rgba(16, 58, 86, .055);--progress-momentum-tone-ink: var(--navy-primary);--progress-momentum-tone-muted: var(--text-muted);--progress-momentum-tone-glow: rgba(16, 58, 86, .035)}.progress-momentum-trend{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;border:1px solid rgba(16,58,86,.08);background:#fffffddb;color:var(--progress-momentum-ink);font-size:.68rem;font-weight:600;letter-spacing:.015em;box-shadow:0 1px 2px #231e1806}.progress-momentum-trend--up,.progress-momentum-trend--down,.progress-momentum-trend--flat{color:var(--progress-momentum-ink)}.progress-momentum-card:after{content:none;position:absolute;inset:auto -42px -44px auto;width:126px;height:126px;border-radius:999px;background:radial-gradient(circle,var(--progress-momentum-tone-glow),rgba(16,58,86,0) 68%);pointer-events:none}.progress-momentum-ring{position:relative;width:94px;height:94px;display:grid;place-items:center;border-radius:999px;background:conic-gradient(from 225deg,var(--progress-momentum-tone-ring) 0 calc(var(--progress-momentum-percent) * 1%),var(--progress-momentum-tone-ring-track) 0 100%);box-shadow:inset 0 0 0 1px var(--progress-momentum-tone-ring-shadow),0 7px 16px var(--progress-momentum-tone-ring-shadow)}.progress-momentum-ring:after{content:"";position:absolute;top:11px;right:11px;bottom:11px;left:11px;border-radius:inherit;background:linear-gradient(180deg,#fffffdfa,#fffffdf2),var(--surface);box-shadow:inset 0 0 0 1px var(--progress-momentum-tone-ring-shadow)}.progress-momentum-ring-score{position:relative;z-index:1;color:var(--progress-momentum-tone-ink);font-size:1.32rem;font-weight:700;letter-spacing:0}.progress-momentum-copy{position:relative;z-index:1;display:grid;gap:6px;align-content:center;min-width:0}.progress-momentum-value{color:var(--progress-momentum-tone-ink);font-size:1.32rem;line-height:1.1;letter-spacing:0}.progress-momentum-description{display:block;color:var(--progress-momentum-tone-muted);font-size:.82rem;line-height:1.45}.progress-stats-card{display:grid;gap:10px;padding:16px;border:1px solid var(--progress-panel-border);border-radius:var(--radius-card);background:var(--progress-inner-surface);box-shadow:inset 0 1px #fffffdfa,0 1px 1px #231e1806,0 6px 12px #231e1804}.progress-stat-row{display:grid;gap:4px}.progress-stat-divider{height:1px;background:linear-gradient(90deg,#103a560a,#103a5614,#103a560a)}.progress-metric-grid{gap:0;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--surface-paper-inset);border:1px solid var(--progress-panel-border);border-radius:var(--radius-card);overflow:hidden}.progress-metric-card{padding:12px 14px 11px;background:transparent;border:0;border-right:1px solid var(--progress-panel-border);box-shadow:none;position:relative}.progress-metric-card:nth-child(3n){border-right:0}.progress-metric-card .metric-value{color:var(--ink);font-size:1.16rem}.progress-metric-card .metric-label{margin-top:3px;color:var(--muted-strong);font-size:.8rem}.progress-chart-panel{display:grid;gap:12px;padding:16px 17px 17px;border:1px solid var(--progress-panel-border);border-radius:var(--radius-card);background:var(--surface-paper-inset);box-shadow:inset 0 1px #fffffdfa,0 1px 1px #231e1806,0 6px 12px #231e1804}.progress-chart{display:grid;gap:8px}.progress-chart--global{gap:10px}.progress-sparkline{width:100%;height:86px;display:block;overflow:visible;shape-rendering:geometricPrecision}.progress-sparkline-line{stroke:#103a56c2;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.progress-sparkline-area{fill:#103a560e}.progress-sparkline-point{fill:var(--navy-primary);stroke:#fffffdf5;stroke-width:1.1}.progress-sparkline-point--latest{fill:var(--navy-primary);stroke-width:1.2}.progress-chart-labels{display:grid;gap:3px;grid-template-columns:repeat(10,minmax(0,1fr));align-items:start}.progress-chart-label{color:var(--muted-strong);font-size:.66rem;font-weight:600;letter-spacing:.02em;line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.74}.progress-lesson-grid{display:grid;gap:12px}.lesson-progress-card{display:grid;gap:12px;position:relative;padding:16px 17px 16px 20px;border-radius:var(--radius-panel);background:var(--progress-panel-surface);border:1px solid var(--progress-panel-border);box-shadow:0 1px 2px #231e1808,0 8px 18px #231e1806;overflow:hidden}.lesson-progress-card--compact{gap:14px;padding:14px 16px 16px 18px}.lesson-progress-summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.lesson-progress-summary-heading{display:grid;gap:8px;min-width:0}.lesson-progress-summary-heading h3{margin:0;font-size:1.12rem;line-height:1.2}.lesson-progress-summary-lede{margin:0;color:var(--muted-strong);font-size:.88rem;line-height:1.45}.lesson-progress-next-step{display:grid;gap:4px;width:min(100%,520px);margin-top:2px;padding:11px 13px 12px;--lesson-progress-next-step-ink: var(--navy-primary);--lesson-progress-next-step-border: rgba(16, 58, 86, .08);--lesson-progress-next-step-accent: rgba(16, 58, 86, .34);--lesson-progress-next-step-surface: linear-gradient( 180deg, rgba(255, 255, 253, .94), rgba(249, 244, 236, .44) );border:1px solid var(--lesson-progress-next-step-border);border-left:3px solid var(--lesson-progress-next-step-accent);border-radius:var(--radius-card);background:var(--lesson-progress-next-step-surface);box-shadow:inset 0 1px #fffffddb}.lesson-progress-next-step--opened,.lesson-progress-next-step--review{--lesson-progress-next-step-ink: var(--navy-primary);--lesson-progress-next-step-border: rgba(16, 58, 86, .1);--lesson-progress-next-step-accent: rgba(16, 58, 86, .42);--lesson-progress-next-step-surface: linear-gradient( 180deg, rgba(255, 255, 253, .96), rgba(231, 240, 245, .24) )}.lesson-progress-next-step--neutral{--lesson-progress-next-step-ink: var(--muted-strong);--lesson-progress-next-step-border: var(--progress-neutral-border);--lesson-progress-next-step-accent: rgba(16, 58, 86, .18);--lesson-progress-next-step-surface: linear-gradient( 180deg, rgba(255, 255, 253, .9), rgba(255, 255, 253, .82) )}.lesson-progress-next-step-label{color:var(--lesson-progress-next-step-ink);font-size:.68rem;font-weight:700;letter-spacing:.04em;line-height:1;text-transform:uppercase}.lesson-progress-next-step-title{color:var(--ink);font-family:var(--font-display);font-size:.98rem;font-weight:600;line-height:1.3}.lesson-progress-summary-actions{display:grid;gap:8px;justify-items:end;align-content:start;flex:0 0 auto}.lesson-progress-continue{min-width:164px;justify-content:center}.lesson-progress-toggle{flex:0 0 auto;align-self:start;min-height:38px;padding:8px 12px;border:1px solid var(--border-paper);border-radius:999px;background:var(--surface-paper-inset);color:var(--accent-strong);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.lesson-progress-toggle:hover{background:var(--surface-paper-panel-soft);border-color:var(--border-accent);box-shadow:var(--shadow-focus-soft)}.lesson-progress-summary-body{display:grid;gap:0;margin-top:2px;padding:10px 2px 2px;border-top:1px solid rgba(16,58,86,.055);background:linear-gradient(180deg,#fffffd29,#fffffd00)}.lesson-progress-rail,.lesson-progress-path{--lesson-progress-track-future: rgba(111, 103, 94, .1);--lesson-progress-track-opened: rgba(91, 111, 126, .3);--lesson-progress-track-completed: rgba(45, 111, 69, .32);--lesson-progress-track-current: rgba(16, 58, 86, .34);--lesson-progress-marker-opened: #5c6f7e;--lesson-progress-marker-future: rgba(111, 103, 94, .22);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:start;gap:0;position:relative;min-height:50px;padding:12px 6px 4px}.lesson-progress-rail:before,.lesson-progress-path:before{content:"";position:absolute;left:10px;right:10px;top:19px;height:1px;border-radius:999px;background:var(--lesson-progress-track-future)}.lesson-progress-step,.lesson-progress-path-step{display:flex;align-items:flex-start;justify-content:center;position:relative;min-width:0;min-height:38px;padding-top:12px}.lesson-progress-step:before,.lesson-progress-step:after{content:"";position:absolute;top:19px;height:1px;background:var(--lesson-progress-track-future)}.lesson-progress-step:before{left:0;right:50%}.lesson-progress-step:after{left:50%;right:0}.lesson-progress-step:first-child:before,.lesson-progress-step:last-child:after{content:none}.lesson-progress-step--completed:before,.lesson-progress-step--completed:after{height:1.5px;background:var(--lesson-progress-track-completed)}.lesson-progress-step--opened:before{height:1.5px;background:var(--lesson-progress-track-opened)}.lesson-progress-step--opened:after{background:var(--lesson-progress-track-future)}.lesson-progress-step--future:before,.lesson-progress-step--future:after{background:var(--lesson-progress-track-future)}.lesson-progress-details{display:grid;gap:0;overflow:hidden;border:1px solid var(--progress-panel-border);border-radius:var(--radius-card);background:#fffffdd6}.lesson-progress-details[hidden]{display:none}.lesson-progress-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px 14px;border-top:1px solid var(--progress-panel-border);background:#fffffdf0;color:inherit;text-decoration:none;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.lesson-progress-row:first-child{border-top:0}.lesson-progress-row:hover{background:#fffffdfc;border-color:#103a5617}.lesson-progress-row:focus-visible{outline:2px solid rgba(34,79,111,.22);outline-offset:-2px}.lesson-progress-row-index{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:1px solid var(--progress-panel-border);background:#fffffdf5;color:var(--muted-strong);font-size:.72rem;font-weight:700}.lesson-progress-row-main{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.lesson-progress-row-main strong{min-width:0;font-size:.9rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-progress-row-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0;color:var(--muted-strong);font-size:.8rem;font-weight:600}.lesson-progress-status{display:inline-flex;align-items:center;min-width:0}.lesson-progress-status--neutral{color:var(--muted)}.lesson-progress-status--opened{color:var(--progress-lesson-ink)}.lesson-progress-status--hard,.lesson-progress-status--review,.lesson-progress-status--needs_review{color:var(--progress-review-ink)}.lesson-progress-status--assessed,.lesson-progress-status--solid,.lesson-progress-status--ok,.lesson-progress-status--readable{color:var(--progress-success-ink)}.lesson-progress-status--practicing{color:var(--progress-lesson-ink)}.lesson-progress-status--easy,.lesson-progress-status--secure{color:var(--progress-success-ink)}.lesson-progress-tempo{color:var(--progress-lesson-ink);font-weight:700}.exercise-library-card,.lessons-page-card,.lesson-exercise-card,.lesson-progress-card,.progress-item-card{position:relative;overflow:hidden;border-color:var(--progress-panel-border, var(--line-soft));box-shadow:0 1px 2px #231e1808,0 8px 16px #231e1805}.exercise-library-card:before,.lessons-page-card:before,.lesson-exercise-card:before,.lesson-progress-card:before,.progress-item-card:before{content:none}.exercise-library-card:hover,.lessons-page-card:hover,.lesson-exercise-card:hover,.lesson-progress-card:hover,.progress-item-card:hover{border-color:var(--border-strong);box-shadow:0 1px 2px #231e180a,0 12px 22px #231e1809}.exercise-library-card:focus-within,.lessons-page-card:focus-within,.lesson-exercise-card:focus-within,.lesson-progress-card:focus-within,.progress-item-card:focus-within,.progress-item-card:focus-visible{border-color:var(--border-accent-strong);box-shadow:0 1px 2px #231e180a,0 12px 22px #231e1809,var(--shadow-focus-soft)}.lesson-progress-header{display:grid;gap:12px}.lesson-progress-topline{display:grid;gap:14px;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:start}.lesson-progress-heading{gap:6px}.lesson-progress-heading h3{font-size:1.12rem}.lesson-progress-stats{display:grid;gap:0;grid-template-columns:repeat(4,minmax(0,1fr));background:#fffffdf0;border:1px solid var(--progress-panel-border);border-radius:var(--radius-card);overflow:hidden}.lesson-progress-stats div{padding:11px 12px 10px;background:transparent;border:0;border-right:1px solid var(--progress-panel-border);min-width:0}.lesson-progress-stats div:last-child{border-right:0}.lesson-progress-stats strong{display:block;margin-top:2px;font-size:.88rem;line-height:1.4}.lesson-path-scroll{overflow:hidden;padding-bottom:0}.lesson-path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;width:100%}.lesson-path-step{display:grid;gap:5px;padding:10px;border-radius:var(--radius-card);border:1px solid var(--progress-panel-border);background:#fffffde6;min-width:0}.lesson-path-step strong{display:block;font-size:.88rem;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lesson-path-step span{color:var(--muted);font-size:.76rem;line-height:1.2}.lesson-path-step-index{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:1px solid var(--progress-panel-border);background:#fffffdf5;color:var(--muted-strong);font-size:.72rem;font-weight:700}.lesson-path-step--neutral{border-style:dashed;background:#fffffdb8}.lesson-path-step--opened{border-color:#103a5617;background:#103a5609}.lesson-path-step--hard{border-color:var(--progress-review-border);background:var(--progress-review-surface)}.lesson-path-step--ok{border-color:#103a5617;background:#103a5609}.lesson-path-step--easy{border-color:var(--progress-success-border);background:#496a570b}.lesson-feeling-section{display:grid;gap:8px}.lesson-feeling-section .section-heading{gap:4px}.lesson-feeling-legend{display:flex;gap:10px 12px;flex-wrap:wrap}.lesson-feeling-legend-item{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.78rem}.lesson-feeling-swatch{width:8px;height:8px;border-radius:999px}.lesson-feeling-chart{display:grid;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end}.lesson-feeling-day{display:grid;gap:6px;min-width:0}.lesson-feeling-track{height:76px;display:flex;align-items:flex-end;padding:4px 3px 0;border-radius:14px;background:#fffffde6;border:1px solid var(--progress-panel-border)}.lesson-feeling-track.empty{border-style:dashed}.lesson-feeling-bar{width:100%;height:100%;display:flex;flex-direction:column-reverse;gap:2px}.lesson-feeling-segment{width:100%;border-radius:8px 8px 3px 3px;min-height:4px}.rating-hard{background:#765a3457}.rating-ok{background:#103a5647}.rating-easy{background:#496a574d}.lesson-feeling-label{color:var(--muted);font-size:.68rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-item-list{display:grid;gap:10px}.progress-item-list--compact{gap:8px}.progress-item-card{display:grid;gap:10px;padding:12px 13px;border-radius:var(--radius-panel);grid-template-columns:minmax(0,1fr) minmax(148px,192px);align-items:start;background:var(--progress-panel-surface);border:1px solid var(--progress-panel-border);box-shadow:inset 0 1px #fffffdfa,0 1px 1px #231e1806,0 6px 12px #231e1804}.progress-item-card--compact{padding:11px 12px}.progress-item-main{display:grid;gap:8px;min-width:0}.progress-item-main h3{font-size:1rem}.progress-review-note{margin:0;color:var(--muted-strong);font-size:.8rem;line-height:1.45}.progress-item-context{margin:0;color:var(--muted);font-size:.76rem;font-weight:600;line-height:1.35}.progress-item-meta{display:flex;flex-wrap:wrap;gap:8px 10px;color:var(--muted);justify-self:end;width:min(100%,180px)}.progress-item-meta strong{display:block;margin-bottom:0;color:var(--muted-strong);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.progress-item-meta span{display:grid;gap:2px;padding:0;border-radius:0;background:transparent;border:0}.progress-detail-panel{display:grid;gap:12px}.progress-review-panel{background:var(--progress-panel-surface);border-color:var(--progress-panel-border);box-shadow:var(--progress-panel-shadow)}.progress-review-panel .progress-item-card{background:#fffffdf5}.progress-review-panel .progress-item-card:first-child{border-color:var(--progress-panel-border);box-shadow:inset 0 1px #fffffdfa,0 1px 1px #231e1806,0 6px 12px #231e1804}.progress-review-panel--review{background:linear-gradient(180deg,#fffffdf7,#fffaf2db);border-color:var(--progress-review-border)}.progress-review-panel--review .progress-review-spotlight{border-color:var(--progress-review-border);background:linear-gradient(180deg,#fffffdfa,#fffaf2e6);box-shadow:inset 0 1px #fffffdfa,0 1px 1px #231e1808,0 8px 18px #231e1807}.progress-review-panel--review .progress-review-spotlight .eyebrow{color:var(--progress-review-ink)}.progress-review-panel--review .progress-review-spotlight-action{border-color:var(--progress-review-border);background:#fffffdc7}.progress-review-panel--review .progress-item-card{background:#fffffdb8}.progress-review-panel--review .progress-item-card:first-child{border-color:var(--progress-review-border);background:#fffaf2b8;box-shadow:inset 0 1px #ffffffd1,0 1px 1px #231e1805}.progress-review-panel--clear{background:linear-gradient(180deg,#fffffdfa,#fffffdf0);border-color:var(--progress-neutral-border)}.progress-review-panel--clear .progress-empty-card--review{padding:14px 16px 15px;border:1px solid var(--progress-neutral-border);border-radius:var(--radius-card);background:linear-gradient(180deg,#fffffdfa,#fffffdf0);box-shadow:inset 0 1px #fffffdfa,0 1px 1px #231e1806,0 6px 12px #231e1804}.progress-review-panel--clear .progress-empty-card--review .eyebrow{color:var(--muted-strong)}.progress-review-panel--clear .progress-empty-card--review .progress-empty-card-copy p{color:var(--muted)}.progress-review-spotlight{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:15px 16px;border:1px solid var(--progress-review-border);border-radius:var(--radius-card);background:linear-gradient(180deg,#fffffdfa,#fffbf5e6);box-shadow:inset 0 1px #fffffdfa,0 1px 1px #231e1806,0 6px 12px #231e1804}.progress-review-spotlight-copy{display:grid;gap:5px;min-width:0}.progress-review-spotlight-copy h3{margin:0;color:var(--ink-soft);font-size:1.08rem;line-height:1.25}.progress-review-spotlight-copy p{margin:0;color:var(--muted-strong);font-size:.84rem;line-height:1.45}.progress-review-spotlight-action{justify-self:end}.progress-lessons-panel{display:grid;gap:12px}.progress-lessons-panel,.progress-free-panel{background:var(--progress-panel-surface);border-color:var(--progress-panel-border)}.progress-lessons-panel .lesson-progress-card,.progress-free-panel .progress-free-row{background:#fffffdf5}.progress-free-heading{display:grid;gap:5px;min-width:0}.progress-free-heading h2{margin:0;color:var(--ink-soft);font-family:var(--font-display);font-size:1.12rem;font-weight:600;line-height:1.2}.progress-free-summary{margin:0;color:var(--muted-strong);font-size:.82rem;line-height:1.4}.progress-free-list{display:grid;gap:0;overflow:hidden;border:1px solid var(--progress-panel-border);border-radius:var(--radius-panel);background:linear-gradient(180deg,#fffffdfa,#fffffdf0)}.progress-free-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 12px;border-top:1px solid var(--progress-panel-border);align-items:center}.progress-free-row:first-child{border-top:0}.progress-free-row-main{min-width:0}.progress-free-row-main strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;line-height:1.3}.progress-free-row-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;color:var(--muted-strong);font-size:.8rem;font-weight:600;white-space:nowrap}.progress-free-tempo{color:var(--progress-lesson-ink);font-weight:700}.progress-page{width:min(100%,1120px);gap:8px;color:var(--sn-color-text-primary);--progress-panel-surface: var(--sn-color-surface);--progress-panel-border: var(--sn-color-border);--progress-panel-shadow: var(--sn-shadow-card);--progress-inner-surface: var(--sn-color-surface-subtle);--progress-lesson-ink: var(--sn-status-opened);--progress-lesson-border: var(--sn-status-opened-border);--progress-success-ink: var(--sn-status-secure);--progress-success-border: var(--sn-status-secure-border);--progress-neutral-ink: var(--sn-status-neutral);--progress-neutral-border: var(--sn-status-neutral-border);--progress-momentum-ink: var(--sn-status-opened);--progress-momentum-border: var(--sn-status-opened-border);--progress-momentum-surface-top: var(--sn-color-surface);--progress-momentum-surface-bottom: var(--sn-color-surface);--progress-momentum-ring: var(--sn-status-opened);--progress-momentum-ring-track: var(--sn-status-neutral-border);--progress-momentum-ring-shadow: transparent}.progress-page :is(.progress-hero,.progress-summary-panel,.progress-lessons-panel,.progress-free-panel,.progress-teacher-panel){border:1px solid var(--sn-color-border);border-radius:16px;background:var(--sn-color-surface);box-shadow:var(--sn-shadow-card)}.progress-hero{grid-template-columns:minmax(430px,.88fr) minmax(560px,1.12fr);align-items:center;gap:18px;padding:14px 22px 13px}.progress-hero:before{content:none}.progress-hero .hero-copy{gap:0;max-width:none}.progress-hero .eyebrow{margin:0;color:var(--sn-color-brand);font-size:.68rem}.progress-hero-accent{display:block;width:32px;height:2px;margin:7px 0 9px;border-radius:999px;background:var(--sn-color-brand)}.progress-hero h1{color:var(--sn-color-text-primary);font-family:var(--font-display);font-size:clamp(2.1rem,1.95rem + .5vw,2.45rem);font-weight:600;line-height:1.04}.progress-hero-lede{display:block;max-width:none;margin:9px 0 0;overflow:visible;color:var(--sn-color-text-secondary);font-size:.82rem;line-height:1.42;text-wrap:pretty}.progress-hero-actions{gap:10px;margin-top:10px}.progress-page :is(.progress-hero-actions .button,.lesson-progress-continue){min-height:44px;padding:9px 16px;border-radius:11px;box-shadow:none;font-size:.88rem;font-weight:700}.progress-page :is(.progress-hero-actions .button-primary,.lesson-progress-continue){color:var(--sn-color-surface);border-color:var(--sn-color-brand);background:var(--sn-color-brand)}.progress-page :is(.progress-hero-actions .button-primary,.lesson-progress-continue):hover{color:var(--sn-color-surface);border-color:var(--sn-color-brand-hover);background:var(--sn-color-brand-hover);box-shadow:none}.progress-page .progress-hero-actions .button-secondary{color:var(--sn-color-text-primary);border-color:var(--sn-color-border-strong);background:var(--sn-color-surface);box-shadow:none}.progress-page .progress-hero-actions .button-secondary:hover{color:var(--sn-color-brand-hover);border-color:var(--sn-color-brand-border);background:var(--sn-color-brand-soft);box-shadow:none}.progress-hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));align-self:center;align-items:stretch;gap:10px;width:100%;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.progress-hero-metric{--progress-hero-metric-accent: var(--sn-status-neutral);display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto auto;align-content:center;align-self:stretch;column-gap:8px;row-gap:3px;min-height:132px;padding:20px 12px 12px;overflow:hidden;border:1px solid var(--sn-color-border);border-radius:14px;background:var(--sn-color-surface);box-shadow:none}.progress-hero-metric:before{inset:11px auto auto 14px;width:30px;height:2px;background:var(--progress-hero-metric-accent);opacity:1}.progress-hero-metric:last-child{border-right:1px solid var(--sn-color-border)}.progress-hero-metric-icon{display:grid;grid-column:1;grid-row:1 / span 3;align-self:start;place-items:center;width:24px;height:24px;color:var(--progress-hero-metric-accent)}.progress-icon{display:block;width:20px;height:20px}.progress-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.progress-hero-metric :is(.metric-value,.metric-label,.metric-note){grid-column:2;min-width:0;margin:0}.progress-hero-metric .metric-value{color:var(--sn-color-text-primary);font-family:var(--font-sans);font-size:.98rem;font-weight:600;line-height:1.18;overflow-wrap:anywhere}.progress-hero-metric .metric-label{color:var(--sn-color-text-primary);font-size:.74rem;font-weight:600;line-height:1.3}.progress-hero-metric .metric-note{color:var(--sn-color-text-secondary);font-size:.7rem;line-height:1.35;overflow-wrap:anywhere}.progress-hero-metric:is(.progress-hero-metric--attention,.progress-hero-metric--warming,.progress-hero-metric--building,.progress-hero-metric--solid,.progress-hero-metric--secure){--progress-hero-metric-accent: var(--momentum-color)}.progress-hero-metric--lesson{--progress-hero-metric-accent: var(--sn-status-opened)}.progress-hero-metric--review{--progress-hero-metric-accent: var(--sn-status-review)}.progress-hero-metric:is(.progress-hero-metric--lesson,.progress-hero-metric--review) .metric-value{font-size:.94rem;line-height:1.2}.progress-hero-metric--review .metric-value{font-family:var(--font-display);font-size:1.45rem;font-weight:600}.progress-hero-metric--clear{--progress-hero-metric-accent: var(--sn-status-neutral)}.progress-hero-metric:is(.progress-hero-metric--attention,.progress-hero-metric--warming,.progress-hero-metric--building,.progress-hero-metric--solid,.progress-hero-metric--secure,.progress-hero-metric--lesson,.progress-hero-metric--review,.progress-hero-metric--clear) :is(.metric-value,.metric-label){color:var(--sn-color-text-primary)}.progress-hero-metric:is(.progress-hero-metric--attention,.progress-hero-metric--warming) .metric-value{font-family:var(--font-display);font-size:1.45rem;font-weight:600}.progress-summary-panel{display:grid;gap:4px;padding:8px 20px 10px}.progress-page .progress-section-heading{gap:0}.progress-page .progress-section-heading h2,.progress-lessons-panel>.section-heading h2{margin:0;color:var(--sn-color-text-primary);font-family:var(--font-display);font-size:1.26rem;font-weight:600;line-height:1.15}.progress-recent-layout{grid-template-columns:minmax(330px,.95fr) minmax(210px,.62fr) minmax(390px,1.35fr);gap:0;align-items:stretch}.progress-page :is(.progress-momentum-card,.progress-stats-card,.progress-chart-panel){min-height:116px;border:0;border-radius:0;background:transparent;box-shadow:none}.progress-momentum-card{--momentum-color: var(--sn-status-opened);--momentum-track-color: var(--sn-status-neutral-border);grid-template-columns:90px minmax(0,1fr);align-items:center;gap:14px;padding:4px 18px 4px 0;overflow:visible}.progress-momentum-card:after{content:none}.progress-momentum-ring{width:84px;height:84px;background:transparent;box-shadow:none}.progress-momentum-ring:after{content:none}.progress-momentum-ring-graphic{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.progress-momentum-ring-track,.progress-momentum-ring-value{fill:none;stroke-width:5}.progress-momentum-ring-track{stroke:var(--momentum-track-color)}.progress-momentum-ring-value{stroke:var(--momentum-color);stroke-dasharray:100;stroke-dashoffset:var(--progress-momentum-offset);stroke-linecap:round}.progress-momentum-ring-score{color:var(--momentum-color);font-family:var(--font-sans);font-size:1.25rem;font-weight:700}.progress-momentum-copy{gap:4px;align-content:center;padding-right:44px}.progress-momentum-value{color:var(--sn-color-text-primary);font-family:var(--font-sans);font-size:1.02rem;font-weight:600;line-height:1.25}.progress-momentum-copy .metric-label{margin:0;color:var(--sn-color-text-secondary);font-size:.74rem;line-height:1.3}.progress-momentum-description{color:var(--sn-color-text-secondary);font-size:.76rem;line-height:1.4}.progress-momentum-trend{top:7px;right:16px;padding:4px 8px;border:1px solid var(--sn-status-neutral-border);border-radius:999px;color:var(--sn-status-neutral);background:var(--sn-status-neutral-soft);box-shadow:none;font-size:.68rem}.progress-momentum-trend--up,.progress-momentum-trend--down{color:var(--sn-status-opened);border-color:var(--sn-status-opened-border);background:var(--sn-status-opened-soft)}.progress-momentum-trend--flat{color:var(--sn-status-neutral);border-color:var(--sn-status-neutral-border);background:var(--sn-status-neutral-soft)}.progress-stats-card{align-content:center;gap:8px;padding:6px 20px;border-left:2px solid var(--sn-color-divider)}.progress-stat-row{gap:4px}.progress-stat-row .metric-value{color:var(--sn-color-text-primary);font-family:var(--font-sans);font-size:1rem;font-weight:400;line-height:1.25}.progress-stat-row .metric-label{margin:0;color:var(--sn-color-text-secondary);font-size:.72rem;line-height:1.3}.progress-stat-divider{height:1px;background:var(--sn-color-divider)}.progress-chart-panel{align-content:center;padding:0 0 0 18px;border-left:2px solid var(--sn-color-divider)}.progress-chart,.progress-chart--global{gap:4px}.progress-chart-plot{display:grid;grid-template-columns:26px minmax(0,1fr);gap:6px;min-width:0}.progress-chart-axis-values{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;padding:0 0 1px;color:var(--sn-color-text-tertiary);font-size:.64rem;font-weight:500;line-height:1}.progress-chart-frame{height:96px;min-width:0;border-left:1px solid var(--sn-color-divider);border-bottom:1px solid var(--sn-color-divider)}.progress-sparkline{width:100%;height:94px}.progress-sparkline-line{stroke:var(--sn-color-brand);stroke-width:1.8}.progress-sparkline-area{display:none;fill:transparent}.progress-sparkline-point,.progress-sparkline-point--latest{fill:var(--sn-color-brand);stroke:var(--sn-color-surface);stroke-width:1.2}.progress-chart-labels{padding-left:32px}.progress-chart-label{color:var(--sn-color-text-tertiary);font-size:.64rem;font-weight:500;letter-spacing:0;opacity:1}.progress-lessons-panel{gap:0;padding:18px 22px 16px}.progress-lessons-panel .lesson-progress-card{gap:14px;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.progress-lessons-panel .lesson-progress-card:hover,.progress-lessons-panel .lesson-progress-card:focus-within{border-color:transparent;box-shadow:none}.lesson-progress-current-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.lesson-progress-current-copy{display:grid;gap:5px;min-width:0}.lesson-progress-current-copy .eyebrow{margin:0 0 4px;color:var(--sn-color-brand);font-size:.66rem}.lesson-progress-current-copy h2{margin:0;color:var(--sn-color-text-primary);font-family:var(--font-display);font-size:clamp(1.43rem,1.3rem + .42vw,1.7rem);font-weight:600;line-height:1.08}.lesson-progress-summary-lede{margin:0;color:var(--sn-color-text-secondary);font-size:.8rem;line-height:1.4}.lesson-progress-next-step,.lesson-progress-next-step--opened,.lesson-progress-next-step--review,.lesson-progress-next-step--neutral{width:100%;margin:0;border:1px solid var(--sn-color-border);border-radius:10px;background:var(--sn-color-surface-subtle);box-shadow:none}.lesson-progress-next-action{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:64px;padding:10px 14px}.lesson-progress-next-action.lesson-progress-next-step--review,.lesson-progress-next-action.lesson-progress-next-step--opened,.lesson-progress-next-action.lesson-progress-next-step--neutral{border-color:var(--sn-color-guide-border);background:var(--sn-color-guide-soft)}.lesson-progress-next-action-icon{display:grid;place-items:center;color:var(--sn-color-guide)}.lesson-progress-next-action-icon .progress-icon{width:24px;height:24px}.lesson-progress-next-action-copy{display:grid;gap:3px;min-width:0}.lesson-progress-next-step-label{color:var(--sn-color-guide);font-size:.64rem;letter-spacing:0}.lesson-progress-next-step-title{color:var(--sn-color-text-primary);font-family:var(--font-display);font-size:.98rem;line-height:1.25}.lesson-progress-next-action-button{min-height:38px;padding:7px 14px;border-radius:10px;box-shadow:none;font-size:.8rem;font-weight:700;color:var(--sn-color-guide);border-color:var(--sn-color-guide-border);background:var(--sn-color-surface)}.lesson-progress-next-step--review .lesson-progress-next-action-button,.lesson-progress-next-step--opened .lesson-progress-next-action-button{color:var(--sn-color-guide);border-color:var(--sn-color-guide-border);background:var(--sn-color-surface)}.lesson-progress-toggle{min-height:36px;padding:6px 13px;border:1px solid var(--sn-color-border-strong);border-radius:11px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);font-size:.76rem;font-weight:600}.lesson-progress-toggle:hover{color:var(--sn-color-brand-hover);border-color:var(--sn-color-brand-border);background:var(--sn-color-brand-soft);box-shadow:none}.lesson-progress-summary-body{margin:0;padding:4px 0 0;border:0;background:transparent}.lesson-progress-rail,.lesson-progress-path{min-height:42px;padding:0 6px}.lesson-progress-rail:before,.lesson-progress-path:before{content:none}.lesson-progress-step,.lesson-progress-path-step{display:grid;grid-template-rows:32px;place-items:start center;min-height:42px;padding:0}.lesson-progress-step:before,.lesson-progress-step:after,.lesson-progress-step--completed:before,.lesson-progress-step--completed:after,.lesson-progress-step--opened:before,.lesson-progress-step--opened:after,.lesson-progress-step--future:before,.lesson-progress-step--future:after{content:none}.lesson-progress-connector{position:absolute;z-index:0;top:19px;left:50%;width:100%;height:1px;background:var(--sn-color-divider)}.lesson-progress-connector--opened{background:var(--sn-status-opened-border)}.lesson-progress-connector--neutral{background:var(--sn-color-divider)}.lesson-progress-details{border:1px solid var(--sn-color-border);border-radius:14px;background:var(--sn-color-surface)}.lesson-progress-row{border-top:1px solid var(--sn-color-divider);background:var(--sn-color-surface)}.lesson-progress-row:hover{border-color:var(--sn-color-divider);background:var(--sn-color-surface-subtle)}.lesson-progress-row:focus-visible{outline:none;box-shadow:var(--sn-focus-ring)}.lesson-progress-row-index{color:var(--sn-status-neutral);border-color:var(--sn-status-neutral-border);background:var(--sn-status-neutral-soft)}.lesson-progress-row-main strong{color:var(--sn-color-text-primary)}.lesson-progress-row-meta{color:var(--sn-color-text-secondary)}.lesson-progress-status--neutral{color:var(--sn-status-neutral)}.lesson-progress-status--opened,.lesson-progress-status--practicing,.lesson-progress-tempo{color:var(--sn-status-opened)}.lesson-progress-status--hard,.lesson-progress-status--review,.lesson-progress-status--needs_review{color:var(--sn-status-review)}.lesson-progress-status--assessed,.lesson-progress-status--solid,.lesson-progress-status--ok,.lesson-progress-status--readable,.lesson-progress-status--easy,.lesson-progress-status--secure{color:var(--sn-status-secure)}.progress-free-panel{gap:8px;padding:10px 22px}.progress-free-panel:has(.progress-free-list:empty){min-height:66px}.progress-free-list,.progress-page .progress-free-row{border-color:var(--sn-color-border);background:var(--sn-color-surface)}.progress-free-row{border-top-color:var(--sn-color-divider)}.progress-page .progress-free-row{grid-template-columns:minmax(0,1fr) minmax(210px,auto)}.progress-page .progress-free-row-meta{display:grid;grid-template-columns:minmax(64px,80px) minmax(130px,150px);justify-content:end;gap:16px;min-width:210px}.progress-page .progress-free-row-meta .lesson-progress-status--opened{color:var(--sn-color-text-tertiary);font-weight:500}.progress-page .progress-free-tempo{color:var(--sn-color-text-secondary);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.progress-free-heading h2,.progress-free-row-main strong,.progress-empty-card-copy h3{color:var(--sn-color-text-primary)}.progress-free-summary,.progress-empty-card-copy p{color:var(--sn-color-text-secondary)}.progress-page .progress-empty-card--section,.progress-page .progress-empty-card--chart{padding:12px 14px;border:1px solid var(--sn-color-border);border-radius:14px;background:var(--sn-color-surface-subtle);box-shadow:none}.progress-page .progress-empty-card .eyebrow{color:var(--sn-color-text-tertiary)}.progress-page .progress-empty-card-action{color:var(--sn-color-text-primary);border-color:var(--sn-color-border-strong);background:var(--sn-color-surface);box-shadow:none}.exercises-page{width:min(100%,1120px);gap:15px}.exercises-page-header{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;padding:22px 24px 20px;background:var(--surface-paper-panel);border:1px solid var(--border-paper-accent);box-shadow:var(--shadow-card-strong)}.exercises-page-header .hero-copy{max-width:64ch}.exercise-library-layout{display:grid;grid-template-columns:minmax(230px,272px) minmax(0,1fr);gap:12px;align-items:start}.exercise-library-main-column{display:grid;gap:8px;min-width:0}.exercise-category-rail{display:grid;gap:12px;align-self:start;padding:14px;border:1px solid var(--border-paper);background:var(--surface-paper-panel-soft);box-shadow:var(--shadow-soft);overflow:visible}.exercise-category-rail-header{display:grid;gap:4px}.exercise-category-summary{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}.exercise-category-list{display:grid;gap:8px}.exercise-category-button{--exercise-focus-color: var(--sn-color-border-strong);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:46px;padding:9px 11px;border:1px solid var(--border-paper);border-radius:12px;background:var(--surface-paper-inset);color:var(--muted-strong);text-align:left;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.exercise-category-button:hover{background:var(--surface-paper-panel-soft);border-color:var(--control-border-hover);box-shadow:var(--shadow-focus-soft)}.exercise-category-button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.exercise-category-button--selected{border-color:var(--chip-border-strong);background:linear-gradient(180deg,var(--surface-card-highlight),var(--surface-card-warm-soft));color:var(--accent-strong);box-shadow:var(--shadow-focus-soft)}.exercise-category-button--focus-1{--exercise-focus-color: var(--sn-focus-1)}.exercise-category-button--focus-2{--exercise-focus-color: var(--sn-focus-2)}.exercise-category-button--focus-3{--exercise-focus-color: var(--sn-focus-3)}.exercise-category-button--focus-4{--exercise-focus-color: var(--sn-focus-4)}.exercise-category-button-label{min-width:0;font-size:.86rem;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-category-button-count{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;padding:0 .55rem;border-radius:999px;border:1px solid rgba(16,58,86,.12);background:#fffffdc7;color:var(--exercise-focus-color);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.exercise-controls-primary,.exercise-search-control{display:grid;gap:3px;min-width:0}.exercise-controls-primary{align-content:start}.exercise-search-control{color:var(--muted-strong);font-size:.72rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.exercise-search-control input{min-height:36px;width:100%;border:1px solid var(--border-paper);border-radius:var(--radius-control);background:var(--surface-paper-inset);color:var(--control-text);font-size:.9rem;font-weight:500;letter-spacing:0;text-transform:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.exercise-search-control input{padding:0 13px}.exercise-search-control input:hover{background:var(--surface-paper-panel-soft);border-color:var(--control-border-hover);box-shadow:var(--shadow-focus-soft)}.exercise-catalogue-controls{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);gap:10px 16px;align-items:start;padding:12px 14px;border:1px solid var(--border-paper);background:var(--surface-paper-panel-soft);box-shadow:var(--shadow-soft);overflow:visible}.exercise-status-filters{display:grid;gap:6px;align-content:start;min-width:0;margin:0;padding:0;border:0}.exercise-status-filters legend{padding:0;color:var(--muted-strong);font-size:.72rem;font-weight:700;letter-spacing:0;margin:0;text-transform:uppercase}.exercise-filter-options{display:flex;flex-wrap:nowrap;gap:5px;min-width:0}.exercise-filter-option{position:relative;display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border:1px solid var(--border-paper);border-radius:999px;background:var(--surface-paper-inset);color:var(--muted-strong);font-size:.72rem;font-weight:700;line-height:1.15;white-space:nowrap;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.exercise-filter-option:hover{background:var(--surface-paper-panel-soft);border-color:var(--control-border-hover);box-shadow:var(--shadow-focus-soft)}.exercise-filter-option:focus-within{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.exercise-filter-option.active{border-color:var(--chip-border-strong);background:linear-gradient(180deg,var(--surface-card-highlight),var(--surface-card-warm-soft));color:var(--accent-strong)}.exercise-filter-option input{position:absolute;opacity:0;pointer-events:none}.exercise-results-summary{margin:0;color:var(--accent-strong);font-size:.76rem;font-weight:700;line-height:1.35}.exercise-clear-filters-button{grid-column:1 / -1;align-self:end;justify-self:end;min-height:36px;padding:7px 10px;white-space:nowrap}.exercise-library-grid{display:grid;gap:8px}.exercise-library-card{--exercise-focus-color: var(--sn-color-border-strong);display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px 16px;align-items:start;padding:11px 16px;border:1px solid var(--sn-color-border);border-radius:var(--radius-card);background:var(--sn-color-surface);box-shadow:var(--sn-shadow-card)}.exercise-library-card:hover{border-color:var(--sn-color-border-strong);box-shadow:var(--sn-shadow-card)}.exercise-library-card:focus-within{border-color:var(--sn-color-brand-border);box-shadow:var(--sn-shadow-card),var(--sn-focus-ring)}.exercise-library-card:after{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--exercise-focus-color)}.exercise-library-card--focus-1{--exercise-focus-color: var(--sn-focus-1)}.exercise-library-card--focus-2{--exercise-focus-color: var(--sn-focus-2)}.exercise-library-card--focus-3{--exercise-focus-color: var(--sn-focus-3)}.exercise-library-card--focus-4{--exercise-focus-color: var(--sn-focus-4)}.exercise-library-content{display:grid;gap:4px;min-width:0;align-content:start;padding-right:12px}.exercise-library-content p{margin:0}.exercise-library-topline{display:flex;align-items:center;gap:4px 6px;flex-wrap:wrap}.exercise-library-topline .status-pill{min-height:22px;padding:3px 8px;font-size:.72rem}.exercise-library-card h2{font-size:clamp(1.04rem,.98rem + .16vw,1.18rem);line-height:1.12}.exercise-card-summary{display:-webkit-box;max-width:60ch;overflow:hidden;color:var(--sn-color-text-secondary);font-size:.86rem;line-height:1.34;-webkit-box-orient:vertical;-webkit-line-clamp:1}.exercise-library-context{color:var(--sn-color-text-tertiary);font-size:.68rem;font-weight:600;letter-spacing:0;line-height:1.25;text-transform:none}.exercise-library-focus{color:var(--exercise-focus-color);font-size:.68rem;font-weight:500;line-height:1.25}.exercise-library-topline-separator{color:var(--sn-color-text-tertiary);font-size:.68rem;line-height:1}.exercise-card-goal{color:var(--ink-soft);font-size:.96rem;font-weight:600}.exercise-card-subtitle{color:var(--muted);font-size:.92rem;line-height:1.6}.exercise-library-tags{gap:8px}.exercise-library-tags .tag-chip{background:linear-gradient(180deg,var(--surface-card-highlight),var(--surface-card-warm-faint));color:var(--chip-text-strong)}.exercise-library-actions{display:grid;gap:8px;align-items:start;align-self:center;justify-items:end;min-width:0;padding:0}.exercise-aside-label{color:var(--sn-color-text-tertiary);font-size:.68rem;font-weight:700;letter-spacing:0;line-height:1.3;text-transform:uppercase}.inline-link{color:var(--accent-strong);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.inline-link:hover{color:var(--accent)}.exercise-library-card .status-pill--needs-review{color:var(--sn-status-review);background:var(--sn-status-review-soft);border-color:var(--sn-status-review-border)}.exercise-library-card .status-pill--practicing,.exercise-library-card .status-pill--opened,.exercise-library-card .status-pill--readable{color:var(--sn-status-opened);background:var(--sn-status-opened-soft);border-color:var(--sn-status-opened-border)}.exercise-library-card .status-pill--secure,.exercise-library-card .status-pill--completed{color:var(--sn-status-secure);background:var(--sn-status-secure-soft);border-color:var(--sn-status-secure-border)}.exercise-library-card .status-pill--neutral{color:var(--sn-status-neutral);background:var(--sn-status-neutral-soft);border-color:var(--sn-status-neutral-border)}.exercise-instructions-button,.lesson-instructions-button{min-height:36px}.exercise-library-actions .lesson-launch-button{justify-self:end}.exercise-library-actions .button-secondary{width:fit-content}.exercise-library-empty{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:22px 24px;border:1px dashed var(--border-accent);background:var(--surface-paper-panel-soft)}.exercise-library-empty h2{margin:0 0 6px;font-size:1.08rem}.exercise-library-empty p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.55}.lessons-page{width:min(100%,1120px);gap:10px;color:var(--sn-color-text-primary)}.lessons-page-header{grid-template-columns:minmax(0,.84fr) minmax(540px,1.16fr);align-items:center;gap:36px;padding:18px 0 28px;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}.lessons-page-header:before{content:none}.lessons-page-header .hero-copy{gap:0;max-width:54ch}.lessons-page-header .eyebrow{justify-self:start;margin:0;padding:5px 10px;border:1px solid var(--sn-status-review-border);border-radius:999px;color:var(--sn-status-review);background:var(--sn-status-review-soft);font-size:.66rem;line-height:1.1}.lessons-hero-accent{display:block;width:32px;height:3px;margin:19px 0 22px 10px;border-radius:999px;background:var(--sn-color-gold)}.lessons-page-header h1{color:var(--sn-color-text-primary);font-family:var(--font-display);font-size:clamp(2.15rem,1.95rem + .65vw,2.55rem);font-weight:600;line-height:1.05}.lessons-page-header .lead{margin:18px 0 0;max-width:52ch;color:var(--sn-color-text-secondary);font-size:.94rem;line-height:1.55;text-wrap:pretty}.lessons-header-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-self:center;gap:14px;min-width:0}.lessons-summary{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:13px;row-gap:4px;min-width:0;min-height:136px;padding:18px 15px;border:1px solid var(--sn-color-border);border-radius:14px;background:var(--sn-color-surface);box-shadow:none}.lessons-metric-icon-shell{display:grid;grid-column:1;grid-row:1 / span 2;place-items:center;width:48px;height:48px;border-radius:50%}.lessons-metric-icon{display:block;width:20px;height:20px}.lessons-summary--available .lessons-metric-icon-shell{color:var(--sn-status-neutral);background:var(--sn-status-neutral-soft)}.lessons-summary--completed .lessons-metric-icon-shell{color:var(--sn-status-opened);background:var(--sn-status-opened-soft)}.lessons-summary--guided .lessons-metric-icon-shell{color:var(--sn-status-review);background:var(--sn-status-review-soft)}.lessons-summary .metric-value,.lessons-summary .metric-label{grid-column:2;min-width:0}.lessons-summary .metric-value{align-self:end;color:var(--sn-color-text-primary);font-family:var(--font-display);font-size:2rem;font-weight:500;line-height:.98}.lessons-summary .metric-label{align-self:start;margin:0;color:var(--sn-color-text-primary);font-size:.84rem;line-height:1.45}.lessons-page-grid{gap:8px}.lessons-page-card{--lesson-status-rail: var(--sn-color-text-tertiary);display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:0;align-items:stretch;min-height:148px;padding:16px 20px 16px 34px;border-radius:14px;border:1px solid var(--sn-color-border);background:var(--sn-color-surface);box-shadow:var(--sn-shadow-card)}.lessons-page-card--needs_review{--lesson-status-rail: var(--sn-status-review)}.lessons-page-card--in_progress{--lesson-status-rail: var(--sn-status-opened)}.lessons-page-card--complete{--lesson-status-rail: var(--sn-status-secure)}.lessons-page-card:after{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--lesson-status-rail)}.lessons-page-card--complete:after{content:none}.lessons-page-card--complete:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--sn-status-secure)}.lessons-card-main{display:grid;gap:6px;min-width:0;align-content:start;padding:0 22px 0 0}.lessons-page-card .section-heading{gap:4px}.lessons-page-card .eyebrow{margin:0;color:var(--sn-color-text-primary);font-size:.68rem}.lessons-page-card h2{color:var(--sn-color-text-primary);font-family:var(--font-display);font-size:clamp(1.28rem,1.18rem + .24vw,1.52rem);font-weight:600;line-height:1.08}.lessons-page-card .lesson-description{display:-webkit-box;max-width:52ch;margin:1px 0 0;overflow:hidden;color:var(--sn-color-text-secondary);font-size:.88rem;line-height:1.42;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.lessons-card-aside{display:grid;grid-template-rows:auto auto minmax(34px,1fr);gap:12px;justify-items:start;align-content:start;min-width:0;padding:0 0 0 20px;border-left:1px solid var(--sn-color-divider)}.lessons-status-pill--not_started{color:var(--sn-status-neutral);background:var(--sn-status-neutral-soft);border-color:var(--sn-status-neutral-border)}.lessons-status-pill--in_progress{color:var(--sn-status-opened);background:var(--sn-status-opened-soft);border-color:var(--sn-status-opened-border)}.lessons-status-pill--needs_review{color:var(--sn-status-review);background:var(--sn-status-review-soft);border-color:var(--sn-status-review-border)}.lessons-status-pill--complete{color:var(--sn-status-secure);background:var(--sn-status-secure-soft);border-color:var(--sn-status-secure-border)}.lessons-card-progress{display:grid;gap:5px;width:100%;padding:0;border:0}.lessons-progress-topline{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--sn-color-text-secondary);font-size:.78rem;line-height:1.3}.lessons-progress-topline strong{color:var(--sn-color-brand);font-size:.8rem;font-weight:800}.lessons-progress-track{position:relative;width:100%;height:5px;border-radius:999px;overflow:hidden;background:var(--sn-status-neutral-soft)}.lessons-progress-fill{display:block;height:100%;border-radius:inherit;background:var(--sn-color-brand)}.lessons-page-card--complete .lessons-progress-fill{background:var(--sn-status-secure)}.lessons-card-action{display:inline-flex;align-items:center;justify-content:center;width:min(100%,280px);min-height:34px;padding:7px 11px;border-radius:5px;color:var(--sn-color-brand);background:var(--sn-color-surface);border:1px solid var(--sn-color-brand);font-size:.82rem;font-weight:700;box-shadow:none;align-self:end;justify-self:center}.lessons-card-action--secondary{border-color:var(--sn-color-brand);background:var(--sn-color-surface);color:var(--sn-color-brand)}.lessons-card-action--secondary:hover{border-color:var(--sn-color-brand-hover);background:var(--sn-color-brand-soft);color:var(--sn-color-brand-hover)}.lessons-card-action--primary{min-width:0;border-color:var(--sn-color-brand);background:var(--sn-color-brand);color:#fff;box-shadow:none}.lessons-card-action--primary:hover{border-color:var(--sn-color-brand-hover);background:var(--sn-color-brand-hover)}.lessons-empty-state{display:grid;gap:16px;align-items:center;padding:22px 24px;border:1px dashed var(--border-accent);background:var(--surface-paper-panel-soft)}.lessons-empty-state h2{margin:0 0 6px;font-size:1.08rem}.lessons-empty-state p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.55}.lessons-empty-action{justify-self:flex-start}.lesson-grid,.lesson-sequence-grid{display:grid;gap:12px}.lesson-detail-page{width:min(1120px,100%);gap:14px}.lesson-card{display:grid;gap:18px;border-radius:var(--radius-panel);box-shadow:none}.lesson-description,.exercise-score-subtitle,.exercise-card-subtitle{max-width:88ch;overflow:visible;white-space:pre-line}.lesson-card-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.lesson-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:10px 20px;align-items:start;width:100%;max-width:none;padding:16px 20px 18px;border:1px solid var(--border-paper-accent);border-radius:var(--radius-panel);background:var(--surface-paper-panel);box-shadow:var(--shadow-card-strong)}.lesson-hero-main{display:grid;gap:10px;max-width:none}.lesson-hero h1{margin:0;color:var(--ink);font-family:var(--font-display);font-size:2.15rem;font-weight:600;line-height:1.08;max-width:18ch}.lesson-hero .lead{margin:0;color:var(--muted-strong);font-size:1rem;line-height:1.65;max-width:68ch}.lesson-hero-summary{display:grid;gap:10px;align-self:stretch;padding:14px;border:1px solid var(--border-paper);border-radius:var(--radius-card);background:var(--surface-paper-inset);box-shadow:inset 0 1px #fffefad1,var(--shadow-card-subtle-soft)}.lesson-hero-summary-topline{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.lesson-overview-pill--not_started{background:var(--surface-paper-inset);border-color:var(--border-paper);color:var(--muted-strong)}.lesson-overview-pill--in_progress{background:linear-gradient(180deg,var(--surface-card-highlight),var(--surface-card-warm-soft));border-color:var(--border-strong-ivory);color:var(--accent-strong)}.lesson-overview-pill--complete{background:var(--chip-success-surface);border-color:var(--chip-success-border);color:var(--success)}.lesson-summary-recommendation{display:grid;gap:6px;padding:11px 12px 12px;border:1px solid var(--border-paper);border-radius:var(--radius-control);background:var(--surface-paper-panel-soft)}.lesson-summary-recommendation span{color:var(--muted-strong);font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.lesson-summary-recommendation strong{color:var(--ink);font-family:var(--font-display);font-size:1.02rem;font-weight:600;line-height:1.35}.lesson-summary-progress{display:grid;gap:8px;padding:10px 12px 11px;border:1px solid var(--border-paper);border-radius:var(--radius-control);background:var(--surface-paper-panel-soft)}.lesson-summary-progress-topline{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.lesson-summary-progress-topline span{color:var(--muted-strong);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.lesson-summary-progress-topline strong{color:var(--ink);font-family:var(--font-display);font-size:1rem;font-weight:600;line-height:1.3;text-align:right}.lesson-summary-progress-track{display:block;height:6px;border-radius:999px;background:#224f6f17;overflow:hidden}.lesson-summary-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#224f6feb,#224f6f94)}.lesson-locked-message{margin:0;padding:10px 12px;border:1px solid var(--border-paper);border-radius:var(--radius-control);background:var(--surface-paper-panel-soft);color:var(--muted-strong);font-size:.88rem;font-weight:600;line-height:1.45}.lesson-summary-button{width:100%;justify-self:stretch}.lesson-sequence-header{display:grid;gap:4px;padding-top:0}.lesson-sequence-header .lead{margin:0;color:var(--muted-strong);font-size:.96rem;line-height:1.6;max-width:68ch}.lesson-timeline{display:grid;gap:0;padding:4px 0 0}.lesson-timeline-step{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:start;min-height:0;position:relative;padding:0 0 20px}.lesson-timeline-step--last{padding-bottom:0}.lesson-timeline-rail{position:relative;display:flex;justify-content:center;align-self:stretch;min-height:100%}.lesson-timeline-rail:before{content:"";position:absolute;top:49px;bottom:-24px;left:50%;width:1px;transform:translate(-50%);background:var(--sn-status-neutral-border)}.lesson-timeline-step--last .lesson-timeline-rail:before{content:none}.lesson-timeline-main{display:grid;gap:8px;min-width:0;padding:16px 17px 17px;border:1px solid var(--border-paper);border-radius:var(--radius-panel);background:var(--surface-paper-panel-soft);box-shadow:var(--shadow-card-subtle);transition:background .16s ease,border-color .16s ease,transform .12s ease}.lesson-timeline-step--locked .lesson-timeline-main{background:var(--sn-color-surface-subtle);border-color:var(--sn-status-neutral-border);box-shadow:none}.lesson-step-marker{align-self:start;justify-self:center}.lesson-exercise-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.lesson-exercise-heading-copy{display:grid;gap:6px;min-width:0}.lesson-exercise-heading .section-heading{gap:3px}.lesson-timeline-main h2,.lesson-exercise-main h2{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:600;line-height:1.16}.lesson-step-status{white-space:nowrap}.lesson-step-status--later,.lesson-step-status--locked{background:var(--sn-status-neutral-soft);border-color:var(--sn-status-neutral-border);color:var(--sn-status-neutral)}.lesson-step-status--in_progress{background:var(--sn-status-opened-soft);border-color:var(--sn-status-opened-border);color:var(--sn-status-opened)}.lesson-step-status-marker{position:relative;z-index:2;display:inline-grid;flex:0 0 auto;place-items:center;box-sizing:border-box;width:32px;height:32px;min-width:32px;min-height:32px;border:1px solid var(--sn-status-neutral-border);border-radius:50%;color:var(--sn-status-neutral);background:var(--sn-color-surface);box-shadow:none}.lesson-step-status-marker:after{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none}.lesson-step-status-marker--recommended:after{top:-6px;right:-6px;bottom:-6px;left:-6px;border:2px solid var(--sn-status-opened)}.lesson-step-status-marker--compact.lesson-step-status-marker--recommended:after{top:-7px;right:-7px;bottom:-7px;left:-7px}.lesson-step-status-marker--standard{width:42px;height:42px;min-width:42px;min-height:42px}.lesson-step-status-marker--compact{width:39px;height:39px;min-width:39px;min-height:39px}.lesson-step-status-marker--standard:after,.lesson-step-status-marker--compact:after{border-radius:50%}.lesson-step-status-marker--not_started{color:var(--sn-status-neutral);border-color:var(--sn-status-neutral-border);background:var(--sn-color-surface)}.lesson-step-status-marker--locked{color:var(--sn-status-neutral);border-color:var(--sn-status-neutral-border);background:var(--sn-status-neutral-soft)}.lesson-step-status-marker--in_progress{color:var(--sn-status-opened);border-color:var(--sn-status-opened-border);background:var(--sn-color-surface)}.lesson-step-status-marker--needs_review{color:var(--sn-status-review);border-color:var(--sn-status-review-border);background:var(--sn-status-review-soft)}.lesson-step-status-marker--validated{color:var(--sn-status-secure);border-color:var(--sn-status-secure-border);background:var(--sn-status-secure-soft)}.lesson-step-status-marker--secure{color:var(--sn-status-secure);border-color:var(--sn-status-secure);border-width:2px;background:var(--sn-status-secure-soft)}.lesson-step-status-marker>:not(.lesson-step-status-tooltip){position:relative;z-index:1}.lesson-step-status-marker-icon{display:block;width:30px;height:30px}.lesson-step-status-marker--compact .lesson-step-status-marker-icon{width:28px;height:28px}.lesson-step-status-marker-dot{display:block;width:14px;height:14px;border-radius:50%;background:currentColor}.lesson-step-status-marker--compact .lesson-step-status-marker-dot{width:13.5px;height:13.5px}.lesson-step-status-marker--validated .lesson-step-status-marker-dot,.lesson-step-status-marker--secure .lesson-step-status-marker-dot{width:14px;height:14px}.lesson-step-status-tooltip{position:absolute;z-index:20;left:50%;bottom:calc(100% + 10px);width:max-content;max-width:min(240px,calc(100vw - 32px));padding:6px 8px;border:1px solid var(--sn-color-border);border-radius:8px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);box-shadow:var(--shadow-card-subtle);font-family:var(--font-sans);font-size:.72rem;font-weight:500;line-height:1.35;text-align:left;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,2px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.lesson-step-status-marker[data-lesson-step-tooltip-enabled=true]:hover .lesson-step-status-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.lesson-step-status-legend{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;font-family:var(--font-sans)}.lesson-step-status-legend-trigger{display:inline-grid;place-items:center;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border:1px solid transparent;border-radius:50%;color:var(--sn-color-text-secondary);background:transparent;box-shadow:none}.lesson-step-status-legend-trigger:hover{color:var(--sn-color-text-primary);border-color:var(--sn-color-border);background:var(--sn-color-surface-subtle);box-shadow:none}.lesson-step-status-legend-trigger:focus-visible{outline:none;box-shadow:var(--sn-focus-ring)}.lesson-step-status-legend-panel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;display:grid;gap:10px;width:min(340px,calc(100vw - 32px));padding:12px;border:1px solid var(--sn-color-border);border-radius:12px;color:var(--sn-color-text-primary);background:var(--sn-color-surface);box-shadow:var(--shadow-card-subtle);font-size:.76rem;font-weight:400;line-height:1.38}.lesson-step-status-legend-title{font-size:.82rem;line-height:1.3}.lesson-step-status-legend-list{display:grid;gap:8px}.lesson-step-status-legend-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:center}.lesson-step-status-legend-item>span:last-child{min-width:0}.lesson-step-status-legend-backdrop{padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.lesson-step-status-legend-dialog{width:min(100%,720px);max-height:min(85vh,calc(100vh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));gap:16px;padding:22px 24px}.lesson-step-status-legend-dialog-header{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.lesson-step-status-legend-dialog-heading{display:grid;gap:4px;min-width:0}.lesson-step-status-legend-dialog-body{display:grid;gap:16px}.lesson-step-status-legend-dialog-intro{margin:0;color:var(--muted-strong);font-size:.96rem;line-height:1.48}.lesson-step-status-legend-dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lesson-step-status-legend-dialog-item,.lesson-step-status-legend-dialog-recommended{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding:12px 13px;border-radius:12px;border:1px solid rgba(70,62,52,.1);background:linear-gradient(180deg,#fffefaf0,#faf6eed1),#fffdf8e0}.lesson-step-status-legend-dialog-recommended{border-color:#1f4b6a1f;background:linear-gradient(180deg,#f8fafdf5,#f0f5fae6),#f5f9fdeb}.lesson-step-status-legend-dialog-copy{display:grid;gap:4px;min-width:0}.lesson-step-status-legend-dialog-copy strong{color:var(--ink);font-size:.94rem;line-height:1.28}.lesson-step-status-legend-dialog-copy p{margin:0;color:var(--muted-strong);font-size:.88rem;line-height:1.42}.lesson-step-status-legend-close{flex:0 0 auto;min-width:132px}@media(max-width:720px){.lesson-step-status-legend-dialog{gap:14px;padding:20px 18px}.lesson-step-status-legend-dialog-grid{grid-template-columns:1fr}.lesson-step-status-legend-dialog-item,.lesson-step-status-legend-dialog-recommended{grid-template-columns:48px minmax(0,1fr)}}.lesson-exercise-main .pill-row{gap:8px 14px}.lesson-exercise-actions{display:grid;gap:8px;align-self:center;justify-self:end;justify-items:end;width:fit-content;max-width:100%;padding-left:0}.lesson-instructions-button{width:fit-content;justify-self:end;padding:7px 12px;font-size:.86rem}.lesson-launch-button{width:fit-content;min-width:100px;min-height:var(--touch-target);padding:0 15px;border:1px solid var(--button-primary-border);border-radius:var(--radius-control);color:#fff;background:var(--button-primary-bg);cursor:pointer;font:inherit;font-weight:700;box-shadow:var(--button-primary-shadow);transition:background .15s ease,transform .12s ease,opacity .15s ease,box-shadow .15s ease,border-color .15s ease}.lesson-launch-button:hover{background:var(--button-primary-bg-hover);box-shadow:var(--shadow-control-hover)}.lesson-launch-button:active{transform:scale(.98);background:var(--button-primary-bg-hover)}.lesson-launch-button:disabled{opacity:.5;cursor:not-allowed}.session-cta-card,.session-start-card,.session-locked-card{display:grid;gap:14px;justify-items:start}.session-start-card,.session-locked-card{justify-items:center;text-align:center;padding-top:8px}.session-start-summary{display:grid;gap:8px;justify-items:center}.session-start-summary p{margin:0}.sequence-card{background:var(--surface)}.sequence-card .section-heading{margin-bottom:10px}.session-overview-card{gap:18px}.session-overview-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted)}.session-overview-meta span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:10px;background:#fffdf8b8;border:1px solid var(--line)}.session-sequence-list{display:grid;gap:16px;margin-top:6px}.session-sequence-list li{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-card-raised);box-shadow:inset 0 1px #fffefab8;align-items:flex-start;gap:18px}.session-sequence-main{display:grid;gap:6px}.session-sequence-meta{justify-content:flex-end}.session-layout{align-items:stretch}.session-score-stage{display:grid;gap:18px;align-content:start;background:var(--surface)}.session-overlay{display:grid;gap:12px}.session-overlay-card{display:grid;gap:6px;padding:16px 18px;border-radius:12px;background:#fffdf8f2;border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}.session-overlay-card strong{font-size:1.2rem}.session-kpis{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.session-rating-stage{min-height:520px;display:grid;place-content:center;gap:18px;text-align:center}.session-idle-stage{min-height:520px;display:grid;place-content:center;gap:20px;justify-items:center;text-align:center}.session-idle-stage .button{min-width:180px;padding-inline:28px}.session-idle-metrics{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,520px)}.session-idle-metrics div{padding:16px;border-radius:12px;background:#faf6eeeb;border:1px solid var(--line);box-shadow:inset 0 1px #fffefad9}.rating-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.rating-button{display:grid;gap:8px;min-height:160px;padding:20px;text-align:left;border-radius:12px;border:1px solid var(--line);background:var(--surface-card-raised);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.rating-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-strong);border-color:var(--border-default)}.rating-button.retry,.rating-button.mixed{background:#faf6eef5}.rating-button.success{background:#2f55681a}.rating-button.retry:hover,.rating-button.mixed:hover{border-color:#1f272c2e}.rating-button.success:hover{border-color:#2f556859}.rating-button strong{font-size:1.1rem}.rating-button span{color:var(--muted);line-height:1.5}.large-tempo{padding:8px 0 2px}.large-tempo strong{font-size:2.3rem}.session-side-card{background:var(--surface)}.section-heading{gap:8px}.section-heading .eyebrow{margin-bottom:2px}.tempo-card{align-content:start}.score-help{margin-top:6px}.score-help a{color:var(--accent-strong);text-decoration:underline}.metronome-panel{justify-content:space-between}.tempo-display{min-width:92px;text-align:center}.field{display:grid;gap:8px}.field input{border-radius:var(--radius-control);border:1px solid var(--line);padding:14px 16px;background:var(--surface-card-soft);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.login-shell{position:relative;z-index:1;min-height:100vh;min-height:100dvh;display:grid;align-content:center;align-content:safe center;justify-items:center;padding:clamp(24px,3vh,40px) clamp(24px,4.5vw,64px);background:var(--sn-color-surface)}.login-entry{display:grid;gap:clamp(18px,1.6vw,22px);width:min(1180px,100%)}.login-brand{display:flex;flex-direction:column;align-items:center;gap:16px;width:fit-content;margin:0 auto;text-align:center;color:var(--navy-primary)}.login-brand-symbol{display:block;width:clamp(140px,14vw,180px);height:clamp(140px,14vw,180px);flex:none;object-fit:contain}.login-brand-wordmark{font-family:var(--font-display);font-size:clamp(1.625rem,1.45rem + .4vw,1.875rem);font-weight:500;line-height:1}.login-entry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,420px);align-items:center;justify-content:start;column-gap:clamp(48px,5vw,72px);row-gap:clamp(28px,3vw,44px);width:100%}.login-product-intro{display:grid;gap:clamp(6px,.7vw,9px);min-width:0;max-width:650px;margin-top:0;padding:0}.login-product-intro .login-title{max-width:26ch;color:var(--ink);font-size:clamp(1.74rem,1.48rem + 1.17vw,2.54rem);font-weight:600;line-height:.94}.login-product-intro .lead{margin:0;max-width:580px;color:var(--muted-strong);font-size:clamp(1rem,.95rem + .2vw,1.08rem);line-height:1.5}.login-proof-list{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,36px);margin:0;padding:clamp(16px,2vw,24px) 0 0;border-top:1px solid var(--border-subtle-ivory)}.login-proof-item{min-width:0}.login-proof-item+.login-proof-item{padding-left:clamp(14px,1.8vw,22px);border-left:1px solid var(--border-subtle-ivory)}.login-proof-item dt{color:var(--navy-primary);font-size:1.04rem;font-weight:750;line-height:1.3}.login-proof-item dd{margin:8px 0 0;color:var(--muted-strong);font-size:.94rem;line-height:1.45}.login-panel{width:100%;max-width:420px;padding:18px;background:var(--sn-color-surface);border-color:var(--sn-color-border);box-shadow:var(--sn-shadow-card)}.login-panel:before{content:none}.login-panel:after{content:none}@media(min-width:1181px)and (max-width:1439px){.login-shell--entry{padding:28px clamp(28px,3.25vw,44px)}.login-entry{width:min(1060px,100%);gap:18px}.login-entry-layout{grid-template-columns:minmax(0,1fr) minmax(350px,380px);column-gap:clamp(32px,4vw,48px);row-gap:clamp(18px,2.2vw,28px)}.login-brand{gap:12px}.login-brand-symbol{width:clamp(132px,11.5vw,152px);height:clamp(132px,11.5vw,152px)}.login-brand-wordmark{font-size:1.72rem}.login-product-intro .login-title{font-size:clamp(1.83rem,1.55rem + .75vw,2.21rem);line-height:.93}.login-product-intro .lead{font-size:1rem;line-height:1.5}.login-entry-layout>.login-panel{max-width:380px}}@media(min-width:981px)and (max-width:1180px){.login-shell--entry{padding:clamp(20px,2.5vw,28px)}.login-entry{width:min(1000px,100%);gap:18px}.login-entry-layout{grid-template-columns:minmax(0,1fr) minmax(330px,350px);column-gap:clamp(24px,3vw,32px);row-gap:clamp(10px,1.4vw,14px)}.login-brand{gap:10px}.login-brand-symbol{width:clamp(124px,13vw,142px);height:clamp(124px,13vw,142px)}.login-brand-wordmark{font-size:1.6rem}.login-product-intro .login-title{font-size:clamp(1.74rem,1.5rem + .55vw,1.97rem);line-height:.94}.login-product-intro .lead{font-size:.96rem;line-height:1.5}.login-entry-layout>.login-panel{max-width:350px}}@media(min-width:981px){.login-entry-layout>.login-panel{justify-self:end}.login-footer{margin-top:.5rem}}.login-section{margin-top:12px}.login-heading{display:grid;gap:4px;justify-items:center;text-align:center}.login-form-title{color:var(--ink);font-size:clamp(1.58rem,1.4rem + .5vw,1.92rem);font-weight:600;line-height:1.08}.login-panel .lead{margin:0;max-width:32ch;justify-self:center;color:var(--muted);font-size:.92rem;line-height:1.55;text-align:center}.login-panel .field{gap:6px}.login-panel .field span{color:var(--ink-secondary);font-size:.82rem;font-weight:700;letter-spacing:.01em}.login-panel .field input{border-color:var(--border-subtle-ivory);border-radius:var(--radius-control);padding:12px 14px;background:var(--sn-color-surface);color:var(--ink-primary);box-shadow:inset 0 1px #fffffdd1,0 1px 1px #231e1805}.login-panel .field input::placeholder{color:#6c6257ad}.auth-feedback{display:grid;gap:8px;margin-top:12px;padding:12px 14px;border:1px solid var(--border-accent);border-radius:14px;background:linear-gradient(180deg,#fffffdf7,#f9f4ece6),var(--surface-card-warm-faint);box-shadow:inset 0 1px #ffffffd1}.auth-status-message{margin:0;color:var(--ink);font-weight:600;line-height:1.5}.login-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:12px;padding:4px;border:1px solid var(--border-subtle-ivory);border-radius:calc(var(--radius-card) + 2px);background:var(--sn-color-surface-subtle);box-shadow:inset 0 1px #ffffffeb,0 1px 1px #231e1808}.tab-button{min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--ink-secondary);font-weight:650;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.tab-button:hover{background:#fffffde6;border-color:var(--border-subtle-ivory);box-shadow:none}.tab-button.active{background:var(--sn-color-surface);border-color:var(--border-accent);color:var(--navy-primary);box-shadow:inset 0 1px #fffffff2,0 6px 14px #231e180a}.tab-button.active:hover{background:var(--sn-color-surface)}.inline-note{margin:0}.login-panel .stack-form{gap:10px}.login-password-field{display:grid;gap:7px}.magic-link-toggle{justify-self:start;padding:0;border:0;background:transparent;color:var(--accent-strong);font-size:.82rem;font-weight:600;text-align:left;cursor:pointer}.magic-link-panel{display:grid;gap:10px;margin-top:3px}.demo-strip{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-subtle-ivory)}.login-demo-button{width:fit-content}.login-panel .button{min-height:44px;padding:10px 16px;border-radius:var(--radius-control)}.login-panel .button-primary{border-color:var(--button-primary-border);box-shadow:var(--button-primary-shadow)}.login-panel .button-secondary{border-color:var(--border-subtle-ivory);background:var(--sn-color-surface)}.login-panel .button-secondary:hover{box-shadow:0 1px 1px #231e1805}.signup-privacy-note{color:var(--muted);font-size:.82rem;line-height:1.45}.signup-privacy-note a{color:var(--accent-strong);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}.teacher-activity-detail{padding:10px 12px;border:1px solid var(--line-soft);border-radius:var(--radius-control);background:#fffcf7d6}.login-panel .field input:focus-visible{border-color:#103a5647;box-shadow:0 0 0 3px #103a5613,inset 0 1px #ffffffd1,0 1px 1px #231e1805;background:linear-gradient(180deg,#fffffdfa,#f9f4eceb),var(--surface-card-highlight)}.error-note,.banner-error{color:var(--danger)}.banner-error,.app-state{position:fixed;right:20px;left:20px;bottom:20px;z-index:5;padding:14px 18px;border-radius:14px;background:var(--surface-card-raised);border:1px solid var(--line);box-shadow:0 10px 24px #161d210f}.mobile-header,.mobile-nav{display:none}@media(max-width:1080px){.shell{grid-template-columns:1fr;width:100%;padding:0}.sidebar{display:none}.mobile-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px 0}.content-area{padding:18px 24px 24px}.shell-welcome{padding:8px 24px 10px;margin-bottom:2px}.mobile-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;padding:16px 20px 20px;position:sticky;bottom:0;z-index:4;background:#fffdf8f0;border-top:1px solid var(--line-soft);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.mobile-nav .nav-link{flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:58px;padding:10px 8px 9px;text-align:center;background:#fffdf8b8;border:1px solid var(--line-soft);box-shadow:none}.mobile-nav .sidebar-nav-icon{width:22px;height:22px}.mobile-nav .sidebar-nav-label{font-size:.72rem;line-height:1.1;white-space:normal}.mobile-nav .nav-link.active{background:var(--navy-primary);border-color:var(--border-accent);color:var(--surface-card-strong);box-shadow:var(--shadow-control-hover)}}@media(max-width:980px){.login-shell--entry{align-items:start;padding:24px}.login-entry{gap:24px;width:min(620px,100%)}.login-brand{gap:14px}.login-brand-symbol{width:136px;height:136px}.login-brand-wordmark{font-size:1.75rem}.login-entry-layout{grid-template-columns:1fr;align-items:start;gap:32px;width:100%}.login-product-intro{gap:9px;margin-top:0;padding-top:0}.login-product-intro .login-title{max-width:20ch;font-size:clamp(1.65rem,1.5rem + .66vw,2.07rem);line-height:.98}.login-title-break{display:none}.login-product-intro .lead{max-width:50ch}.login-entry-layout>.login-panel{justify-self:center}.login-proof-list{grid-column:auto;grid-template-columns:1fr;gap:0}.login-proof-item{padding:12px 0;border-bottom:1px solid var(--border-subtle-ivory)}.login-proof-item+.login-proof-item{padding-left:0;border-left:0}}@media(max-width:940px){.exercise-layout,.compact-hero,.home-actions,.home-snapshot-grid,.home-review-list,.exercise-library-layout,.exercise-library-card,.assignment-card,.exercise-directory-card,.lesson-exercise-card,.rating-grid,.progress-recent-layout,.lesson-progress-topline,.progress-item-card,.progress-hero{grid-template-columns:1fr}.progress-hero-metrics{width:min(100%,520px)}.progress-review-spotlight{grid-template-columns:1fr;align-items:start}.progress-review-spotlight-action{justify-self:start}.exercise-library-layout{gap:10px}.exercise-category-rail{padding:12px}.exercise-category-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scroll-snap-type:x proximity}.exercise-category-button{flex:0 0 auto;min-width:11.25rem;scroll-snap-align:start}.exercise-catalogue-controls{grid-template-columns:1fr}.progress-empty-card{gap:8px}.progress-momentum-card{min-height:0}.progress-metric-grid{grid-template-columns:1fr}.progress-metric-card{border-right:0}.progress-metric-card:not(:last-child){border-bottom:1px solid var(--progress-panel-border)}.home-hero,.home-dashboard-metrics,.home-next-step,.home-review-heading{grid-template-columns:1fr}.home-next-step{align-items:start}.home-next-step-action{justify-content:flex-start;padding-left:0;border-left:0}.lesson-hero{grid-template-columns:1fr;padding:18px}.lesson-hero-summary{width:min(100%,520px)}.lesson-progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-progress-stats div:nth-child(2n){border-right:0}.lesson-progress-stats div:nth-child(-n+2){border-bottom:1px solid var(--progress-panel-border)}.assignment-meta,.exercise-directory-meta{justify-items:start;justify-content:flex-start;max-width:none}.lesson-timeline-step{grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start;padding-bottom:18px}.lesson-timeline-main{padding:14px}.lesson-exercise-heading{flex-direction:column;align-items:flex-start}.lesson-exercise-actions{grid-column:2;width:100%;justify-items:stretch;padding-left:0}.progress-item-meta{justify-self:stretch;max-width:none}.progress-item-card{align-items:stretch}.lesson-progress-card--compact{padding:14px 16px 16px}.progress-item-meta span{max-width:none}.lesson-launch-button{width:100%}.hero-actions{flex-direction:column;align-items:stretch}.session-rating-stage{min-height:420px}.session-idle-metrics{grid-template-columns:1fr}.session-player-shell{padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));gap:0}.session-player-controls{max-width:calc(100vw - 24px)}.session-launch-button,.session-control-button,.session-control-stack{width:100%}.session-rating-actions{flex-wrap:wrap}.session-rating-action{flex:1 1 140px}.lessons-page-header{grid-template-columns:1fr;align-items:start;gap:24px;padding:12px 0 22px}.lessons-header-metrics{width:min(100%,520px)}.lessons-summary{min-width:0}.lessons-page-card{grid-template-columns:1fr;padding:14px 16px 14px 24px}.lessons-card-main{padding-right:0}.lessons-card-aside{justify-items:start;padding-top:12px;padding-left:0;border-left:0;border-top:1px solid var(--sn-color-divider)}}@media(max-width:900px){.lesson-hero{grid-template-columns:1fr}.lesson-hero-summary{width:min(100%,520px)}.lesson-timeline-step{grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start;padding-bottom:18px}.lesson-timeline-main{padding:14px}.lesson-exercise-heading{flex-direction:column;align-items:flex-start}.lesson-exercise-actions{grid-column:2;width:100%;justify-items:stretch;padding-left:0}.lesson-launch-button{width:100%}}@media(max-width:640px){.login-shell--entry{place-items:start center;padding:18px}.login-entry-layout{gap:22px}.login-entry{gap:18px}.login-brand{gap:12px}.login-brand-symbol{width:112px;height:112px}.login-brand-wordmark{font-size:1.625rem}.login-product-intro .login-title{max-width:20ch;font-size:clamp(1.6rem,1.46rem + .75vw,1.88rem)}.login-product-intro .lead{font-size:.94rem;line-height:1.5}.mobile-header{padding:16px 18px 0}.content-area{padding:18px}.shell-welcome{padding:8px 18px 10px;margin-bottom:2px}.hero-card,.panel-card,.login-panel{padding:18px;border-radius:22px}.meta-grid,.segmented-options{grid-template-columns:1fr}.mobile-nav{grid-template-columns:repeat(3,1fr)}.session-immersive-score{padding:12px 8px 96px}.session-immersive-score .score-canvas svg{padding:12px 8px 10px}.progress-page{gap:14px}.progress-hero{padding:18px}.progress-hero-actions{flex-direction:column;align-items:stretch}.progress-hero-actions .button{width:100%}.progress-summary-panel,.progress-lessons-panel,.progress-review-panel,.progress-free-panel{padding:16px}.progress-momentum-card,.progress-stats-card,.progress-chart-panel{padding-left:14px;padding-right:14px}.progress-momentum-card{grid-template-columns:1fr;justify-items:start;gap:12px;padding-top:42px}.progress-momentum-ring{width:76px;height:76px}.progress-momentum-trend{top:10px;right:10px}.progress-momentum-value{font-size:1.28rem}.lesson-progress-summary-header{flex-direction:column;gap:12px}.lesson-progress-summary-actions{width:100%;justify-items:stretch}.lesson-progress-summary-actions .button,.lesson-progress-summary-actions .lesson-progress-toggle{width:100%}.lesson-progress-continue{min-width:0}.lesson-progress-summary-body{margin-top:1px;padding:8px 0 2px}.lesson-progress-path{padding:10px 4px 2px;min-height:48px}.lesson-progress-row{padding:11px 12px}.lesson-progress-row-main{flex-direction:column;align-items:flex-start;gap:6px}.lesson-progress-row-main strong{white-space:normal}.progress-free-list{border-radius:20px}.progress-page .progress-free-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:11px 12px}.progress-page .progress-free-row-meta{grid-template-columns:minmax(64px,1fr) minmax(120px,auto);justify-content:flex-start;gap:12px;min-width:0;width:100%;white-space:normal}.progress-metric-grid{grid-template-columns:1fr;gap:0}.progress-metric-card,.progress-hero-metric{padding:12px}.progress-metric-card:not(:last-child){border-right:0;border-bottom:1px solid var(--progress-panel-border)}.progress-recent-layout{gap:12px}.progress-hero-metrics{width:100%}.progress-sparkline{height:76px}.progress-chart-label{font-size:.64rem}.progress-empty-card-copy h3{font-size:.98rem}.progress-empty-card-copy p{font-size:.82rem}.progress-empty-card--action{grid-template-columns:1fr}.progress-empty-card-action{width:100%;justify-self:stretch}.lesson-progress-card{gap:10px;padding:12px}.lesson-hero{padding:18px}.lesson-hero-summary{width:100%;padding:14px}.lesson-hero-summary-topline{flex-direction:column;align-items:flex-start}.lesson-summary-progress{padding:11px 12px 12px}.lesson-summary-progress-topline{flex-direction:column;align-items:flex-start}.lesson-summary-progress-topline strong{text-align:left}.lesson-timeline-step{grid-template-columns:54px minmax(0,1fr);gap:10px;padding-bottom:18px}.lesson-timeline-main{padding:13px}.lesson-timeline-rail:before{top:49px}.lesson-exercise-actions,.lesson-launch-button{width:100%}.lesson-progress-card--compact{gap:12px;padding:14px}.lesson-progress-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-item-card,.progress-review-spotlight{padding:12px}.progress-review-spotlight-action{width:100%}.progress-item-meta span{padding:9px 10px 8px}.lesson-path-grid{grid-auto-columns:minmax(104px,126px)}.lesson-path-step{padding:9px}.lesson-feeling-track{height:68px}.lesson-feeling-label{font-size:.64rem}.session-score-status-card,.session-rating-panel,.session-control-readout{width:100%}.lessons-page{gap:12px}.lessons-page-header{gap:20px;padding:8px 0 18px}.lessons-page-card{padding:14px 14px 14px 22px}.lessons-header-metrics{grid-template-columns:1fr;width:100%}.lessons-summary{min-height:94px;border:1px solid var(--sn-color-border)}.lessons-summary:last-child{border-bottom:1px solid var(--sn-color-border)}.lessons-card-aside{padding-top:8px}.lessons-card-action{width:100%;max-width:360px;justify-self:stretch}.lessons-empty-state{padding:18px}}.signup-privacy-note{margin:0;text-align:center}.login-footer{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem;text-align:center}.public-document-shell{background:var(--color-background, #f4f0e8);min-height:100vh;padding:clamp(1rem,4vw,3rem)}.public-document{background:var(--color-surface, #fffdf8);border:1px solid rgba(48,40,31,.16);border-radius:1rem;box-shadow:0 1rem 3rem #30281f14;margin:0 auto;max-width:52rem;padding:clamp(1.25rem,4vw,3rem)}.public-document section{margin-top:2rem}.public-document h2{margin-bottom:.65rem}.public-document p{line-height:1.65}.privacy-details{display:grid;gap:.75rem}.privacy-details div{border-left:3px solid var(--color-accent, #8a5a32);padding-left:.9rem}.privacy-details dt{font-weight:700}.privacy-details dd{margin:.2rem 0 0;overflow-wrap:anywhere}.public-document-footer{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:2.5rem}.exercise-tracking-notice{align-items:center;background:#fffaecf5;border:1px solid rgba(138,90,50,.28);border-radius:.75rem;display:flex;gap:.9rem;justify-content:space-between;padding:.75rem .9rem}.exercise-tracking-notice p{line-height:1.4;margin:0}.exercise-tracking-notice .button{flex:0 0 auto}@media(max-width:640px){.exercise-tracking-notice{align-items:stretch;flex-direction:column}}@media(max-width:940px){.home-hero,.home-next-step,.home-snapshot,.home-review-panel,.home-links{padding:18px}.exercises-page-header{grid-template-columns:1fr;align-items:start;padding:18px}.exercises-header-metrics{width:min(100%,520px)}.exercise-catalogue-controls{grid-template-columns:1fr}.exercise-controls-primary{grid-template-columns:1fr;gap:4px;align-items:start}.exercise-filter-options{flex-wrap:wrap;gap:5px}.exercise-library-card{padding:10px 12px 10px 16px}.exercise-library-actions{align-self:start;justify-items:start;padding-right:0}.exercise-library-actions .button{width:fit-content;max-width:none}.exercise-clear-filters-button{justify-self:start}}@media(max-width:640px){.home-page{gap:12px}.exercises-page{gap:14px}.exercises-page-header{padding:18px}.exercises-header-metrics{grid-template-columns:1fr;width:100%}.exercises-page-count{border-right:0;border-bottom:1px solid var(--border-paper)}.exercises-page-count:last-child{border-bottom:0}.exercise-catalogue-controls{padding:12px}.exercise-library-layout{gap:8px}.exercise-category-rail{padding:12px}.exercise-category-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scroll-snap-type:x proximity}.exercise-category-button{flex:0 0 auto;min-width:10.5rem;scroll-snap-align:start}.exercise-filter-option{flex:1 1 auto;justify-content:center}.exercise-library-card{padding:10px 12px 10px 14px}.exercise-library-actions .button{width:fit-content;max-width:none}.exercise-library-empty{grid-template-columns:1fr;padding:18px}}@media(max-width:900px){.settings-page-header{grid-template-columns:1fr;align-items:start;padding:18px}.settings-summary{min-width:0}.settings-grid{grid-template-columns:1fr}.settings-section{padding:16px}.settings-section--compact{width:100%}.settings-segmented{max-width:none}.settings-maintenance{flex-direction:column;align-items:stretch}.settings-reset-button{width:fit-content}}@media(max-width:640px){.settings-page-header h1{font-size:1.6rem}.settings-page{gap:14px}.settings-page-header,.settings-section{padding:16px}.settings-page-header-copy{gap:6px}.settings-segmented{gap:8px}.settings-option{padding:11px 12px}.settings-control--range input[type=range]{height:28px}}@media(max-width:940px){.progress-hero{grid-template-columns:1fr;align-items:start}.progress-hero-metrics{width:100%}.progress-recent-layout{grid-template-columns:1fr}.progress-page :is(.progress-stats-card,.progress-chart-panel){padding:16px 0 8px;border-top:1px solid var(--sn-color-divider);border-left:0}.progress-chart-panel{padding-left:0}.lesson-progress-next-action{grid-template-columns:30px minmax(0,1fr)}.lesson-progress-next-action-button{grid-column:2;justify-self:start}}@media(max-width:640px){.progress-page{gap:12px}.progress-hero{gap:18px;padding:16px}.progress-hero-metrics{grid-template-columns:1fr}.progress-hero-metric{min-height:96px}.progress-hero-actions{flex-direction:column}.progress-hero-actions .button{width:100%}.progress-summary-panel,.progress-lessons-panel,.progress-free-panel{padding:12px 16px}.progress-momentum-card{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:10px 0}.progress-momentum-copy{padding-right:0}.progress-momentum-trend{position:static;grid-column:1 / -1;grid-row:2;justify-self:start}.progress-chart-plot{grid-template-columns:22px minmax(0,1fr)}.lesson-progress-summary-header,.lesson-progress-current-header{flex-direction:column}.lesson-progress-summary-actions{width:100%;justify-items:stretch}.lesson-progress-summary-actions :is(.button,.lesson-progress-toggle){width:100%}.lesson-progress-current-header .lesson-progress-toggle{width:100%}.lesson-progress-next-action{grid-template-columns:26px minmax(0,1fr);padding:10px 12px}.lesson-progress-next-action-button{grid-column:1 / -1;width:100%}.lesson-progress-rail,.lesson-progress-path{overflow-x:auto;grid-auto-columns:minmax(56px,1fr)}}@media(prefers-reduced-motion:reduce){:root{--sn-page-transition-out-duration: 1ms;--sn-page-transition-in-duration: 1ms;--sn-page-transition-in-delay: 0ms;--sn-page-transition-offset: 0px;--sn-player-transition-open-out: 1ms;--sn-player-transition-open-in: 1ms;--sn-player-transition-close-out: 1ms;--sn-player-transition-close-in: 1ms;--sn-player-transition-offset: 0px}html[data-page-transition]::view-transition-group(sightnote-page),html[data-page-transition]::view-transition-old(sightnote-page),html[data-page-transition]::view-transition-new(sightnote-page){animation-duration:1ms;animation-delay:0ms;transform:none}html[data-page-transition]::view-transition-old(sightnote-page){animation-name:sightnote-reduced-out}html[data-page-transition]::view-transition-new(sightnote-page){animation-name:sightnote-reduced-in}html[data-page-transition=sightnote-auth-entry]::view-transition-group(sightnote-auth-entry),html[data-page-transition=sightnote-auth-entry]::view-transition-old(sightnote-auth-entry),html[data-page-transition=sightnote-auth-entry]::view-transition-new(sightnote-auth-entry){animation-duration:1ms;animation-delay:0ms;transform:none}html[data-page-transition=sightnote-auth-entry]::view-transition-old(sightnote-auth-entry){animation-name:sightnote-reduced-out}html[data-page-transition=sightnote-auth-entry]::view-transition-new(sightnote-auth-entry){animation-name:sightnote-reduced-in}.home-feature-card,.home-next-step-link,.home-review-card,.lessons-page-card,.lesson-exercise-card,.exercise-library-card,.lesson-launch-button,.button{transition:none}}
