.music-toggle{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;border:1px solid var(--line);border-radius:24px;background:#fff9edaa;padding:8px 13px;color:var(--muted);font:12px/1.5 var(--sans);white-space:nowrap;min-height:35px}
.music-toggle:before{content:'';width:6px;height:6px;border-radius:50%;background:#9ca18f}
.music-toggle.is-playing{border-color:#9aad96;color:var(--ink);background:#edf0df}
.music-toggle.is-playing:before{background:#60816b;box-shadow:0 0 0 3px #60816b14}
.music-toggle:disabled{cursor:wait;opacity:.65}
@media(max-width:760px){.masthead{flex-wrap:wrap}.music-toggle{padding:7px 10px;font-size:11px}}
.audio-panel{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin:14px 0 18px;background:#eee8d955;border:1px solid var(--line);border-radius:7px;position:relative;isolation:isolate}
.audio-panel .music-toggle{min-width:110px;min-height:44px;padding:10px 16px;font-size:13px;touch-action:manipulation;position:relative;z-index:1}
.audio-status{font-size:11px;line-height:1.8;color:var(--muted);flex:1;min-width:150px;overflow-wrap:anywhere}
@media(max-width:760px){body .wrap{padding-top:calc(18px + env(safe-area-inset-top,0px))}.audio-panel{gap:10px;margin-top:12px}.audio-panel .music-toggle{min-height:44px;padding:10px 14px;font-size:12px}}
@media(orientation:landscape) and (max-height:600px){#game .audio-panel{grid-column:1/-1;margin:0;padding:3px 9px;gap:12px}.audio-panel .music-toggle{min-height:44px;padding:9px 12px;font-size:12px}.audio-status{font-size:10px}.boards .board{width:min(100%,calc((100svh - 210px)*1.5))}}
.session-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:0 0 100%;padding-bottom:10px;border-bottom:1px solid var(--line)}
.session-actions .player-chip,.session-actions .quiet{margin:0;min-height:44px;padding:10px 15px;border:1px solid #c9b998;border-radius:6px;background:#fff9ed;font-size:13px;color:var(--ink);touch-action:manipulation;position:relative;z-index:1}
.session-actions .player-chip strong{max-width:140px}.session-actions .quiet{min-width:84px}.session-actions .player-label{font-size:11px}
@media(orientation:landscape) and (max-height:600px){#game .audio-panel{padding:6px 10px}.session-actions{flex:0 1 auto;padding:0 10px 0 0;border-bottom:0;border-right:1px solid var(--line);gap:7px}.session-actions .player-chip,.session-actions .quiet{min-height:44px;padding:9px 12px;font-size:12px}.audio-panel .audio-status{min-width:100px}}
/* A single compact control row; only an actual audio failure opens a message. */
#game .audio-panel,.audio-panel{display:flex;flex-wrap:nowrap;align-items:center;gap:7px;padding:6px 9px;margin-top:10px;margin-bottom:12px}
.audio-panel .session-actions{display:contents}
.audio-panel .session-actions .player-label{display:none}
.audio-panel .session-actions .player-chip{min-width:0;flex:1 1 auto;gap:5px;padding:8px 9px;min-height:44px;font-size:12px}
.audio-panel .session-actions .player-chip strong{min-width:0;max-width:95px}
.audio-panel .session-actions .player-chip>span:last-child{white-space:nowrap;flex-shrink:0}
.audio-panel .session-actions .quiet{flex:0 0 auto;min-width:62px;min-height:44px;padding:8px 9px;font-size:12px}
.audio-panel .music-toggle{flex:0 0 auto;min-width:89px;min-height:44px;padding:8px 10px;font-size:12px}
.audio-panel .audio-status{display:none}
.audio-panel.has-audio-feedback{flex-wrap:wrap}
.audio-panel.has-audio-feedback .audio-status{display:block;flex:0 0 100%;min-width:0;padding:2px 3px 4px;color:var(--red)}
@media(max-width:360px){.audio-panel{gap:5px;padding:5px 6px}.audio-panel .session-actions .player-chip strong{max-width:65px}.audio-panel .session-actions .quiet{min-width:56px;padding:8px 7px}.audio-panel .music-toggle{min-width:84px;padding:8px}}
