/* Prign · social presence. Keeps the live voice/chat behavior under a compact shell. */
:root{--bg:#f8f8f8;--line:#e7e7e7;--text:#202020;--muted:#747474;--positive:#376e54;--positive-bg:#edf5f0}
:root[data-theme=dark]{--bg:#101010;--panel:#191919;--line:#303030;--text:#f1f1f1;--muted:#a0a0a0;--positive:#9ad4b1;--positive-bg:#20362b}
body,:root[data-theme=dark] body{background:var(--bg)}
.app-shell{width:calc(100% - 32px);max-width:1024px;height:calc(100dvh - 32px);max-height:860px;min-height:620px;margin:16px auto;padding:0 32px 24px;border-radius:26px;background:var(--bg)}
.app-header{height:88px;min-height:88px;padding:0;gap:12px}.brand{font-size:38px;letter-spacing:-2.2px}.brand-line{font:11px/1.5 ui-monospace,monospace;letter-spacing:.4px;text-transform:none}.self-avatar{width:42px;height:42px}#headerPresence{display:none}
.workspace{grid-template-columns:258px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:32px}.app-rail{display:none}.voice-column{padding:9px 0 0;overflow-y:auto;scrollbar-width:thin;min-height:0}.conversation{flex:none}.circle{gap:0}.section-heading{padding:0 4px;margin-bottom:24px}.section-heading h2{font-size:16px;letter-spacing:-.3px}.presence-count{font-size:11px}.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px;max-height:min(360px,43dvh);overflow-y:auto;overflow-x:hidden;padding:6px 6px 8px}
.person,.people .invite{grid-column:auto;grid-row:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-height:0;width:auto;min-width:0;max-width:none;height:auto;padding:0 4px 9px;margin:0;border-radius:18px;text-align:center}.person.selected{background:transparent}.person:hover:not(:disabled),.people .invite:hover:not(:disabled){background:transparent}.person .avatar,.people .invite-avatar{width:72px;height:72px;font-size:22px;margin:5px 5px 8px;grid-column:auto;grid-row:auto}.person.selected .avatar{box-shadow:0 0 0 5px var(--bg),0 0 0 6px var(--text)}.person.selected.speaking .avatar,.voice-column:has(.talk.transmitting) .person.selected .avatar{box-shadow:0 0 0 5px var(--bg),0 0 0 6px var(--positive),0 0 0 9px var(--positive-bg)}.person .avatar.is-live:after{inset:-6px}.person.ready .avatar:before{width:8px;height:8px;right:1px;bottom:1px}.person>span:nth-child(2){grid-column:auto;grid-row:auto;align-self:center;font-size:13px;font-weight:600;line-height:19px;max-width:100%;overflow-wrap:anywhere;white-space:normal}.person small{grid-column:auto;grid-row:auto;align-self:center;font-size:11px;line-height:17px;max-width:100%;overflow-wrap:anywhere}.person .person-audio{display:none}.people .invite-avatar{display:grid;place-items:center;flex:none;border:1px dashed var(--line);border-radius:50%;font-size:26px;font-weight:300;line-height:1}.people .invite>span:nth-child(2){font-size:13px;font-weight:600;line-height:19px}.people .invite small{font-size:11px;line-height:17px}.empty-copy{padding:16px 4px;font-size:13px;line-height:21px}
.voice-dock{margin-top:22px;padding:23px 4px 0;border-top:1px solid var(--line);gap:12px}.voice-audience{flex-direction:row;align-items:flex-start!important;text-align:left;gap:9px;margin:0}.voice-audience>.signal-portrait{display:none}.voice-audience-copy{align-items:flex-start;gap:5px;flex:1}.voice-destination{font-size:15px;line-height:22px}.voice-gesture{font-size:12px;line-height:18px}.voice-dock:has(.talk.transmitting) .voice-gesture{color:var(--positive)}.talk{padding:14px 8px;border-radius:15px;min-height:46px}.talk-copy strong{font-size:12px;line-height:18px}.controls #handsFree{min-height:40px;padding:6px 5px}.voice-bottom{margin:0 4px;min-height:0}.voice-bottom:has(#toChannel[aria-pressed=true]){display:none}.voice-tail{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:24px 4px 0;color:var(--muted);font-size:11px}.voice-tail button{width:40px;height:40px;display:grid;place-items:center;border-radius:50%}
.channel{grid-column:2;gap:13px}.chat-surface{border-radius:26px;overflow:hidden}.channel-header{padding:22px 24px;border-radius:26px 26px 0 0}.channel-header h1{font:25px/1.25 Georgia,serif;letter-spacing:-.6px}.channel-subtitle{font-size:12px;line-height:18px;margin-top:5px}.channel-actions{align-self:center}.messages{padding:0 24px;overscroll-behavior:contain}.message{padding:20px 0;gap:11px}.message-meta{min-height:25px;margin-bottom:3px;gap:8px}.message-meta time{font-size:11px}.message-text{font-size:14px;line-height:1.6}.message-menu{top:20px}.message-menu summary{opacity:.65}.message.own .message-content{text-align:right}.message.own .message-meta{flex-direction:row-reverse;justify-content:flex-start}.message.own .message-meta time{margin:0}.message-quote{margin:7px 0;padding:2px 10px}.typing-indicator{padding:3px 24px 20px 69px;min-height:40px}.chat-day{font-size:11px;padding:20px 24px 0;letter-spacing:0}.chat-empty{height:100%;display:grid;place-items:center}.compose-surface{padding:9px 11px;border-radius:23px;box-shadow:0 5px 20px #00000004}.composer{gap:7px}.composer textarea{height:44px;min-height:44px;padding:10px 0;line-height:24px}.composer #sendMessage{height:35px;width:35px}.composer-foot{font-size:11px;padding:8px 3px 0}.invite-panel{left:0;top:78px}.channel:has(#channelMenu[open]) .chat-surface{overflow:visible}.composer textarea:focus-visible{outline:2px solid var(--muted);outline-offset:2px;border-radius:4px}
@media(max-width:900px){.app-shell{padding:0 20px 20px}.workspace{grid-template-columns:210px minmax(0,1fr);gap:20px}.person .avatar,.people .invite-avatar{width:64px;height:64px}.channel-header{padding:20px}.messages{padding-right:18px;padding-left:18px}.brand-line{max-width:160px}.voice-dock{padding-right:4px;padding-left:4px}}
@media(max-width:760px){.app-shell{width:100%;height:100dvh;max-height:none;min-height:620px;margin:0;padding:0 12px 14px;border-radius:0}.app-header{height:70px;min-height:70px;padding:0 6px}.brand{font-size:33px}.brand-line{display:none}.workspace{display:flex;flex-direction:column;gap:14px}.voice-column{padding:0;overflow:visible;flex-shrink:0}.section-heading{display:flex;margin:0 6px 10px;padding:0}.section-heading h2{font-size:13px}.presence-count{font-size:11px}.people{display:flex;flex-direction:row;gap:4px;padding:6px 6px 8px;max-height:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}.person,.people .invite{flex:0 0 calc((100% - 12px)/4);max-width:110px;min-width:60px;gap:4px;padding:0 0 6px;scroll-snap-align:start}.person .avatar,.people .invite-avatar{width:49px;height:49px;font-size:17px;margin:4px 4px 7px}.person>span:nth-child(2),.people .invite>span:nth-child(2){font-size:12px;line-height:18px}.person small{font-size:11px}.person.ready small,.people .invite small{display:none}.person.selected .avatar{box-shadow:0 0 0 4px var(--bg),0 0 0 5px var(--text)}.empty-copy{min-width:180px;flex:1;margin:0;padding:12px 4px}.voice-dock{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:14px 4px 0;margin-top:8px;border-top:1px solid var(--line)}.voice-audience{gap:0;align-items:flex-start}.voice-audience-copy{align-items:flex-start;gap:3px}.voice-destination{font-size:13px;line-height:18px}.voice-gesture{font-size:11px;line-height:16px}.talk{min-height:44px;max-width:155px;padding:12px}.talk-copy strong{font-size:11px}.controls{grid-column:1/-1}.controls #handsFree{min-height:40px;padding:4px}.voice-bottom{margin:0;justify-content:center}.voice-tail{display:none}.channel{gap:12px;min-height:180px}.chat-surface{border-radius:23px}.channel-header{padding:18px 16px;border-radius:23px 23px 0 0}.channel-header h1{font-size:23px;line-height:28px}.channel-subtitle{font-size:12px;line-height:18px}.channel-actions summary{width:36px;height:36px}.messages{padding:0 14px}.message{gap:8px;padding:18px 0}.message-menu{top:18px}.message-meta{min-height:22px;gap:6px}.message-meta strong{font-size:12px}.message-meta time{font-size:11px}.message-avatar{height:29px;width:29px;font-size:11px}.message-text{font-size:13px;line-height:1.6}.message-quote{font-size:12px}.typing-indicator{padding:3px 16px 12px 51px;min-height:31px}.compose-surface{padding:9px 10px}.composer textarea{font-size:16px}.composer button{width:34px;height:40px}.composer #sendMessage{width:35px;height:35px}.invite-panel{top:64px}.workspace:has(#chatInput:focus) .voice-dock{padding:14px 4px 0}}
@media(max-height:740px) and (min-width:761px){.app-header{height:72px;min-height:72px}.section-heading{margin-bottom:12px}.people{gap:12px 8px;max-height:31dvh}.person .avatar,.people .invite-avatar{height:60px;width:60px}.voice-dock{margin-top:14px;padding-top:16px}.voice-tail{padding-top:12px}}
@media(max-height:740px) and (max-width:760px){.app-shell{min-height:560px}.app-header{height:58px;min-height:58px}.section-heading{margin-bottom:4px}.voice-dock{padding-top:8px;margin-top:3px}.people{padding-bottom:3px}.channel-header{padding:12px 16px}.channel-subtitle{max-height:36px;overflow:auto}.workspace{gap:10px}}
@media(pointer:coarse){.channel-actions summary,.message-menu summary{width:44px;height:44px}.message-menu{top:8px}.message-meta{padding-right:44px}.message.own .message-meta{padding-left:44px;padding-right:0}.controls #handsFree,#toChannel{min-height:44px}.composer button,.composer #sendMessage{height:44px;width:44px}.composer textarea{min-width:0}.voice-tail button{height:44px;width:44px}}
