.chat-page { padding-bottom: 54px; }
.chat-head { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.connection-state { display:flex; align-items:center; gap:8px; padding:9px 11px; color:var(--muted); font:700 12px ui-monospace,Consolas,monospace; border:1px solid var(--line); border-radius:4px; background:rgba(10,30,32,.75); white-space:nowrap; }
.connection-state i { display:block; width:8px; height:8px; border-radius:50%; background:var(--amber); }.connection-state.connected i { background:var(--mint); box-shadow:0 0 0 4px rgba(125,245,210,.11); }.connection-state.disconnected i { background:var(--danger); }
.chat-app { display:grid; min-height:600px; grid-template-columns:220px minmax(0,1fr); overflow:hidden; border:1px solid var(--line); border-radius:6px; background:rgba(8,23,25,.88); box-shadow:var(--shadow); }
.people-panel { padding:18px; border-right:1px solid var(--line); background:rgba(12,34,36,.56); }.people-title { display:flex; align-items:baseline; justify-content:space-between; gap:7px; padding-bottom:14px; color:var(--muted); font-size:14px; border-bottom:1px solid rgba(150,170,167,.14); }.people-title strong { color:var(--mint); font:700 12px ui-monospace,Consolas,monospace; }.people-panel ul { padding:0; margin:14px 0; list-style:none; }.people-panel li { display:flex; align-items:center; gap:8px; padding:7px 0; overflow:hidden; color:#c7ddd7; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }.people-panel li::before { flex:none; width:7px; height:7px; content:""; border-radius:50%; background:var(--mint); box-shadow:0 0 0 3px rgba(125,245,210,.1); }
.conversation { position:relative; display:flex; min-width:0; flex-direction:column; }.conversation-bar { display:flex; min-height:62px; align-items:center; justify-content:space-between; gap:12px; padding:12px 17px; border-bottom:1px solid var(--line); }.conversation-bar strong { display:block; font-size:18px; }.conversation-bar span { display:none; margin-top:4px; color:var(--mint); font:12px ui-monospace,Consolas,monospace; }
.message-list { flex:1; min-height:400px; padding:18px clamp(14px,3vw,30px); overflow-y:auto; scroll-behavior:smooth; }.message { width:fit-content; max-width:min(88%,660px); margin:0 0 18px; }.message-meta { display:flex; align-items:center; gap:9px; margin-bottom:5px; color:var(--muted); font-size:12px; }.message-name { color:var(--mint); font-weight:700; }.message-body { padding:10px 13px; overflow-wrap:anywhere; line-height:1.55; border:1px solid rgba(125,245,210,.14); border-radius:2px 10px 10px 10px; background:#123033; white-space:pre-wrap; }.message.system { width:auto; max-width:none; margin:12px 0; text-align:center; }.message.system .message-body { display:inline-block; padding:5px 9px; color:#829895; font-size:12px; border:0; border-radius:20px; background:rgba(125,245,210,.07); }.message.system .message-meta { display:none; }
.composer { display:flex; align-items:end; gap:10px; padding:13px 16px max(13px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:rgba(11,28,30,.92); }.composer textarea { width:100%; min-height:42px; max-height:120px; padding:10px 11px; resize:none; color:var(--ink); outline:0; border:1px solid rgba(150,170,167,.26); border-radius:4px; background:#0b2022; line-height:1.35; }.composer textarea:focus { border-color:var(--mint); box-shadow:0 0 0 3px rgba(125,245,210,.08); }.composer textarea:disabled { opacity:.55; }.composer .button { flex:none; }
.new-messages { position:absolute; z-index:3; right:24px; bottom:79px; padding:8px 11px; color:#06100f; font-weight:700; border:0; border-radius:20px; background:var(--mint); box-shadow:var(--shadow); }
.name-dialog { width:min(430px,calc(100% - 32px)); padding:0; color:var(--ink); border:1px solid var(--line); border-radius:6px; background:#0c2325; box-shadow:0 30px 75px rgba(0,0,0,.65); }.name-dialog::backdrop { background:rgba(2,8,9,.78); backdrop-filter:blur(5px); }.name-dialog form { padding:28px; }.name-dialog h2 { margin-bottom:10px; }.name-dialog p:not(.eyebrow) { color:var(--muted); line-height:1.55; }.name-dialog label { display:block; margin:20px 0 7px; color:#bad0ca; font-size:14px; }.name-dialog input { width:100%; padding:11px; color:var(--ink); outline:0; border:1px solid var(--line); border-radius:4px; background:#07191a; }.name-dialog input:focus { border-color:var(--mint); }.form-error { display:block; min-height:19px; margin-top:7px; color:var(--danger); font-size:13px; }.dialog-actions { display:flex; justify-content:end; margin-top:10px; }.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:760px) { .chat-head { align-items:flex-start; }.connection-state { margin-top:12px; }.chat-app { display:flex; min-height:calc(100vh - 254px); flex-direction:column; }.people-panel { order:2; padding:8px 15px; border-top:1px solid var(--line); border-right:0; }.people-title { display:none; }.people-panel ul { display:flex; gap:9px; margin:0; overflow-x:auto; }.people-panel li { padding:5px 0; font-size:12px; }.conversation { min-height:520px; }.conversation-bar span { display:block; }.message-list { min-height:0; }.new-messages { right:15px; bottom:76px; }.composer { padding:10px 12px max(10px,env(safe-area-inset-bottom)); }.composer .button { min-width:57px; }.chat-head .page-head { padding-bottom:0; } }
@media (max-width:440px) { .chat-head { display:block; }.connection-state { display:inline-flex; }.conversation-bar { padding:10px 12px; }.conversation-bar .button { padding:7px 9px; font-size:12px; }.message-list { padding:14px; }.message { max-width:94%; } }
