/* All controls and chat occupy ordinary room layout space. */
#walkieBtn,#callPrompt{display:none!important}
#roomComms[hidden],#roomChatArea[hidden],#roomComms [hidden]{display:none!important}
#roomComms{position:relative;flex:0 0 auto;padding:4px 10px;background:#0b2119;border-block:1px solid #b8985133;z-index:auto}
.room-tools{display:flex;justify-content:flex-start;align-items:center;gap:6px;flex-wrap:wrap}
.room-tools button,#roomAudioInvite button,#roomAudioUnblock{font:inherit;font-size:11px;border:1px solid #c8aa6477;border-radius:8px;color:#eed59a;background:#251f13;padding:7px 9px;cursor:pointer}
.room-tools button:disabled{opacity:.5;cursor:not-allowed}
#roomTalk{touch-action:none;user-select:none;-webkit-user-select:none;min-height:36px}
#roomTalk.transmitting{background:#49692b;outline:2px solid #edce75}
#roomCall[aria-pressed=true]{background:#3d5e30}
#roomRadioControls{display:flex;align-items:center;gap:4px}
#roomRadioControls :is(.radio-btn,.radio-mute-btn,.radio-unmute-hint){position:static!important;inset:auto!important;transform:none;margin:0;z-index:auto;box-shadow:none}
#roomRadioControls .radio-btn{width:40px;height:34px}
#roomVoiceStatus{font-size:10px;line-height:1.4;text-align:center;color:#d7c59e;overflow-wrap:anywhere;margin-top:3px}
#roomAudioInvite{font-size:11px;text-align:center;padding:4px}
#roomChatArea{position:relative;flex:0 0 auto;background:#081b14;padding:5px 10px 7px;border-top:1px solid #b8985133;min-height:0}
.room-chat-title{font-size:10px;color:#dbc18c;margin-bottom:3px}
#roomChatArea #chatDock{display:flex!important;position:static!important;inset:auto!important;width:100%!important;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;background:none;backdrop-filter:none;z-index:auto}
#roomChatArea .chat-head,#roomChatArea .chat-note{display:none}
#roomChatArea .chat-body{display:flex!important;padding:0}
#roomChatArea .chat-log{height:70px;min-height:50px;flex-direction:column;gap:4px;margin:0 0 4px;padding:2px;border:0;scroll-behavior:auto}
#roomChatArea .chat-msg{display:flex;align-items:baseline;gap:7px;flex-direction:row-reverse;justify-content:flex-end;max-width:100%}
#roomChatArea .chat-bubble{font-size:11px;padding:2px 5px;white-space:pre-wrap;overflow-wrap:anywhere}
#roomChatArea .chat-meta{font-size:9px;flex:none;display:flex;gap:5px}
#roomChatArea .chat-form{display:flex;margin:0}
#roomChatArea .chat-feedback{font-size:9px;margin:1px 0 0;min-height:0}
#roomChatArea .chat-feedback:empty{display:none}
.stage #trick .played-by,.v3-name[hidden]{display:none!important}
/* Anchor the fan's grip to the character canvas, independent of card count. */
.stage .hidden-hand{width:0;height:0;transform:none}
.stage .hidden-hand .mini-back{margin-left:0;bottom:0;width:calc(var(--sw,640px)*.018);height:calc(var(--sw,640px)*.0256)}
@media(orientation:portrait) and (max-width:700px){
 body:has(.stage.hand-docked){overflow-y:auto}
 body:has(.stage.hand-docked) #app{height:auto;min-height:100dvh}
 .hand-dock.show{flex:1 0 245px;min-height:245px;max-height:280px}
 #roomComms{padding:3px 6px}
 #roomVoiceStatus{font-size:9px}
 #roomChatArea{padding:4px 8px}
 #roomChatArea .chat-log{height:60px;min-height:50px}
 #roomChatArea .chat-input{font-size:16px;padding:5px 7px}
 #roomChatArea .chat-send{padding:5px 9px}
}
