*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink: #07070d;--surface: #0e0e17;--surface-2: #14141f;--line: rgb(231 194 125 / .14);--line-strong: rgb(231 194 125 / .28);--text: #ece9e4;--muted: #9a978f;--faint: #6d6a64;--gold: #e7c27d;--gold-bright: #f6dfa6;--gold-rgb: 231 194 125;--teal: #5fd3c6;--teal-rgb: 95 211 198;--error: #d97070;--online: #7fc98f;--font-sans: "Geist", "Inter", system-ui, -apple-system, sans-serif;--font-display: "Fraunces", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--t-h2: clamp(1.7rem, 1.2rem + 2vw, 2.6rem);--t-h3: clamp(1.15rem, 1rem + .6vw, 1.4rem);--t-body: .95rem;--t-small: .86rem;--t-micro: .74rem;--s-1: 4px;--s-2: 8px;--s-3: 16px;--s-4: 24px;--s-5: 32px;--s-6: 48px;--s-7: 64px;--r-base: 4px;--r-soft: 12px;--r-pill: 999px;--ease: cubic-bezier(.16, 1, .3, 1);--ease-loop: cubic-bezier(.65, 0, .35, 1);--sidebar-w: 264px;--panel-w: 304px;--bg: var(--ink);--surface-alt: var(--surface-2);--text-muted: var(--muted);--text-light: var(--faint);--accent: var(--gold);--border: var(--line);--mint: var(--online);--peach: var(--teal)}html,body,#root{height:100%}html{color-scheme:dark}body{font-family:var(--font-sans);background:var(--ink);color:var(--text);font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.1;letter-spacing:-.015em}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:var(--r-base)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgb(var(--gold-rgb) / .18);border-radius:var(--r-pill)}::-webkit-scrollbar-thumb:hover{background:rgb(var(--gold-rgb) / .32)}::selection{background:rgb(var(--gold-rgb) / .24);color:var(--text)}.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink);padding:var(--s-4);background-image:radial-gradient(60% 50% at 50% 30%,rgb(var(--gold-rgb) / .06),transparent 70%)}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-soft);padding:var(--s-6) var(--s-5);width:100%;max-width:420px;animation:fadeUp .5s var(--ease)}.auth-logo{display:flex;align-items:center;gap:var(--s-2);justify-content:center;margin-bottom:var(--s-2)}.auth-logo-icon{width:40px;height:40px;border-radius:var(--r-base);background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:19px}.auth-logo-name{font-family:var(--font-display);font-size:25px;font-weight:500;letter-spacing:-.02em;color:var(--text)}.auth-tagline{color:var(--muted);font-size:var(--t-small);text-align:center;margin-bottom:var(--s-5)}.auth-quote{border-left:2px solid var(--gold);padding:var(--s-1) 0 var(--s-1) var(--s-3);margin-bottom:var(--s-5)}.auth-quote p{color:var(--muted);font-family:var(--font-display);font-size:.95rem;font-style:italic;line-height:1.5}.auth-tabs{display:flex;border:1px solid var(--line);border-radius:var(--r-base);overflow:hidden;margin-bottom:var(--s-4)}.auth-tab{flex:1;padding:10px;border:none;background:transparent;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;color:var(--muted);transition:color .2s var(--ease),background .2s var(--ease)}.auth-tab:hover{color:var(--text)}.auth-tab.active{background:rgb(var(--gold-rgb) / .1);color:var(--gold)}.form-group{margin-bottom:var(--s-3)}.form-label{display:block;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:var(--s-2)}.form-input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-base);font-family:var(--font-sans);font-size:var(--t-body);color:var(--text);background:var(--surface-2);transition:border-color .2s var(--ease);outline:none}.form-input:focus{border-color:var(--gold)}.form-input::placeholder{color:var(--faint)}.btn-primary{width:100%;padding:13px;border:1px solid var(--gold);border-radius:var(--r-base);background:var(--gold);color:var(--ink);font-family:var(--font-sans);font-size:var(--t-small);font-weight:600;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease);margin-top:var(--s-4);display:flex;align-items:center;justify-content:center;min-height:44px}.btn-primary:hover:not(:disabled){background:var(--gold-bright);border-color:var(--gold-bright)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:var(--error);font-size:var(--t-small);margin-top:var(--s-3);text-align:center}.app-layout{display:flex;height:100vh;overflow:hidden;background:var(--ink)}.sidebar{width:var(--sidebar-w);display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);flex-shrink:0;overflow:hidden}.sidebar-scroll{flex:1;overflow-y:auto;min-height:0}.sidebar-header{padding:var(--s-4) var(--s-3);display:flex;align-items:center;gap:var(--s-2);border-bottom:1px solid var(--line)}.sidebar-logo-icon{font-size:18px}.sidebar-logo-name{font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:-.015em;color:var(--text)}.sidebar-section{padding:var(--s-3) var(--s-2)}.sidebar-section-label{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.1em;color:var(--faint);text-transform:uppercase;padding-left:var(--s-2);margin-bottom:var(--s-2)}.channel-item{display:flex;align-items:center;gap:var(--s-2);width:100%;padding:9px var(--s-2);border:none;border-left:2px solid transparent;background:transparent;font-family:var(--font-sans);text-align:left;cursor:pointer;transition:color .15s var(--ease),background .15s var(--ease);color:var(--muted);font-size:var(--t-small);border-radius:0 var(--r-base) var(--r-base) 0}.channel-item:hover{color:var(--text);background:var(--surface-2)}.channel-item.is-static{cursor:default}.channel-item.is-static:hover{color:var(--muted);background:transparent}.channel-item.active{color:var(--gold);border-left-color:var(--gold);background:rgb(var(--gold-rgb) / .06)}.channel-icon{font-size:14px;width:18px;text-align:center}.channel-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-badge{font-family:var(--font-mono);background:rgb(var(--gold-rgb) / .14);color:var(--gold);font-size:var(--t-micro);padding:1px 7px;border-radius:var(--r-pill)}.dm-initial{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);font-family:var(--font-mono);font-size:10px;color:var(--muted);flex-shrink:0}.dm-dot{position:absolute;bottom:-1px;right:-1px;width:7px;height:7px;border-radius:50%;background:var(--online);border:1.5px solid var(--surface)}.sidebar-footer{margin-top:auto;padding:var(--s-3);border-top:1px solid var(--line);display:flex;align-items:center;gap:var(--s-2)}.user-avatar{width:34px;height:34px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;color:var(--gold);flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-size:var(--t-small);font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-status{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--muted);display:flex;align-items:center;gap:var(--s-1)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--online)}.user-status.is-offline{color:var(--gold)}.user-status.is-offline .status-dot{background:var(--gold);animation:pulse-dot 1.2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.25}}.sidebar-section-count{margin-left:var(--s-1);color:var(--muted);letter-spacing:0}.sidebar-empty{padding:var(--s-1) var(--s-2);font-size:var(--t-small);color:var(--faint)}.member-you{margin-left:auto;font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.btn-logout{width:30px;height:30px;border:1px solid var(--line);background:transparent;cursor:pointer;color:var(--muted);border-radius:var(--r-base);display:flex;align-items:center;justify-content:center;transition:color .2s var(--ease),border-color .2s var(--ease);font-size:14px}.btn-logout:hover{color:var(--error);border-color:var(--error)}.chat-area{flex:1;display:flex;flex-direction:column;background:var(--ink);min-width:0;overflow:hidden}.chat-header{padding:var(--s-3) var(--s-4);display:flex;align-items:center;gap:var(--s-3);border-bottom:1px solid var(--line);background:var(--surface)}.chat-header-icon{font-size:20px}.chat-header-info{flex:1;min-width:0}.chat-header-name{font-family:var(--font-display);font-size:17px;font-weight:500;letter-spacing:-.015em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-desc{font-size:var(--t-micro);color:var(--muted);margin-top:2px}.header-actions{display:flex;gap:var(--s-2)}.btn-icon{width:34px;height:34px;border:1px solid var(--line);background:transparent;border-radius:var(--r-base);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:border-color .2s var(--ease),background .2s var(--ease);color:var(--muted)}.btn-icon:hover{border-color:var(--gold);background:rgb(var(--gold-rgb) / .07)}.messages-container{flex:1;overflow-y:auto;padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3)}.messages-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center;gap:var(--s-3)}.messages-empty-icon{font-size:40px;opacity:.4}.messages-empty-quote{font-family:var(--font-display);font-style:italic;font-size:1.15rem;color:var(--text);max-width:34ch;line-height:1.4}.msg-row{display:flex;align-items:flex-start;gap:var(--s-2);animation:fadeUp .3s var(--ease)}.msg-row.own{flex-direction:row-reverse}.msg-avatar{width:32px;height:32px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10px;color:var(--muted);flex-shrink:0}.msg-content{max-width:62ch;display:flex;flex-direction:column}.msg-row.own .msg-content{align-items:flex-end}.msg-header{display:flex;align-items:baseline;gap:var(--s-2);margin-bottom:var(--s-1)}.msg-row.own .msg-header{flex-direction:row-reverse}.msg-username{font-size:var(--t-small);font-weight:500;color:var(--text)}.msg-sim-tag{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--faint);border:1px solid var(--line);border-radius:var(--r-pill);padding:0 5px;line-height:1.5}.msg-time{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--faint)}.msg-bubble{padding:10px var(--s-3);border-radius:var(--r-soft);background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:var(--t-body);line-height:1.6;word-break:break-word}.msg-row.own .msg-bubble{background:var(--gold);border-color:var(--gold);color:var(--ink)}.msg-reactions{display:flex;gap:var(--s-1);margin-top:var(--s-1);flex-wrap:wrap}.reaction-chip{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 9px;font-family:var(--font-mono);font-size:var(--t-micro);cursor:pointer;transition:border-color .15s var(--ease);display:flex;align-items:center;gap:var(--s-1);color:var(--text)}.reaction-chip:hover{border-color:var(--gold)}.msg-quick-reactions{display:flex;gap:var(--s-1);margin-top:var(--s-1);opacity:0;transition:opacity .2s var(--ease)}.msg-row:hover .msg-quick-reactions,.msg-quick-reactions:focus-within{opacity:1}.quick-reaction{background:none;border:none;cursor:pointer;font-size:13px;line-height:1;padding:2px;opacity:.55;transition:opacity .15s var(--ease)}.quick-reaction:hover{opacity:1}.typing-indicator{padding:0 var(--s-4) var(--s-2);display:flex;align-items:center;gap:var(--s-2);color:var(--muted);font-size:var(--t-micro);min-height:26px}.typing-dots{display:flex;gap:3px}.typing-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);animation:bounce 1.2s var(--ease-loop) infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}.input-area{padding:var(--s-3) var(--s-4) var(--s-4);border-top:1px solid var(--line);background:var(--surface)}.conn-banner{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-base);background:#e7c27d0f;font-size:var(--t-small);color:var(--gold)}.conn-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;animation:pulse-dot 1.2s ease-in-out infinite}.input-box{display:flex;align-items:flex-end;gap:var(--s-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-soft);padding:var(--s-2);transition:border-color .2s var(--ease)}.input-box:focus-within{border-color:var(--line-strong)}.msg-input{flex:1;border:none;background:none;outline:none;resize:none;font-family:var(--font-sans);font-size:var(--t-body);color:var(--text);max-height:120px;min-height:24px;line-height:1.5;padding:var(--s-1) var(--s-2)}.msg-input::placeholder{color:var(--faint)}.input-actions{display:flex;gap:var(--s-2);align-items:center}.btn-format{padding:8px 12px;border:1px solid rgb(var(--teal-rgb) / .35);border-radius:var(--r-base);background:transparent;color:var(--teal);font-family:var(--font-mono);font-size:var(--t-micro);cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease);white-space:nowrap;min-height:34px;display:flex;align-items:center}.btn-format:hover:not(:disabled){background:rgb(var(--teal-rgb) / .1);border-color:var(--teal)}.btn-format:disabled{opacity:.4;cursor:not-allowed}.btn-send{width:34px;height:34px;border:1px solid var(--gold);border-radius:var(--r-base);background:var(--gold);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:background .2s var(--ease),opacity .2s var(--ease);flex-shrink:0}.btn-send:hover:not(:disabled){background:var(--gold-bright)}.btn-send:disabled{opacity:.35;cursor:not-allowed}.input-hint{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--faint);margin-top:var(--s-2);text-align:center}.input-hint kbd{font-family:var(--font-mono);border:1px solid var(--line);border-radius:3px;padding:1px 5px;color:var(--muted)}.ai-panel{width:var(--panel-w);background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.ai-panel-header{padding:var(--s-3);display:flex;align-items:center;gap:var(--s-2);border-bottom:1px solid var(--line)}.ai-panel-title{font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-summarize{padding:7px 12px;border:1px solid rgb(var(--teal-rgb) / .35);border-radius:var(--r-base);background:transparent;color:var(--teal);font-family:var(--font-mono);font-size:var(--t-micro);cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease);display:flex;align-items:center;min-height:32px}.btn-summarize:hover:not(:disabled){background:rgb(var(--teal-rgb) / .1);border-color:var(--teal)}.btn-summarize:disabled{opacity:.4;cursor:not-allowed}.ai-panel-body{flex:1;overflow-y:auto;padding:var(--s-3)}.ai-summary-card{background:var(--surface-2);border:1px solid rgb(var(--teal-rgb) / .2);border-radius:var(--r-soft);padding:var(--s-3);animation:fadeUp .4s var(--ease);margin-bottom:var(--s-4)}.ai-summary-label{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.1em;color:var(--teal);text-transform:uppercase;margin-bottom:var(--s-2)}.ai-summary-text{font-size:var(--t-small);color:var(--muted);line-height:1.7}.ai-summary-text strong{color:var(--text);font-weight:500}.ai-summary-text ul{padding-left:var(--s-3);margin:var(--s-2) 0;list-style:none}.ai-summary-text li{margin-bottom:var(--s-1);position:relative}.ai-summary-text li:before{content:"";position:absolute;left:calc(-1 * var(--s-2));top:.82em;width:5px;height:1px;background:var(--teal)}.ai-summary-text li.sub{padding-left:var(--s-2)}.ai-summary-text li.sub:before{left:0;background:var(--faint)}.ai-summary-source{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--faint);margin-top:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--line);word-break:break-all}.ai-error{color:var(--error);font-size:var(--t-micro);margin-bottom:var(--s-3)}.ai-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;text-align:center;color:var(--muted);gap:var(--s-2);border:1px dashed var(--line);border-radius:var(--r-soft);padding:var(--s-4) var(--s-3);margin-bottom:var(--s-4)}.ai-empty-icon{font-size:26px;opacity:.5}.ai-empty-text{font-size:var(--t-small);line-height:1.5;max-width:26ch}.ai-empty-text strong{color:var(--teal);font-weight:500}.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#07070dd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeIn .25s var(--ease)}.call-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-soft);padding:var(--s-6) var(--s-5);text-align:center;width:360px;max-width:calc(100vw - var(--s-5));animation:fadeUp .4s var(--ease)}.call-avatar-ring{width:84px;height:84px;border-radius:50%;margin:0 auto var(--s-4);background:var(--surface-2);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:22px;color:var(--gold);animation:pulse-ring 2s var(--ease-loop) infinite}.call-name{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--text);margin-bottom:var(--s-1)}.call-status{font-family:var(--font-mono);color:var(--muted);font-size:var(--t-micro);margin-bottom:var(--s-6)}.call-controls{display:flex;justify-content:center;gap:var(--s-3)}.call-btn{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:19px;transition:border-color .2s var(--ease),background .2s var(--ease);background:var(--surface-2);color:var(--muted)}.call-btn:hover{border-color:var(--gold)}.call-btn.is-off{opacity:.45;position:relative}.call-btn.is-off:after{content:"";position:absolute;left:22%;right:22%;top:50%;height:2px;background:var(--error);transform:rotate(-45deg);border-radius:2px}.call-btn.end{background:var(--error);border-color:var(--error);color:var(--ink)}.call-btn.end:hover{background:#e88585;border-color:#e88585}.call-footnote{margin-top:var(--s-4);font-family:var(--font-mono);font-size:var(--t-micro);color:var(--faint)}.room-placeholder{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);text-align:center}.room-placeholder-icon{font-size:36px;opacity:.4;margin-bottom:var(--s-2)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}@keyframes pulse-ring{0%,to{box-shadow:0 0 rgb(var(--gold-rgb) / .3)}50%{box-shadow:0 0 0 12px rgb(var(--gold-rgb) / 0)}}.spinner{width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.btn-nav,.btn-panel-close,.nav-scrim{display:none}@media (max-width: 1080px){.ai-panel{position:fixed;inset:0 0 0 auto;width:min(var(--panel-w),100vw);z-index:60;border-left:1px solid var(--line-strong);animation:slideIn .25s var(--ease)}.btn-panel-close{display:flex}}@media (max-width: 720px){.sidebar{position:fixed;inset:0 auto 0 0;width:min(var(--sidebar-w),84vw);z-index:70;border-right:1px solid var(--line-strong);transform:translate(-100%);transition:transform .25s var(--ease)}.app-layout.nav-open .sidebar{transform:none}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;border:none;background:#07070d99;opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}.app-layout.nav-open .nav-scrim{opacity:1;pointer-events:auto}.btn-nav{display:flex}.messages-container{padding:var(--s-3)}.chat-header,.input-area{padding-inline:var(--s-3)}.chat-header{gap:var(--s-2)}.chat-header-desc{display:none}.msg-content{max-width:78vw}}@media (hover: none){.msg-quick-reactions{opacity:1}.quick-reaction{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:16px;opacity:.8}.btn-icon,.btn-send,.btn-logout{min-width:44px;min-height:44px}.btn-format,.btn-summarize,.auth-tab,.channel-item{min-height:44px}.reaction-chip{min-height:36px;padding-inline:12px}.msg-input{min-height:40px}.input-box{align-items:center}.input-hint{display:none}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:none}}@media (max-height: 500px){.input-area,.chat-header,.sidebar-header,.messages-container{padding-block:var(--s-2)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.people-panel{width:var(--panel-w);background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.people-header{padding:var(--s-3);display:flex;align-items:center;gap:var(--s-2);border-bottom:1px solid var(--line)}.people-title{flex:1;font-family:var(--font-display);font-size:15px;color:var(--text)}.people-tabs{display:flex;gap:var(--s-1);padding:var(--s-2) var(--s-2) 0;border-bottom:1px solid var(--line)}.people-tab{flex:1;padding:var(--s-2) var(--s-1);background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:color .18s var(--ease),border-color .18s var(--ease)}.people-tab:hover{color:var(--text)}.people-tab.active{color:var(--gold);border-bottom-color:var(--gold)}.people-body{flex:1;overflow-y:auto;padding:var(--s-3)}.people-error{margin-bottom:var(--s-2)}.people-search{margin-bottom:var(--s-3)}.person-row{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2);border-radius:var(--r-base);transition:background .18s var(--ease)}.person-row:hover{background:var(--surface-2)}.person-row.is-pickable{cursor:pointer}.person-row.is-pickable input{accent-color:var(--gold);cursor:pointer}.person-avatar{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--t-micro);color:var(--gold)}.person-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.person-name{display:flex;align-items:center;gap:var(--s-1);font-size:var(--t-small);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-sub{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--faint)}.person-actions{display:flex;gap:var(--s-1);flex-shrink:0}.btn-mini{padding:var(--s-1) var(--s-2);border:1px solid var(--line);border-radius:var(--r-pill);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--t-micro);cursor:pointer;white-space:nowrap;transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease)}.btn-mini:hover:not(:disabled){color:var(--gold);border-color:var(--gold)}.btn-mini:disabled{opacity:.5;cursor:not-allowed}.btn-mini.primary{color:var(--ink);background:var(--gold);border-color:var(--gold)}.btn-mini.primary:hover:not(:disabled){background:var(--gold-bright);color:var(--ink)}.btn-mini.is-muted{color:var(--faint);cursor:default}.btn-add-people{width:100%;display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2);border:1px dashed var(--line-strong);border-radius:var(--r-base);background:transparent;color:var(--gold);font-family:var(--font-sans);font-size:var(--t-small);text-align:left;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease)}.btn-add-people:hover{background:rgb(var(--gold-rgb) / .07);border-color:var(--gold)}.icon-picker{display:flex;flex-wrap:wrap;gap:var(--s-1)}.icon-choice{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-base);background:var(--surface-2);font-size:16px;cursor:pointer;transition:border-color .18s var(--ease),background .18s var(--ease)}.icon-choice:hover{border-color:var(--line-strong)}.icon-choice.active{border-color:var(--gold);background:rgb(var(--gold-rgb) / .1)}.form-hint{margin-top:var(--s-1);font-family:var(--font-mono);font-size:var(--t-micro);color:var(--faint)}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:right 18px center,right 13px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.channel-icon.is-avatar,.chat-header-icon.is-avatar{display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);font-family:var(--font-mono);color:var(--gold)}.channel-icon.is-avatar{width:20px;height:20px;font-size:9px}.chat-header-icon.is-avatar{width:32px;height:32px;font-size:var(--t-micro)}.btn-load-older{align-self:center;margin-bottom:var(--s-3);padding:var(--s-1) var(--s-3);border:1px solid var(--line);border-radius:var(--r-pill);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--t-micro);cursor:pointer;transition:color .18s var(--ease),border-color .18s var(--ease)}.btn-load-older:hover:not(:disabled){color:var(--gold);border-color:var(--gold)}.btn-load-older:disabled{opacity:.5;cursor:not-allowed}.msg-row.is-deleted .msg-bubble{background:transparent;border-style:dashed;color:var(--faint);font-style:italic}.quick-delete:hover{color:var(--error)}@media (max-width: 1300px){.people-panel{position:fixed;inset:0 0 0 auto;width:min(var(--panel-w),100vw);z-index:65;border-left:1px solid var(--line-strong);animation:slideIn .25s var(--ease)}}.conn-banner.is-readonly{color:var(--muted);border-color:var(--line)}
