:root{--bc-color-bg:#111827;--bc-color-surface:#1f2937;--bc-color-surface-raised:#374151;--bc-color-surface-control:#4b5563;--bc-color-surface-subtle:#ffffff08;--bc-color-text:#f9fafb;--bc-color-text-cream:#f4ead8;--bc-color-text-secondary:#cbd5e1;--bc-color-text-muted:#9ca3af;--bc-color-text-on-gold:#111827;--bc-color-gold:#f59e0b;--bc-color-gold-wash:#f59e0b14;--bc-color-gold-border:#f59e0b59;--bc-color-border:#ffffff14;--bc-color-border-strong:#ffffff1f;--bc-color-frame:#2e303a;--bc-color-danger:#b91c1c;--bc-color-danger-text:#fca5a5;--bc-focus-ring:2px solid var(--bc-color-gold);--bc-focus-offset:2px;--bc-radius-sm:8px;--bc-radius-md:10px;--bc-radius-lg:12px;--bc-radius-control:14px;--bc-radius-card:24px;--bc-radius-pill:999px;--bc-space-1:4px;--bc-space-2:8px;--bc-space-3:12px;--bc-space-4:16px;--bc-space-5:24px;--bc-space-6:32px;--bc-shadow-card:0 20px 60px #00000059;--bc-font-body:Arial, sans-serif;--bc-font-heading:system-ui, "Segoe UI", Roboto, sans-serif;font:18px/145% var(--bc-font-heading);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--bc-color-text);background:var(--bc-color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--bc-color-frame);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--bc-font-heading);color:var(--bc-color-text);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}body{font-family:var(--bc-font-body);background:var(--bc-color-bg);color:var(--bc-color-text);margin:0}.app{justify-content:center;min-height:100vh;padding:28px;display:flex}.card{background:var(--bc-color-surface);border-radius:var(--bc-radius-card);width:100%;max-width:620px;padding:var(--bc-space-6);box-shadow:var(--bc-shadow-card);text-align:center}h1{color:#fff;margin:0;font-size:34px}.subtitle{color:var(--bc-color-text-secondary);margin-bottom:24px}.bpm-row{grid-template-columns:1fr 120px 1fr;align-items:center;gap:12px;margin-bottom:20px;display:grid}.bpm-display span{font-size:32px;font-weight:700;display:block}.bpm-display small{font-size:18px;font-weight:700}.timer{margin:20px 0;font-size:56px;font-weight:700}.practice-list{gap:12px;margin-bottom:24px;display:grid}.practice-plan-summary{flex-direction:column;align-items:center;gap:4px;margin-bottom:18px;display:flex}.practice-plan-summary span{font-size:1.1rem;font-weight:600}.practice-plan-summary strong{opacity:.75;font-size:.95rem;font-weight:400}.practice-item{background:#374151;border-radius:14px;justify-content:space-between;align-items:center;padding:16px;font-size:18px;display:flex}.practice-item label{align-items:center;gap:10px;display:flex}.practice-item input{transform:scale(1.2)}.practice-item input:disabled{opacity:.5;cursor:not-allowed}button{border-radius:var(--bc-radius-control);cursor:pointer;background:var(--bc-color-gold);width:100%;color:var(--bc-color-text-on-gold);border:none;margin-top:12px;padding:16px;font-size:18px;font-weight:700}button:hover{opacity:.9}.secondary{background:var(--bc-color-surface-control);color:var(--bc-color-text)}textarea{box-sizing:border-box;resize:vertical;border-radius:12px;width:100%;margin-top:20px;padding:12px;font-size:16px}h2{color:#fff;margin-top:28px}.history-item{text-align:left;background:#374151;border-radius:12px;margin-top:10px;padding:14px}.completed-icons{margin-top:8px;font-size:20px}.expired{box-shadow:inset 4px 0 0 var(--bc-color-danger-text);background:#7f1d1d}@media (prefers-reduced-motion:no-preference){.expired{animation:2.4s ease-in-out 3 overdueSettle}}@keyframes overdueSettle{0%,to{background:#7f1d1d}50%{background:#991b1b}}.complete-banner{color:#111827;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:14px;margin:20px 0;padding:16px;font-size:22px;font-weight:700}@media (prefers-reduced-motion:no-preference){.complete-banner{animation:2s ease-in-out 3 victoryPulse}}@keyframes victoryPulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}input[type=text]{color:#fff;box-sizing:border-box;background:#111827;border:1px solid #4b5563;border-radius:12px;width:100%;margin-bottom:20px;padding:14px;font-size:16px}select{color:#fff;box-sizing:border-box;background:#111827;border:1px solid #4b5563;border-radius:12px;width:100%;margin:8px 0 18px;padding:12px 14px;font-size:16px}.completed-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.completed-section{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:4px;padding:14px;display:flex}@media (width<=600px){.history-intent-grid,.completed-sections,.history-progress-entries{grid-template-columns:1fr;gap:10px}.history-intent-card,.completed-section,.history-progress-entry{padding:12px}}.completed-section-label{letter-spacing:.08em;font-size:.95rem;font-weight:700;line-height:1.2}.completed-section-value{opacity:.9;font-size:.9rem;font-weight:400;line-height:1.5}.history-header{flex-direction:column;gap:4px;margin-bottom:18px;display:flex}.history-header strong{font-size:1.5rem;font-weight:700}.history-header span{opacity:.75;font-size:.95rem}.history-block{flex-direction:column;gap:4px;margin-bottom:18px;display:flex}.history-block strong{letter-spacing:.08em;font-size:1.1rem;font-weight:700}.history-block span{opacity:.9;white-space:pre-wrap;font-size:1rem;line-height:1.5}.history-section-heading{letter-spacing:.08em;margin-top:8px;margin-bottom:14px;font-size:1.1rem;font-weight:700}.history-intent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.history-intent-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:5px;padding:14px;display:flex}.history-intent-card strong{letter-spacing:.08em;font-size:1rem;font-weight:700}.history-intent-card span{font-size:1rem;line-height:1.4}.history-intent-card small{opacity:.7;font-size:.9rem;line-height:1.4}.history-intent-card .history-intent-detail{opacity:.7;font-size:.9rem}@media (width<=600px){.history-intent-grid{grid-template-columns:1fr}}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.practice-section-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex}.practice-section-card .practice-item,.practice-section-control{margin:0}.practice-section-control select,.practice-section-control input,.song-controls input,.song-controls select{box-sizing:border-box;width:100%}.custom-selection-field{flex-direction:column;gap:4px;margin-top:8px;display:flex}.custom-selection-field label{opacity:.7;font-size:.8rem}.custom-selection-count{opacity:.6;align-self:flex-end;font-size:.75rem}.song-controls{flex-direction:column;gap:8px;display:flex}.song-controls label:not(:first-child){margin-top:6px}@media (width<=700px){.practice-grid{grid-template-columns:1fr}.practice-section-card{padding:12px}}.exercise-display{flex-direction:column;gap:4px;min-width:0;display:flex}.exercise-display small{opacity:.7;font-size:.8rem}.exercise-display strong{overflow-wrap:anywhere;font-size:1rem;line-height:1.4}.practice-section-card .practice-item{gap:12px}.practice-section-card .practice-item label{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.practice-section-card .time-display{white-space:nowrap;flex-shrink:0}.song-focus-display{flex-direction:column;gap:4px;margin-top:6px;display:flex}.song-focus-display small{opacity:.7;font-size:.8rem}.song-focus-display strong{color:#fff;font-size:1rem;font-weight:700;line-height:1.4}.history-top-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.history-actions{flex-shrink:0;position:relative}.history-menu-button{color:#d1d5db;background:0 0;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;margin:0;padding:0 0 5px;font-size:24px;line-height:1;display:flex}.history-menu-button:hover{opacity:1;background:#ffffff14}.history-menu{z-index:10;background:#111827;border:1px solid #ffffff1a;border-radius:10px;min-width:165px;padding:6px;position:absolute;top:44px;right:0;box-shadow:0 12px 30px #00000059}.history-delete-option{color:#fca5a5;text-align:left;background:0 0;border-radius:8px;width:100%;margin:0;padding:10px 12px;font-size:.95rem}.history-delete-option:hover{opacity:1;background:#b91c1c33}.history-delete-confirmation{background:#7f1d1d2e;border:1px solid #f8717159;border-radius:12px;margin-top:4px;padding:16px}.history-delete-confirmation>strong{margin-bottom:6px;font-size:1.05rem;display:block}.history-delete-confirmation>span{opacity:.8;font-size:.9rem;display:block}.history-delete-confirmation p{opacity:.75;margin:8px 0 14px;font-size:.9rem}.history-delete-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.history-delete-actions button{border-radius:10px;margin:0;padding:11px;font-size:.95rem}.history-cancel-button{color:#f9fafb;background:#4b5563}.history-confirm-delete-button{color:#fff;background:#b91c1c}.history-menu-button:focus-visible,.history-delete-option:focus-visible,.history-delete-actions button:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}.excluded-section{opacity:.7}.hidden-section{display:none}.mode-button:disabled{cursor:not-allowed;color:#9ca3af;opacity:.65;background:#4b5563}.mode-button:disabled:hover{opacity:.65}.practice-selection-message{color:#fca5a5;margin:8px 0 18px;font-size:.9rem}.finish-session-button{margin-top:20px}.finish-session-confirmation{text-align:left;background:#f59e0b14;border:1px solid #f59e0b59;border-radius:12px;flex-direction:column;gap:7px;margin-top:12px;padding:16px;display:flex}.finish-session-confirmation>strong{font-size:1.05rem}.finish-session-confirmation>span{font-size:.95rem;line-height:1.4}.finish-session-confirmation p{opacity:.75;margin:4px 0 8px;font-size:.9rem}.finish-session-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.finish-session-actions button{margin:0;padding:11px;font-size:.95rem}.finish-session-cancel{color:#f9fafb;background:#4b5563}.finish-session-save{color:#111827;background:#f59e0b}@media (width<=600px){.finish-session-actions{grid-template-columns:1fr}}.history-block small{opacity:.7;font-size:.9rem;line-height:1.4}.practice-blueprint-controls{border:1px solid #ffffff1f;border-radius:12px;margin-bottom:16px;padding:16px}.practice-blueprint-controls>label{margin-bottom:10px;font-weight:700;display:block}.practice-blueprint-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.practice-blueprint-row input{width:80px}.practice-blueprint-row button{width:auto;margin-left:auto}.practice-blueprint-note{opacity:.72;margin:12px 0 0;font-size:.85rem}.practice-template-save{border-top:1px solid #ffffff1a;gap:10px;margin-top:16px;padding-top:16px;display:flex}.practice-template-save input{flex:1;min-width:0}.practice-template-save button{width:auto}@media (width<=600px){.practice-template-save{flex-direction:column}.practice-template-save button{width:100%}}.practice-template-list{border-top:1px solid #ffffff1a;margin-top:18px;padding-top:16px}.practice-template-list h3{margin:0 0 12px;font-size:.95rem}.practice-template-item{justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.practice-template-item+.practice-template-item{border-top:1px solid #ffffff14}.practice-template-details{flex-direction:column;gap:4px;min-width:0;display:flex}.practice-template-details strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-template-details span{opacity:.68;font-size:.82rem}.practice-template-details small{opacity:.6;font-size:.78rem}.practice-template-item button{flex-shrink:0;width:auto}.practice-template-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.practice-template-actions button{width:auto}.practice-template-delete{opacity:.68}.practice-template-delete-confirm{font-weight:700}.practice-template-load-confirmation{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.practice-template-load-confirmation strong{opacity:.85;white-space:nowrap;font-size:.82rem;font-weight:600}.practice-template-load-actions{align-items:center;gap:8px;display:flex}.practice-template-load-actions button{width:auto}.practice-template-load-confirm{font-weight:700}.practice-profiles{margin-bottom:18px}.practice-profiles-toggle{opacity:.9;justify-content:space-between;align-items:center;gap:12px;width:100%;font-size:.9rem;font-weight:600;display:flex}.practice-profiles-toggle-hint{opacity:.6;font-size:.76rem;font-weight:400}.practice-profiles-intro{opacity:.65;margin:12px 0 4px;font-size:.8rem;line-height:1.45}.practice-profile{flex-direction:column;gap:6px;padding:12px 0;display:flex}.practice-profile+.practice-profile{border-top:1px solid #ffffff14}.practice-profile-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.practice-profile-heading span{opacity:.6;white-space:nowrap;font-size:.78rem}.practice-profile-summary{opacity:.72;margin:0;font-size:.82rem;line-height:1.45}.practice-profile-preview{background:#ffffff0a;border-radius:8px;flex-direction:column;gap:6px;margin:4px 0;padding:10px 12px;display:flex}.practice-profile-preview-row,.practice-profile-preview-rhythm{grid-template-columns:1fr auto;gap:0 12px;font-size:.8rem;display:grid}.practice-profile-preview-row strong,.practice-profile-preview-rhythm strong{opacity:.85;font-weight:600}.practice-profile-preview-row span{opacity:.7;white-space:nowrap}.practice-profile-preview-row small,.practice-profile-preview-rhythm small{opacity:.55;grid-column:1/-1;font-size:.76rem}.practice-profile-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.practice-profile-actions button{width:auto}.practice-profile-use{font-weight:600}.practice-profile-confirmation{flex-direction:column;gap:6px;display:flex}.practice-profile-confirmation strong{opacity:.85;font-size:.82rem;font-weight:600}.practice-profile-confirmation-note{opacity:.75;font-size:.78rem;line-height:1.4}.practice-profile-confirm{font-weight:700}.practice-profile-variation{border-left:2px solid #ffffff24;flex-direction:column;gap:6px;margin:4px 0;padding-left:10px;display:flex}.practice-profile-variation-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.practice-profile-variation-heading strong{font-size:.82rem;font-weight:600}.practice-profile-variation-heading span{opacity:.6;white-space:nowrap;font-size:.78rem}.practice-profile-variation-summary{opacity:.66;margin:0;font-size:.8rem;line-height:1.45}.practice-profile-variation-notice{opacity:.6;margin:0;font-size:.78rem}.practice-profile-variation-actions button:disabled{opacity:.4;cursor:not-allowed}.practice-profiles-toggle:disabled{opacity:.5;cursor:not-allowed}@media (width<=600px){.practice-profile-actions{width:100%}.practice-profile-actions button{flex:1}}.exercise-guidance{border-top:1px solid #ffffff14;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.exercise-guidance-toggle{opacity:.75;justify-content:space-between;align-items:center;gap:12px;width:100%;margin:0;padding:0;font-size:.78rem;font-weight:600;display:flex}.exercise-guidance-hint{opacity:.75;font-size:.74rem;font-weight:400}.exercise-guidance-toggle[aria-busy=true]{cursor:progress;opacity:.55}.exercise-guidance-toggle:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}.exercise-guidance-body{flex-direction:column;gap:10px;display:flex}.exercise-guidance-list{flex-direction:column;gap:8px;margin:0;display:flex}.exercise-guidance-row{flex-direction:column;gap:2px;display:flex}.exercise-guidance-label{letter-spacing:.06em;text-transform:uppercase;opacity:.55;margin:0;font-size:.7rem;font-weight:600}.exercise-guidance-text{opacity:.78;overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.45}.song-focus-guidance{border-top:1px solid #ffffff14;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.song-focus-guidance-toggle{opacity:.75;justify-content:space-between;align-items:center;gap:12px;width:100%;margin:0;padding:0;font-size:.78rem;font-weight:600;display:flex}.song-focus-guidance-hint{opacity:.75;font-size:.74rem;font-weight:400}.song-focus-guidance-toggle:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}.song-focus-guidance-body{flex-direction:column;gap:10px;display:flex}.song-focus-guidance-list{flex-direction:column;gap:8px;margin:0;display:flex}.song-focus-guidance-row{flex-direction:column;gap:2px;display:flex}.song-focus-guidance-label{letter-spacing:.06em;text-transform:uppercase;opacity:.55;margin:0;font-size:.7rem;font-weight:600}.song-focus-guidance-text{opacity:.78;overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.45}.groove-rhythm-suggestion{flex-direction:column;gap:4px;margin-top:2px;display:flex}.groove-rhythm-suggestion-apply{align-self:flex-start;width:auto;padding:6px 12px;font-size:.78rem}.groove-rhythm-suggestion-label{opacity:.55;font-size:.74rem}@media (width<=600px){.practice-template-item{flex-direction:column;align-items:flex-start}.practice-template-actions{width:100%}.practice-template-actions button{flex:1}.practice-template-load-confirmation{align-items:stretch;width:100%}.practice-template-load-actions{width:100%}.practice-template-load-actions button{flex:1}}.history-progress-group{margin-bottom:18px}.history-progress-heading{letter-spacing:.1em;text-transform:uppercase;opacity:.6;margin-bottom:8px;font-size:.78rem;font-weight:700;display:block}.history-progress-planned{opacity:.85;font-size:.95rem;line-height:1.5;display:block}.history-progress-entries{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.history-progress-entry{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:4px;padding:14px;display:flex}.history-progress-entry-label{letter-spacing:.05em;text-transform:uppercase;font-size:.95rem;font-weight:700}.history-progress-entry-detail{opacity:.85;font-size:.9rem;line-height:1.4}.history-progress-entry-time{opacity:.75;margin-top:2px;font-size:.85rem;line-height:1.4}.history-progress-entry--completed{border-color:#f59e0b40}.history-progress-entry--in-progress{background:#f59e0b0f;border-color:#f59e0b80}.history-progress-entry--not-reached{opacity:.6}.finish-session-warning{opacity:.95;font-weight:600}.finish-session-goal-outcome{background:#ffffff0a;border:1px solid #ffffff29;border-radius:10px;margin:4px 0 10px;padding:12px 14px}.finish-session-goal-outcome legend{padding:0 6px;font-size:.9rem;font-weight:600}.finish-session-goal{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.finish-session-goal strong{letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-size:.72rem}.finish-session-goal span{font-size:.95rem;line-height:1.4}.finish-session-goal-options{flex-wrap:wrap;gap:10px 18px;display:flex}.finish-session-goal-option{align-items:center;gap:7px;display:flex}.finish-session-goal-option input{width:auto;margin:0}.finish-session-goal-option label{cursor:pointer;font-size:.92rem}.finish-session-goal-option input:checked+label{font-weight:600}.finish-session-confirmation .finish-session-goal-help{opacity:.65;margin:10px 0 0;font-size:.78rem}.continuation-notice{text-align:left;background:#f59e0b14;border:1px solid #f59e0b4d;border-radius:12px;margin-bottom:16px;padding:12px 14px}.continuation-notice strong{font-size:.95rem;display:block}.continuation-notice span{opacity:.75;margin-top:2px;font-size:.85rem;display:block}.continuation-note-attribution{margin-top:10px;font-weight:600}.continuation-note-body{white-space:pre-wrap;overflow-wrap:anywhere;opacity:.9}.practice-thread{margin-top:10px}.practice-thread-heading{letter-spacing:.1em;text-transform:uppercase;opacity:.55;margin-bottom:8px;font-size:.78rem;font-weight:700}.practice-thread-connector{background:#f59e0b59;width:2px;height:14px;margin:0 0 0 20px}.history-thread-meta{align-items:center;gap:8px;margin-bottom:10px;display:flex}.history-thread-part{letter-spacing:.05em;text-transform:uppercase;opacity:.85;font-size:.85rem;font-weight:700}.history-thread-status{opacity:.65;font-size:.85rem}.history-continue-confirmation{text-align:left;background:#f59e0b14;border:1px solid #f59e0b59;border-radius:12px;margin-top:12px;padding:16px}.history-continue-confirmation>strong{margin-bottom:6px;font-size:1.05rem;display:block}.history-continue-confirmation p{opacity:.75;margin:8px 0 14px;font-size:.9rem}.history-continue-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.history-continue-actions button{border-radius:10px;margin:0;padding:11px;font-size:.95rem}.history-continue-confirm-button{color:#111827;background:#f59e0b}@media (width<=600px){.history-continue-actions{grid-template-columns:1fr}}.practice-selection-anchor{scroll-margin-top:24px}.bpm-control{margin-bottom:20px}.bpm-value{cursor:pointer}.bpm-input{text-align:center;color:#f9fafb;box-sizing:border-box;background:#111827;border:1px solid #4b5563;border-radius:8px;width:100%;padding:2px 0;font-size:32px;font-weight:700}.bpm-secondary-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.bpm-secondary-row button{margin:0;padding:12px 8px;font-size:.85rem}.tap-tempo-button,.metronome-toggle{color:#f9fafb;background:#4b5563}.metronome-toggle--playing{color:#111827;background:#f59e0b}.rhythm-panel-toggle{color:#f9fafb;background:#374151}@media (width<=500px){.bpm-secondary-row{grid-template-columns:1fr}}.rhythm-trainer-panel{text-align:left;background:#ffffff08;border:1px solid #ffffff1f;border-radius:12px;margin-bottom:20px;padding:16px}.rhythm-trainer-section{margin-bottom:16px}.rhythm-trainer-section:last-child{margin-bottom:0}.rhythm-trainer-section label{opacity:.75;margin-bottom:6px;font-size:.85rem;font-weight:700;display:block}.rhythm-trainer-section select,.rhythm-trainer-section input[type=range]{margin-bottom:10px}.rhythm-checkbox-label{align-items:center;gap:8px;margin-bottom:0;font-size:.95rem;font-weight:400;display:flex}.rhythm-checkbox-label input{transform:scale(1.1)}.rhythm-control-help{opacity:.72;margin:-2px 0 10px;font-size:.8rem;line-height:1.45}.rhythm-exercise-instructions{opacity:.9;background:#ffffff0a;border-radius:10px;margin:8px 0 0;padding:12px;font-size:.9rem;line-height:1.5}.beat-indicator{margin-bottom:18px}.beat-indicator-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:8px;display:flex}.beat-dot{cursor:pointer;background:#374151;border:2px solid #ffffff40;border-radius:50%;width:28px;height:28px;margin:0;padding:0;transition:transform 80ms,background-color 80ms}.beat-dot--medium{border-color:#f59e0b80}.beat-dot--strong{border-color:#f59e0b}.beat-dot--muted{opacity:.4;background:0 0}.beat-dot--current{background:#f59e0b;transform:scale(1.15)}.beat-dot--current.beat-dot--muted{background:0 0;border-color:#fff6;transform:scale(1.1)}.beat-dot--gap-silent:not(.beat-dot--current){opacity:.55}.beat-dot:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}.subdivision-indicator-row{justify-content:center;gap:8px;display:flex}.subdivision-tick{color:#ffffffa6;background:#ffffff12;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 7px;font-size:.78rem;font-weight:800;transition:transform 80ms,background-color 80ms,border-color 80ms,color 80ms;display:inline-flex}.subdivision-tick--target{color:#f59e0b;background:#f59e0b14;border-color:#f59e0be6}.subdivision-tick--current{color:#111827;background:#f59e0bd9;transform:scale(1.08)}.subdivision-accent-label{text-align:center;color:#f59e0be6;margin:8px 0 0;font-size:.8rem;font-weight:700}.beat-dot--static{box-sizing:border-box;cursor:default}.rhythm-setup-readout{opacity:.75;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px;margin:-8px 0 16px;font-size:.85rem;display:flex}.rhythm-setup-readout-action{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.progress-dashboard{text-align:left;margin-top:26px}.progress-dashboard-toggle{opacity:.9;justify-content:space-between;align-items:center;gap:12px;width:100%;font-size:.9rem;font-weight:600;display:flex}.progress-dashboard-toggle-hint{opacity:.6;font-size:.76rem;font-weight:400}.progress-dashboard-body{background:#374151;border-radius:14px;margin-top:14px;padding:18px}.progress-range{background:#ffffff0d;border-radius:999px;gap:6px;padding:4px;display:flex}.progress-range-option{color:#f9fafb;opacity:.6;background:0 0;border-radius:999px;flex:1;width:auto;margin-top:0;padding:8px 10px;font-size:.8rem;font-weight:600}.progress-range-option--active{color:#f59e0b;opacity:1;background:#f59e0b29}.progress-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0 4px;display:grid}.progress-fact{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:4px;padding:12px 10px;display:flex}.progress-fact-value{color:#f4ead8;font-size:1.45rem;font-weight:700;line-height:1.1}.progress-fact-label{opacity:.6;font-size:.72rem;line-height:1.3}.progress-block{margin-top:22px}.progress-block-heading{letter-spacing:.1em;text-transform:uppercase;opacity:.55;margin:0 0 12px;font-size:.72rem;font-weight:700}.progress-chart{align-items:flex-end;gap:6px;height:96px;display:flex}.progress-chart-column{flex-direction:column;flex:1;align-items:stretch;gap:6px;height:100%;display:flex}.progress-chart-track{background:#ffffff0f;border-radius:6px;flex:1;align-items:flex-end;display:flex;overflow:hidden}.progress-chart-fill{background:#f59e0b;border-radius:6px;width:100%;min-height:0}.progress-chart-tick{text-align:center;opacity:.5;font-size:.66rem}.progress-chart-edges{opacity:.5;justify-content:space-between;margin-top:8px;font-size:.68rem;display:flex}.progress-balance{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.progress-balance-row{grid-template-columns:9.5rem 1fr auto;align-items:center;gap:10px;font-size:.85rem;display:grid}.progress-balance-label{text-overflow:ellipsis;white-space:nowrap;opacity:.85;overflow:hidden}.progress-balance-track{background:#ffffff0f;border-radius:999px;height:8px;overflow:hidden}.progress-balance-fill{background:#f59e0b;border-radius:999px;height:100%;display:block}.progress-balance-value{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:6px;display:flex}.progress-balance-share{opacity:.5;font-size:.72rem}.progress-work{flex-direction:column;gap:10px;display:flex}.progress-work-row{grid-template-columns:5.5rem 1fr;align-items:baseline;gap:10px;display:grid}.progress-work-label{letter-spacing:.08em;text-transform:uppercase;opacity:.5;font-size:.68rem;font-weight:700}.progress-work-values{overflow-wrap:anywhere;font-size:.85rem;line-height:1.5}.progress-work-goal{opacity:.85;display:block}.progress-note{opacity:.6;margin:12px 0 0;font-size:.8rem;line-height:1.5}.progress-quiet-note{opacity:.55;margin:14px 0 0;font-size:.78rem;line-height:1.55}.progress-inline-action{color:#f59e0b;background:0 0;width:auto;margin:0 0 0 8px;padding:0;font-size:.8rem;font-weight:600;text-decoration:underline}.progress-footnote{opacity:.45;border-top:1px solid #ffffff14;margin:20px 0 0;padding-top:14px;font-size:.72rem;line-height:1.55}.progress-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.progress-dashboard-toggle:focus-visible,.progress-range-option:focus-visible,.progress-inline-action:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}@media (prefers-reduced-motion:no-preference){.progress-chart-fill,.progress-balance-fill{transition:height .2s,width .2s}}@media (width<=600px){.progress-dashboard-body{padding:14px}.progress-summary{grid-template-columns:repeat(2,1fr)}.progress-balance-row{grid-template-columns:1fr auto;grid-template-areas:"label value""track track";gap:6px 10px}.progress-balance-label{grid-area:label}.progress-balance-value{grid-area:value}.progress-balance-track{grid-area:track}.progress-work-row{grid-template-columns:1fr;gap:2px}}.suggested-session{border-bottom:1px solid #ffffff14;margin-bottom:18px;padding-bottom:14px}.suggested-session-toggle{opacity:.9;justify-content:space-between;align-items:center;gap:12px;width:100%;font-size:.9rem;font-weight:600;display:flex}.suggested-session-toggle-hint{opacity:.6;font-size:.76rem;font-weight:400}.suggested-session-toggle:disabled{opacity:.5;cursor:not-allowed}.suggested-session-body{flex-direction:column;gap:10px;margin-top:12px;display:flex}.suggested-session-continuation{background:#ffffff0a;border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.suggested-session-continuation-heading{opacity:.9;font-size:.86rem;font-weight:600}.suggested-session-continuation-detail{opacity:.62;font-size:.78rem;line-height:1.45}.suggested-session-continue-button{width:auto;margin:0;font-weight:600}.suggested-session-inline-action{opacity:.85;background:0 0;align-self:flex-start;width:auto;margin:0;padding:4px 0;font-size:.82rem;text-decoration:underline}.suggested-session-inline-actions{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.history-continuation-state{opacity:.75;margin-top:8px;font-size:.86rem}.history-menu-option{text-align:left;background:0 0;width:100%;margin:0;font-size:.9rem}.suggested-session-goal-quote{font-size:.92rem;line-height:1.45}.suggested-session-goal-outcome{opacity:.75;font-size:.86rem}.suggested-session-shapes{flex-direction:column;gap:8px;display:flex}.suggested-session-shape-prompt{opacity:.85;font-size:.86rem;font-weight:600}.suggested-session-shapes [role=group]{flex-wrap:wrap;gap:8px;display:flex}.suggested-session-shape{width:auto;margin:0;padding:8px 12px;font-size:.8rem}.suggested-session-shape--active{opacity:1;font-weight:700}.suggested-session-explainer{opacity:.6;margin:0;font-size:.78rem;line-height:1.45}.suggested-session-preview{background:#ffffff0a;border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.suggested-session-preview-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.suggested-session-preview-heading strong{font-size:.9rem;font-weight:600}.suggested-session-preview-heading span{opacity:.6;white-space:nowrap;font-size:.78rem}.suggested-session-reasons{opacity:.7;margin:0;font-size:.8rem;line-height:1.5}.suggested-session-sections{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.suggested-session-sections li{grid-template-columns:1fr auto;gap:0 12px;font-size:.8rem;display:grid}.suggested-session-section-label{opacity:.85;font-weight:600}.suggested-session-section-minutes{opacity:.7;white-space:nowrap}.suggested-session-section-detail{opacity:.55;grid-column:1/-1;font-size:.76rem}.suggested-session-click{opacity:.6;margin:0;font-size:.78rem}.suggested-session-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.suggested-session-actions button{width:auto;margin:0}.suggested-session-use-button{font-weight:600}.suggested-session-actions button:disabled{opacity:.4;cursor:not-allowed}.suggested-session-note{opacity:.6;margin:0;font-size:.78rem}.suggested-session-confirmation{text-align:left;background:#f59e0b14;border:1px solid #f59e0b59;border-radius:12px;margin-top:4px;padding:14px}.suggested-session-confirmation>strong{margin-bottom:6px;font-size:1rem;display:block}.suggested-session-confirmation p{opacity:.75;margin:8px 0 14px;font-size:.88rem}.suggested-session-confirmation-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.suggested-session-confirmation-actions button{border-radius:10px;margin:0;padding:11px;font-size:.95rem}.suggested-session-confirm-button{color:#111827;background:#f59e0b}@media (width<=600px){.suggested-session-confirmation-actions{grid-template-columns:1fr}.suggested-session-actions button,.suggested-session-shape{width:100%}}.current-focus-card{text-align:left;border:1px solid #ffffff1f;border-radius:12px;margin-bottom:16px;padding:12px 14px}.current-focus-label{letter-spacing:.04em;text-transform:uppercase;opacity:.7;font-size:.75rem;display:block}.current-focus-text{overflow-wrap:anywhere;margin-top:4px;font-size:1rem;font-weight:600}.current-focus-empty{opacity:.72;margin:4px 0 0;font-size:.85rem}.current-focus-editor{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.current-focus-editor input{flex:220px;min-width:0}.current-focus-counter{opacity:.65;white-space:nowrap;font-size:.78rem}.current-focus-section-select{width:100%;margin-top:6px}.current-focus-section-help{opacity:.65;margin:6px 0 0;font-size:.78rem}.current-focus-section-summary{opacity:.72;overflow-wrap:anywhere;margin-top:4px;font-size:.82rem}.current-focus-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.current-focus-actions button{width:auto;margin:0;padding:6px 12px;font-size:.85rem}.practice-mode-focus{opacity:.75;text-align:left;overflow-wrap:anywhere;margin-bottom:10px;font-size:.85rem}.practice-summary{text-align:left;margin-top:26px}.practice-summary-toggle{opacity:.9;justify-content:space-between;align-items:center;gap:12px;width:100%;font-size:.9rem;font-weight:600;display:flex}.practice-summary-toggle-hint{opacity:.6;font-size:.76rem;font-weight:400}.practice-summary-body{background:#374151;border-radius:14px;margin-top:14px;padding:18px}.practice-summary-headline{color:#f4ead8;overflow-wrap:anywhere;margin:0;font-size:.95rem;font-weight:600;line-height:1.5}.practice-summary-block{margin-top:20px}.practice-summary-block-heading{letter-spacing:.1em;text-transform:uppercase;opacity:.55;margin:0 0 10px;font-size:.68rem;font-weight:700}.practice-summary-values{overflow-wrap:anywhere;margin:0;font-size:.85rem;line-height:1.5}.practice-summary-areas{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.practice-summary-area-row{justify-content:space-between;align-items:baseline;gap:12px;font-size:.85rem;line-height:1.5;display:flex}.practice-summary-area-label{overflow-wrap:anywhere}.practice-summary-area-value{font-variant-numeric:tabular-nums;opacity:.8;flex:none}.practice-summary-goals{flex-direction:column;gap:4px;display:flex}.practice-summary-goal{opacity:.85;overflow-wrap:anywhere;font-size:.85rem;line-height:1.5}.practice-summary-overflow{opacity:.5;margin:8px 0 0;font-size:.78rem;line-height:1.5}.practice-summary-note{opacity:.6;margin:0;font-size:.8rem;line-height:1.5}.practice-summary-footnote{opacity:.45;margin:20px 0 0;font-size:.72rem;line-height:1.6}.practice-summary-toggle:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}@media (width<=600px){.practice-summary-body{padding:14px}}.recording-panel{text-align:left;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:10px;margin:12px 0;padding:12px 14px;display:flex}.recording-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.recording-label{opacity:.9;font-size:.9rem;font-weight:600}.recording-explanation{opacity:.75;margin:0;font-size:.85rem;line-height:1.5}.recording-controls{flex-direction:column;gap:8px;display:flex}.recording-record-button,.recording-stop-button{border-radius:10px;margin:0;padding:13px;font-size:.95rem}.recording-record-button{color:#fff;background:#b91c1c}.recording-record-button:disabled{color:#e5e7eb;cursor:not-allowed;background:#4b5563}.recording-stop-button{color:#f9fafb;background:#1f2937;border:1px solid #f8717180}.recording-hint{opacity:.7;margin:0;font-size:.82rem;line-height:1.45}.recording-status{opacity:.9;margin:0;font-size:.88rem;font-weight:600}.recording-notice{background:#78350f2e;border:1px solid #fbbf2459;border-radius:10px;margin:0;padding:12px 14px}.recording-notice p{margin:0 0 10px;font-size:.88rem;line-height:1.5}.recording-notice-line{opacity:.85;margin:0;font-size:.85rem;line-height:1.5}.recording-take{background:#ffffff08;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.recording-take-heading{font-size:.9rem}.recording-take-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.recording-take-actions button{border-radius:10px;margin:0;padding:11px;font-size:.95rem}.recording-save-button{color:#fff;background:#15803d}.recording-secondary-button{color:#f9fafb;background:#4b5563;border-radius:10px;width:auto;margin:0;padding:8px 14px;font-size:.85rem}.recording-save-button:disabled,.recording-secondary-button:disabled{opacity:.6;cursor:not-allowed}.recording-player{width:100%;margin:0}.recording-video{object-fit:contain;background:#000;border-radius:10px;width:100%;max-height:min(55vh,420px);margin:0;display:block}.recording-preview{scroll-margin-top:16px}.recording-choice{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recording-choice-label{opacity:.75;font-size:.82rem}.recording-choice-button{color:#f9fafb;background:#374151;border:1px solid #0000;border-radius:10px;width:auto;margin:0;padding:8px 14px;font-size:.85rem}.recording-choice-button[aria-pressed=true]{background:#4b5563;border-color:#ffffff73;font-weight:600}.recording-choice-button:disabled{opacity:.6;cursor:not-allowed}.recording-saved{border-top:1px solid #ffffff14;flex-direction:column;gap:8px;padding-top:10px;display:flex}.recording-saved-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.recording-saved-label{opacity:.85;font-size:.85rem;font-weight:600}.recording-toggle{width:auto;margin:0;padding:4px 12px;font-size:.78rem}.recording-row{border-bottom:1px solid #ffffff0f;flex-direction:column;gap:8px;padding:10px 0;display:flex}.recording-row-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.recording-row-moment{opacity:.85;font-size:.88rem}.recording-row-actions{gap:8px;display:flex}.recording-delete-button{color:#fca5a5;background:0 0;border:1px solid #f8717173;border-radius:10px;width:auto;margin:0;padding:8px 14px;font-size:.85rem}.recording-delete-confirmation{background:#7f1d1d2e;border:1px solid #f8717159;border-radius:12px;margin-top:4px;padding:16px}.recording-delete-confirmation>strong{margin-bottom:6px;font-size:1.05rem;display:block}.recording-delete-confirmation>span{opacity:.8;font-size:.9rem;display:block}.recording-delete-confirmation p{opacity:.75;margin:8px 0 14px;font-size:.9rem}.recording-delete-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.recording-delete-actions button{border-radius:10px;margin:0;padding:11px;font-size:.95rem}.recording-cancel-button{color:#f9fafb;background:#4b5563}.recording-confirm-delete-button{color:#fff;background:#b91c1c}.recording-empty,.recording-more{opacity:.7;margin:0;font-size:.85rem}.recording-storage-note{opacity:.65;font-size:.78rem;line-height:1.5;display:block}.recording-record-button:focus-visible,.recording-stop-button:focus-visible,.recording-secondary-button:focus-visible,.recording-save-button:focus-visible,.recording-delete-button:focus-visible,.recording-toggle:focus-visible,.recording-delete-actions button:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}.app-experience-presets{border-bottom:1px solid #ffffff14;margin:4px 0 16px;padding-bottom:14px}.app-experience-presets-heading{opacity:.8;margin:0 0 8px;font-size:.82rem;font-weight:600}.app-experience-preset-buttons{gap:6px;display:flex}.app-experience-preset-button{color:#f9fafb;background:#374151;border:1px solid #0000;border-radius:10px;flex:1 1 0;width:auto;min-width:0;min-height:44px;margin:0;padding:10px 2px;font-size:.85rem;font-weight:500}.app-experience-preset-button[aria-pressed=true]{color:#fef3c7;background:#4b5563;border-color:#f59e0b;font-weight:600}.app-experience-preset-button:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}.app-experience-preset-button:disabled{opacity:.6;cursor:not-allowed}.app-experience-presets-description{opacity:.85;margin:10px 0 4px;font-size:.82rem;line-height:1.45}.app-experience-presets-hint{opacity:.6;margin:0;font-size:.76rem;line-height:1.45}.clean-tempo{text-align:left;border-top:1px solid #ffffff14;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.clean-tempo-label{letter-spacing:.08em;text-transform:uppercase;opacity:.55;font-size:.7rem}.clean-tempo-recall{opacity:.75;overflow-wrap:anywhere;font-size:.8rem;line-height:1.45}.clean-tempo-recall-actions{flex-wrap:wrap;gap:8px;display:flex}.clean-tempo-use-bpm{opacity:.85;width:auto;margin:0;padding:4px 10px;font-size:.74rem;font-weight:600}.clean-tempo-marked{opacity:.9;overflow-wrap:anywhere;font-size:.85rem;line-height:1.45}.clean-tempo-field{flex-direction:column;gap:4px;display:flex}.clean-tempo-field label{opacity:.75;font-size:.78rem}.clean-tempo-input-row{align-items:center;gap:8px;display:flex}.clean-tempo-input{width:6rem;margin:0}.clean-tempo-unit{opacity:.7;font-size:.78rem}.clean-tempo-actions{flex-wrap:wrap;gap:8px;display:flex}.clean-tempo-actions button{width:auto;margin:0;padding:6px 12px;font-size:.78rem}.clean-tempo-actions button:disabled{opacity:.5;cursor:not-allowed}.clean-tempo-evidence{flex-direction:column;gap:8px;display:flex}.clean-tempo-evidence-toggle{opacity:.75;justify-content:space-between;align-items:center;gap:12px;width:100%;margin:0;padding:0;font-size:.78rem;font-weight:600;display:flex}.clean-tempo-evidence-hint{opacity:.75;font-size:.74rem;font-weight:400}.clean-tempo-evidence-body{flex-direction:column;gap:6px;display:flex}.clean-tempo-evidence-heading{opacity:.7;margin:0;font-size:.74rem;font-weight:600;line-height:1.4}.clean-tempo-evidence-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.clean-tempo-evidence-row{opacity:.75;overflow-wrap:anywhere;font-size:.8rem;line-height:1.45}.clean-tempo-evidence-note{opacity:.6;margin:2px 0 0;font-size:.74rem;line-height:1.45}.clean-tempo-evidence-toggle:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}.practice-notes-panel{text-align:left;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:8px;margin:12px 0;padding:12px 14px;display:flex}.practice-notes-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.practice-notes-label{opacity:.9;font-size:.9rem;font-weight:600}.practice-notes-toggle{width:auto;margin:0;padding:4px 12px;font-size:.78rem}.practice-notes-field-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.practice-notes-input{resize:vertical;width:100%;margin:0}.practice-notes-help{opacity:.7;font-size:.78rem}.app-experience-settings{margin-top:18px}.app-experience-settings-toggle{opacity:.9;justify-content:space-between;align-items:center;gap:12px;width:100%;font-size:.9rem;font-weight:600;display:flex}.app-experience-settings-toggle-hint{opacity:.6;font-size:.76rem;font-weight:400}.app-experience-settings-intro{opacity:.65;margin:12px 0 10px;font-size:.8rem;line-height:1.45}.app-experience-setting-row{align-items:center;gap:8px;margin-bottom:8px;font-size:.9rem;font-weight:400;display:flex}.app-experience-setting-row input{transform:scale(1.1)}.app-experience-setting-row input:disabled{cursor:not-allowed}.app-experience-settings-toggle:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}.coaching-preferences{margin-top:18px}.coaching-preferences-toggle{opacity:.9;justify-content:space-between;align-items:center;gap:12px;width:100%;font-size:.9rem;font-weight:600;display:flex}.coaching-preferences-toggle-hint{opacity:.6;font-size:.76rem;font-weight:400}.coaching-preferences-intro{opacity:.65;margin:12px 0 10px;font-size:.8rem;line-height:1.45}.coaching-preference-row{align-items:center;gap:8px;margin-bottom:8px;font-size:.9rem;font-weight:400;display:flex}.coaching-preference-row input{transform:scale(1.1)}.coaching-preference-row input:disabled{cursor:not-allowed}.coaching-preferences-global{border-bottom:1px solid #ffffff1f;margin-top:12px;padding-bottom:2px}.coaching-preferences-toggle:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}.practice-data{text-align:left;margin-top:18px}.practice-data-toggle{justify-content:space-between;align-items:center;gap:var(--bc-space-3);opacity:.9;width:100%;font-size:.9rem;font-weight:600;display:flex}.practice-data-toggle-hint{opacity:.6;font-size:.76rem;font-weight:400}.practice-data-intro{margin:var(--bc-space-3) 0 var(--bc-space-2);color:var(--bc-color-text-secondary);font-size:.8rem;line-height:1.45}.practice-data-actions{gap:var(--bc-space-2);flex-wrap:wrap;display:flex}.practice-data-actions button{min-width:0;min-height:44px;margin-top:var(--bc-space-2);flex:12rem;padding:12px;font-size:.9rem}.practice-data-actions button:disabled{cursor:not-allowed;opacity:.5}.practice-data-file{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.practice-data-message{margin-top:var(--bc-space-3);color:var(--bc-color-text-cream);font-size:.85rem;line-height:1.45}.practice-data-review{margin-top:var(--bc-space-3);padding:var(--bc-space-4);border:1px solid var(--bc-color-gold-border);border-radius:var(--bc-radius-lg);background:var(--bc-color-gold-wash)}.practice-data-review-heading{color:var(--bc-color-text-cream);font-weight:600}.practice-data-review-list{margin:var(--bc-space-2) 0;padding-left:1.2rem;font-size:.85rem;line-height:1.5}.practice-data-review-line{margin-top:var(--bc-space-2);color:var(--bc-color-text-secondary);font-size:.8rem;line-height:1.45}.practice-data-toggle:focus-visible,.practice-data-actions button:focus-visible,.practice-data-review-heading:focus-visible{outline:var(--bc-focus-ring);outline-offset:var(--bc-focus-offset)}.offline-app{margin-top:var(--bc-space-3)}.app-update-notice{margin:var(--bc-space-3) 0;padding:var(--bc-space-3) var(--bc-space-4);border:1px solid var(--bc-color-gold-border);border-radius:var(--bc-radius-lg);background:var(--bc-color-gold-wash);text-align:left;color:var(--bc-color-text-cream);font-size:.9rem;line-height:1.45}.app-update-detail{margin-top:var(--bc-space-1);color:var(--bc-color-text-secondary);font-size:.8rem}.app-update-notice button{min-height:44px;margin-top:var(--bc-space-2);padding:10px 16px;font-size:.9rem}.app-update-notice button:disabled{cursor:not-allowed;opacity:.5}.app-update-notice button:focus-visible{outline:var(--bc-focus-ring);outline-offset:var(--bc-focus-offset)}.optional-feature-status{margin:var(--bc-space-3) 0;text-align:left;color:var(--bc-color-text-secondary);font-size:.85rem;line-height:1.45}.optional-feature-status button{min-height:44px;margin-top:var(--bc-space-2);padding:10px 16px}.song-workbench{text-align:left;margin-top:18px}.song-workbench-toggle{justify-content:space-between;align-items:center;gap:var(--bc-space-2) var(--bc-space-3);opacity:.9;flex-wrap:wrap;width:100%;font-size:.9rem;font-weight:600;display:flex}.song-workbench-toggle-hint{opacity:.6;font-size:.76rem;font-weight:400}.song-panel{margin-top:var(--bc-space-3);text-align:left}.song-panel button,.song-choice button{min-height:44px;margin-top:0;padding:10px 14px;font-size:.9rem}.song-panel button:disabled{cursor:not-allowed;opacity:.5}.song-panel input,.song-panel select,.song-panel textarea{box-sizing:border-box;width:100%;min-height:44px;margin-top:0}.song-panel-intro,.song-panel-note{margin:var(--bc-space-2) 0;color:var(--bc-color-text-secondary);font-size:.8rem;line-height:1.45}.song-panel-message{margin:var(--bc-space-2) 0;color:var(--bc-color-text-cream);font-size:.85rem;line-height:1.45}.song-panel-heading,.song-detail-title{margin:var(--bc-space-2) 0 var(--bc-space-1);color:var(--bc-color-text-cream);overflow-wrap:anywhere;font-weight:600}.song-panel-subheading{margin:var(--bc-space-4) 0 var(--bc-space-1);color:var(--bc-color-text-cream);font-size:.85rem;font-weight:600}.song-tabs{gap:var(--bc-space-2);margin-bottom:var(--bc-space-2);display:flex}.song-panel .song-tab{background:var(--bc-color-surface-raised);color:var(--bc-color-text);flex:1 1 0}.song-panel .song-tab[aria-pressed=true]{background:var(--bc-color-gold);color:var(--bc-color-text-on-gold)}.song-panel-actions{gap:var(--bc-space-2);margin:var(--bc-space-2) 0;flex-wrap:wrap;display:flex}.song-panel-actions button{flex:9rem;min-width:0}.song-panel .song-panel-back{width:auto;color:var(--bc-color-text-secondary);background:0 0;padding:10px 0}.song-search,.song-form{gap:var(--bc-space-1);margin:var(--bc-space-2) 0;flex-direction:column;display:flex}.song-search label,.song-form label{margin-top:var(--bc-space-2);color:var(--bc-color-text-secondary);font-size:.8rem}.song-form-row{gap:var(--bc-space-2);flex-wrap:wrap;display:flex}.song-form-row>div{gap:var(--bc-space-1);flex-direction:column;flex:8rem;min-width:0;display:flex}.song-form-inline{gap:var(--bc-space-2);flex-wrap:wrap;display:flex}.song-form-inline input,.song-form-inline select{flex:10rem;width:auto;min-width:0}.song-form-inline button{flex:none;width:auto}.song-form-problem{color:var(--bc-color-danger-text);margin:0;font-size:.8rem}.song-list,.setlist-entries{margin:var(--bc-space-2) 0;padding:0;list-style:none}.song-panel .song-row{margin-top:var(--bc-space-2);padding:10px var(--bc-space-3);border:1px solid var(--bc-color-border);border-radius:var(--bc-radius-lg);background:var(--bc-color-surface-subtle);color:var(--bc-color-text);text-align:left;flex-direction:column;align-items:flex-start;gap:2px;font-weight:400;display:flex}.song-panel .song-row[aria-current=true]{border-color:var(--bc-color-gold-border);background:var(--bc-color-gold-wash)}.song-row-title{align-items:center;gap:var(--bc-space-2);overflow-wrap:anywhere;flex-wrap:wrap;font-weight:600;display:flex}.song-row-meta,.song-detail-meta{color:var(--bc-color-text-secondary);overflow-wrap:anywhere;font-size:.78rem}.song-status,.song-session-tag{border:1px solid var(--bc-color-border-strong);border-radius:var(--bc-radius-pill);width:fit-content;color:var(--bc-color-text-secondary);margin:0;padding:1px 8px;font-size:.72rem;font-weight:400;display:inline-block}.song-detail-notes,.song-session-notes{margin:var(--bc-space-2) 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;line-height:1.45}.song-session,.song-recording{padding:var(--bc-space-2) 0;border-bottom:1px solid var(--bc-color-border)}.song-session-line{margin:0;font-size:.85rem}.song-recording-main{justify-content:space-between;align-items:center;gap:var(--bc-space-2);flex-wrap:wrap;font-size:.85rem;display:flex}.song-recording-main button{width:auto}.song-delete-confirmation{margin:var(--bc-space-2) 0;padding:var(--bc-space-3);border:1px solid var(--bc-color-border-strong);border-radius:var(--bc-radius-lg);font-size:.85rem;line-height:1.45}.song-panel .song-danger-button{background:var(--bc-color-danger);color:var(--bc-color-text)}.setlist-entry{gap:var(--bc-space-2);padding:var(--bc-space-2) 0;border-bottom:1px solid var(--bc-color-border);flex-direction:column;display:flex}.setlist-entry-main{align-items:baseline;gap:var(--bc-space-2);min-width:0;display:flex}.setlist-entry-position{min-width:1.5rem;color:var(--bc-color-text-muted);font-size:.8rem}.setlist-entry-title{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.setlist-entry-title small{color:var(--bc-color-text-secondary);font-size:.75rem}.setlist-entry-actions{gap:var(--bc-space-2);flex-wrap:wrap;display:flex}.setlist-entry-actions button{flex:auto;width:auto;min-width:44px}.song-choice{gap:var(--bc-space-1);text-align:left;flex-direction:column;display:flex}.song-choice label{opacity:.7;font-size:.8rem}.song-choice select{box-sizing:border-box;width:100%;min-height:44px}.song-choice-meta{color:var(--bc-color-text-secondary);overflow-wrap:anywhere;margin:0;font-size:.78rem;line-height:1.4}.song-choice-setlist{gap:var(--bc-space-1);margin-top:var(--bc-space-1);flex-direction:column;display:flex}.song-choice-practice small{overflow-wrap:anywhere}.recording-facts{gap:var(--bc-space-1);margin-top:var(--bc-space-1);flex-direction:column;display:flex}.recording-context{color:var(--bc-color-text-secondary);overflow-wrap:anywhere;margin:0;font-size:.78rem;line-height:1.4}.recording-note{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.85rem;line-height:1.45}.recording-note-label{color:var(--bc-color-text-muted);font-size:.75rem;display:block}.recording-note-field,.recording-note-edit{gap:var(--bc-space-1);flex-direction:column;display:flex}.recording-note-field textarea,.recording-note-edit textarea{min-height:3.5rem;margin-top:0}.recording-note-edit>div{gap:var(--bc-space-2);flex-wrap:wrap;display:flex}.recording-facts button,.recording-note-button{background:var(--bc-color-surface-control);width:auto;color:var(--bc-color-text);min-height:44px;margin:0;padding:8px 14px;font-size:.85rem}.song-workbench-toggle:focus-visible,.song-panel button:focus-visible,.song-panel input:focus-visible,.song-panel select:focus-visible,.song-panel textarea:focus-visible,.song-choice button:focus-visible,.song-choice select:focus-visible,.recording-facts button:focus-visible,.recording-facts textarea:focus-visible{outline:var(--bc-focus-ring);outline-offset:var(--bc-focus-offset)}.setlist-overview{margin-top:var(--bc-space-1);text-align:left}.song-choice .setlist-overview-toggle{justify-content:space-between;align-items:center;gap:var(--bc-space-1) var(--bc-space-3);text-align:left;flex-wrap:wrap;width:100%;display:flex}.setlist-overview-position{opacity:.8;overflow-wrap:anywhere;font-size:.78rem;font-weight:400}.setlist-overview-body{margin-top:var(--bc-space-2)}.setlist-overview-list{margin:0;padding:0;list-style:none}.setlist-overview-entry{align-items:baseline;gap:var(--bc-space-2);padding:var(--bc-space-2) var(--bc-space-2);border-left:3px solid #0000;border-bottom:1px solid var(--bc-color-border);font-size:.88rem;line-height:1.35;display:flex}.setlist-overview-entry.is-current{border-left-color:var(--bc-color-gold);background:var(--bc-color-gold-wash);font-weight:600}.setlist-overview-number{min-width:1.25rem;color:var(--bc-color-text-muted);font-size:.78rem}.setlist-overview-title{overflow-wrap:anywhere;flex:auto;min-width:0}.setlist-overview-now{color:var(--bc-color-gold);text-transform:uppercase;letter-spacing:.04em;flex:none;font-size:.72rem;font-weight:600}.song-choice-confirm{color:var(--bc-color-text-cream);margin:0;font-size:.78rem;font-weight:600}.song-choice-practice{margin-top:var(--bc-space-1)}.setlist-nav{gap:var(--bc-space-2);margin-top:var(--bc-space-2);flex-wrap:wrap;display:flex}.song-choice .setlist-nav-button{min-width:0;padding:var(--bc-space-2) var(--bc-space-3);overflow-wrap:anywhere;text-align:left;flex-direction:column;flex:9rem;align-items:flex-start;gap:2px;margin-top:0;font-size:.95rem;display:flex}.setlist-nav-title{opacity:.85;font-size:.78rem;font-weight:400}.song-choice .setlist-overview-go{width:auto;min-height:36px;padding:var(--bc-space-1) var(--bc-space-3);flex:none;margin:0;font-size:.8rem}.setlist-practice{margin-top:var(--bc-space-3);text-align:left}.setlist-practice-heading{justify-content:space-between;align-items:baseline;gap:var(--bc-space-1) var(--bc-space-3);margin:0 0 var(--bc-space-1);overflow-wrap:anywhere;flex-wrap:wrap;font-size:.88rem;display:flex}.setlist-practice-count{color:var(--bc-color-text-muted);font-size:.78rem}.setlist-practice-entry{align-items:center}.setlist-practice-hit{cursor:pointer;flex:none;justify-content:center;align-items:center;width:44px;height:44px;margin:-8px -11px;display:inline-flex}.setlist-practice-check{width:1.35rem;height:1.35rem;accent-color:var(--bc-color-gold);cursor:pointer;flex:none;margin:0}.setlist-practice-check:focus-visible{outline:var(--bc-focus-ring);outline-offset:var(--bc-focus-offset)}.setlist-finished{gap:var(--bc-space-2);margin-top:var(--bc-space-2);padding:var(--bc-space-3);border:1px solid var(--bc-color-border);border-left:3px solid var(--bc-color-gold);text-align:left;overflow-wrap:anywhere;border-radius:12px;flex-direction:column;display:flex}.setlist-finished p{margin:0;font-size:.85rem;line-height:1.4}.setlist-finished .song-choice-button{margin-top:0}.practice-section-nav{margin:0 0 var(--bc-space-3);text-align:left}.practice-section-nav-hint{margin-bottom:var(--bc-space-1);color:var(--bc-color-text-muted);font-size:.78rem;display:block}.practice-section-nav ul{gap:var(--bc-space-2);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin:0;padding:0;list-style:none;display:grid}.practice-section-nav .practice-section-nav-button{width:100%;min-height:44px;padding:var(--bc-space-2) var(--bc-space-3);text-align:left;overflow-wrap:anywhere;border-left:3px solid #0000;flex-direction:column;align-items:flex-start;gap:2px;margin:0;font-size:.9rem;display:flex}.practice-section-nav .practice-section-nav-button.is-open{border-left-color:var(--bc-color-gold);background:var(--bc-color-gold-wash)}.practice-section-nav-state{opacity:.85;font-size:.75rem;font-weight:400}.practice-section-nav-button:focus-visible{outline:var(--bc-focus-ring);outline-offset:var(--bc-focus-offset)}.song-selected-line{overflow-wrap:anywhere;flex-direction:column;gap:4px;margin-top:6px;display:flex}.song-selected-line small{opacity:.7;font-size:.8rem}.song-selected-line strong{color:#fff;font-size:1rem;font-weight:700;line-height:1.4}.history-setlist-songs{flex-direction:column;gap:6px;margin:4px 0 2px;padding:0;list-style:none;display:flex}.history-setlist-songs li{border-left:3px solid var(--bc-color-border);background:#ffffff08;border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;padding:6px 10px;display:flex}.history-setlist-songs li.is-practised{border-left-color:var(--bc-color-gold)}.history-block .history-setlist-song{overflow-wrap:anywhere;min-width:0}.history-block .history-setlist-mark{white-space:normal;font-size:.85rem}.history-setlist-songs li.is-practised .history-setlist-mark{color:var(--bc-color-gold)}.history-setlist-songs li.is-not-marked .history-setlist-mark{opacity:.65}.setlist-picker{min-width:0;padding:var(--bc-space-3);border:1px solid var(--bc-color-border);border-radius:8px}.setlist-picker legend{padding:0 var(--bc-space-1);overflow-wrap:anywhere;font-weight:700}.setlist-picker-list{max-height:min(24rem,55vh);margin:var(--bc-space-2) 0 0;flex-direction:column;gap:4px;padding:0;list-style:none;display:flex;overflow-y:auto}.song-form .setlist-picker-option{align-items:center;gap:var(--bc-space-2);min-height:44px;padding:6px var(--bc-space-2);color:var(--bc-color-text);cursor:pointer;border-left:3px solid #0000;border-radius:6px;margin:0;font-size:.95rem;display:flex}.song-form .setlist-picker-option:has(input:checked){border-left-color:var(--bc-color-gold);background:#ffffff0a}.song-form .setlist-picker-option:has(input:disabled){cursor:not-allowed;opacity:.55}.setlist-picker-option input{width:1.35rem;height:1.35rem;accent-color:var(--bc-color-gold);flex:none;margin:0}.setlist-picker-option input:focus-visible{outline:var(--bc-focus-ring);outline-offset:var(--bc-focus-offset)}.setlist-picker-text{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.setlist-picker-text small{color:var(--bc-color-text-secondary);font-size:.78rem}.setlist-picker-count{margin:var(--bc-space-2) 0 0;color:var(--bc-color-text-secondary);font-size:.85rem}.practice-notice{align-items:center;gap:var(--bc-space-2) var(--bc-space-3);margin:var(--bc-space-3) 0;padding:var(--bc-space-3);border:1px solid var(--bc-color-gold-border);border-radius:var(--bc-radius-md);background:var(--bc-color-gold-wash);color:var(--bc-color-text-cream);text-align:left;flex-wrap:wrap;display:flex}.practice-notice p{overflow-wrap:anywhere;flex:16rem;margin:0;font-size:.9rem;line-height:1.45}.practice-notice button,.practice-recovery button,.app-recovery button{min-height:44px;padding:10px 16px}.practice-recovery{margin:var(--bc-space-4) 0;padding:var(--bc-space-4);border:1px solid var(--bc-color-gold-border);border-radius:var(--bc-radius-lg);background:var(--bc-color-surface-raised);text-align:left}.practice-recovery h2{margin:0 0 var(--bc-space-2);color:var(--bc-color-text-cream);font-size:1.05rem}.practice-recovery p{margin:0 0 var(--bc-space-2);overflow-wrap:anywhere;font-size:.9rem;line-height:1.45}.practice-recovery-note{color:var(--bc-color-text-secondary)}.practice-recovery-actions,.app-recovery-actions{align-items:center;gap:var(--bc-space-2);margin:var(--bc-space-3) 0;flex-wrap:wrap;display:flex}.practice-recovery-actions p{flex-basis:100%;margin:0}.practice-recovery .practice-recovery-discard{background:var(--bc-color-danger);color:var(--bc-color-text)}.practice-recovery button:focus-visible,.practice-notice button:focus-visible,.app-recovery button:focus-visible{outline:var(--bc-focus-ring);outline-offset:var(--bc-focus-offset)}.app-recovery{text-align:left}.app-recovery p{overflow-wrap:anywhere;line-height:1.5}.app-recovery-messages{margin-top:var(--bc-space-3);color:var(--bc-color-text-secondary)}.practice-profiles-toggle-hint,.exercise-guidance-hint,.song-focus-guidance-hint,.progress-dashboard-toggle-hint,.suggested-session-toggle-hint,.practice-summary-toggle-hint,.practice-data-toggle-hint,.song-workbench-toggle-hint,.app-experience-settings-toggle-hint,.coaching-preferences-toggle-hint{opacity:1}.practice-profile-heading{flex-wrap:wrap}
