/* Text follows the locale; musical time and physical illustrations keep their order. */
.language-selector { position: relative; align-self: center; flex-shrink: 0; }
.language-menu { position: relative; }
.language-trigger { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 40px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--subtle, #c1b8a5); background: #ffffff04; font-size: 12px; line-height: 1.4; white-space: nowrap; cursor: pointer; list-style: none; }
.language-trigger::-webkit-details-marker { display: none; }
.language-trigger .ui-icon { width: 16px; height: 16px; }
.language-menu[open] .language-trigger { border-color: var(--accent); color: var(--accent-hover); }
.language-menu[open] .language-trigger > .ui-icon { transform: rotate(180deg); }
.language-options { position: absolute; inset-inline-end: 0; top: calc(100% + 8px); z-index: 2; width: 170px; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); box-shadow: 0 12px 30px #00000055; }
.language-selector a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; padding: 9px 12px; border-radius: 5px; font-size: 13px; color: var(--subtle, #c1b8a5); text-decoration: none; white-space: nowrap; }
.language-selector a:hover { color: var(--ink); background: #ffffff08; }
.language-selector a[aria-current] { color: var(--accent, #dfba74); background: var(--green-light); }
.language-options .ui-icon { width: 16px; height: 16px; }
.language-selector a[data-preferred]:not([aria-current])::after { content: '•'; margin-inline-start: 4px; color: var(--accent, #dfba74); }
.language-selector :is(a,summary):focus-visible { outline: 2px solid var(--accent, #dfba74); outline-offset: 3px; }
.header-inner { flex-wrap: wrap; gap: 16px; }
.header-inner .language-selector { margin-inline-start: auto; }
.header-status:has(.save-state[hidden]) { display: none; }
.intro-inlay { overflow: clip; }
bdi { unicode-bidi: isolate; }
input:not([type=number]):not([type=range]), textarea { text-align: start; }
input[type=number], input[type=range], .meter-pill, .training-meter, .tempo-number,
.pulse-lane, .pulse-rail, .ensemble-grid, .ensemble-lane, .score-notation, .staff-scroll,
.training-score, .training-staff, .training-pulse, .paradiddle-staff, .roll-staff,
.roll-pattern-text, .pattern-symbols, .metro-beats, .metro-subdivisions,
.time-signature, .transport-seek, .transport-buttons { direction: ltr; unicode-bidi: isolate; }
.pulse-track-name, .staff-label { unicode-bidi: plaintext; }
html[dir=rtl] { --sans: "Geeza Pro", Tahoma, Arial, sans-serif; --serif: "Geeza Pro", Tahoma, Arial, sans-serif; }
html[dir=rtl] body { font-family: "Geeza Pro", Tahoma, Arial, sans-serif; }
html[dir=rtl] :is(h1,h2,h3,h4,p,button,select,label,summary,a,span) { letter-spacing: normal; }
html[dir=rtl] :is(h1,h2,h3,h4) { line-height: 1.5; }
html[dir=rtl] :is(.page-heading,.reading-title,.about-hero-copy,.guide-kind,.training-eyebrow,.field-label,.skills-card-copy) { text-align: start; }
html[dir=rtl] :is(.reading-prose,.learn-prose,.about-prose,.history-passage,.rhythm-summary) { line-height: 1.95; }
html[dir=rtl] .learn-content { padding-left: 0; padding-inline-start: 36px; border-left: 0; border-inline-start: 1px solid var(--line); }
html[dir=rtl] .learn-nav-link { border-left: 0; border-inline-start: 2px solid transparent; }
html[dir=rtl] .learn-nav-link.active { border-inline-start-color: var(--accent); }
html[dir=rtl] :is(.reading-bibliography ol,.rhythm-sources,.roll-practice ol) { padding-left: 0; padding-inline-start: 22px; }
html[dir=rtl] .history-milestones li { padding-left: 0; padding-inline-start: 27px; border-left: 0; border-inline-start: 1px solid #595441; }
html[dir=rtl] .history-milestones li::before { left: auto; inset-inline-start: -5px; }
html[dir=rtl] .reading-note-symbol { margin-right: 0; margin-inline-end: 8px; }
html[dir=rtl] .stroke-practice-tip { border-left: 0; border-inline-start: 2px solid #5b604a; }
html[dir=rtl] .transport-bpm { border-left: 0; border-inline-start: 1px solid #ffffff12; padding-left: 0; padding-inline-start: 8px; }
html[dir=rtl] :is(.search-field,.rhythm-picker-search) input { padding-left: 12px; padding-inline-start: 39px; }
html[dir=rtl] :is(.search-field,.rhythm-picker-search) > .ui-icon { left: auto; inset-inline-start: 12px; }
html[dir=rtl] :is(.reading-table,.prose-table) { text-align: start; }
html[dir=rtl] .anatomy-photo { direction: ltr; }
html:is([lang=ar],[lang=es]) .switch-control { grid-template-columns: max-content 44px; }
html[dir=rtl] .switch-control { margin-left: 0; margin-inline-start: auto; }
html[dir=rtl] .switch-state { text-align: end; }
html[dir=rtl] .switch-control input:checked ~ .switch-track::after { transform: translateX(-18px); }
html[dir=rtl] .learning-timeline-stages li { padding-left: 0; padding-inline-start: 32px; }
html[dir=rtl] .learning-timeline-stages li::before { left: auto; inset-inline-start: 5px; }
html[dir=rtl] .learning-timeline-stages li::after { left: auto; inset-inline-start: 0; }
html[dir=rtl] .public-breadcrumbs li+li::before { padding-right: 0; padding-inline-end: 8px; }
/* Only navigation arrows are mirrored, never transport/notation or anatomy. */
html[dir=rtl] :is(.training-card-action,.reading-actions,.about-invitation,.practice-breadcrumb) > .ui-icon[data-icon=arrow] { transform: scaleX(-1); }
@media (max-width: 1150px) {
  .header-inner, .static-header .header-inner { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; padding-block: 12px 0; }
  .header-inner .site-brand { grid-column: 1; grid-row: 1; }
  .header-inner .language-selector { grid-column: 2; grid-row: 1; }
  .header-inner :is(.top-tabs,.public-desktop-navigation) { grid-column: 1 / -1; grid-row: 2; margin-top: 0; min-height: 47px; }
  .header-inner .header-status { grid-column: 1 / -1; grid-row: 3; }
}
@media (max-width: 760px) {
  .header-inner, .static-header .header-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; padding: 12px 17px; min-height: 70px; }
  .header-inner .language-selector { margin: 0; }
  .header-inner :is(.navigation-toggle,.public-mobile-navigation) { grid-column: 3; grid-row: 1; }
  .navigation-toggle > span { display: none; }
  .public-mobile-navigation > summary { font-size: 0; gap: 0; padding: 10px; min-width: 44px; min-height: 44px; justify-content: center; }
  html[dir=rtl] .learn-content { padding: 0; border: 0; }
  .top-tabs.is-open { max-height: calc(100dvh - 90px); overflow-y: auto; }
  html[dir=rtl] .top-tabs :is(button,a).active::after { left: auto; inset-inline-start: 0; }
}
@media (max-width: 380px) {
  .header-inner .brand-mark { display: none; }
  .header-inner .brand-name strong { font-size: 20px; white-space: nowrap; }
  .header-inner .brand-name small { font-size: 6px; letter-spacing: .12em; white-space: nowrap; }
}
@media print { .language-selector { display: none; } }
.transport-tempo, .training-tempo, .metro-tempo, .metro-slider, .metro-meter,
.tempo-controls, .tempo-ticks, [id$=sheet-tempo], .bar-caption > span { direction: ltr; unicode-bidi: isolate; }
html[dir=rtl] .brand-name small { font-size: 11px; line-height: 1.5; }
html[dir=rtl] .ui-icon[data-icon=arrow] { transform: scaleX(-1); }
html[dir=rtl] .training-back > span[aria-hidden] { display: inline-block; transform: scaleX(-1); }
