[hidden]{display:none!important}
.member-chat{color-scheme:light;--bg:#f6f4ee;--paper:#fffdf8;--ink:#1c211f;--muted:#5d6661;--line:#d7d8d0;--accent:#0b6b55;--accent-ink:#ffffff;--mine:#e3f1ea;--error:#9b2f1f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
html[data-theme="dark"] .member-chat{color-scheme:dark;--bg:#121614;--paper:#1a1f1d;--ink:#ecf0ed;--muted:#a9b3ae;--line:#34403a;--accent:#79d3b1;--accent-ink:#0d1a15;--mine:#1f3a30;--error:#ff9c8a}
.member-chat,.member-chat *{box-sizing:border-box}
.member-chat{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--bg);color:var(--ink)}
body:has(>#room-root){margin:0}
#room-root>.member-chat{height:100dvh}
.member-chat .room-bar{display:flex;align-items:baseline;gap:14px;padding:12px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--paper)}
.member-chat .room-bar h1{margin:0;font-size:1rem}
.member-chat main{flex:1;display:flex;flex-direction:column;width:min(760px,100%);margin:0 auto;min-height:0}
.member-chat .chat-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:16px;list-style:none}
.member-chat .chat-messages li{--member-header-gap:3px;max-width:85%;margin:0 0 10px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);line-height:1.4;overflow-wrap:anywhere}
.member-chat .chat-messages li.mine{margin-left:auto;background:var(--mine)}
.member-chat .chat-messages .who{display:flex;align-items:center;gap:6px;margin-bottom:3px;color:var(--accent);font-size:.72rem;font-weight:750}
.member-chat .chat-messages .when{margin-left:8px;color:var(--muted);font-weight:400}
.member-chat .chat-messages .text{white-space:pre-wrap}
.member-chat .chat-messages li.pending{opacity:.65}
.member-chat .chat-messages li.failed{border-color:var(--error)}
.member-chat .chat-messages .retry{margin-top:6px;padding:3px 8px;font-size:.75rem}
.member-chat .chat-room-status{margin:0;padding:4px 16px;color:var(--muted);font-size:.78rem;min-height:1.6em}
.member-chat .chat-room-status.error{color:var(--error)}
.member-chat form{display:flex;gap:8px;padding:10px 16px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}
.member-chat textarea{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;resize:none;max-height:40vh}
.member-chat textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.member-chat button{padding:9px 16px;border:0;border-radius:10px;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:700;cursor:pointer}
.member-chat button:disabled{opacity:.55;cursor:default}
.member-chat button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.member-chat .chat-sign-in{padding:16px;color:var(--ink)}
.member-chat .chat-sign-in a{color:var(--accent)}
.member-chat .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.member-chat .room-bar small{color:var(--muted);background:var(--paper);font-size:.75rem}

/* The console owns viewport space; the message list owns scrolling. */
body[data-fairystack-shell="conversation"]:has(#surface-view[data-surface="chat"]:not([hidden])){display:flex;flex-direction:column;height:100dvh;min-height:0}
body:has(#surface-view[data-surface="chat"]:not([hidden])) #workshop{flex:1;min-height:0;padding-bottom:0}
#conversation:has(#surface-view[data-surface="chat"]:not([hidden])){display:flex;flex-direction:column;height:100%;min-height:0;gap:0}
#conversation:has(#surface-view[data-surface="chat"]:not([hidden])) #slow-lane{flex:1;min-height:0;width:100%}
#surface-view[data-surface="chat"]{display:flex;flex-direction:column;flex:1;min-height:0;margin:12px auto;padding:0;border:0;background:transparent;color:var(--ink)}
#surface-view[data-surface="chat"] #surface-root{display:flex;flex-direction:column;flex:1;min-height:0}
.member-chat .room-bar,.member-chat main>:not(.chat-messages){flex-shrink:0}
.member-chat .chat-message-input{min-height:44px}

.member-chat .delivery-error{margin:6px 0;color:var(--error);background:var(--paper);font-size:.8rem}

.member-chat .chat-account{display:flex;align-items:center;gap:9px;padding:9px 16px;background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.member-chat .chat-account strong,.member-chat .chat-account small{display:block;overflow-wrap:anywhere}
.member-chat .chat-account small{color:var(--muted);background:var(--paper);font-size:.75rem}
.member-chat .chat-account a{margin-left:auto;color:var(--accent);background:var(--paper);font-size:.8rem;white-space:nowrap}

.member-chat .chat-audience,.member-chat .chat-local-history{margin:0;padding:4px 16px;color:var(--muted);background:var(--bg);font-size:.72rem}
.member-chat .chat-local-history{color:var(--accent)}
.member-chat .author-stack{color:var(--muted);font-weight:400}
.member-chat .room-bar{flex-wrap:wrap;gap:4px 12px}

.chat-surface-content{display:flex;flex-direction:column;flex:1;min-height:0}
@media(max-width:620px){
 body:has(#surface-view[data-surface="chat"]:not([hidden])) #workshop{width:100%;margin:0}
 #surface-view[data-surface="chat"]:not([hidden]){width:100%;margin:0;border-radius:0}
}
