.orchestra-panel, .orchestra-round, .farm-orchestra-dialog, .orchestra-panel *, .orchestra-round *, .farm-orchestra-dialog * { box-sizing: border-box; }
.orchestra-panel [hidden], .orchestra-round [hidden], .farm-orchestra-dialog [hidden], #roundConcert[hidden] { display: none !important; }
#islandConcertRoot { min-width: 0; margin-top: 14px; }
.orchestra-panel { padding: 17px 18px; border: 1px solid #dfd9ee; border-radius: 22px; background: #f8f4fe; color: #5a4e6d; }
.orchestra-panel-heading { display: flex; align-items: center; gap: 11px; }
.orchestra-card-icon { flex: 0 0 auto; font-size: 29px; line-height: 1; }
.orchestra-panel-heading h2 { margin: 0 0 4px; font-size: clamp(19px, 3vw, 24px); color: #56496a; line-height: 1.2; }
.orchestra-panel-heading p { margin: 0; font-size: 12px; line-height: 1.5; }
.orchestra-panel-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.orchestra-song-count { margin: 0; font-size: 12px; line-height: 1.4; }
.orchestra-saved-notes { display: flex; flex-wrap: wrap; gap: 4px; margin: 12px 0 10px; }
.orchestra-saved-notes:empty { display: none; }
.orchestra-saved-notes span { display: inline-grid; place-items: center; width: 21px; height: 27px; color: var(--note-color); font-size: 24px; font-weight: 800; line-height: 1; }
.orchestra-disabled-note, .orchestra-save-note { margin: 9px 0 0; font-size: 11px; line-height: 1.45; color: #766987; }
.orchestra-disabled-note { font-weight: 650; }
.orchestra-play, .orchestra-sound, .orchestra-close { min-height: 48px; min-width: 48px; padding: 8px 13px; border: 1px solid #a58abd; border-radius: 12px; background: #efe4f9; color: #59406e; font: inherit; font-size: 12px; font-weight: 750; line-height: 1.3; display: inline-flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.orchestra-play:hover:not(:disabled), .orchestra-sound:hover { background: #e8d8f6; }
.orchestra-play:focus-visible, .orchestra-sound:focus-visible, .orchestra-close:focus-visible { outline: 3px solid #2559a8; outline-offset: 3px; }
.orchestra-play:disabled { opacity: .55; cursor: default; }
.orchestra-round { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 4px 8px; padding: 9px 10px; margin: 0 0 10px; border: 1px solid #d7c8e8; border-radius: 14px; color: #685176; background: #f7effb; text-align: start; }
.orchestra-round .orchestra-card-icon { padding-top: 3px; font-size: 25px; }
.orchestra-round h3 { margin: 0 0 3px; font-size: 14px; line-height: 1.25; color: #5d4770; }
.orchestra-round p { margin: 0 !important; color: #796688 !important; font-size: 11px !important; line-height: 1.4 !important; }
.orchestra-round .orchestra-play { grid-column: 1 / -1; width: 100%; margin-top: 3px; }
.overlay.has-learning-card .start-card > #roundConcert { grid-column: 1; min-width: 0; }
.farm-orchestra-dialog { width: min(640px, calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px); margin: auto; padding: 15px; border: 2px solid #d6c9e5; border-radius: 22px; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; background: #fffaf5; color: #514d61; box-shadow: 0 18px 80px #25334150; }
.farm-orchestra-dialog:not([open]) { display: none; }
.farm-orchestra-dialog::backdrop { background: #253345a8; backdrop-filter: blur(3px); }
.orchestra-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.orchestra-dialog-eyebrow { margin: 0 0 3px; font-size: 11px; font-weight: 650; line-height: 1.3; color: #887093; }
.farm-orchestra-dialog h2 { margin: 0; font-size: 25px; line-height: 1.2; color: #594269; }
.orchestra-close { flex: 0 0 auto; width: 48px; height: 48px; padding: 0; font-size: 31px; line-height: 1; background: #fffaf5; border-color: #e7dbe9; }
.orchestra-stage { position: relative; isolation: isolate; height: 258px; border-radius: 16px; border: 1px solid #dcbca2; overflow: hidden; background: radial-gradient(ellipse at 50% 15%, #fff4c388, transparent 58%), linear-gradient(#eedcbc 0%, #f9ebca 68%, #bd926e 68%, #d6ad85 100%); }
.orchestra-stage::after { content: ''; position: absolute; z-index: -1; inset: 68% 0 0; background: repeating-linear-gradient(0deg, transparent 0 14px, #76584319 14px 16px), repeating-linear-gradient(90deg, transparent 0 108px, #785d4b25 108px 110px); pointer-events: none; }
.orchestra-light { position: absolute; z-index: -1; top: -9px; width: 17%; height: 89%; background: linear-gradient(#fffae677, #fffae600); clip-path: polygon(41% 0, 60% 0, 100% 100%, 0 100%); transform-origin: 50% 0; }
.orchestra-light-one { left: 18%; transform: rotate(17deg); }
.orchestra-light-two { right: 18%; transform: rotate(-17deg); }
.orchestra-curtain { position: absolute; z-index: 2; top: 0; bottom: 24%; width: 29px; border-bottom: 6px solid #d8a276; background: repeating-linear-gradient(90deg, #cd848b 0 8px, #c27680 8px 16px); pointer-events: none; }
.orchestra-curtain-start { inset-inline-start: 0; border-radius: 0 0 30px 0; }
.orchestra-curtain-end { inset-inline-end: 0; border-radius: 0 0 0 30px; }
.orchestra-melody { display: flex; position: absolute; top: 13px; left: 30px; right: 30px; justify-content: center; flex-wrap: wrap; gap: 1px 6px; height: 57px; overflow: hidden; }
.orchestra-melody-note { display: grid; place-items: center; width: 20px; height: 24px; font-size: 23px; line-height: 1; font-weight: 800; color: var(--note-color); opacity: .6; transform: scale(.9); transition: opacity .1s, transform .1s; }
.orchestra-melody-note.is-current { opacity: 1; transform: scale(1.22) rotate(-10deg); }
.orchestra-band { position: absolute; bottom: 27px; left: 35px; right: 35px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; align-items: end; }
.orchestra-band[data-members="1"] { grid-template-columns: minmax(0, 150px); justify-content: center; }
.orchestra-band[data-members="2"] { grid-template-columns: repeat(2, minmax(0, 150px)); justify-content: center; }
.orchestra-band[data-members="3"] { grid-template-columns: repeat(3, minmax(0, 150px)); justify-content: center; }
.orchestra-musician { position: relative; min-width: 0; text-align: center; }
.orchestra-musician-body { position: relative; width: 100%; max-width: 128px; height: 103px; margin: auto; transform-origin: 50% 95%; }
.farm-orchestra-dialog .animal-island-character, .orchestra-character { display: block; width: 100%; height: 100%; fill: none; stroke: none; stroke-width: 0; overflow: visible; animation: none; transform-origin: 50% 85%; }
.orchestra-musician-note { position: absolute; top: 3px; inset-inline-end: 0; color: #976aac; font-size: 24px; opacity: 0; transform: translateY(5px); transition: opacity .1s, transform .1s; }
.orchestra-musician.is-current .orchestra-musician-note { opacity: 1; transform: translateY(-4px); }
.orchestra-instrument { position: absolute; width: 61px; height: 44px; top: 62px; left: calc(50% - 30px); pointer-events: none; }
.orchestra-instrument svg { display: block; width: 100%; height: 100%; fill: none; stroke: none; stroke-width: 0; }
.orchestra-musician-name { display: block; position: relative; min-height: 30px; margin: 5px -2px 0; font-size: 10px; line-height: 1.3; color: #644e47; font-weight: 750; overflow-wrap: anywhere; }
.orchestra-musician-rooster .orchestra-instrument { left: calc(50% + 12px); width: 41px; }
.orchestra-straw { position: absolute; z-index: 3; bottom: 58px; inset-inline-end: 28px; width: 90px; height: 32px; background: #ecc478; border: 2px solid #b9925b; border-radius: 50% 50% 25% 25%; transform: scale(.8); opacity: 0; pointer-events: none; }
.orchestra-straw::before, .orchestra-straw::after, .orchestra-straw span { content: ''; position: absolute; left: 8px; right: 8px; top: 8px; height: 13px; border-top: 2px solid #b9925b; border-bottom: 2px solid #f9dfa3; border-radius: 50%; transform: rotate(-12deg); }
.orchestra-straw::after { transform: rotate(18deg); top: 12px; }
.orchestra-straw span { left: 25px; right: 30px; top: -11px; height: 28px; border-radius: 0; border: 0; border-left: 2px solid #c09a61; border-right: 2px solid #c09a61; transform: rotate(22deg); }
.orchestra-finale-sparkles { position: absolute; z-index: 4; inset-inline-end: 10%; bottom: 94px; font-size: 22px; color: #af76ae; opacity: 0; pointer-events: none; }
.orchestra-finale-sparkles i, .orchestra-finale-sparkles b { position: absolute; font-size: 17px; font-style: normal; font-weight: 400; left: -28px; top: 14px; }
.orchestra-finale-sparkles b { left: 24px; top: 22px; }
.orchestra-solo-message { position: absolute; z-index: 5; margin: 0; top: 58px; left: 35px; right: 35px; font-size: 11px; font-weight: 750; text-align: center; line-height: 1.3; color: #796b52; }
.farm-orchestra-dialog.is-playing .orchestra-musician-body { animation: orchestra-bob .55s ease-in-out infinite; }
.farm-orchestra-dialog.is-playing .orchestra-musician-duck .orchestra-musician-body { animation-delay: -.2s; }
.farm-orchestra-dialog.is-playing .orchestra-musician-chick .orchestra-musician-body { animation-delay: -.35s; }
.farm-orchestra-dialog.is-playing .orchestra-musician.is-current .orchestra-musician-body { animation-name: orchestra-beat; }
.farm-orchestra-dialog.is-playing .orchestra-drumsticks { animation: orchestra-drum .28s ease-in-out infinite alternate; transform-origin: 40px 15px; }
.farm-orchestra-dialog.is-solo .orchestra-musician-rooster .orchestra-musician-body { animation: orchestra-rooster-solo .3s ease-in-out infinite alternate; }
.farm-orchestra-dialog.is-finale .orchestra-musician-rooster .orchestra-musician-body { animation: orchestra-rooster-fall .5s ease-out both; }
.farm-orchestra-dialog.is-finale .orchestra-straw { opacity: 1; transform: scale(1); transition: opacity .15s, transform .2s; }
.farm-orchestra-dialog.is-finale .orchestra-finale-sparkles { opacity: 1; }
.farm-orchestra-dialog.is-complete .orchestra-musician-body, .farm-orchestra-dialog.is-complete .orchestra-drumsticks { animation-play-state: paused; }
.orchestra-timeline { display: flex; gap: 9px; align-items: center; margin-top: 12px; }
.orchestra-progress { flex: 1 1 auto; height: 7px; overflow: hidden; border-radius: 8px; background: #e8dceb; }
.orchestra-progress > span { display: block; width: 100%; height: 100%; transform-origin: left center; transform: scaleX(0); background: linear-gradient(90deg, #ab85bf, #efb992); border-radius: inherit; }
[dir="rtl"] .orchestra-progress > span { transform-origin: right center; }
.orchestra-seconds { flex: 0 0 auto; min-width: 47px; font-size: 11px; line-height: 1.3; color: #87748a; text-align: end; }
.orchestra-dialog-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 12px; margin-top: 9px; }
.orchestra-status { flex: 1 1 auto; margin: 0; font-size: 12px; font-weight: 750; color: #685176; line-height: 1.4; }
.orchestra-muted-note { flex-basis: 100%; margin: 0; font-size: 11px; color: #8d725c; line-height: 1.4; }
.orchestra-dialog-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-inline-start: auto; }
.orchestra-sound { background: #fffaf5; font-size: 11px; border-color: #ded1e4; }
.orchestra-rooster-hat { display: none; transform-box: fill-box; transform-origin: center bottom; }
.orchestra-practice-prompt { position: absolute; inset: 11px 32px auto; text-align: center; }
.orchestra-practice-intro { margin: 0; color: #6e5a51; font-size: 12px; line-height: 1.35; font-weight: 650; }
.orchestra-practice-steps { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 8px; color: #685176; }
.orchestra-practice-dots { display: inline-flex; gap: 6px; }
.orchestra-practice-dots i { display: block; width: 12px; height: 12px; border: 2px solid #8d6ba7; border-radius: 50%; background: #fffaf5; }
.orchestra-practice-dots i.is-filled { background: #956db1; }
.orchestra-practice-count { font-size: 11px; font-weight: 750; line-height: 1.2; }
.orchestra-practice-note { margin: 0; color: #766987; font-size: 11px; line-height: 1.3; }
.farm-orchestra-dialog.is-practicing .orchestra-melody { display: none; }
.farm-orchestra-dialog.is-practicing .orchestra-stage { height: 266px; }
.farm-orchestra-dialog.is-practicing .orchestra-band { top: 76px; bottom: 15px; left: 26px; right: 26px; gap: 9px; align-items: stretch; }
.farm-orchestra-dialog.is-practicing .orchestra-musician { display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; min-height: 48px; min-width: 48px; padding: 8px 5px; border: 2px solid #c8a784; border-radius: 16px; background: #fffaf2dd; color: #594c46; font: inherit; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; opacity: 1; transition: border-color .1s, box-shadow .1s, background .1s; }
.farm-orchestra-dialog.is-practicing .orchestra-musician:disabled { cursor: default; opacity: 1; }
.farm-orchestra-dialog.is-practicing .orchestra-musician:focus-visible { outline: 3px solid #2559a8; outline-offset: 2px; }
.farm-orchestra-dialog.is-practicing .orchestra-musician:hover:not(:disabled) { background: #fffdf7; border-color: #9969ae; }
.farm-orchestra-dialog.is-practicing .orchestra-musician.is-current { background: #fff7c8; border-color: #9160ad; box-shadow: 0 0 0 3px #c798da77, 0 0 22px #fff5ac; }
.farm-orchestra-dialog.is-practicing .orchestra-musician-body { flex: 0 0 auto; width: 100%; max-width: 122px; height: 112px; margin: auto auto 0; }
.farm-orchestra-dialog.is-practicing .orchestra-instrument { top: auto; bottom: 35px; width: 56px; height: 42px; left: calc(50% - 28px); }
.farm-orchestra-dialog.is-practicing .orchestra-musician-rooster .orchestra-instrument { left: calc(50% + 9px); width: 36px; }
.farm-orchestra-dialog.is-practicing .orchestra-musician-name { flex: 0 0 auto; margin: 7px 0 0; min-height: 18px; font-size: 12px; line-height: 1.3; }
.farm-orchestra-dialog.is-practicing .orchestra-dialog-footer { display: grid; grid-template-columns: minmax(0, 1fr); gap: 5px; }
.farm-orchestra-dialog.is-practicing .orchestra-dialog-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; margin: 0; gap: 6px; }
.farm-orchestra-dialog.is-practicing .orchestra-dialog-actions button { min-width: 0; padding: 7px 8px; }
.farm-orchestra-dialog.is-practicing .orchestra-status:focus { outline: none; }
.farm-orchestra-dialog.is-practice-success .orchestra-musician-chick .orchestra-musician-body { animation: orchestra-conductor-dance .45s ease-in-out 4; }
.farm-orchestra-dialog.is-practice-success .orchestra-musician-rooster .orchestra-musician-body { animation: orchestra-conductor-bow 1.8s ease-in-out both; }
.farm-orchestra-dialog.is-practice-success .orchestra-rooster-hat { display: block; animation: orchestra-conductor-hat 1.8s ease-in-out both; }
.farm-orchestra-dialog.is-practice-success .orchestra-finale-sparkles { opacity: 1; inset-inline-end: 41%; bottom: 142px; }
.farm-orchestra-dialog.is-practice-success .orchestra-practice-dots i { background: #6b9d6e; border-color: #54805a; }
.farm-orchestra-dialog.is-practice-success .orchestra-status { color: #4d7854; }
.farm-orchestra-dialog.is-practicing .orchestra-musician.is-current .orchestra-musician-body { animation: orchestra-conductor-note .45s ease-out; }
@keyframes orchestra-conductor-note { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-6px) rotate(-3deg); } }
@keyframes orchestra-conductor-dance { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-8px) rotate(3deg); } }
@keyframes orchestra-conductor-bow { 0%, 15%, 100% { transform: rotate(0); } 50%, 75% { transform: rotate(18deg) translateY(3px); } }
@keyframes orchestra-conductor-hat { 0%, 15%, 100% { transform: translate(0, 0); } 45%, 75% { transform: translate(17px, -14px) rotate(18deg); } }
@keyframes orchestra-bob { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-5px) rotate(2deg); } }
@keyframes orchestra-beat { 0%, 100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-9px) rotate(4deg); } }
@keyframes orchestra-drum { from { transform: rotate(-5deg); } to { transform: rotate(7deg); } }
@keyframes orchestra-rooster-solo { from { transform: translateY(0) rotate(-8deg); } to { transform: translateY(-8px) rotate(7deg); } }
@keyframes orchestra-rooster-fall { 0% { transform: translateY(-7px) rotate(8deg); } 55% { transform: translate(8px, 5px) rotate(34deg); } 100% { transform: translate(9px, 19px) rotate(55deg); } }
@media (max-width: 420px) {
  .orchestra-panel { padding: 14px; border-radius: 19px; }
  .orchestra-panel-bottom { flex-wrap: wrap; }
  .orchestra-panel-bottom .orchestra-play { margin-inline-start: auto; }
  .farm-orchestra-dialog { padding: 11px; border-radius: 18px; }
  .farm-orchestra-dialog h2 { font-size: 21px; }
  .orchestra-stage { height: 224px; }
  .orchestra-band { left: 19px; right: 19px; bottom: 20px; gap: 2px; }
  .orchestra-curtain { width: 15px; }
  .orchestra-musician-body { height: 74px; }
  .orchestra-instrument { width: 44px; height: 33px; top: 43px; left: calc(50% - 22px); }
  .orchestra-musician-rooster .orchestra-instrument { left: calc(50% + 6px); width: 27px; }
  .orchestra-musician-name { font-size: 9px; min-height: 27px; margin-top: 3px; }
  .orchestra-melody { left: 18px; right: 18px; }
  .orchestra-straw { width: 61px; height: 27px; bottom: 49px; inset-inline-end: 14px; }
  .orchestra-finale-sparkles { bottom: 75px; }
  .orchestra-solo-message { left: 17px; right: 17px; }
  .farm-orchestra-dialog.is-practicing .orchestra-stage { height: 294px; }
  .farm-orchestra-dialog.is-practicing .orchestra-band { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); top: 70px; bottom: 10px; left: 18px; right: 18px; gap: 8px; }
  .orchestra-practice-prompt { inset: 9px 17px auto; }
  .orchestra-practice-intro { font-size: 11px; }
  .orchestra-practice-steps { margin-top: 5px; }
  .farm-orchestra-dialog.is-practicing .orchestra-musician { padding: 4px 6px; border-radius: 13px; }
  .farm-orchestra-dialog.is-practicing .orchestra-musician-body { max-width: 100px; height: 64px; }
  .farm-orchestra-dialog.is-practicing .orchestra-instrument { width: 39px; height: 29px; bottom: 25px; left: calc(50% - 19px); }
  .farm-orchestra-dialog.is-practicing .orchestra-musician-rooster .orchestra-instrument { left: calc(50% + 5px); width: 26px; }
  .farm-orchestra-dialog.is-practicing .orchestra-musician-name { margin-top: 2px; font-size: 11px; min-height: 16px; }
  .farm-orchestra-dialog.is-practicing .orchestra-dialog-actions button { font-size: 10px; padding: 5px 4px; gap: 3px; }
  .farm-orchestra-dialog.is-practicing .orchestra-status, .orchestra-practice-note { font-size: 11px; }
  .farm-orchestra-dialog.is-practice-success .orchestra-finale-sparkles { bottom: 52px; inset-inline-end: 44%; }
}
@media (orientation: landscape) and (max-height: 520px) {
  .farm-orchestra-dialog { width: min(690px, calc(100vw - 24px)); padding: 10px 13px; display: grid; grid-template-columns: minmax(0, 1fr) 166px; column-gap: 13px; row-gap: 5px; }
  .orchestra-dialog-header { grid-column: 1 / -1; margin-bottom: 0; }
  .orchestra-dialog-eyebrow { font-size: 10px; margin-bottom: 1px; }
  .farm-orchestra-dialog h2 { font-size: 20px; }
  .orchestra-stage { grid-column: 1; grid-row: 2 / 4; height: min(224px, calc(100dvh - 90px)); min-height: 175px; }
  .orchestra-timeline { grid-column: 2; grid-row: 2; margin-top: 5px; align-self: start; flex-wrap: wrap; }
  .orchestra-progress { flex-basis: 100%; }
  .orchestra-dialog-footer { grid-column: 2; grid-row: 3; flex-direction: column; align-items: stretch; margin-top: 0; gap: 5px; align-self: end; }
  .orchestra-dialog-actions { margin: 0; display: grid; }
  .farm-orchestra-dialog.is-complete .orchestra-dialog-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
  .farm-orchestra-dialog.is-complete .orchestra-dialog-actions [data-orchestra-practice-start] { grid-column: 1 / -1; }
  .farm-orchestra-dialog.is-complete .orchestra-dialog-actions button { min-width: 0; }
  .orchestra-muted-note { flex-basis: auto; font-size: 10px; }
  .orchestra-status { flex: 0 0 auto; font-size: 11px; }
  .orchestra-band { bottom: 17px; left: 19px; right: 19px; gap: 3px; }
  .orchestra-musician-body { height: 74px; }
  .orchestra-instrument { width: 45px; height: 33px; top: 45px; left: calc(50% - 22px); }
  .orchestra-musician-rooster .orchestra-instrument { left: calc(50% + 7px); width: 28px; }
  .orchestra-musician-name { font-size: 9px; min-height: 24px; margin-top: 2px; }
  .orchestra-melody { top: 6px; height: 44px; gap: 0 4px; }
  .orchestra-melody-note { width: 17px; height: 21px; font-size: 21px; }
  .orchestra-curtain { width: 15px; }
  .orchestra-solo-message { top: 49px; font-size: 10px; }
  .orchestra-straw { bottom: 46px; width: 69px; height: 27px; inset-inline-end: 14px; }
  .orchestra-finale-sparkles { bottom: 77px; }
  .farm-orchestra-dialog.is-practicing { grid-template-columns: minmax(0, 1fr) 180px; }
  .farm-orchestra-dialog.is-practicing .orchestra-stage { grid-row: 2; height: min(230px, calc(100dvh - 90px)); min-height: 175px; }
  .farm-orchestra-dialog.is-practicing .orchestra-dialog-footer { grid-column: 2; grid-row: 2; align-self: stretch; align-content: end; gap: 5px; }
  .farm-orchestra-dialog.is-practicing .orchestra-dialog-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
  .farm-orchestra-dialog.is-practicing .orchestra-dialog-actions [data-orchestra-practice-exit] { grid-column: 1 / -1; }
  .farm-orchestra-dialog.is-practicing .orchestra-band { top: 63px; bottom: 10px; left: 17px; right: 17px; gap: 6px; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: minmax(0, 1fr); }
  .farm-orchestra-dialog.is-practicing .orchestra-musician { padding: 5px 3px; border-radius: 12px; }
  .farm-orchestra-dialog.is-practicing .orchestra-musician-body { max-width: 98px; height: 79px; }
  .farm-orchestra-dialog.is-practicing .orchestra-instrument { bottom: 27px; width: 41px; height: 30px; left: calc(50% - 20px); }
  .farm-orchestra-dialog.is-practicing .orchestra-musician-rooster .orchestra-instrument { left: calc(50% + 5px); width: 28px; }
  .farm-orchestra-dialog.is-practicing .orchestra-musician-name { font-size: 10px; margin-top: 3px; min-height: 17px; }
  .farm-orchestra-dialog.is-practicing .orchestra-practice-prompt { inset: 7px 18px auto; }
  .farm-orchestra-dialog.is-practicing .orchestra-practice-intro { font-size: 10px; }
  .farm-orchestra-dialog.is-practicing .orchestra-practice-steps { margin-top: 5px; }
  .farm-orchestra-dialog.is-practicing .orchestra-practice-note { font-size: 10px; }
  .farm-orchestra-dialog.is-practicing .orchestra-dialog-actions button { font-size: 10px; padding: 5px 4px; gap: 3px; }
  .farm-orchestra-dialog.is-practice-success .orchestra-finale-sparkles { bottom: 85px; inset-inline-end: 41%; }
}
@media (orientation: landscape) and (max-height: 330px) {
  .farm-orchestra-dialog { grid-template-columns: minmax(0, 1fr) 158px; max-height: calc(100dvh - 16px); padding: 7px 10px; row-gap: 4px; }
  .orchestra-stage { height: 175px; }
  .orchestra-dialog-header { min-height: 48px; }
  .orchestra-dialog-footer { gap: 3px; }
  .orchestra-sound, .orchestra-dialog-actions .orchestra-play { padding: 5px 8px; font-size: 10px; }
  .farm-orchestra-dialog.is-practicing .orchestra-stage { height: 190px; min-height: 190px; }
  .farm-orchestra-dialog.is-practicing .orchestra-dialog-footer { gap: 4px; }
  .farm-orchestra-dialog.is-practicing .orchestra-status { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .farm-orchestra-dialog *, .orchestra-panel * { animation: none !important; transition: none !important; }
  .farm-orchestra-dialog .orchestra-musician-body { transform: none !important; }
  .orchestra-melody-note.is-current { transform: none; }
  .orchestra-musician-note { transform: none !important; }
  .farm-orchestra-dialog.is-finale .orchestra-straw { transform: scale(1); }
}
