/* Interaction repairs only; the approved illustrated visual system is retained. */
.game-board,.board-surface,.diagram-mount,.sentence-diagram,.atelier-play{min-width:0;max-width:100%}
.diagram-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.diagram-pan-controls button{font-size:13px;min-height:44px;padding:6px 10px}
.diagram-pan-controls .diagram-pan-position{flex-basis:100%;order:3}
.game-board .toolbar{position:relative;z-index:2;flex-wrap:wrap}
.game-board .toolbar .undo-button{border:1px solid currentColor;background:var(--paper,#fffdf9);font-weight:600}
.game-board .toolbar .undo-button:disabled{opacity:.5}
.game-board .toolbar .reset-button{font-size:13px;min-height:44px}
.game-board .toolbar button[hidden]{display:none}
.game-board .diagram-word[data-drop-feedback="snap"] .word-face{animation-delay:calc(0ms - var(--drop-elapsed,0ms))}
.drop-magnet-field::before{animation-delay:calc(55ms - var(--drop-elapsed,0ms))}
.drop-magnet-field i{animation-delay:calc(70ms - var(--drop-elapsed,0ms))}
.game-board .diagram-lines .drop-connector-pulse{animation-delay:calc(65ms - var(--drop-elapsed,0ms))}
.sound-status{font-size:13px;line-height:1.5;color:var(--muted)}
@media(max-width:520px){
  .game-board .toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .game-board .toolbar button{min-height:48px;min-width:44px;margin:0;white-space:normal}
  .game-board .toolbar #check,.game-board .toolbar #continue{grid-column:2}
  .game-board .toolbar #hint{justify-self:start}
}
