body.has-table{overflow:hidden}
#table-overlay.table-size-blocked #chat-dock,#table-overlay.table-size-blocked>p{visibility:hidden;pointer-events:none}
#table-overlay .table-overlay-head{flex-wrap:wrap}
#table-overlay>p{max-width:none;margin:0}
@media(min-width:1201px){.casino-layout{grid-template-columns:minmax(0,1fr) 230px 290px;gap:18px}.casino-layout>#chat-dock{position:sticky;top:16px;right:auto;bottom:auto;width:290px;max-width:none;align-self:start;box-shadow:none}.casino-layout>#chat-dock #chat-body{max-height:min(450px,calc(100dvh - 280px))}.casino-layout .sidebar-heading{flex-wrap:wrap}}
#interaction-dialog,#player-dialog{width:min(580px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:22px;border:1px solid var(--ink);border-radius:2px;background:var(--paper);color:var(--ink);box-shadow:0 12px 36px #1f1e1a33}
dialog::backdrop{background:#1f1e1a66}.dialog-close{display:block;margin-left:auto;margin-bottom:18px;min-height:44px}#interaction-dialog #interaction-panel{padding:0;border:0}#interaction-dialog h2{font-size:26px}#interaction-dialog form{display:grid;gap:16px}#interaction-dialog label{display:grid;gap:6px}#interaction-dialog .check-label{display:flex}#interaction-dialog button,#player-dialog button{min-height:44px}#player-dialog #player-menu{margin:0}
#table-overlay{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:0;padding:0;height:100dvh;overflow:hidden}#table-overlay .table-overlay-head{grid-column:1/-1;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--rule);padding:12px 20px;min-height:62px}.table-overlay-head img{display:block;max-width:160px;height:auto}.table-overlay-head strong{margin-right:auto;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-overlay-head button{min-height:44px}#table-frame{grid-column:1;grid-row:2;width:100%;height:100%;min-height:0}#table-overlay>p{grid-column:1;grid-row:3;border-top:1px solid var(--rule);padding:6px 16px;font-size:12px;background:var(--paper)}
@media(min-width:901px){#table-overlay.chat-expanded{grid-template-columns:minmax(0,1fr) 290px;padding:0}#table-overlay #chat-dock{grid-column:2;grid-row:2/4;position:static;width:290px;max-width:none;box-shadow:none;border:0;border-left:1px solid var(--rule);display:flex;flex-direction:column;background:var(--paper)}#table-overlay #chat-body{max-height:none;min-height:0;flex:1}#table-overlay #chat-log{height:auto;flex:1;min-height:40px}#table-overlay:not(.chat-expanded) #chat-dock{position:absolute;top:72px;bottom:auto;right:16px;width:220px;border:1px solid var(--rule);height:auto}#table-overlay:not(.chat-expanded){grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){#table-overlay .table-overlay-head{padding:8px 12px;min-height:60px;gap:10px}.table-overlay-head strong{display:none}.table-overlay-head img{max-width:140px}#table-overlay #chat-dock{top:70px;bottom:auto;right:12px;width:min(350px,calc(100vw - 24px))}#table-overlay #chat-dock:not(.is-open){width:130px}#table-overlay #chat-toggle{min-height:44px}#table-overlay #chat-location{display:none}#table-overlay #chat-body{max-height:calc(var(--chat-viewport,100dvh) - 170px)}#table-overlay #chat-log{flex-basis:100px}#table-overlay>p{font-size:12px;padding:5px 12px}#table-frame{padding-top:54px}}
@media(max-width:900px){#table-overlay .table-overlay-head{padding-right:84px}.table-overlay-head img{max-width:100px}#table-overlay #chat-dock:not(.is-open){top:8px;width:62px}#table-overlay #chat-dock:not(.is-open) #chat-toggle{padding:8px;justify-content:center}#table-overlay #chat-dock:not(.is-open) #chat-toggle-label{display:none}#table-overlay #chat-dock:not(.is-open) #chat-toggle>span:first-child{flex:none}#table-frame{padding-top:0}}

/* The iframe owns its header, return action and conversation now. Give it the
   entire viewport rather than repeating the room title and footer outside it. */
#table-overlay{grid-template-rows:minmax(0,1fr)}
#table-overlay .table-overlay-head,#table-overlay>p{display:none}
#table-overlay #table-frame{grid-row:1;padding:0}
/* The reserved chat column inherits the adventure dialogue, not paper chrome. */
@media(min-width:901px){#table-overlay #chat-dock{background:var(--dialogue-ink);border:4px double var(--dialogue-paper)}#table-overlay:not(.chat-expanded) #chat-dock{border:4px double var(--dialogue-paper)}}
@media(max-width:900px){#table-overlay .table-overlay-head{padding-right:108px}#table-overlay #chat-dock:not(.is-open){top:4px;width:84px;padding:2px}#table-overlay #chat-dock:not(.is-open) .chat-window-icon{display:none}#table-overlay #chat-dock:not(.is-open) #chat-toggle{padding:2px;min-height:44px}#table-overlay #chat-dock:not(.is-open) .chat-window-title{flex:none}}
