/* Shared presentation safeguards for all accepted layouts. */
html[data-skin] .chat-container {min-width:0}
html[data-skin] .messages-area {min-height:0;overflow-anchor:none}
html[data-skin] .msg {flex-shrink:0;min-width:0}
html[data-skin] .bubble {min-width:0;overflow-wrap:anywhere}
html[data-skin] .bubble pre {max-width:100%;overflow-x:auto}
html[data-skin] .bubble img {max-width:100%;height:auto}
html[data-skin] .header-actions {min-width:0;flex-wrap:wrap}
html[data-skin] .chat-header .btn {min-height:40px}
html[data-skin] .input-area {flex-shrink:0}
html[data-skin] .message-action-btn {min-height:36px}
html[data-skin] .skin-stage,.skin-social-context,.skin-log-heading {flex-shrink:0}
html[data-skin]:not([data-layout="workspace"]) .chat-header,
html[data-skin]:not([data-layout="workspace"]) .input-area {backdrop-filter:none;background:var(--bg-card)}
html[data-skin]:not([data-layout="workspace"]) .msg .bubble {box-shadow:none}
html[data-skin]:not([data-layout="workspace"]) .msg.user .bubble {background:var(--bubble-user-bg);color:var(--bubble-user-text)}
html[data-skin]:not([data-layout="workspace"]) .msg.user .speaker-name,
html[data-skin]:not([data-layout="workspace"]) .msg.user .message-action-btn {color:var(--text-secondary)}
html[data-skin]:not([data-layout="workspace"]) .online-sidebar {display:none}
html[data-skin]:not([data-layout="workspace"]) .workspace-members {display:inline-flex}
html[data-skin]:not([data-layout="workspace"]) .online-sidebar.workspace-open {display:block;position:fixed;z-index:120;inset:0 0 0 auto;width:min(360px,94vw);height:100dvh;padding:24px;overflow-y:auto;background:var(--bg-card);border-left:1px solid var(--border)}
.skin-reading-index {position:fixed;top:60px;bottom:0;left:0;width:250px;padding:24px 18px;background:var(--bg-card);border-right:1px solid var(--border);overflow-y:auto;z-index:20}
.skin-reading-index h2 {font-size:1.1rem;margin:0 0 8px}
.skin-reading-index .text-muted {font-size:.8rem;line-height:1.8}
.skin-date-links {display:grid;gap:8px;margin:24px 0}
.skin-date-links button {text-align:left;min-height:44px}
.skin-command-dialog {width:min(540px,calc(100vw - 32px));max-height:80dvh;overflow-y:auto;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:12px;padding:24px}
.skin-command-dialog::backdrop {background:var(--overlay)}
.skin-command-dialog h2 {font-size:1.2rem;margin:0 0 16px}
.skin-command-list {display:grid;gap:8px;margin:18px 0}
.skin-command-list button {text-align:left;min-height:44px;white-space:normal}
.skin-log-heading {display:flex;align-items:center;gap:24px;padding:12px 24px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-family:ui-monospace,monospace}
.skin-log-heading button {margin-left:auto}
.skin-social-context {display:flex;gap:16px;align-items:center;padding:14px 20px;background:var(--bg-tertiary)}
.skin-social-context span {font-size:.8rem}
@media(max-width:767px) {
 html[data-skin] .chat-header {flex-wrap:wrap;gap:8px;padding:10px 12px}
 html[data-skin] .chat-header .header-actions {gap:6px}
 html[data-skin] .chat-header .room-info {max-width:100%;flex-wrap:wrap}
 .skin-reading-index {display:none;top:0;z-index:118;width:min(320px,94vw);box-shadow:0 0 0 100vmax var(--overlay)}
 .skin-reading-index.skin-panel-open {display:block}
 .skin-log-heading {gap:10px;padding:10px 12px;font-size:.8rem;flex-wrap:wrap}
 .skin-social-context {padding:8px 12px}
}
@media(min-width:768px) {.skin-index-toggle,.skin-reading-index>button {display:none}}
