:root{--app-bg: #0f141b;--panel: #17212b;--panel-raised: #1f2c38;--panel-hover: #263544;--chat-bg: #0b1118;--bubble-in: #182533;--bubble-out: #2b5278;--bubble-out-soft: #37648f;--text: #f1f5f9;--text-soft: #a8b3c0;--text-faint: #748293;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--accent: #3390ec;--accent-soft: rgba(51, 144, 236, .18);--danger: #ef6b73;--success: #51b37f;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "SF Mono", "Fira Code", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--app-bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 .5rem;font-weight:650}h1{font-size:1.8rem}h2{font-size:1.25rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.label,.sidebar-label{color:var(--text-faint);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.rule{border:0;border-top:1px solid var(--line);margin:.75rem 0}.btn,.icon-btn,.composer-send,.chat-join,.contact-action,.topic-create-btn{border:0;font-family:var(--font);cursor:pointer}.btn{color:var(--text);background:var(--panel-raised);border-radius:8px;padding:.55rem .8rem;font-size:.9rem;font-weight:650}.btn:hover{background:var(--panel-hover)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#2784dc}.btn-quiet{background:transparent;color:var(--text-soft)}.btn-quiet:hover{background:var(--panel-hover);color:var(--text)}.btn-block{width:100%}.btn:disabled,.composer-send:disabled,.topic-create-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{width:2.3rem;height:2.3rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text-soft);font-size:.9rem}.icon-btn:hover{background:#ffffff14;color:var(--text)}.input,.composer-input,.topic-input{width:100%;border:1px solid var(--line);border-radius:8px;background:#111a23;color:var(--text);font-family:var(--font);font-size:.95rem;padding:.6rem .75rem}.input:focus,.composer-input:focus,.topic-input:focus{outline:none;border-color:var(--accent)}.error-note{color:var(--danger);font-size:.86rem;margin:0}.helper-note{margin:0;color:var(--text-soft);line-height:1.5}.page-center{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:2rem}.card{width:100%;max-width:25rem;display:flex;flex-direction:column;gap:.85rem;padding:1.4rem;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 50px #00000047}.brand{color:var(--text);text-align:center;font-size:1rem;font-weight:750}.shell{height:100%;display:flex;background:var(--app-bg);overflow:hidden}.sidebar{width:21rem;flex:none;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--line);overflow:hidden}.sidebar-top{height:3.7rem;padding:0 .75rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem}.ws-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750;font-size:1.02rem}.chat-search{padding:0 .75rem .55rem}.chat-search input{width:100%;height:2.25rem;border:0;border-radius:999px;background:#242f3d;color:var(--text);font:inherit;padding:0 .9rem}.chat-search input:focus{outline:2px solid var(--accent-soft)}.chat-list{flex:1;min-height:0;overflow-y:auto;padding:.2rem .35rem}.chat-row-wrap{position:relative;display:flex;align-items:center}.chat-row{width:100%;min-width:0;height:4.25rem;border:0;border-radius:8px;background:transparent;color:var(--text);display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.7rem;align-items:center;padding:.35rem .7rem;text-align:left;cursor:pointer}.chat-row:hover{background:#ffffff0d}.chat-row.active{background:var(--accent);color:#fff}.chat-avatar,.contact-avatar,.channel-avatar,.msg-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:999px;background:linear-gradient(135deg,#4f8fda,#7b61d1);color:#fff;font-weight:750}.chat-avatar{width:2.85rem;height:2.85rem}.chat-avatar.group{background:linear-gradient(135deg,#3d93c7,#3fba86)}.chat-avatar.dm{background:linear-gradient(135deg,#b06adb,#ef7d67)}.chat-row-copy{min-width:0;display:flex;flex-direction:column;gap:.18rem}.chat-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:flex;align-items:center;gap:.35rem}.chat-row-subtitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-faint);font-size:.86rem}.chat-row.active .chat-row-subtitle{color:#ffffffc7}.chat-join{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);background:#00000038;color:#fff;border-radius:999px;padding:.28rem .55rem;font-size:.76rem;font-weight:750}.excluded-note{color:var(--text-faint);font-size:.82rem;margin:.6rem 1rem}.contacts-list{max-height:33vh;overflow-y:auto;border-top:1px solid var(--line);padding:.7rem .75rem}.contact-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.55rem;align-items:center;min-height:2.45rem}.member-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center;min-height:2.45rem}.contact-row.member-row{grid-template-columns:2rem minmax(0,1fr) auto}.contact-avatar{width:1.8rem;height:1.8rem;font-size:.78rem}.member-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-name.agent:after{content:" bot";color:var(--accent);font-size:.72rem;font-weight:750}.contact-action{color:var(--accent);background:transparent;font-size:.8rem;font-weight:750}.contact-action:hover{color:#fff}.sidebar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:.65rem .75rem .8rem;border-top:1px solid var(--line)}.sidebar-actions .btn{min-width:0;padding-inline:.35rem;font-size:.78rem}.channel{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--chat-bg)}.channel-head{height:3.7rem;flex:none;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:0 .85rem;background:#17212bf5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.back-btn{display:none}.channel-avatar{width:2.35rem;height:2.35rem;background:linear-gradient(135deg,#ff984f,#e85d75)}.channel-heading{min-width:0;display:flex;flex-direction:column}.channel-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:1rem;font-weight:760}.channel-subtitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-faint);font-size:.8rem}.channel-body{flex:1;min-height:0;display:flex}.channel-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.topic-strip{flex:none;display:flex;align-items:center;gap:.45rem;overflow-x:auto;padding:.55rem .85rem;background:#0f141bb8;border-bottom:1px solid var(--line)}.topic-chip{height:2rem;flex:none;display:inline-flex;align-items:center;gap:.38rem;border:0;border-radius:999px;background:#ffffff12;color:var(--text-soft);padding:0 .75rem;font:inherit;font-size:.86rem;cursor:pointer}.topic-chip:hover,.topic-chip.active{background:var(--accent);color:#fff}.topic-icon{min-width:1.25rem;height:1.25rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff24;color:#fff;font-size:.72rem;font-weight:800}.topic-count{min-width:1.2rem;height:1.2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#00000038;font-size:.72rem}.topic-add{color:#fff;background:var(--accent-soft)}.topic-create{flex:none;display:flex;align-items:center;gap:.4rem}.topic-input{width:10rem;height:2rem;padding-block:.25rem}.topic-create-btn{height:2rem;border-radius:999px;padding:0 .75rem;background:var(--accent);color:#fff;font-weight:700}.message-scroll{flex:1;min-height:0;overflow-y:auto;padding:1.1rem 4vw .85rem;scroll-behavior:smooth}.msg-row{display:flex;align-items:flex-end;gap:.45rem;margin:.22rem 0}.msg-row.mine{justify-content:flex-end}.msg-avatar{width:2.15rem;height:2.15rem;margin-bottom:.12rem;font-size:.72rem;background:linear-gradient(135deg,#8f6bd9,#e07b65)}.msg-bubble{position:relative;max-width:min(42rem,72%);border-radius:16px 16px 16px 5px;background:var(--bubble-in);color:var(--text);padding:.48rem .65rem .45rem;box-shadow:0 1px #0000002e}.msg-row.mine .msg-bubble{border-radius:16px 16px 5px;background:var(--bubble-out)}.msg-meta{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.1rem}.msg-author{color:#7eb7ff;font-size:.82rem;font-weight:760}.msg-row.mine .msg-author{color:#ffffffdb}.msg-time{color:#ffffff8c;font-size:.72rem;margin-left:auto}.flair{display:inline-flex;align-items:center;border-radius:999px;padding:.05rem .32rem;font-size:.64rem;font-weight:800;text-transform:uppercase}.flair-agent{background:#3390ec33;color:#9dd0ff}.msg-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.msg-actions{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:.34rem}.reaction-strip{min-width:0;display:flex;flex-wrap:wrap;gap:.25rem}.reaction-pill,.reaction-quick{border:0;border-radius:999px;background:#ffffff1f;color:var(--text);font:inherit;font-size:.78rem;padding:.16rem .42rem;cursor:pointer}.reaction-pill.active{background:var(--accent);color:#fff}.reaction-quick{opacity:0;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease}.msg-bubble:hover .reaction-quick,.reaction-quick:focus-visible{opacity:1;transform:translateY(0)}.msg-thread-link{flex:none;border:0;background:transparent;color:#9ed0ff;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.msg-thread-link:hover{text-decoration:underline}.poll-card{margin-top:.5rem;display:flex;flex-direction:column;gap:.35rem}.poll-question{font-weight:750}.poll-options{display:flex;flex-direction:column;gap:.35rem}.poll-option{position:relative;min-height:2rem;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0f;color:var(--text);font:inherit;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .6rem}.poll-option.voted{border-color:var(--accent)}.poll-bar{position:absolute;inset:0 auto 0 0;background:#3390ec38;pointer-events:none}.poll-option-text,.poll-option-count{position:relative;z-index:1}.poll-option-count{color:var(--text-soft);font-size:.82rem}.poll-total{color:var(--text-faint);font-size:.78rem}.composer{flex:none;display:flex;align-items:flex-end;gap:.55rem;padding:.65rem 4vw .85rem;background:linear-gradient(to top,#0b1118fa,#0b1118c7);border-top:1px solid var(--line)}.composer-stack{flex:1;min-width:0;display:flex;flex-direction:column;gap:.45rem}.composer textarea{width:100%;min-height:2.55rem;max-height:9rem;resize:vertical;border:0;border-radius:18px;background:var(--panel-raised);color:var(--text);font:inherit;line-height:1.35;padding:.68rem .95rem}.composer textarea:focus{outline:2px solid var(--accent-soft)}.composer-icon{height:2.55rem;min-width:3.2rem;border:0;border-radius:999px;background:var(--panel-raised);color:var(--text-soft);font:inherit;font-weight:750;cursor:pointer}.composer-icon:hover,.composer-icon.active{background:var(--accent);color:#fff}.composer-send{height:2.55rem;min-width:4.2rem;border-radius:999px;background:var(--accent);color:#fff;font-weight:800;padding:0 1rem}.composer-send:hover{background:#2784dc}.composer .error-note{align-self:center}.poll-draft{display:flex;flex-direction:column;gap:.4rem;padding:.55rem;border-radius:12px;background:#1f2c38e6;border:1px solid var(--line)}.composer-mini{align-self:flex-start;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:750;cursor:pointer}.join-note{color:var(--text-soft);align-self:center}.side-panel{width:min(24rem,34vw);min-width:20rem;flex:none;display:flex;flex-direction:column;overflow-y:auto;background:var(--panel);border-left:1px solid var(--line);padding:.9rem}.side-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.7rem}.side-panel .composer{margin:auto -.9rem -.9rem;padding:.65rem .9rem .85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#0000007a;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{width:min(100%,27rem);max-width:27rem;max-height:min(calc(100dvh - 2rem),46rem);overflow-y:auto;overscroll-behavior:contain}.modal-agent{max-width:32rem}.invite-code{margin:0;font-family:var(--mono);font-size:.85rem;background:#101820;border:1px dashed var(--line-strong);border-radius:8px;padding:.65rem;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.guide-steps{margin:0;padding-left:1.15rem;color:var(--text-soft);display:flex;flex-direction:column;gap:.35rem}.details-panel{display:flex;flex-direction:column;gap:.8rem;padding:.7rem .8rem .8rem;border:1px solid var(--line);border-radius:8px;background:#ffffff08}.details-panel summary{cursor:pointer;color:var(--text-soft);font-weight:700}.details-panel[open] summary{margin-bottom:.1rem}.code-block{margin:0;font-family:var(--mono);font-size:.79rem;line-height:1.5;background:#101820;border:1px dashed var(--line-strong);border-radius:8px;padding:.75rem;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-height:10rem;overflow:auto;-webkit-user-select:all;user-select:all}.empty-note{color:var(--text-faint);text-align:center;margin:3rem auto}.chat-placeholder{flex:1;min-height:10rem;display:flex;align-items:center;justify-content:center;color:var(--text-faint);background:var(--chat-bg)}@media (max-width: 900px){.shell{flex-direction:column}.shell.chat-open .sidebar{display:none}.sidebar{width:100%;max-height:42vh;border-right:0;border-bottom:1px solid var(--line)}.sidebar-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.shell.chat-open .channel{flex:1;min-height:0}.channel-head{grid-template-columns:auto auto minmax(0,1fr) auto}.back-btn{display:inline-flex}.channel-body{flex-direction:column}.message-scroll{padding-inline:.65rem}.msg-bubble{max-width:min(88%,34rem)}.composer{padding-inline:.65rem}.side-panel{width:100%;min-width:0;max-height:45vh;border-left:0;border-top:1px solid var(--line)}}@media (max-width: 640px){.modal-backdrop{align-items:flex-start;padding:calc(.75rem + env(safe-area-inset-top)) .75rem calc(.75rem + env(safe-area-inset-bottom))}.modal,.modal-agent{width:100%;max-width:none;max-height:calc(100dvh - 1.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:1rem;gap:.75rem}.invite-code,.code-block{font-size:.76rem}.code-block{max-height:8.5rem}}
