.site-audio-nav-row { display: inline-flex; align-items: center; gap: .2rem; min-width: 0; }
/* Anchor screen-reader status text to its own control, also in scrollable menus. */
.site-audio[data-audio-generated] { position: relative; inset: auto; padding: 0; border-radius: 0; background: transparent; font-size: 1rem; }
/* Original game buttons set their own min-height. Audio controls retain 52px. */
.site-audio > .site-audio__button[data-audio-button] { box-sizing: border-box; flex: 0 0 52px; width: 52px !important; min-width: 52px !important; max-width: 52px !important; height: 52px !important; min-height: 52px !important; max-height: 52px !important; padding: 0 !important; }
:is(.site-audio-nav-row,.site-audio-menu-row,.site-audio-entry-item,.site-audio-action-row,.site-audio-art-row,.site-audio-card-action) > .site-audio { flex: 0 0 auto; margin: 0; }
.site-audio-menu-row { display: none; }
.site-audio-brand-row { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.site-audio-brand-row > .brand { min-width: 0; }
.site-audio-brand-row > .brand img { flex-shrink: 0; }
.site-audio-brand-row > .brand span { min-width: 0; }
.site-audio-brand-row > .site-audio { flex: 0 0 52px; margin: 0; }
.site-audio-skip-row { position: fixed; inset-block-start: 12px; inset-inline-start: 12px; z-index: 1000; display: inline-flex; align-items: center; gap: 8px; max-width: calc(100% - 24px); padding: 8px; border-radius: 16px; background: #fffaf0; box-shadow: 0 4px 20px #123b5333; transform: translateY(calc(-100% - 24px)); }
.site-audio-skip-row > :is(.skip-link,.fp-skip,.bf-skip) { position: static; transform: none; transition: none; min-width: 0; white-space: normal; }
.site-audio-skip-row > .site-audio { flex: 0 0 52px; margin: 0; visibility: hidden; }
.site-audio-skip-row:focus-within { transform: none; }
.site-audio-skip-row:focus-within > .site-audio { visibility: visible; }
.site-audio-skip-row > .site-audio > .site-audio__button { visibility: hidden; }
.site-audio-skip-row:focus-within > .site-audio > .site-audio__button { visibility: visible; }
.site-audio-entry-item { display: flex; flex-direction: column; align-items: stretch; gap: 8px; min-width: 0; }
.site-audio-entry-item > .site-audio { align-self: center; }
.site-audio-action-row { display: inline-flex; align-items: center; gap: 12px; max-width: 100%; min-width: 0; vertical-align: middle; }
.site-audio-action-row > a { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.site-audio-action-row--shortcut { margin-top: 22px; }
.site-audio-action-row--shortcut > .eli-home-shortcut { margin: 0; }
.site-audio-art-row { display: flex; flex-direction: column; align-items: center; min-width: 0; gap: 10px; }
.site-audio-art-row > .eli-home__art { width: 100%; }
.site-audio-inline-action { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; min-width: 0; vertical-align: middle; }
.site-audio-inline-action > a { min-width: 0; overflow-wrap: anywhere; }
/* Keep each link/audio pair inside Eli's existing horizontal scroll container. */
.eli-subnav > div > .site-audio-inline-action { flex: 0 0 auto; }
.site-audio-choice-row { display: inline-flex; align-items: center; gap: 12px; max-width: 100%; }
.site-audio-choice-row > label { flex: 1 1 auto; min-width: 0; }
.site-audio-field-row { display: flex; align-items: center; gap: 12px; min-width: 0; max-width: 100%; }
.site-audio-field-row > :is(label,input,textarea) { flex: 1 1 auto; min-width: 0; max-width: 100%; }
.site-audio-field-row > .site-audio { flex: 0 0 52px; margin: 0; }
.site-audio-assistive-row { display: flex; position: relative; justify-content: flex-end; min-width: 0; }
.site-audio-quiz-zoom { position: absolute; inset-inline: 10px; inset-block-end: 10px; display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.commandment-quiz__family > .site-audio-quiz-zoom > button[data-image-zoom] { position: static; min-width: 0; }
.site-audio-quiz-zoom > .site-audio { flex: 0 0 52px; margin: 0; }
.eli-saint-panel__copy > .site-audio-inline-action > .eli-text-link { display: flex; justify-content: center; margin-top: 16px; text-align: center; font-size: .92rem; }
.farm-master__controls > .site-audio-action-row,.tractor-runner__controls > .site-audio-action-row { display: flex; flex-direction: column; align-items: stretch; gap: 8px; min-width: 0; }
.farm-master__controls > .site-audio-action-row > .site-audio,.tractor-runner__controls > .site-audio-action-row > .site-audio { align-self: center; }
.farm-master__controls > .site-audio-action-row > button,.tractor-runner__controls > .site-audio-action-row > button { width: 100%; }
.wood-game { grid-template-columns: minmax(0,1fr); }
.wood-board { min-width: 0; }
/* Keep viewport-open controls in their original prototype slot, outside the
   scene's flexible grid row. game-viewport.js inserts these at runtime. */
.bf-game > .site-audio-action-row:has(> .game-viewport__open) { position: absolute; right: 15px; top: 17px; z-index: 3; margin: 0; max-width: calc(100% - 30px); }
.bf-game:not(.is-game-viewport) > .bf-heading { padding-top: 80px; }
.bf-game:not(.is-game-viewport) > .site-audio-action-row:has(> .game-viewport__open) { top: 12px; }
.bf-game > .site-audio-action-row > .game-viewport__open { position: static; margin: 0; min-height: 44px; font-size: .74rem; padding: 7px 12px; box-shadow: none; color: #284f50; background: #e5eee4; border: 1px solid #c4d7c9; }
.farm-prototype:not(.is-game-viewport) > .site-audio-action-row:has(> .game-viewport__open) { grid-column: 2; grid-row: 1; margin: 10px 16px 10px 0; align-self: center; }
.farm-prototype > .site-audio-action-row > .game-viewport__open { position: static; margin: 0; width: auto; min-height: 44px; padding: 8px 14px; border: 1px solid #c7d6bd; border-radius: 12px; font-size: .72rem; box-shadow: none; background: #e4eddf; color: #28483f; }
.game-viewport.is-game-viewport > .site-audio-action-row:has(> .game-viewport__open) { display: none !important; }
@media (max-width: 700px) {
  .farm-prototype:not(.is-game-viewport) > .site-audio-action-row:has(> .game-viewport__open) { grid-column: 1; grid-row: 2; margin: 0 10px 8px; }
  .farm-prototype > .site-audio-action-row > .game-viewport__open { font-size: .68rem; padding: 6px 9px; flex: 1 1 auto; }
}
@media (max-width: 550px) {
  .bf-game > .site-audio-action-row:has(> .game-viewport__open) { left: 10px; right: 10px; top: 55px; max-width: none; }
  .bf-game > .site-audio-action-row > .game-viewport__open { min-height: 44px; font-size: .67rem; padding: 5px 10px; flex: 1 1 auto; }
}
.site-audio-brand-row--standalone > a { min-width: 0; overflow-wrap: anywhere; }
/* organ-game.css:6,84: keep the original actions beside their own audio,
   allowing the surrounding header/help text to move to another row. */
.organ-header:has(> .site-audio-inline-action > .organ-back) { flex-wrap: wrap; }
.organ-header > .site-audio-brand-row { flex: 1 1 250px; }
.organ-header > .site-audio-inline-action:has(> .organ-back) { flex: 0 1 auto; margin-inline-start: auto; }
.organ-header > .site-audio-inline-action > .organ-back { flex: 1 1 auto; }
.organ-header > .site-audio-inline-action > .site-audio { flex: 0 0 52px; margin: 0; }
.organ-console-foot:has(> .site-audio-action-row > .organ-stop-all) { flex-wrap: wrap; }
.organ-console-foot:has(> .site-audio-action-row) > p { flex: 1 1 230px; min-width: 0; max-width: none; }
.organ-console-foot > .site-audio-action-row:has(> .organ-stop-all) { flex: 0 1 auto; margin-inline-start: auto; }
.organ-console-foot > .site-audio-action-row > .organ-stop-all { flex: 1 1 auto; }
/* coloring-page.css:407-438 assumes three bare cells. Keep three logical
   columns, with each native zoom action/value above its separate audio. */
.coloring-zoom:has(> .site-audio-action-row) { grid-template-columns: repeat(3,minmax(52px,1fr)); gap: 8px; width: 100%; max-width: 238px; padding: 6px; overflow: visible; border-radius: 18px; }
.coloring-zoom > .site-audio-action-row,
.coloring-zoom:has(> .site-audio-action-row) > output { display: grid; grid-template-rows: 44px 52px; justify-items: center; align-items: center; gap: 8px; min-width: 0; height: 104px; border: 0; }
.coloring-zoom > .site-audio-action-row > button { width: 100%; min-width: 44px; border-radius: 10px; }
.coloring-zoom .site-audio { margin: 0; }
.coloring-zoom .site-audio > .site-audio__button { color: #fff; background: #123b53; border: 2px solid transparent; border-radius: 50%; }
.coloring-zoom .site-audio > .site-audio__button:hover:not(:disabled) { background: #1d526c; }
/* Fullscreen keeps the original game grid. The shared bar is outside that
   grid; narration of each natural toolbar/status group occupies one 52px slot. */
.game-viewport.is-game-viewport:has(.site-audio) { --gv-bar: calc(72px + env(safe-area-inset-top,0px)); }
.game-viewport.is-game-viewport:has(.site-audio) > .game-viewport__bar { position: absolute; inset: 0 0 auto; z-index: 300; width: 100%; height: var(--gv-bar); min-height: 72px; margin: 0; padding: calc(8px + env(safe-area-inset-top,0px)) 10px 8px; gap: 8px; }
.game-viewport.is-game-viewport > .game-viewport__bar { grid-area: auto !important; }
.game-viewport.is-game-viewport .game-viewport__bar > strong { display: flex; align-items: center; gap: 6px; flex: 1 1 0; min-width: 0; max-width: none; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; font-size: .82rem; }
.game-viewport.is-game-viewport .game-viewport__bar > .site-audio-action-row { flex: 0 0 auto; flex-direction: row; gap: 6px; margin: 0; }
.game-viewport.is-game-viewport .site-audio[data-audio-generated] { padding: 0; border: 0; border-radius: 0; background: transparent; }
.game-viewport.is-game-viewport .site-audio > .site-audio__button[data-audio-button] { display: inline-flex; align-items: center; justify-content: center; gap: 0; border: 2px solid #8aaab8; border-radius: 50%; color: #fff; background: #123b53; box-shadow: 0 3px 0 #123b5326; }
.game-viewport.is-game-viewport .game-viewport__bar .site-audio > .site-audio__button[data-audio-button] { color: #123b53; background: #fff; border-color: #fff; }
.game-viewport.is-game-viewport :is(.tractor-game__dashboard,.wood-game__dashboard,.fishing-game__score):has(> .site-audio) { position: relative; padding-right: 64px; min-height: 60px; }
.game-viewport.is-game-viewport :is(.tractor-game__dashboard,.wood-game__dashboard,.fishing-game__score) > .site-audio { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); margin: 0; }
.game-viewport.is-game-viewport :is(.tractor-game__header-actions,.wood-game__actions,.fishing-game__controls,.jigsaw-game__toolbar,.memory-game__toolbar,.rosary-game__toolbar-actions) > .site-audio { flex: 0 0 52px; margin: 0; }
.game-viewport.is-game-viewport :is(.jigsaw-game__toolbar,.memory-game__toolbar):has(> .site-audio) { flex-wrap: wrap; gap: 6px; }
.game-viewport.is-game-viewport .rosary-game__toolbar:has(.site-audio) { flex-wrap: wrap; gap: 6px; }
.game-viewport.is-game-viewport .rosary-game__toolbar-actions:has(> .site-audio) { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) 52px; gap: 6px; width: 100%; }
.game-viewport.is-game-viewport .rosary-game__toolbar-actions > button { min-width: 0; min-height: 48px; padding: 5px; white-space: normal; }
.game-viewport.is-game-viewport .rosary-game__toolbar-actions > .site-audio { align-self: center; }
/* Short headings, counters and feedback keep narration alongside their text.
   A block margin below every phrase otherwise consumes the board's grid row. */
.game-viewport.is-game-viewport :is(.jigsaw-game__head,.memory-game__head,.rosary-game__head,.baking-game__head,.fishing-game__head) { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; gap: 6px; }
.game-viewport.is-game-viewport :is(.jigsaw-game__head,.memory-game__head,.rosary-game__head,.baking-game__head,.fishing-game__head) h3:has(> .site-audio),
.game-viewport.is-game-viewport :is(.jigsaw-game__score,.memory-game__score,.rosary-game__score) :is(strong,span):has(> .site-audio),
.game-viewport.is-game-viewport :is(.jigsaw-game__feedback,.memory-game__footer p,.rosary-game__feedback p,.wood-game__status,.tractor-game__status p,.farm-master__status-row p,.chess-game__status,.rosary-game__toolbar-main strong,.rosary-game__toolbar-main span,.rosary-game__toolbar-main small):has(> .site-audio) { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; overflow: visible; -webkit-line-clamp: unset; }
.game-viewport.is-game-viewport :is(.jigsaw-game__head,.memory-game__head,.rosary-game__head,.baking-game__head,.fishing-game__head,.jigsaw-game__feedback,.memory-game__footer,.rosary-game__feedback,.wood-game__status,.tractor-game__status,.farm-master__status-row,.chess-game__status,.rosary-game__toolbar-main) .site-audio { flex: 0 0 52px; margin: 0; }
.game-viewport.is-game-viewport :is(.jigsaw-game__score,.memory-game__score,.rosary-game__score) { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px; }
.jigsaw-game.is-game-viewport:has(> .site-audio) { grid-template-rows: auto auto auto minmax(0,1fr) 52px auto; }
.jigsaw-game.is-game-viewport > .site-audio { margin: 0; justify-self: end; }
.jigsaw-game.is-game-viewport .jigsaw-game__toolbar:has(> .site-audio) { display: grid; grid-template-columns: minmax(0,1fr) 52px; }
.jigsaw-game.is-game-viewport .jigsaw-game__sizes { grid-column: 1; display: flex; flex-wrap: wrap; gap: 4px; }
.jigsaw-game.is-game-viewport .jigsaw-game__actions { grid-column: 1; display: flex; flex-wrap: wrap; gap: 4px; }
.jigsaw-game.is-game-viewport .jigsaw-game__toolbar > .site-audio { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.jigsaw-game.is-game-viewport .jigsaw-game__actions > button { flex: 1 1 0; min-width: 0; min-height: 44px; padding: 4px; white-space: normal; }
.wood-game.is-game-viewport:has(> .site-audio) { grid-template-rows: auto auto minmax(0,1fr) 52px auto; gap: 6px; }
.wood-game.is-game-viewport > .site-audio { margin: 0; justify-self: end; }
.wood-game.is-game-viewport .wood-board { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; }
.wood-game.is-game-viewport .wood-grid { width: min(100%,calc(var(--maram-game-height,100vh) - 495px)); }
.wood-game.is-game-viewport .wood-tray { width: min(100%,calc(var(--maram-game-height,100vh) - 495px)); }
.wood-game.is-game-viewport .wood-game__actions:has(> .site-audio),
.tractor-game.is-game-viewport .tractor-game__header-actions:has(> .site-audio) { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.wood-game.is-game-viewport .wood-game__mode { flex: 1 1 auto; }
.wood-game.is-game-viewport .wood-game__dashboard:has(> .site-audio) { grid-template-columns: 40px minmax(0,1fr) minmax(0,1fr); align-items: center; min-height: 64px; padding-block: 4px; }
.wood-game.is-game-viewport .wood-game__dashboard > div:last-of-type { grid-column: auto; }
.wood-game.is-game-viewport .wood-game__dashboard :is(strong,small) { font-size: .78rem; }
.wood-game.is-game-viewport .wood-game__actions:has(> .site-audio) { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 52px; gap: 4px; width: 100%; }
.wood-game.is-game-viewport .wood-game__actions > .wood-game__mode { grid-column: 1 / span 2; display: flex; }
.wood-game.is-game-viewport .wood-game__actions > .site-audio { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
.wood-game.is-game-viewport .wood-game__actions > button { min-width: 44px; min-height: 44px; }
.tractor-game.is-game-viewport .tractor-runner__controls:has(> .site-audio) { grid-template-columns: repeat(4,minmax(0,1fr)) 52px; }
.tractor-game.is-game-viewport .tractor-runner__controls > .site-audio { margin: 0; align-self: center; }
.tractor-game.is-game-viewport .tractor-runner__controls > button { min-width: 44px; }
.tractor-game.is-game-viewport .tractor-runner__actionbar:has(> .site-audio) { position: relative; padding-right: 60px; min-height: 52px; }
.tractor-game.is-game-viewport .tractor-runner__actionbar > .site-audio { position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin: 0; }
.tractor-game.is-game-viewport .tractor-game__header { position: static; grid-area: header; width: 100%; justify-content: flex-end; }
@media (min-width: 701px) {
  .tractor-game.is-game-viewport { grid-template-rows: auto auto auto minmax(0,1fr) auto auto; grid-template-areas: "header header" "missions missions" "dashboard dashboard" "stage stage" "actionbar controls" "status status"; }
}
.chess-game.is-game-viewport .chess-board-wrap:has(> .site-audio) { grid-template-rows: auto minmax(0,1fr) auto auto 52px; gap: 4px; min-height: 0; }
.chess-game.is-game-viewport .chess-board-wrap > .site-audio { margin: 0; justify-self: end; }
.chess-game.is-game-viewport .chess-board { max-height: 100%; }
/* The external scene narration is a named grid row, not an implicit cell
   between the water and its original side panel. */
.fishing-game.is-game-viewport .fishing-game__play:has(> .site-audio) { grid-template-rows: minmax(0,1fr) 52px; gap: 6px; }
/* Rad-/kolonneplasseringen under gjelder BARE når lyttknappen faktisk ligger i spillflaten. Uten
   den laget «grid-row: 1 / span 2» på panelet en ekstra rad som klemte vannet ned til 26 px på PC. */
.fishing-game.is-game-viewport .fishing-game__play:has(> .site-audio) > .fishing-game__stage { grid-column: 1; grid-row: 1; }
.fishing-game.is-game-viewport .fishing-game__play:has(> .site-audio) > .site-audio { grid-column: 1; grid-row: 2; justify-self: end; margin: 0; }
.fishing-game.is-game-viewport .fishing-game__play:has(> .site-audio) > .fishing-game__panel { grid-column: 2; grid-row: 1 / span 2; }
.fishing-game.is-game-viewport .fishing-game__score:has(> .site-audio) { padding-block: 4px; align-content: center; min-height: 64px; }
.fishing-game.is-game-viewport .fishing-game__score :is(strong,span):not(.site-audio,.site-audio__status) { font-size: .78rem; line-height: 1.25; }
.fishing-game.is-game-viewport .fishing-game__lesson:has(> .site-audio) { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr) 52px; gap: 6px; }
.fishing-game.is-game-viewport .fishing-game__lesson > .site-audio { margin: 0; align-self: center; }
.fishing-game.is-game-viewport [data-fishing-gear]:has(> .site-audio) { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.fishing-game.is-game-viewport [data-fishing-gear] > .site-audio { margin: 0; flex: 0 0 52px; }
.fishing-game.is-game-viewport .fishing-game__controls:has(> .site-audio) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) 52px; gap: 4px; }
.fishing-game.is-game-viewport .fishing-game__controls > .site-audio { grid-column: 3; grid-row: 1 / span 3; align-self: center; }
.fishing-game.is-game-viewport .fishing-game__controls .fishing-game__mode { display: contents; }
.fishing-game.is-game-viewport .fishing-game__feedback:has(> .site-audio) { display: flex; align-items: center; gap: 6px; }
.fishing-game.is-game-viewport .fishing-game__feedback > .site-audio { flex: 0 0 52px; margin: 0; }
.farm-master.is-game-viewport .farm-master__heading h3:has(> .site-audio) { display: flex; align-items: center; gap: 8px; }
.farm-master.is-game-viewport .farm-master__heading h3 > .site-audio { margin: 0; }
.farm-master.is-game-viewport .farm-master__header { position: static; inset: auto; height: auto; min-height: 52px; }
.farm-master.is-game-viewport .farm-master__tools { position: static; inset: auto; }
.farm-master.is-game-viewport .farm-master__progress-row:has(> .site-audio) { position: relative; padding-right: 64px; min-height: 64px; }
.farm-master.is-game-viewport .farm-master__progress-row > .site-audio { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); margin: 0; }
.farm-master.is-game-viewport .farm-master__controls { grid-template-columns: repeat(5,minmax(0,1fr)) 52px; gap: 3px; padding: 4px; }
.farm-master.is-game-viewport .farm-master__controls > .site-audio { margin: 0; align-self: center; }
/* The native target is stable before the asynchronous fullscreen/audio scan. */
.farm-master .farm-master__control { min-width: 44px; }
.farm-master.is-game-viewport .farm-master__controls > button { min-width: 44px; }
.farm-master.is-game-viewport .farm-master__progress-row:has(> .site-audio) { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 4px; }
.farm-master.is-game-viewport .farm-master__progress-copy { min-width: 0; }
/* A grouped introduction shares its final row with the unchanged Start
   action. Both controls remain visible inside the original scene. */
.game-viewport.is-game-viewport :is(.farm-master__start-copy,.penalty-pro__start-copy,[data-tractor-start-panel],[data-crab-overlay]) { display: grid; grid-template-columns: minmax(0,1fr) 52px; gap: 6px; }
.game-viewport.is-game-viewport :is(.farm-master__start-copy,.penalty-pro__start-copy,[data-tractor-start-panel],[data-crab-overlay]) > * { grid-column: 1 / -1; }
.game-viewport.is-game-viewport :is(.farm-master__start-copy,.penalty-pro__start-copy,[data-tractor-start-panel],[data-crab-overlay]) > button { grid-column: 1; min-height: 52px; margin: 0; }
.game-viewport.is-game-viewport :is(.farm-master__start-copy,.penalty-pro__start-copy,[data-tractor-start-panel],[data-crab-overlay]) > .site-audio { grid-column: 2; align-self: center; margin: 0; }
.farm-master.is-game-viewport .farm-master__start-copy { align-content: center; margin: 8px; padding: 10px 12px; }
.farm-master.is-game-viewport .farm-master__start-copy h3 { font-size: 1.25rem; margin: 0; }
.farm-master.is-game-viewport .farm-master__start-copy > p { margin: 0; font-size: .82rem; line-height: 1.3; }
.farm-master.is-game-viewport .farm-master__start-copy .farm-master__adult-note { padding: 5px 7px; margin: 0; font-size: .7rem; }
.farm-master.is-game-viewport .farm-master__finish-copy { display: grid; grid-template-columns: minmax(0,1fr) 52px; align-content: center; gap: 6px; padding: 12px; }
.farm-master.is-game-viewport .farm-master__finish-copy > * { grid-column: 1 / -1; }
.farm-master.is-game-viewport .farm-master__finish-copy > .farm-master__badge { position: absolute; top: 12px; left: 12px; width: 44px; height: 44px; }
.farm-master.is-game-viewport .farm-master__finish-copy > :is(.eyebrow,h3) { margin: 0; padding-left: 52px; }
.farm-master.is-game-viewport .farm-master__finish-copy > p { margin: 0; line-height: 1.35; }
.farm-master.is-game-viewport .farm-master__finish-copy > .farm-master__finish-actions { grid-column: 1; display: flex; flex-wrap: wrap; }
.farm-master.is-game-viewport .farm-master__finish-copy > .site-audio { grid-column: 2; align-self: center; margin: 0; }
.farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) { grid-template-columns: minmax(0,1fr) 52px; grid-template-rows: auto auto auto minmax(0,1fr) auto auto !important; grid-template-areas: none; }
.farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > * { grid-column: 1 / -1; }
.farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__header { position: static; inset: auto; height: auto; grid-row: 1; }
.farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) .farm-master__tools { position: static; inset: auto; }
.farm-master.is-game-viewport .farm-master__tools > .site-audio { margin: 0; }
.farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__phases { grid-column: 1; grid-row: 2; }
.farm-master.is-game-viewport > .farm-master__phases + .site-audio { grid-column: 2 !important; grid-row: 2; align-self: center; margin: 0; }
.farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__progress-row { grid-row: 3; }
.farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__stage { grid-row: 4; }
.farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__status-row { grid-row: 5; }
.farm-master.is-game-viewport:has(> .farm-master__stage + .site-audio) > .farm-master__status-row { grid-column: 1; }
.farm-master.is-game-viewport > .farm-master__stage + .site-audio { grid-column: 2 !important; grid-row: 5; margin: 0; align-self: center; }
.farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__controls { grid-row: 6; }
@media (orientation: landscape) and (max-height: 620px) {
  html.game-viewport--short .farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) { grid-template-columns: minmax(0,1fr) 52px 250px; grid-template-rows: 52px auto minmax(0,1fr) auto !important; }
  html.game-viewport--short .farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__header { grid-column: 3; grid-row: 1; }
  html.game-viewport--short .farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__phases { grid-row: 1; }
  html.game-viewport--short .farm-master.is-game-viewport > .farm-master__phases + .site-audio { grid-row: 1; }
  html.game-viewport--short .farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__stage { grid-column: 1 / span 2; grid-row: 2 / span 2; }
  html.game-viewport--short .farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__progress-row { grid-column: 3; grid-row: 2; }
  html.game-viewport--short .farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__status-row { grid-column: 3; grid-row: 3; }
  html.game-viewport--short .farm-master.is-game-viewport > .farm-master__stage + .site-audio { grid-column: 3 !important; grid-row: 4; justify-self: end; }
  /* Reserve the final native control positions before the asynchronous
     scene/group audio mounts. Keep the original three-column landscape grid. */
  html.game-viewport--short .farm-master.is-game-viewport:is([data-farm-state="playing"],[data-farm-state="growing"],[data-farm-state="paused"]) > .farm-master__controls { grid-column: 1 / -1; grid-row: 4; width: calc(100% - 58px); grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: minmax(44px,auto) minmax(52px,auto); }
}
/* Native introductory and completed scenes reserve their space before audio mounts. */
html .game-viewport.farm-master.is-game-viewport:is([data-farm-state="ready"],[data-farm-state="loading"],[data-farm-state="recovering"],[data-farm-state="fallback"],[data-farm-state="intro"],[data-farm-state="complete"]) { grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(0,1fr) !important; grid-template-areas: none; }
html .game-viewport.farm-master.is-game-viewport:is([data-farm-state="ready"],[data-farm-state="loading"],[data-farm-state="recovering"],[data-farm-state="fallback"],[data-farm-state="intro"],[data-farm-state="complete"]) > :is(.farm-master__phases,.farm-master__progress-row,.farm-master__status-row,.farm-master__controls,.site-audio) { display: none !important; }
html .game-viewport.farm-master.is-game-viewport:is([data-farm-state="ready"],[data-farm-state="loading"],[data-farm-state="recovering"],[data-farm-state="fallback"],[data-farm-state="intro"],[data-farm-state="complete"]) > .farm-master__header { grid-column: 1; grid-row: 1; }
html .game-viewport.farm-master.is-game-viewport:is([data-farm-state="ready"],[data-farm-state="loading"],[data-farm-state="recovering"],[data-farm-state="fallback"],[data-farm-state="intro"],[data-farm-state="complete"]) > .farm-master__stage { grid-column: 1; grid-row: 2; }
.rosary-game.is-game-viewport .rosary-game__toolbar-main:has(> .site-audio) { position: relative; padding-right: 60px; min-height: 52px; }
.rosary-game.is-game-viewport .rosary-game__toolbar-main > .site-audio { position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin: 0; }
.rosary-game.is-game-viewport .rosary-toolbox__task:has(> .site-audio) { position: relative; padding: 8px 66px 8px 8px; min-height: 64px; }
.rosary-game.is-game-viewport .rosary-toolbox__task > .site-audio { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); margin: 0; }
.rosary-game.is-game-viewport .rosary-token-grid:has(> .site-audio) { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; margin-top: 6px; }
.rosary-game.is-game-viewport .rosary-token-grid > .site-audio { margin: 0; align-self: center; justify-self: center; }
.rosary-game.is-game-viewport .rosary-token-grid > button { min-height: 70px; padding: 4px; }
.rosary-game.is-game-viewport .rosary-token-grid:has(> .site-audio) { grid-template-rows: repeat(2,minmax(0,1fr)); }
.rosary-game.is-game-viewport .rosary-token-grid > button { grid-column: auto; grid-row: auto; }
.penalty-game.is-game-viewport .penalty-game__controls:has(> .site-audio) { grid-template-columns: repeat(3,minmax(0,1fr)) 52px; gap: 6px; }
.penalty-game.is-game-viewport .penalty-game__controls > .site-audio { align-self: center; margin: 0; }
.penalty-game.is-game-viewport .penalty-game__lesson:has(> .site-audio) { position: relative; padding-right: 60px; min-height: 52px; }
.penalty-game.is-game-viewport .penalty-game__lesson > .site-audio { position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin: 0; }
.penalty-game.is-game-viewport .penalty-game__path:has(> .site-audio) { position: relative; padding-right: 60px; min-height: 52px; }
.penalty-game.is-game-viewport .penalty-game__path > .site-audio { position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin: 0; }
.penalty-game.is-game-viewport:has(> .penalty-game__path + .site-audio) { grid-template-columns: minmax(0,1fr) 52px; grid-template-rows: auto auto minmax(0,1fr) auto auto auto; }
.penalty-game.is-game-viewport:has(> .penalty-game__path + .site-audio) > * { grid-column: 1 / -1; }
.penalty-game.is-game-viewport:has(> .penalty-game__path + .site-audio) > .penalty-game__path { grid-column: 1; grid-row: 1; }
.penalty-game.is-game-viewport > .penalty-game__path + .site-audio { grid-column: 2 !important; grid-row: 1; margin: 0; align-self: center; }
.penalty-game.is-game-viewport:has(> .penalty-game__path + .site-audio) > .penalty-game__lesson { grid-row: 2; }
.penalty-game.is-game-viewport:has(> .penalty-game__path + .site-audio) > .penalty-game__stage { grid-row: 3; }
.penalty-game.is-game-viewport:has(> .penalty-game__path + .site-audio) > .penalty-game__controls { grid-row: 4; }
.penalty-game.is-game-viewport:has(> .penalty-game__stage + .site-audio) > .penalty-game__controls { grid-column: 1; }
.penalty-game.is-game-viewport > .penalty-game__stage + .site-audio { grid-column: 2 !important; grid-row: 4; align-self: center; margin: 0; }
.penalty-game.is-game-viewport:has(> .penalty-game__path + .site-audio) > .penalty-game__power { grid-row: 5; }
.penalty-game.is-game-viewport:has(> .penalty-game__path + .site-audio) > .penalty-game__status { grid-row: 6; }
.penalty-game.is-game-viewport .penalty-game__status:has(> .site-audio) { position: relative; padding-right: 62px; display: flex; align-items: center; gap: 8px; min-height: 64px; }
.penalty-game.is-game-viewport .penalty-game__status > .site-audio { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); margin: 0; }
.penalty-game.is-game-viewport .penalty-game__status > p { flex: 1 1 auto; }
.penalty-game.is-game-viewport .penalty-game__status > button { flex: 0 0 auto; min-height: 44px; white-space: normal; }
.penalty-game.is-game-viewport :is(.penalty-game__feedback,.penalty-game__score):has(> .site-audio) { display: flex; align-items: center; gap: 8px; min-height: 52px; }
.penalty-game.is-game-viewport :is(.penalty-game__feedback,.penalty-game__score) > .site-audio { flex: 0 0 52px; margin: 0; }
/* Three-dimensional penalties: the scene retains the flexible grid track
   after Start, including when its external narration appears. */
.penalty-pro.is-game-viewport .penalty-pro__header { position: static; inset: auto; height: auto; min-height: 52px; }
.penalty-pro.is-game-viewport .penalty-pro__tools { position: static; inset: auto; justify-content: flex-end; }
.penalty-pro.is-game-viewport .penalty-pro__tools > .site-audio { margin: 0; }
.penalty-pro.is-game-viewport:is([data-penalty-state="ready"],[data-penalty-state="loading"],[data-penalty-state="recovering"],[data-penalty-state="fallback"],[data-penalty-state="complete"]) { grid-template-rows: auto minmax(0,1fr) !important; }
.penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) { grid-template-columns: minmax(0,1fr) 52px; grid-template-rows: 52px 52px auto minmax(0,1fr) auto auto auto !important; grid-template-areas: none; }
.penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > * { grid-column: 1 / -1; }
.penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__header { grid-row: 1; }
.penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__steps { grid-column: 1; grid-row: 2; }
.penalty-pro.is-game-viewport > .penalty-pro__steps + .site-audio { grid-column: 2 !important; grid-row: 2; margin: 0; align-self: center; }
.penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__lesson { grid-column: 1 / -1; grid-row: 3; width: calc(50% - 3px); }
.penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__progress-row { grid-column: 1 / -1; grid-row: 3; width: calc(50% - 3px); justify-self: end; }
.penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__stage { grid-row: 4; }
.penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__controls { grid-column: 1; grid-row: 5; }
.penalty-pro.is-game-viewport > .penalty-pro__stage + .site-audio { grid-column: 2 !important; grid-row: 5; margin: 0; align-self: center; }
.penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__power { grid-row: 6; }
.penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__status { grid-row: 7; }
.penalty-pro.is-game-viewport :is(.penalty-pro__lesson,.penalty-pro__progress-row,.penalty-pro__status):has(> .site-audio) { position: relative; padding: 5px 60px 5px 6px; min-height: 60px; }
.penalty-pro.is-game-viewport :is(.penalty-pro__lesson,.penalty-pro__progress-row,.penalty-pro__status) > .site-audio { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); margin: 0; }
.penalty-pro.is-game-viewport .penalty-pro__lesson:has(> .site-audio) { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 4px; }
.penalty-pro.is-game-viewport .penalty-pro__lesson-mark { width: 20px; height: 20px; font-size: 1rem; }
.penalty-pro.is-game-viewport .penalty-pro__lesson > :not(.penalty-pro__lesson-mark):not(.site-audio) { grid-column: 2; }
.penalty-pro.is-game-viewport .penalty-pro__progress-row:has(> .site-audio) { display: block; }
.penalty-pro.is-game-viewport .penalty-pro__progress-copy { min-width: 0; }
.penalty-pro.is-game-viewport .penalty-pro__shots { gap: 2px; margin-top: 4px; }
.penalty-pro.is-game-viewport .penalty-pro__shots li { min-width: 0; height: 10px; }
.penalty-pro.is-game-viewport .penalty-pro__controls:has(> .site-audio) { grid-template-columns: repeat(3,minmax(0,1fr)) 52px; gap: 4px; padding: 4px; }
.penalty-pro.is-game-viewport .penalty-pro__controls > .site-audio { margin: 0; align-self: center; }
.penalty-pro.is-game-viewport .penalty-pro__controls > button { min-width: 44px; padding: 3px; }
.penalty-pro.is-game-viewport .penalty-pro__status p { margin: 0; min-height: 0; font-size: .78rem; }
.penalty-pro.is-game-viewport .penalty-pro__lesson :is(h3,h4,strong) { font-size: .85rem; }
.penalty-pro.is-game-viewport .penalty-pro__progress-copy :is(strong,span) { font-size: .7rem; }
html .game-viewport.penalty-pro.is-game-viewport:is([data-penalty-state="ready"],[data-penalty-state="loading"],[data-penalty-state="recovering"],[data-penalty-state="fallback"],[data-penalty-state="complete"]) { grid-template-columns: minmax(0,1fr) 52px; grid-template-rows: 52px minmax(0,1fr) !important; grid-template-areas: none; }
html .game-viewport.penalty-pro.is-game-viewport:is([data-penalty-state="ready"],[data-penalty-state="loading"],[data-penalty-state="recovering"],[data-penalty-state="fallback"],[data-penalty-state="complete"]) > .penalty-pro__header { grid-column: 1; grid-row: 1; }
html .game-viewport.penalty-pro.is-game-viewport:is([data-penalty-state="ready"],[data-penalty-state="loading"],[data-penalty-state="recovering"],[data-penalty-state="fallback"],[data-penalty-state="complete"]) > .penalty-pro__stage { grid-column: 1 / -1; grid-row: 2; }
html .game-viewport.penalty-pro.is-game-viewport:is([data-penalty-state="ready"],[data-penalty-state="loading"],[data-penalty-state="recovering"],[data-penalty-state="fallback"],[data-penalty-state="complete"]) > .penalty-pro__stage + .site-audio { grid-column: 2 !important; grid-row: 1; }
html .game-viewport.penalty-pro.is-game-viewport:is([data-penalty-state="ready"],[data-penalty-state="loading"],[data-penalty-state="recovering"],[data-penalty-state="fallback"],[data-penalty-state="complete"]) > .penalty-pro__steps + .site-audio { display: none !important; }
@media (max-width: 480px) {
  .penalty-pro.is-game-viewport .penalty-pro__lesson:has(> .site-audio) { grid-template-columns: minmax(0,1fr); }
  .penalty-pro.is-game-viewport .penalty-pro__lesson-mark { display: none; }
  .penalty-pro.is-game-viewport .penalty-pro__lesson > :not(.site-audio) { grid-column: 1; }
}
@media (orientation: landscape) and (max-height: 620px) {
  html.game-viewport--short .penalty-pro.is-game-viewport .penalty-pro__start-copy { margin: 6px; padding: 8px 10px; }
  html.game-viewport--short .penalty-pro.is-game-viewport .penalty-pro__start-copy > :is(h3,p,ol) { margin: 0; }
  html.game-viewport--short .penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) { grid-template-columns: minmax(0,1fr) 52px 280px; grid-template-rows: 52px 52px 52px minmax(52px,1fr) 60px !important; gap: 4px 6px !important; }
  html.game-viewport--short .penalty-pro.is-game-viewport :is(.penalty-pro__lesson,.penalty-pro__progress-row):has(> .site-audio) { min-height: 52px; padding: 0 58px 0 4px; }
  html.game-viewport--short .penalty-pro.is-game-viewport :is(.penalty-pro__lesson,.penalty-pro__progress-row) > .site-audio { right: 0; }
  html.game-viewport--short .penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__header { grid-column: 3; grid-row: 1; }
  html.game-viewport--short .penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__steps { grid-column: 1; grid-row: 1; }
  html.game-viewport--short .penalty-pro.is-game-viewport > .penalty-pro__steps + .site-audio { grid-column: 2 !important; grid-row: 1; }
  html.game-viewport--short .penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__lesson { grid-column: 3; grid-row: 2; width: 100%; }
  html.game-viewport--short .penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__progress-row { grid-column: 3; grid-row: 3; width: 100%; }
  html.game-viewport--short .penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__stage { grid-column: 1 / span 2; grid-row: 2 / span 3; }
  html.game-viewport--short .penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__controls { grid-column: 3; grid-row: 4; }
  html.game-viewport--short .penalty-pro.is-game-viewport > .penalty-pro__stage + .site-audio { grid-column: 2 !important; grid-row: 5; }
  html.game-viewport--short .penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__power { grid-column: 1; grid-row: 5; }
  html.game-viewport--short .penalty-pro.is-game-viewport:is([data-penalty-state="playing"],[data-penalty-state="paused"]) > .penalty-pro__status { grid-column: 3; grid-row: 5; }
  html.game-viewport--short .penalty-pro.is-game-viewport .penalty-pro__lesson > :not(.site-audio) { grid-column: 1; }
}
@media (max-width: 900px) {
  .rosary-game.is-game-viewport .rosary-game__workspace { grid-template-rows: minmax(0,1fr) 184px; }
  .rosary-game.is-game-viewport .rosary-toolbox { height: 184px; }
  .rosary-game.is-game-viewport .rosary-token-grid:has(> .site-audio) { grid-template-rows: repeat(2,minmax(0,1fr)); margin: 0; height: 100%; }
}
@media (max-width: 650px) {
  .penalty-game.is-game-viewport .penalty-game__status:has(> .site-audio) { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px; }
  .penalty-game.is-game-viewport .penalty-game__status > p { grid-column: 1 / -1; margin: 0; font-size: .8rem; }
  .fishing-game.is-game-viewport .fishing-game__lesson:has(> .site-audio) { grid-template-columns: minmax(0,1fr) 52px; }
  .fishing-game.is-game-viewport .fishing-game__clue,.fishing-game.is-game-viewport .fishing-game__depths { grid-column: 1; }
  .fishing-game.is-game-viewport .fishing-game__lesson > .site-audio { grid-column: 2; grid-row: 1 / span 2; }
  .fishing-game.is-game-viewport .fishing-game__play:has(> .site-audio) { grid-template-columns: minmax(0,1fr); }
}
.heart-home__toolbar:has(.site-audio) { flex-wrap: wrap; }
.heart-home__collection:has(.site-audio) { flex-wrap: wrap; flex: 1 1 auto; }
.heart-home__collection:has(.site-audio) ol { flex-wrap: wrap; }
.heart-home__collection li:has(.site-audio) { width: auto; min-width: 60px; }
.heart-home__collection .site-audio { margin: 4px 0 0; }
.heart-home__tools { margin-left: auto; }
/* Baking keeps ingredient and amount buttons in the grids used by its motor.
   Their listening companions sit outside those grids, in reserved rows. */
