.track-heading #browse-tracks { font-size: 10px; min-height: 34px; padding: 9px 12px; }
.practice-jump { font-size: 10px; white-space: nowrap; margin-left: auto; }
#practice-title { scroll-margin-top: 20px; }
.practice-tools { border-top: 1px solid #3a4a40; padding: 21px 24px; background: #1a2927; }
.practice-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 18px; }
.practice-heading .eyebrow { font-size: 8px; margin: 0 0 8px; color: #9eb69f; }
.practice-heading h3 { margin: 0; font-size: 19px; font-weight: 500; letter-spacing: -.4px; }
.practice-heading .toggle { font-size: 11px; }
.practice-controls { display: grid; grid-template-columns: 1fr 1fr 1.15fr 1.5fr; gap: 12px; }
.practice-controls label { display: flex; flex-direction: column; gap: 7px; color: #b8c9bb; font-size: 10px; }
.practice-controls input, .practice-controls select { min-width: 0; width: 100%; background: #24372f; color: #e1ebd7; border: 1px solid #4a6150; border-radius: 6px; padding: 9px 10px; font-size: 12px; }
.practice-controls :disabled { opacity: .4; }
.tempo-step { display: flex; align-items: center; gap: 9px; font-size: 11px; color: #c3d5b9; margin-top: 17px; }
.tempo-step input { accent-color: var(--gold); }
.tempo-step small { color: #8ba58c; font-size: 9px; margin-left: 8px; }
.practice-summary { color: #d0ddbd; font-size: 11px; line-height: 1.8; margin: 15px 0 0; }
.practice-summary.error { color: #f5a9af; }
.practice-footnote { color: #8ca69a; font-size: 10px; line-height: 1.8; margin: 9px 0 0; }
.tracks-dialog { width: min(960px, calc(100% - 36px)); }
.track-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.track-filters .button { min-height: 34px; font-size: 11px; }
.track-filters [aria-pressed="true"] { background: var(--gold); color: #1b2823; border-color: var(--gold); }
.track-filters .button[aria-pressed="true"]:hover { background: #f5d399; }
.track-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lesson-tile { border: 1px solid #405548; border-radius: 10px; padding: 18px; background: #20312b; display: flex; flex-direction: column; }
.lesson-tile-heading { display: flex; align-items: center; gap: 12px; }
.lesson-number { font: 21px Georgia,serif; color: var(--gold); }
.lesson-level { font-size: 8px; color: #aac2a4; letter-spacing: 1px; }
.lesson-tile h3 { font-size: 18px; letter-spacing: -.35px; font-weight: 500; margin: 15px 0 8px; }
.lesson-tile p { color: #a9bfb0; font-size: 11px; line-height: 1.8; margin: 0 0 15px; flex: 1; }
.lesson-meta { display: flex; justify-content: space-between; gap: 12px; font-size: 10px; color: #c7d8bb; }
.lesson-tile-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid #3b5043; padding-top: 13px; margin-top: 16px; }
.lesson-tile-footer small { font-size: 9px; color: #9eb595; line-height: 1.7; }
.lesson-tile-footer .button { font-size: 10px; padding: 9px 12px; min-height: 34px; }
.practice-progress { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 25px; }
.progress-heading { display: flex; justify-content: space-between; align-items: end; gap: 15px; margin-bottom: 16px; }
.progress-heading h2 { margin: 0; font-size: 22px; font-weight: 450; letter-spacing: -.5px; }
.progress-heading .eyebrow { font-size: 8px; }
.progress-heading > p { font-size: 11px; color: #a7c1aa; margin: 0; }
.history-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 15px 18px; border: 1px solid #344a41; border-bottom: 0; background: #1b2a27; }
.history-row:first-child { border-radius: 8px 8px 0 0; }
.history-row:last-child { border-bottom: 1px solid #344a41; border-radius: 0 0 8px 8px; }
.history-row > div { display: flex; flex-direction: column; gap: 7px; }
.history-row > div:first-child { min-width: 0; overflow-wrap: anywhere; }
.history-row > div:last-child { text-align: right; flex-shrink: 0; }
.history-row strong { font-size: 12px; font-weight: 500; }
.history-row > div:last-child strong { color: var(--gold); font-size: 20px; }
.history-row span { font-size: 9px; color: #9eb7a8; line-height: 1.8; }
.history-empty { color: #9aafa3; background: #1b2926; padding: 20px; font-size: 12px; line-height: 1.8; border-radius: 8px; }
.report-section { color: #b7cfad; font-size: 11px; line-height: 1.7; margin: -8px 0 20px; }
.pass-title { font-size: 14px; font-weight: 500; margin: 23px 0 8px; }
.coaching-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 23px; }
.coaching-actions .button { font-size: 11px; }
.rhythm-grid { column-gap: 3px; }
@media(max-width: 700px) {
  .track-list { grid-template-columns: 1fr; }
  .practice-tools { padding: 18px; }
  .practice-controls { grid-template-columns: 1fr 1fr; }
  .progress-heading { align-items: start; flex-direction: column; }
}
@media(max-width: 540px) {
  .practice-jump { margin-left: 0; }
  .practice-heading { align-items: start; flex-direction: column; }
  .practice-heading .toggle { margin-top: 3px; }
  .tempo-step small { display: block; margin: 6px 0 0; }
  .history-row { padding: 14px 12px; gap: 12px; }
  .history-row strong { font-size: 11px; }
  .track-heading #browse-tracks { font-size: 9px; padding: 8px; }
  .track-heading { flex-wrap: wrap; }
  .track-info { flex-basis: 45%; }
  .track-heading #open-import { margin-left: auto; }
  .practice-summary { font-size: 10px; }
}
