/* Rhythm Studio 0.9ct visual-only theme pilot, based on original 0.9cs.
   Does not change screen structure, control visibility, notation engine,
   pupil background colours, stored settings or playback. */
:root{
  --hb-ink:#50306b;--hb-teal:#6d3d84;--hb-gold:#e9b95b;
  --rs-plum:#52306b;--rs-deep:#391a53;--rs-magenta:#af234a;
  --rs-cream:#fff8ef;--rs-line:#d7c6de;--rs-text:#352341;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--rs-text);background:#f7f1f8;
}
body{background:#f7f1f8;color:var(--rs-text)}
/* Original uploaded landscape is restricted to the introductory header.
   Do not layer scenery over staff lines or accessibility display colours. */
body>header{
  background:linear-gradient(90deg,rgba(52,21,79,.90),rgba(82,48,107,.78) 40%,rgba(82,48,107,.33)),
             url('assets/hb-original-landscape.png') center 40%/cover no-repeat;
  border-bottom-color:#bd487f;
  color:#fff;
}
body>header h1,body>header h1 span{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#fff;font-weight:750}
body>header small{color:#ffe4bb}
body>header p{color:#f8edf7}
.rs-main-shortcuts{background:#efe4f0;border-bottom-color:var(--rs-line)}
.rs-main-shortcuts a{background:#fff9f5;color:#543269;border-color:#ceb5d6}
.rs-main-shortcuts .rs-admin-grid-link{background:var(--rs-plum);border-color:var(--rs-plum);color:#fff}
.terminology-bar{background:#f6edf7;color:#553b69}
section,.panel{border-color:#e0d1e5}
h2,.route-home h2,.route-card strong,.instrument-title strong{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.route-home{background:linear-gradient(180deg,#fff7f1,#faf2fa)}
.route-card,.route-card:last-child{background:linear-gradient(180deg,#fffaf4,#faf1fa);border-color:#cdb4d5;box-shadow:0 2px 8px rgba(62,29,78,.08)}
.route-card:focus-visible{outline-color:#ba2a65}
.route-number{background:#f3e5f4;color:var(--rs-deep)}
.eyebrow{color:#a02560}
.route-intro,.route-card small,.hint{color:#66566c}
button{background:#f0e8f1;color:#4b2a60}
button.primary,#start-practice,#next-challenge-toggle{background:#af234a;color:#fff}
button:focus-visible,input:focus-visible,select:focus-visible{outline-color:#ba3d7f}
button:hover{filter:brightness(.97)}
select,input[type=text],input[type=number]{background:#fffaf7;border-color:#cdbbce;color:#352341}
#setup-start{background:#f5e9f2;border-color:#d0acc9;box-shadow:0 -2px 12px rgba(65,25,67,.07)}
#setup-nav button,#open-saved{background:#f7ecf4;border-color:#c8aed0;color:#56316b}
/* Fullscreen toolbar: recolour only; preserve all grids, ordering, and button widths. */
body.score-focused{background:var(--rs-deep)}
#practice-view.is-fullscreen .practice-bar{background:var(--rs-deep)!important;color:#fff;border-bottom-color:#8c5d9a}
#practice-view.is-fullscreen #status{color:#f7e8f8}
#practice-view.is-fullscreen .practice-transport{background:#4e2d66!important;border-color:#77588a!important}
#practice-view.is-fullscreen .practice-transport button:not(.primary),
#practice-view.is-fullscreen .practice-tempo button,
#practice-view.is-fullscreen .practice-toggles button{border-color:#aa8eae;background:#fff8f4;color:#4d2867}
#practice-view.is-fullscreen .practice-transport button.primary,
#practice-view.is-fullscreen .practice-transport #play,
#practice-view.is-fullscreen .practice-buttons>.primary{background:#f0d075!important;color:#4e2c60!important}
#practice-view.is-fullscreen .practice-buttons select{border-color:#cab0d1}
#practice-view.is-fullscreen .practice-secondary .chip{color:#4b2b60}
/* Menu/palette chrome only; keep active rhythm/rest cards' functional selection colours. */
.quick-rhythm{background:#fffaf8;border-color:#bca3ce;box-shadow:0 4px 12px rgba(50,25,68,.16)}
#practice-view .quick-rhythm .chip{color:#51346b}
#practice-view #pathway-toolbar{border-color:#e0cddd;color:#47295e}
#practice-view #pathway-toolbar.independent-practice-active .independent-practice-bar{border-color:#d5c4da}
#practice-view .pathway-message{border-color:#c7b4da}
#practice-view .practice-level-pickers{color:#452c5b}
/* Do not style score paper, #score-scroll background, score SVG, display
   overlays, current-score highlights or Irlen/student colour variables. */
@media print{body,body>header{background:#fff!important;color:#000}}