.baking-game.is-game-viewport .baking-game__score { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-height: 52px; }
.baking-game.is-game-viewport .baking-game__score > .site-audio { margin: 0; }
.baking-game.is-game-viewport .baking-recipes:has(> .site-audio) { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)) 52px; gap: 5px; overflow: visible; }
.baking-game.is-game-viewport .baking-recipes > .site-audio { margin: 0; align-self: center; }
.baking-game.is-game-viewport .baking-recipes > button { min-width: 0; min-height: 52px; height: auto; padding: 3px; overflow: hidden; }
.baking-game.is-game-viewport .baking-game__toolbar > div:first-child :is(strong,span):has(> .site-audio) { display: inline-flex; align-items: center; gap: 6px; }
.baking-game.is-game-viewport .baking-game__toolbar > div:first-child .site-audio { margin: 0; }
.baking-game.is-game-viewport .baking-game__workspace:has(> .baking-game__stage + .site-audio) { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); grid-template-rows: minmax(0,1fr) 52px; gap: 6px; }
.baking-game.is-game-viewport .baking-game__workspace > .baking-game__stage { grid-column: 1; grid-row: 1; }
.baking-game.is-game-viewport .baking-game__workspace > .baking-game__stage + .site-audio { grid-column: 1; grid-row: 2; margin: 0; justify-self: end; }
.baking-game.is-game-viewport .baking-game__choices { grid-column: 2; grid-row: 1 / span 2; display: grid; grid-template-columns: minmax(0,1.7fr) minmax(104px,1fr); grid-template-rows: minmax(0,1fr) 52px; gap: 6px; padding: 5px; }
.baking-game.is-game-viewport .baking-game__choices > section { display: flex; flex-direction: column; min-height: 0; padding: 4px; }
.baking-game.is-game-viewport .baking-game__choices > section:first-child { grid-column: 1; grid-row: 1 / span 2; }
.baking-game.is-game-viewport .baking-game__choices > section:nth-child(2) { grid-column: 2; grid-row: 1; }
.baking-game.is-game-viewport .baking-game__choices > section:nth-child(2):has(+ .site-audio) { display: flex; width: calc(100% - 58px); }
.baking-game.is-game-viewport .baking-game__choices > section:nth-child(2) + .site-audio { grid-column: 2; grid-row: 1; margin: 0; justify-self: end; align-self: center; }
.baking-game.is-game-viewport .baking-game__choices > .site-audio-action-row { grid-column: 2; grid-row: 2; gap: 5px; }
.baking-game.is-game-viewport .baking-game__choices > .site-audio-action-row > button { min-width: 44px; width: auto; height: 52px; min-height: 52px; flex: 1; font-size: .7rem; padding: 3px; }
.baking-game.is-game-viewport .baking-ingredient-grid { grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); gap: 5px; flex: 1 1 auto; min-height: 0; height: auto; }
.baking-game.is-game-viewport .baking-amount-grid { grid-template-columns: minmax(0,1fr); grid-template-rows: repeat(3,minmax(0,1fr)); gap: 5px; flex: 1 1 auto; min-height: 0; height: auto; }
.baking-game.is-game-viewport :is(.baking-ingredient-grid,.baking-amount-grid) > button { min-width: 44px; min-height: 44px; height: 100%; padding: 4px; }
.baking-game.is-game-viewport :is(.baking-ingredient-grid,.baking-amount-grid) + .site-audio { flex: 0 0 52px; margin: 5px 0 0; align-self: flex-end; }
.baking-game.is-game-viewport .baking-game__task:has([data-baking-task]) { max-width: calc(100% - 20px); padding: 5px 8px; }
.baking-game.is-game-viewport .baking-game__feedback:has(> .site-audio) { display: flex; align-items: center; gap: 8px; min-height: 52px; }
.baking-game.is-game-viewport .baking-game__feedback > .site-audio { margin: 0; flex: 0 0 52px; }
.baking-game.is-game-viewport .baking-game__toolbar-actions .site-audio-action-row > button { min-height: 44px; }
@media (max-width: 900px) {
  .baking-game.is-game-viewport .baking-game__workspace:has(> .baking-game__stage + .site-audio) { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(110px,1fr) 52px minmax(205px,1.15fr); }
  .baking-game.is-game-viewport .baking-game__workspace:has(> .baking-game__stage + .site-audio) { grid-template-rows: minmax(110px,1fr) 52px minmax(222px,1.15fr); }
  .baking-game.is-game-viewport .baking-game__choices { grid-column: 1; grid-row: 3; grid-template-columns: minmax(0,1.6fr) minmax(124px,1fr); }
  .baking-game.is-game-viewport .baking-game__choices > section:nth-child(2) { display: grid; grid-template-columns: minmax(0,1fr) 52px; gap: 4px; }
  .baking-game.is-game-viewport .baking-amount-grid + .site-audio { margin: 0; align-self: center; }
  .baking-game.is-game-viewport .baking-recipes > button strong { font-size: .68rem; line-height: 1.1; white-space: normal; overflow-wrap: anywhere; }
  .baking-game.is-game-viewport .baking-ingredient-grid > button strong { font-size: .68rem; line-height: 1.1; white-space: normal; overflow-wrap: anywhere; text-overflow: clip; }
  .baking-game.is-game-viewport .baking-game__toolbar-actions .site-audio-action-row > button { flex: 1 1 auto; width: auto; white-space: normal; overflow-wrap: anywhere; }
}
@media (min-width: 900px) {
  .jigsaw-game.is-game-viewport .jigsaw-game__toolbar:has(> .site-audio) { display: flex; flex-wrap: nowrap; }
  .jigsaw-game.is-game-viewport .jigsaw-game__actions { margin-left: auto; }
  .rosary-game.is-game-viewport .rosary-game__toolbar-main { display: flex; gap: 10px; align-items: center; }
}
/* Existing absolute cue/status containers must give the complete new audio
   control visible space; pointer-events alone cannot fix a covered circle. */
.penalty-game__coach:has(.site-audio) { width: max-content; max-width: calc(100% - 24px); min-height: 64px; border-radius: 18px; flex-wrap: wrap; }
.penalty-game__coach:has(.site-audio) strong { overflow: visible; white-space: normal; }
.penalty-game__coach .site-audio { pointer-events: auto; display: inline-flex; }
.crab-game__sea:has(> [data-crab-overlay]:not([hidden])) { min-height: 470px; height: auto; }
.crab-game__overlay:not([hidden]):has(.site-audio) { position: relative; inset: auto; transform: none; width: calc(100% - 24px); margin: 48px auto 16px; padding: 16px; }
.crab-game__overlay:not([hidden]):has(.site-audio) > .crab-game__overlay-icon { margin-top: -40px; }
.crab-game__stage-top .site-audio { pointer-events: auto; }
/* Reading and drawing controls preserve their native hit areas. */
:is(.reading-size-buttons,.coloring-tool-row):has(> .site-audio-action-row) { grid-template-columns: repeat(auto-fit,minmax(104px,1fr)); gap: 10px; }
:is(.reading-size-buttons,.coloring-tool-row) > .site-audio-action-row { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
:is(.reading-size-buttons,.coloring-tool-row) > .site-audio-action-row > button { min-width: 44px; min-height: 48px; width: 100%; }
:is(.reading-size-buttons,.coloring-tool-row) > .site-audio-action-row > .site-audio { align-self: center; margin: 0; }
.sacrament-journey__heading .eyebrow:has(> .site-audio) { display: inline-flex; align-items: center; gap: 8px; white-space: normal; height: auto; min-height: 52px; }
.sacrament-journey__heading .eyebrow > .site-audio { flex: 0 0 52px; margin: 0; }
.site-audio-action-row > .saint-sign { min-width: 48px; min-height: 48px; }
.site-audio-sacrament-symbol,.site-audio-person-card { display: flex; flex-direction: column; align-items: stretch; gap: 8px; min-width: 0; position: relative; z-index: 1; }
.site-audio-sacrament-symbol > .site-audio,.site-audio-person-card > .site-audio { align-self: center; margin: 0; }
/* styles.css:4105-4145: keep the original symbol cards after adding a sibling. */
.sacrament-seven > .site-audio-sacrament-symbol > a { position: relative; z-index: 1; min-height: 112px; display: grid; place-items: center; align-content: center; gap: 4px; padding: 12px 8px; text-align: center; background: rgba(255,255,255,.76); border: 2px solid rgba(255,255,255,.9); border-radius: 28px; box-shadow: var(--shadow-sm); color: inherit; cursor: pointer; font-size: 2rem; text-decoration: none; transition: transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease,background 180ms ease; }
.sacrament-seven > .site-audio-sacrament-symbol > a:is(:hover,:focus-visible) { background: var(--white); border-color: var(--sun); box-shadow: 0 12px 24px rgba(18,59,83,.18); transform: translateY(-4px) rotate(-1deg); }
.sacrament-seven > .site-audio-sacrament-symbol > a:focus-visible { outline: 4px solid rgba(246,196,83,.45); outline-offset: 3px; }
.sacrament-seven > .site-audio-sacrament-symbol:nth-child(4) { grid-column: 1; }
.sacrament-seven > .site-audio-sacrament-symbol:nth-child(7) { grid-column: 2; }
.minister-hero__people > .site-audio-person-card:is(:nth-child(2),:nth-child(4)) { transform: translateY(18px); }
/* eli.css:91-92: preserve the two existing episode button treatments. */
.eli-media-card > .site-audio-action-row > button[data-eli-open] { padding: 0; position: relative; }
.eli-media-card__copy > .site-audio-action-row { margin-top: auto; }
.eli-media-card__copy > .site-audio-action-row > button[data-eli-open] { min-height: 48px; padding: 8px 0 0; }
.commandment-progress .site-audio-action-row:last-child > button { background: var(--cream); }
.coloring-actions > .site-audio-action-row:nth-child(3) > button:not(:disabled) { color: var(--white); background: var(--fjord); border-color: var(--fjord); }
.coloring-actions > .site-audio-action-row:nth-child(4) > button:not(:disabled) { background: var(--sun); border-color: var(--sun); }
.site-audio-linked-card-row { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.site-audio-linked-card-row > a { flex: 1 1 auto; }
.site-audio-linked-card-row > .site-audio { align-self: flex-end; }
.site-audio-linked-card-listen { display: flex; justify-content: flex-end; padding: 12px 20px; }
.site-audio-details { position: relative; min-width: 0; }
.site-audio-details > details { height: auto; }
.site-audio-details > details > summary { min-height: 76px; padding-inline-end: 80px; }
.site-audio-details__listen { position: absolute; inset-block-start: 12px; inset-inline-end: 12px; z-index: 6; }
.site-audio-tab-row { display: flex; flex-direction: column; align-items: stretch; gap: 8px; min-width: 0; }
.site-audio-tab-row > [role="tab"] { width: 100%; flex: 1 1 auto; }
.site-audio-tab-row > .site-audio { align-self: center; margin: 0; }
.site-audio-tab-row .site-audio .site-audio__button { display: inline-flex; position: relative; width: 52px; min-width: 52px; max-width: 52px; height: 52px; min-height: 52px; padding: 0; border: 2px solid transparent; border-radius: 50%; background: #123b53; color: #fff; }
.commandment-tabs > .site-audio-tab-row:nth-child(-n+3) > button { background: #fff9dd; }
.commandment-tabs > .site-audio-tab-row:nth-child(n+4) > button { background: #fff; }
.commandment-tabs > .site-audio-tab-row > button[aria-selected="true"] { background: var(--ocean,#135e78); color: var(--white,#fff); border-color: var(--sun,#ffc84d); }
.site-audio-hotspot-stack { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.site-audio-hotspot-list { display: grid; gap: 8px; padding: 16px; border-radius: 18px; background: #fffaf0; color: #123b53; }
.site-audio-hotspot-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; }
.site-audio-hotspot-row[hidden] { display: none !important; }
.site-audio-hotspot-choice { min-height: 52px; padding: 10px 14px; color: #123b53; background: #fff; border: 2px solid #b6cbd4; border-radius: 14px; text-align: start; font: inherit; font-weight: 700; line-height: 1.4; cursor: pointer; }
.site-audio-hotspot-choice:focus-visible { outline: 3px solid #116a8d; outline-offset: 3px; }
.site-audio-card-action { position: relative; z-index: 6; display: flex; justify-content: flex-end; margin-top: 12px; }
.site-audio-season-action { position: absolute; inset-block-start: 12px; inset-inline-end: 12px; z-index: 6; }
.site-audio-place-action { position: absolute; inset-block-start: 16px; inset-inline-end: 16px; z-index: 3; }
.place-card__copy:has(.site-audio) { z-index: 3; }
.place-card__copy .site-audio { pointer-events: auto; }
.season-card .site-audio { position: relative; inset: auto; padding: 0; margin: 0; border-radius: 0; background: transparent; font-size: 1rem; }
.season-card > span:has(> .site-audio) { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.season-card > span:has(> .site-audio) { z-index: 6; pointer-events: none; }
.season-card > span .site-audio { pointer-events: auto; }
.season-card .site-audio__status { inset: auto; background: transparent; border-radius: 0; }
.is-clickable .site-audio { position: relative; z-index: 6; }
@media (max-width: 980px) {
  .site-audio-menu-row { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
  .site-audio-menu-row > .nav-toggle { width: 52px; height: 52px; flex: 0 0 52px; }
  .header-inner:has(.site-audio-menu-row) { gap: 8px; }
  .header-inner:has(.site-audio-menu-row) > .brand { min-width: 0; flex: 1 1 auto; }
  .header-inner:has(.site-audio-menu-row) > .brand img { flex: 0 0 48px; }
  .header-inner:has(.site-audio-menu-row) > .brand span { min-width: 0; }
  .header-inner > .site-audio-brand-row { flex: 1 1 auto; }
  .main-nav .site-audio-nav-row { display: flex; width: 100%; justify-content: space-between; gap: .75rem; }
  .main-nav .site-audio-nav-row > :is(a,button) { flex: 1 1 auto; }
}
@media (max-width: 480px) {
  .header-inner:has(.site-audio-brand-row) { gap: 6px; padding-block: 8px; }
  .site-audio-brand-row { gap: 6px; }
  .site-audio-brand-row > .brand { flex: 1 1 auto; gap: 6px; }
  .site-audio-brand-row > .brand img { width: 40px; height: 40px; flex-basis: 40px; }
}
@media (max-width: 720px) {
  .eli-kind-switch:has(> .site-audio-action-row) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; max-width: 100%; gap: 8px; border-radius: 20px; }
  .eli-kind-switch > .site-audio-action-row { flex-direction: column; min-width: 0; gap: 6px; }
  .eli-kind-switch > .site-audio-action-row > button { width: 100%; padding-inline: 10px; }
  .maram-mobile-entry > .site-audio-entry-item > a { grid-template-columns: 20px minmax(0,auto); gap: 0 4px; background: #fff9ed; border-color: #cbdcd9; }
  .maram-mobile-entry > .site-audio-entry-item:first-child > a { background: #ffe29b; border-color: #eac578; }
  .maram-mobile-entry > .site-audio-entry-item:last-child > a { background: #eaf3ec; }
  .maram-mobile-entry .site-audio { grid-row: auto; font-size: 1rem; }
  .maram-mobile-entry small { white-space: normal; }
  .hero-actions > .site-audio-action-row, .button-row > .site-audio-action-row { width: 100%; }
  .site-audio-action-row--shortcut { margin-top: 16px; }
  .site-audio-action-row > button { min-width: 0; white-space: normal; }
}
@media print {
  .site-audio-menu-row,.site-audio-card-action,.site-audio-season-action,.site-audio-place-action,.site-audio-skip-row { display: none !important; }
  .site-audio-brand-row { display: contents; }
  .site-audio-action-row,.site-audio-art-row,.site-audio-nav-row { display: contents; }
  .site-audio-details,.site-audio-linked-card-row,.site-audio-inline-action,.site-audio-tab-row,.site-audio-choice-row,.site-audio-field-row { display: contents; }
  .site-audio-details__listen,.site-audio-hotspot-list { display: none !important; }
}
@media (max-width: 680px) {
  .sacrament-seven > .site-audio-sacrament-symbol:is(:nth-child(4),:nth-child(7)) { grid-column: auto; }
  .sacrament-seven > .site-audio-sacrament-symbol:last-child { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .sacrament-seven > .site-audio-sacrament-symbol > a { transition: none; }
}
[data-calm="true"] .sacrament-seven > .site-audio-sacrament-symbol > a { transition: none; }

/* Actual-package corrections: reserve complete native board and status rows. */
.game-viewport.is-game-viewport :is(.chess-game__levels,.bg-game__levels) { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) 52px; gap: 4px; width: 100%; min-width: 0; }
.bg-game.is-game-viewport .bg-game__levels { grid-template-columns: repeat(4,minmax(0,1fr)) 52px; }
.game-viewport.is-game-viewport :is(.chess-game__levels,.bg-game__levels) > button { min-width: 44px; min-height: 52px; padding: 4px; white-space: normal; }
.game-viewport.is-game-viewport :is(.chess-game__levels,.bg-game__levels) > .site-audio { margin: 0; align-self: center; }
.game-viewport.is-game-viewport :is(.chess-game__controls,.bg-game__controls) { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; padding-right: 60px; min-height: 52px; }
.game-viewport.is-game-viewport :is(.chess-game__controls,.bg-game__controls) > button { min-width: 44px; min-height: 44px; padding: 5px; white-space: normal; }
.game-viewport.is-game-viewport :is(.chess-game__controls,.bg-game__controls) > .site-audio { position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin: 0; }
.game-viewport.is-game-viewport :is(.chess-opponent,.bg-opponent) { grid-template-columns: 52px minmax(0,1fr) 52px; gap: 6px; min-width: 0; }
.game-viewport.is-game-viewport :is(.chess-opponent,.bg-opponent) > .site-audio { margin: 0; align-self: center; }
.game-viewport.is-game-viewport :is(.chess-opponent[data-chess-opponent="venn"],.bg-opponent[data-bg-opponent="venn"]) { grid-template-columns: minmax(0,1fr) 52px; }
.chess-game.is-game-viewport .chess-game__play { min-height: 0; }
.chess-game.is-game-viewport .chess-board-wrap { grid-template-rows: auto minmax(0,1fr) auto auto 52px; align-items: center; min-width: 0; min-height: 0; }
.chess-game.is-game-viewport .chess-board-wrap > [data-chess-captured="black"] { grid-row: 1; }
.chess-game.is-game-viewport .chess-board-wrap > .chess-board-frame { grid-row: 2; height: 100%; width: auto; max-width: 100%; min-height: 0; aspect-ratio: 1; justify-self: center; }
.chess-game.is-game-viewport .chess-board-wrap > [data-chess-captured="white"] { grid-row: 3; }
.chess-game.is-game-viewport .chess-board-wrap > .chess-game__turn { grid-row: 4; }
.chess-game.is-game-viewport .chess-board-wrap > .site-audio { grid-row: 5; }
.chess-game.is-game-viewport .chess-board-frame .chess-board { width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; }
.chess-game.is-game-viewport .chess-game__panel { min-width: 0; min-height: 0; align-content: start; }
.bg-game.is-game-viewport .bg-game__actions { min-width: 0; width: 100%; }
.bg-game.is-game-viewport .bg-game__panel { min-width: 0; }
.bg-game.is-game-viewport .bg-dice-row { position: relative; padding-right: 60px; min-height: 60px; }
.bg-game.is-game-viewport .bg-dice-row > .site-audio { position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin: 0; }
.tractor-game.is-game-viewport .tractor-game__status { position: relative; min-width: 0; padding-right: 60px; }
.tractor-game.is-game-viewport .tractor-game__status > .site-audio { position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin: 0; }
.tractor-game.is-game-viewport .tractor-runner__start { padding: 10px; gap: 5px; }
.tractor-game.is-game-viewport .tractor-runner__start > .tractor-runner__rita { height: 64px; margin: 0; }
.tractor-game.is-game-viewport .tractor-runner__start > .tractor-runner__rita img { height: 100%; width: auto; object-fit: contain; }
.tractor-game.is-game-viewport .tractor-runner__start > :is(strong,p,.tractor-runner__season) { margin: 0; }
.tractor-game.is-game-viewport .tractor-runner__start > strong { font-size: 1.2rem; }
.tractor-game.is-game-viewport .tractor-runner__start > p { font-size: .9rem; line-height: 1.35; }
.fishing-game.is-game-viewport .fishing-game__panel { grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(0,1fr) auto; }
.fishing-game.is-game-viewport .fishing-game__panel > * { grid-column: 1; }
.fishing-game.is-game-viewport .fishing-game__feedback { max-height: none; overflow: visible; min-height: 52px; }
.fishing-game.is-game-viewport .fishing-game__catch-wrap { min-height: 0; }
.rosary-game.is-game-viewport .rosary-toolbox { grid-template-rows: minmax(0,1fr); }
.rosary-game.is-game-viewport .rosary-token-grid { min-height: 0; }
.rosary-game.is-game-viewport .rosary-token-grid > button { grid-template-rows: minmax(0,1fr) auto; height: 100%; min-height: 70px; }
.rosary-game.is-game-viewport .rosary-token-grid > button > span:first-child { max-height: 54px; height: 100%; }
.rosary-game.is-game-viewport .rosary-token-grid > button img { max-height: 100%; object-fit: contain; }
.crab-game.is-game-viewport .crab-game__bucket-label { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; border-radius: 20px; }
.crab-game.is-game-viewport .crab-game__bucket-label .site-audio { margin: 0; flex: 0 0 52px; }
.crab-game.is-game-viewport .crab-game__bucket > p { margin: 0; display: flex; align-items: center; gap: 6px; max-height: none; min-height: 52px; overflow: visible; -webkit-line-clamp: unset; }
.crab-game.is-game-viewport .crab-game__bucket > p > .site-audio { margin: 0; flex: 0 0 52px; }
@media (max-width: 900px) {
  .chess-game.is-game-viewport .chess-game__play { grid-template-rows: minmax(0,1fr) auto; }
  .chess-game.is-game-viewport .chess-game__panel { grid-template-rows: auto auto auto auto; }
}

.tractor-game.is-game-viewport .tractor-game__missions { padding-right: 60px; min-width: 0; min-height: 52px; align-items: stretch; }
.tractor-game.is-game-viewport .tractor-game__missions + .site-audio { grid-area: missions; justify-self: end; align-self: center; margin: 0; }
.tractor-game.is-game-viewport .tractor-game__status p { min-width: 0; overflow: visible; -webkit-line-clamp: unset; }
@media (max-width: 700px) {
  .tractor-game.is-game-viewport .tractor-game__missions + .site-audio { display: none; }
}

.chess-game.is-game-viewport .chess-board-wrap { container-type: size; height: 100%; max-height: 100%; }
.chess-game.is-game-viewport .chess-board-wrap:has(> .site-audio) { grid-template-rows: 30px minmax(0,1fr) 30px 52px; gap: 4px; }
.chess-game.is-game-viewport .chess-board-wrap > .chess-board-frame { width: min(100%,calc(100cqh - 124px)); height: auto; max-height: 100%; }
.chess-game.is-game-viewport .chess-board-wrap > .chess-game__turn { grid-row: 4; padding-right: 60px; }
.chess-game.is-game-viewport .chess-board-wrap > .site-audio { grid-row: 4; }
.bg-game.is-game-viewport .bg-game__play { min-height: 0; }
.bg-game.is-game-viewport .bg-board-wrap { container-type: size; height: 100%; min-height: 0; grid-template-rows: minmax(0,1fr) auto 52px; gap: 6px; }
.bg-game.is-game-viewport .bg-board { max-width: 100%; width: min(100%,calc((100cqh - 130px) * 13 / 8)); min-height: 0; height: auto; justify-self: center; align-self: center; }
.bg-game.is-game-viewport .bg-board-wrap > .site-audio { margin: 0; justify-self: end; }
.bg-game.is-game-viewport .bg-game__status:has(> .site-audio) { display: flex; align-items: center; gap: 6px; min-height: 52px; }
.bg-game.is-game-viewport .bg-game__status > .site-audio { margin: 0; flex: 0 0 52px; }
.bg-game.is-game-viewport .bg-game__panel { min-height: 0; }
@media (max-width: 900px) {
 .bg-game.is-game-viewport .bg-game__play { grid-template-rows: minmax(0,1fr) auto; }
 .bg-game.is-game-viewport .bg-board { width: min(100%,calc((100cqh - 176px) * 13 / 8)); }
}
.crab-game.is-game-viewport .crab-game__bucket { display: grid; grid-template-rows: auto minmax(0,1fr) auto; min-height: 0; }
.crab-game.is-game-viewport .crab-game__pail { min-height: 0; max-height: 100%; height: 100%; width: 100%; margin: 0; }
@media (max-width: 900px) {
 .crab-game.is-game-viewport .crab-game__play { grid-template-rows: minmax(0,1fr) auto; }
 .crab-game.is-game-viewport .crab-game__bucket { grid-template-columns: minmax(0,1fr) 70px; grid-template-rows: 60px auto; height: auto; gap: 4px; }
 .crab-game.is-game-viewport .crab-game__bucket > p { grid-column: 1 / -1; grid-row: 2; min-width: 0; font-size: .76rem; }
}

.rosary-game.is-game-viewport .rosary-token-grid > button > span:first-child { height: 44px; max-height: 44px; }
/* Board squares follow the square board track; toolbar targets retain 44px. */
.chess-game.is-game-viewport .chess-board-wrap { grid-template-columns: minmax(0,1fr); }
.chess-game.is-game-viewport .chess-board-wrap > * { grid-column: 1; }
.chess-game.is-game-viewport .chess-board-wrap:has(> .site-audio) { grid-template-rows: auto minmax(0,1fr) auto 52px; }
.chess-game.is-game-viewport .chess-captured:empty { display: none; }
.chess-game.is-game-viewport .chess-board-wrap > .chess-board-frame { width: min(100%,calc(100cqh - 64px)); }
.chess-game.is-game-viewport .chess-board-wrap:has(.chess-captured:not(:empty)) > .chess-board-frame { width: min(100%,calc(100cqh - 124px)); }
.chess-game.is-game-viewport .chess-square { min-width: 0; min-height: 0; height: 100%; }
.site-audio-skip-row, .site-audio-skip-row * { transition: none !important; }
.rosary-game.is-game-viewport .rosary-token-grid > button > :is(.rosary-token__cross,.rosary-token__medal) { grid-template-rows: minmax(0,1fr); }
.rosary-game.is-game-viewport .rosary-token-grid > button img { min-height: 0; }
@media (max-width: 900px) {
 .chess-game.is-game-viewport .chess-game__controls { grid-template-columns: repeat(4,minmax(0,1fr)) 52px; padding-right: 0; align-items: center; }
 .chess-game.is-game-viewport .chess-game__controls > button { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 2px; min-height: 52px; height: 52px; font-size: .76rem; line-height: 1.15; padding: 2px; }
 .chess-game.is-game-viewport .chess-game__controls > button img { width: 18px; height: 18px; }
 .chess-game.is-game-viewport .chess-game__controls > .site-audio { position: static; transform: none; }
 .chess-game.is-game-viewport .chess-game__status { min-height: 52px; font-size: .82rem; line-height: 1.3; padding: 6px 8px; }
 .chess-game.is-game-viewport .story-player__open { min-height: 52px; font-size: .8rem; line-height: 1.2; padding: 6px; }
}
.crab-game.is-game-viewport .crab-game__overlay:not([hidden]):has(.site-audio) { margin-top: 116px; }
.crab-game.is-game-viewport .crab-game__overlay:not([hidden]):has(.site-audio) > .crab-game__overlay-icon { width: 72px; height: 48px; min-height: 48px; margin-top: -24px; }

/* Shore and feeding preserve scene height and reserve each listening row. */


.shore-game.is-game-viewport {
  grid-template-columns: minmax(0,1fr);
  grid-template-areas: none;
  grid-template-rows: auto auto minmax(220px,1fr) 52px auto;
  gap: 5px;
}
.shore-game.is-game-viewport > .shore-game__head { grid-column: 1; grid-row: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(270px,auto); gap: 8px; padding: 0; margin: 0; }
.shore-game.is-game-viewport > .shore-game__toolbar { grid-column: 1; grid-row: 2; display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px; align-items: center; padding: 4px; }
.shore-game.is-game-viewport > .shore-game__stage { grid-column: 1; grid-row: 3; height: 100%; min-height: 0; }
.shore-game.is-game-viewport > .shore-game__stage + .site-audio { grid-column: 1; grid-row: 4; justify-self: end; align-self: center; margin: 0; }
.shore-game.is-game-viewport > .shore-game__footer { grid-column: 1; grid-row: 5; display: grid; grid-template-columns: minmax(0,1fr) auto 52px; gap: 6px; align-items: center; padding: 4px; }
.shore-game.is-game-viewport .shore-game__head h3 { font-size: 1.15rem; line-height: 1.2; }
.shore-game.is-game-viewport .shore-game__score { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; position: relative; width: auto; min-width: 0; min-height: 64px; padding: 5px 64px 5px 9px; text-align: left; }
.shore-game.is-game-viewport .shore-game__score > :is(span,strong,em) { margin: 0; padding: 0; font-size: .82rem; line-height: 1.3; }
.shore-game.is-game-viewport .shore-game__score > .shore-game__progress { flex: 1 0 100%; height: 5px; }
.shore-game.is-game-viewport .shore-game__score > .site-audio { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); margin: 0; }
.shore-game.is-game-viewport .shore-game__targets-wrap { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; gap: 5px; min-width: 0; flex: 1 1 auto; }
.shore-game.is-game-viewport .shore-game__targets { display: flex; flex-wrap: wrap; min-width: 0; gap: 4px; }
.shore-game.is-game-viewport .shore-game__target { min-height: 44px; min-width: 0; padding: 3px 5px; gap: 3px; font-size: .78rem; }
.shore-game.is-game-viewport .shore-game__target span { display: inline; }
.shore-game.is-game-viewport .shore-game__targets-wrap > .site-audio { flex: 0 0 52px; margin: 0; }
.shore-game.is-game-viewport .shore-game__footer > p { margin: 0; font-size: .84rem; line-height: 1.3; }
.shore-game.is-game-viewport .shore-game__footer > .site-audio { margin: 0; }
.shore-game.is-game-viewport .shore-game__actions { display: flex; flex-wrap: wrap; gap: 5px; }
.shore-game.is-game-viewport .shore-game__actions > button { min-height: 44px; }
.shore-game.is-game-viewport .shore-game__stage-badge { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 5px 9px; max-width: calc(100% - 16px); min-height: 52px; font-size: .8rem; }
.shore-game.is-game-viewport .shore-game__stage-badge > .site-audio { position: relative; flex: 0 0 52px; margin: 0; }
.shore-game.is-game-viewport button[data-shore-stone] { min-width: 44px; min-height: 44px; }
@media (max-width: 700px) {
  .shore-game.is-game-viewport > .shore-game__head { grid-template-columns: minmax(0,1fr); }
  .shore-game.is-game-viewport .shore-game__targets-wrap { flex-basis: 100%; }
  .shore-game.is-game-viewport .shore-game__targets { flex: 1 1 auto; }
  .shore-game.is-game-viewport .shore-game__targets { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .shore-game.is-game-viewport .shore-game__target { flex-direction: column; min-height: 52px; font-size: .7rem; line-height: 1.1; }
  .shore-game.is-game-viewport .shore-game__toolbar > :last-child { margin-left: auto; }
  .shore-game.is-game-viewport > .shore-game__footer { grid-template-columns: minmax(0,1fr) 52px; }
  .shore-game.is-game-viewport .shore-game__footer > p { grid-column: 1; grid-row: 1; }
  .shore-game.is-game-viewport .shore-game__footer > .shore-game__actions { grid-column: 1; grid-row: 2; }
  .shore-game.is-game-viewport .shore-game__footer > .site-audio { grid-column: 2; grid-row: 1 / span 2; }
}

.feeding-game.is-game-viewport {
  grid-template-columns: minmax(0,1fr) 52px;
  grid-template-rows: auto minmax(250px,1fr) minmax(max-content,auto) auto minmax(94px,auto) auto;
  grid-template-areas: none;
  gap: 5px;
  align-content: stretch;
}
.feeding-game.is-game-viewport > .feeding-game__levels { grid-area: 1 / 1 / 2 / 2; }
.feeding-game.is-game-viewport > .feeding-game__levels + .site-audio { grid-area: 1 / 2 / 2 / 3; margin: 0; align-self: center; }
.feeding-game.is-game-viewport > .feeding-game__stage { grid-area: 2 / 1 / 3 / -1; min-height: 0; max-height: none; height: 100%; aspect-ratio: auto; }
.feeding-game.is-game-viewport > .feeding-game__stage + .site-audio { grid-area: 3 / 2 / 4 / 3; margin: 0; align-self: center; justify-self: end; }
.feeding-game.is-game-viewport > .feeding-game__prompt { grid-area: 3 / 1 / 4 / 2; }
.feeding-game.is-game-viewport > .feeding-game__choices-head { grid-area: 4 / 1 / 5 / -1; }
.feeding-game.is-game-viewport > .feeding-game__foods { grid-area: 5 / 1 / 6 / 2; }
.feeding-game.is-game-viewport > .feeding-game__foods + .site-audio { grid-area: 5 / 2 / 6 / 3; margin: 0; align-self: center; }
.feeding-game.is-game-viewport > .feeding-game__status { grid-area: 6 / 1 / 7 / -1; }
.feeding-game.is-game-viewport .feeding-game__levels { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; }
.feeding-game.is-game-viewport .feeding-game__levels li { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 52px; padding: 3px; }
.feeding-game.is-game-viewport .feeding-game__levels li > span { width: 22px; height: 22px; min-width: 22px; font-size: .75rem; }
.feeding-game.is-game-viewport .feeding-game__levels li strong { overflow: visible; white-space: normal; text-align: center; font-size: .68rem; line-height: 1.1; }
.feeding-game.is-game-viewport .feeding-game__levels > .site-audio { grid-column: 4; grid-row: 1; align-self: center; margin: 0; }
.feeding-game.is-game-viewport .feeding-game__sound { min-height: 44px; }
.feeding-game.is-game-viewport :is(.feeding-game__prompt,.feeding-game__choices-head,.feeding-game__status) { position: relative; min-height: 58px; margin: 0; padding: 4px 60px 4px 6px; gap: 5px; }
.feeding-game.is-game-viewport :is(.feeding-game__prompt,.feeding-game__choices-head,.feeding-game__status) > .site-audio { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); margin: 0; }
.feeding-game.is-game-viewport .feeding-game__prompt-copy { min-width: 0; flex: 1 1 auto; }
.feeding-game.is-game-viewport .feeding-game__prompt { min-height: max-content; padding: 4px 6px; }
.feeding-game.is-game-viewport .feeding-game__prompt > .site-audio { position: static; transform: none; flex: 0 0 52px; align-self: center; margin: 0; }
.feeding-game.is-game-viewport .feeding-game__guide { display: flex; align-items: stretch; gap: 4px; flex-wrap: wrap; }
.feeding-game.is-game-viewport .feeding-game__guide > div { flex: 1 1 110px; min-width: 0; min-height: 38px; padding: 3px; }
.feeding-game.is-game-viewport .feeding-game__guide > div > b { width: 20px; height: 20px; }
.feeding-game.is-game-viewport .feeding-game__guide strong { font-size: .72rem; white-space: normal; line-height: 1.2; }
.feeding-game.is-game-viewport .feeding-game__choices-head { align-items: center; }
.feeding-game.is-game-viewport .feeding-game__choices-head strong { font-size: .8rem; }
.feeding-game.is-game-viewport .feeding-game__choices-head small { overflow: visible; white-space: normal; font-size: .68rem; line-height: 1.2; }
.feeding-game.is-game-viewport .feeding-game__foods { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); min-height: 94px; gap: 4px; align-items: stretch; }
.feeding-game.is-game-viewport .feeding-game__foods button { display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; min-width: 44px; min-height: 94px; height: 100%; padding: 4px; gap: 4px; overflow: visible; }
.feeding-game.is-game-viewport .feeding-game__food-image { width: 46px; flex: 0 0 auto; }
.feeding-game.is-game-viewport .feeding-game__food-copy { position: static; width: 100%; text-align: center; }
.feeding-game.is-game-viewport .feeding-game__food-copy strong { display: block; overflow: visible; white-space: normal; padding: 0; font-size: .7rem; line-height: 1.15; }
.feeding-game.is-game-viewport[data-feeding-mode="findAnimal"] .feeding-game__foods button.is-selected { grid-column: 1 / -1; }
.feeding-game.is-game-viewport .feeding-game__status { display: flex; flex-wrap: wrap; align-items: center; }
.feeding-game.is-game-viewport .feeding-game__status p { margin: 0; font-size: .76rem; line-height: 1.25; }
.feeding-game.is-game-viewport .feeding-game__status-actions { display: flex; flex-wrap: wrap; gap: 5px; width: auto; }
.feeding-game.is-game-viewport .feeding-game__status-actions > button { min-height: 44px; min-width: 44px; padding: 4px 6px; font-size: .7rem; }
.feeding-game.is-game-viewport .feeding-game__start { display: grid; grid-template-columns: minmax(0,1fr) 52px; align-content: center; gap: 5px; width: min(calc(100% - 16px),500px); max-height: calc(100% - 16px); padding: 8px; overflow: auto; }
.feeding-game.is-game-viewport .feeding-game__start > :not(button):not(.site-audio) { grid-column: 1 / -1; }
.feeding-game.is-game-viewport .feeding-game__start > button { grid-column: 1; min-height: 52px; margin: 0; }
.feeding-game.is-game-viewport .feeding-game__start > .site-audio { grid-column: 2; margin: 0; align-self: center; }
.feeding-game.is-game-viewport .feeding-game__start p { margin: 0; font-size: .76rem; line-height: 1.2; }
.feeding-game.is-game-viewport .feeding-game__start-guide { gap: 8px; }
.feeding-game.is-game-viewport .feeding-game__start-guide img { width: 44px; height: 44px; }
.feeding-game.is-game-viewport .feeding-game__start-guide strong { font-size: 1.2rem; }
.feeding-game.is-game-viewport .feeding-game__start-steps > span { padding: 4px; }
@media (max-width: 999px) {
  .feeding-game.is-game-viewport:has([data-feeding-start-panel][hidden]) { grid-template-rows: auto minmax(200px,1fr) minmax(max-content,auto) auto minmax(94px,auto) auto; }
}
@media (min-width: 1000px) {
  .feeding-game.is-game-viewport { grid-template-columns: minmax(0,1.6fr) minmax(320px,.9fr) 52px; grid-template-rows: 52px auto auto minmax(120px,1fr) auto 52px; }
  .feeding-game.is-game-viewport > .feeding-game__levels { grid-area: 1 / 1 / 2 / 3; }
  .feeding-game.is-game-viewport > .feeding-game__levels + .site-audio { grid-area: 1 / 3 / 2 / 4; }
  .feeding-game.is-game-viewport > .feeding-game__stage { grid-area: 2 / 1 / 6 / 2; }
  .feeding-game.is-game-viewport > .feeding-game__stage + .site-audio { grid-area: 6 / 1 / 7 / 2; }
  .feeding-game.is-game-viewport > .feeding-game__prompt { grid-area: 2 / 2 / 3 / -1; }
  .feeding-game.is-game-viewport > .feeding-game__choices-head { grid-area: 3 / 2 / 4 / -1; }
  .feeding-game.is-game-viewport > .feeding-game__foods { grid-area: 4 / 2 / 5 / 3; }
  .feeding-game.is-game-viewport > .feeding-game__foods + .site-audio { grid-area: 4 / 3 / 5 / 4; }
  .feeding-game.is-game-viewport > .feeding-game__status { grid-area: 5 / 2 / 6 / -1; }
  .feeding-game.is-game-viewport .feeding-game__food-image { width: 60px; }
}
@media (max-width: 350px) {
 .tractor-game.is-game-viewport .tractor-game__status { display: grid; grid-template-columns: minmax(0,1fr) 52px; padding: 5px; gap: 4px; }
 .tractor-game.is-game-viewport .tractor-game__status > p { grid-column: 1; grid-row: 1; }
 .tractor-game.is-game-viewport .tractor-game__status > button { grid-column: 1; grid-row: 2; min-height: 44px; }
 .tractor-game.is-game-viewport .tractor-game__status > .site-audio { position: static; transform: none; grid-column: 2; grid-row: 1 / span 2; align-self: center; }
}
@media (min-width: 901px) {
 .rosary-game.is-game-viewport .rosary-toolbox { grid-template-rows: auto minmax(0,1fr) auto; }
 .rosary-game.is-game-viewport .rosary-toolbox__task { padding: 6px; }
 .rosary-game.is-game-viewport .rosary-toolbox__instruction { display: flex; align-items: center; gap: 6px; margin: 0; min-height: 52px; font-size: .78rem; line-height: 1.2; }
 .rosary-game.is-game-viewport .rosary-toolbox__instruction > .site-audio { flex: 0 0 52px; margin: 0; }
}
.feeding-game.is-game-viewport > .feeding-game__header { position: static; inset: auto; z-index: auto; grid-area: 1 / 1 / 2 / 2; width: 180px; min-width: 0; align-self: center; margin: 0; padding: 0; }
.feeding-game.is-game-viewport > .feeding-game__header > .site-audio-action-row { width: 100%; gap: 6px; }
.feeding-game.is-game-viewport > .feeding-game__header > .site-audio-action-row > button { min-width: 44px; min-height: 52px; }
.feeding-game.is-game-viewport > .feeding-game__levels { width: calc(100% - 186px); margin-left: 186px; }
.feeding-game.is-game-viewport .feeding-game__levels li strong { overflow-wrap: anywhere; }
.feeding-game.is-game-viewport .feeding-game__guide > div { flex: 1 1 0; min-width: 0; }
@media (max-width: 480px) {
 .feeding-game.is-game-viewport > .feeding-game__header { width: 104px; }
 .feeding-game.is-game-viewport > .feeding-game__levels { width: calc(100% - 110px); margin-left: 110px; }
}
.game-viewport.is-game-viewport :is(.chess-opponent[data-chess-opponent="venn"],.bg-opponent[data-bg-opponent="venn"]) { position: relative; display: block; min-height: 52px; }
.game-viewport.is-game-viewport :is(.chess-opponent[data-chess-opponent="venn"],.bg-opponent[data-bg-opponent="venn"]) > :is(.chess-opponent__bubble,.bg-opponent__bubble) { width: 100%; min-height: 52px; padding-right: 64px; display: flex; align-items: center; }
.game-viewport.is-game-viewport :is(.chess-opponent[data-chess-opponent="venn"],.bg-opponent[data-bg-opponent="venn"]) > .site-audio { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); }
@media (max-width: 700px) {
 .tractor-game.is-game-viewport .tractor-game__status { display: flex; padding: 5px 60px 5px 8px; gap: 6px; }
 .tractor-game.is-game-viewport .tractor-game__status > p { display: block; flex: 1 1 0; min-width: 0; width: auto; }
 .tractor-game.is-game-viewport .tractor-game__status > button { flex: 0 0 120px; min-width: 44px; max-width: 120px; width: 120px; min-height: 44px; white-space: normal; line-height: 1.2; }
 .tractor-game.is-game-viewport .tractor-game__status > .site-audio { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
}
.feeding-game.is-game-viewport .feeding-game__guide > div > span { min-width: 0; }
.feeding-game.is-game-viewport .feeding-game__guide > div small { white-space: normal; overflow: visible; text-overflow: clip; }
@media (max-width: 350px) {
 .feeding-game.is-game-viewport .feeding-game__guide > div > b[aria-hidden="true"] { display: none; }
}
/* Ordinary wood-page controls must fit their card before any scroll/play. */
@media (max-width: 700px) {
.wood-game:not(.is-game-viewport) .wood-game__actions { display: grid; grid-template-columns: minmax(0,1fr) 52px; flex: 1 1 100%; width: 100%; min-width: 0; align-items: center; gap: 8px; }
.wood-game:not(.is-game-viewport) .wood-game__mode { grid-column: 1 / -1; width: 100%; min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.wood-game:not(.is-game-viewport) .wood-game__mode > button { min-width: 44px; min-height: 52px; padding: 5px; white-space: normal; }
.wood-game:not(.is-game-viewport) .wood-game__actions > .wood-game__sound { grid-column: 1; width: 100%; min-width: 44px; min-height: 52px; }
.wood-game:not(.is-game-viewport) .wood-game__actions > .site-audio { grid-column: 2; width: 52px; margin: 0; justify-self: end; }
}

/* Five existing Hjertets vei mini-quest grids: keep the native action and
   its independent narration in the same grid cell without sharing width. */
[data-heart-home-challenge-play] .site-audio-action-row:has(> button[data-challenge-item]) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}
[data-heart-home-challenge-play] .site-audio-action-row > button[data-challenge-item] {
  width: 100%;
  min-width: 48px;
  min-height: 48px;
}
[data-heart-home-challenge-play] .site-audio-action-row:has(> button[data-challenge-item]) > .site-audio {
  align-self: center;
  flex: 0 0 52px;
  width: 52px;
  margin: 0;
}
