:root{font-family:'DM Sans','Noto Sans SC',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:light;--bg:#fafaff;--surface:#fff;--panel:#f7f7fc;--sidebar:#f7f8fd;--border:#e9eaf3;--ink:#242a40;--muted:#8b90a7;--muted2:#a0a5b5;--accent:#7067ef;--accent-deep:#6158d9;--accent-soft:#eeecff;--shadow:0 15px 50px rgba(46,46,95,.08);--message:#f5f6fa}
*{box-sizing:border-box}html,body{height:100%;height:100dvh;margin:0;overflow:hidden}body{background:var(--bg);color:var(--ink);font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;flex-shrink:0}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a9a4ff;outline-offset:2px}[hidden]{display:none!important}
.app-shell{display:flex;width:100%;height:100%;overflow:hidden}.sidebar{width:282px;flex:0 0 282px;background:var(--sidebar);display:flex;flex-direction:column;border-right:1px solid var(--border);z-index:3;min-height:0}.brand-bar{height:104px;display:flex;align-items:center;padding:24px 22px 23px;gap:12px;flex-shrink:0}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#8982ff,#5f55e5);display:grid;place-items:center;box-shadow:0 7px 20px #7067ef35}.brand-mark svg{width:29px;height:29px;stroke:none}.brand-wordmark{min-width:0}.brand-wordmark strong{display:block;font-size:20px;line-height:1.1;letter-spacing:-.6px}.brand-en{font-size:13px;letter-spacing:-.4px;color:#9490d7;margin-left:7px;font-weight:800}.brand-wordmark small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.sidebar-content{min-height:0;overflow-y:auto;flex:1;padding:18px 14px}.sidebar-content::-webkit-scrollbar{width:5px}.sidebar-content::-webkit-scrollbar-thumb{background:#d8d9e6;border-radius:9px}.sidebar-label{font-size:11px;font-weight:800;letter-spacing:1.2px;color:var(--muted);margin:3px 12px 16px}.sidebar-label-suffix{font-size:9px;letter-spacing:1.3px;font-weight:600;float:right;color:#b8bbcb}.create-button{width:100%;border:0;border-radius:12px;height:47px;background:var(--accent);color:white;font-weight:700;display:flex;align-items:center;gap:11px;padding:0 15px;box-shadow:0 7px 17px #736cf12f;transition:transform .18s,background .18s}.create-button:hover{background:var(--accent-deep);transform:translateY(-1px)}.create-button svg{width:18px}.create-spark{margin-left:auto;font-size:17px;opacity:.75}.nav-section-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;color:#858ba3;margin:35px 11px 12px}.subtle-icon{border:0;background:transparent;color:#8c92a7;display:grid;place-items:center;width:25px;height:25px;border-radius:7px}.subtle-icon:hover{background:var(--accent-soft);color:var(--accent)}.subtle-icon svg{width:16px;height:16px}.room-list{display:flex;flex-direction:column;gap:4px}.room-link{display:flex;align-items:center;width:100%;min-height:44px;padding:9px 12px;border:0;background:transparent;text-align:left;border-radius:11px;color:#727b93;gap:11px;transition:background .2s,color .2s}.room-link:hover{background:#eeeff9;color:var(--ink)}.room-link.active{background:#e9e7ff;color:#6158dc;font-weight:800}.room-symbol{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;font-size:18px;font-weight:500;flex:none}.room-link.active .room-symbol{color:#6057df}.room-link .room-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;font-weight:600}.room-link .room-arrow{margin-left:auto;font-size:16px;opacity:0}.room-link.active .room-arrow{opacity:.85}.sidebar-note{position:relative;display:flex;flex-direction:column;gap:10px;margin:42px 4px 25px;background:linear-gradient(148deg,#efedff,#f6f3ff 68%,#ffeff8);border:1px solid #e7e1ff;border-radius:16px;padding:21px 17px 17px;overflow:hidden}.sidebar-note:after{content:'✧';position:absolute;right:-8px;top:-28px;font-size:92px;color:#d9d3fc;opacity:.9;pointer-events:none}.note-icon{color:var(--accent);font-size:21px}.sidebar-note strong{font-size:13px;position:relative;z-index:1}.sidebar-note>span:last-of-type{font-size:11px;line-height:1.8;color:#8b88a5;position:relative;z-index:1}.sidebar-note button{border:0;background:transparent;text-align:left;color:#756af1;font-size:11px;font-weight:800;padding:4px 0;position:relative;z-index:1}.sidebar-note button span{margin-left:5px}.sidebar-footer{padding:14px;border-top:1px solid var(--border);flex:none}.profile-button{display:flex;align-items:center;gap:11px;padding:8px;width:100%;border:0;border-radius:12px;background:transparent;text-align:left;color:var(--ink)}.profile-button:hover{background:var(--accent-soft)}.avatar{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border-radius:13px;background:linear-gradient(135deg,#c8b5ff,#8c81ed);color:white;font-weight:700;letter-spacing:-1px}.profile-info{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.profile-info strong{font-size:12px;overflow:hidden;text-overflow:ellipsis}.profile-info small{color:var(--muted);font-size:10px}.status-dot,.conn-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#39c69c;margin-right:5px;box-shadow:0 0 0 3px #39c69c1a}.chevron{width:15px;color:var(--muted)}
.main-content{min-width:0;min-height:0;display:flex;flex-direction:column;flex:1;background:var(--surface)}.topbar{flex:0 0 75px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 35px;gap:20px}.topbar-left,.breadcrumb,.header-actions{display:flex;align-items:center;gap:12px;min-width:0}.breadcrumb{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden}.breadcrumb svg{width:12px;height:12px;color:#c0c3d1}.breadcrumb strong{color:#4a5066;overflow:hidden;text-overflow:ellipsis}.header-actions{gap:7px;flex-shrink:0}.connection-status{color:#7e8998;font-size:10px;display:flex;align-items:center;gap:3px;margin-right:15px;white-space:nowrap}.connection-status.offline .conn-dot{background:#f2a55c;box-shadow:0 0 0 3px #f2a55c20}.icon-button{display:inline-grid;place-items:center;border:0;background:transparent;color:#8e93a9;width:37px;height:37px;border-radius:10px;flex:none}.icon-button:hover{background:var(--panel);color:var(--accent)}.icon-button svg{width:19px;height:19px}.header-share{margin-left:9px;height:36px;padding:0 15px;display:flex;align-items:center;gap:8px;border:1px solid #e5e1ff;background:#f3f1ff;border-radius:9px;color:#6b60e8;font-size:12px;font-weight:800}.header-share:hover{background:#eae7ff}.header-share svg{width:16px;height:16px}.mobile-menu,.mobile-close{display:none}
.chat-workspace{display:flex;flex-direction:column;min-height:0;flex:1;max-width:1120px;width:100%;margin:0 auto;padding:0 45px}.channel-heading{padding:32px 3px 26px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border);flex-shrink:0}.channel-icon{display:grid;place-items:center;width:56px;height:56px;background:linear-gradient(145deg,#eeeaff,#e4e0ff);border-radius:17px;color:#786cf2;font-size:30px;font-weight:500}.channel-details{min-width:0;flex:1}.channel-name-row{display:flex;align-items:center;gap:12px}.channel-details h1{margin:0;font-size:22px;line-height:1.5;letter-spacing:-.4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-label{border:1px solid #e9e6ff;color:#867cf0;background:#f8f7ff;font-size:10px;border-radius:5px;padding:4px 7px;white-space:nowrap}.channel-details p{font-size:12px;color:var(--muted);margin:6px 0 0}.presence-box{display:flex;align-items:center;gap:12px;flex-shrink:0}.presence-avatars{display:flex;align-items:center;padding-left:7px}.presence-avatars i{display:grid;place-items:center;border:2px solid var(--surface);margin-left:-7px;border-radius:50%;width:30px;height:30px;color:white;background:#a79ce6;font-size:10px;font-style:normal;font-weight:700}.presence-avatars i:nth-child(2){background:#edb590}.presence-avatars i:nth-child(3){background:#84bcc7}.presence-text{color:var(--muted);font-size:11px;white-space:nowrap}.presence-text strong{color:#5b5f72;font-weight:800}.messages-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#ddddef transparent;scrollbar-width:thin;padding:18px 3px 14px}.messages-stack{min-height:100%;display:flex;flex-direction:column;gap:23px}.messages-stack>:first-child{margin-top:auto}.message-item{display:flex;align-items:flex-start;gap:12px;max-width:90%}.message-item.mine{align-self:flex-end;flex-direction:row-reverse}.message-avatar{display:grid;place-items:center;width:37px;height:37px;flex:0 0 37px;border-radius:12px;color:white;font-size:12px;font-weight:700;background:#b4a2ed}.message-body-wrap{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.message-item.mine .message-body-wrap{align-items:flex-end}.message-meta{display:flex;align-items:baseline;gap:10px;margin:1px 0 7px}.message-item.mine .message-meta{flex-direction:row-reverse}.message-meta strong{font-size:12px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-meta time{font-size:10px;color:#a1a6b5}.message-bubble{padding:12px 16px;border-radius:4px 15px 15px 15px;background:var(--message);color:#4b5269;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.75;font-size:13px;max-width:min(590px,100%)}.mine .message-bubble{background:linear-gradient(125deg,#7d74f0,#6a60e7);color:white;border-radius:15px 4px 15px 15px;box-shadow:0 6px 16px #736cf11d}.message-date{margin:12px auto 0;background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:7px 13px;font-size:10px;color:var(--muted);align-self:center}.load-more{align-self:center;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:9px;padding:8px 14px;font-size:11px}.load-more:hover{color:var(--accent);border-color:var(--accent)}.welcome-panel{max-width:510px;width:100%;align-self:center;text-align:center;margin:auto;display:flex;flex-direction:column;align-items:center;padding:35px 15px 45px}.welcome-orb{width:99px;height:99px;border-radius:30px;background:linear-gradient(145deg,#eae6ff,#fff1f9);display:grid;place-items:center;margin-bottom:20px;box-shadow:0 16px 46px #a39ae01e;position:relative}.welcome-orb:after{content:'✦';position:absolute;top:-11px;right:-11px;color:#eea8cf;font-size:25px}.welcome-orb svg{width:51px;height:51px;stroke:#7468ed;stroke-width:1.5}.welcome-panel h2{font-size:22px;letter-spacing:-.4px;margin:0 0 11px}.welcome-panel p{font-size:12px;color:var(--muted);line-height:1.9;max-width:330px;margin:0 0 24px}.welcome-chips{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.welcome-chips button{border:1px solid #e4e2f3;border-radius:22px;padding:9px 14px;background:var(--surface);color:#75788f;font-size:11px}.welcome-chips button:hover{background:var(--accent-soft);border-color:#cfc9ff;color:var(--accent)}.loading-state{margin:auto;text-align:center;color:var(--muted);padding:60px 0;font-size:12px}.loader{margin:0 auto 12px;width:28px;height:28px;border-radius:50%;border:3px solid #e8e5fc;border-top-color:var(--accent);animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.typing-indicator{height:22px;min-height:22px;padding-left:3px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-wrap{flex-shrink:0;padding:0 0 23px}.composer{border:1px solid #e5e6f0;border-radius:16px;padding:13px 14px 12px;background:var(--surface);box-shadow:0 8px 30px #30304d0b;transition:border .2s,box-shadow .2s}.composer:focus-within{border-color:#b2aaff;box-shadow:0 8px 32px #766bf117}.composer textarea{width:100%;border:0;outline:0!important;box-shadow:none!important;resize:none;background:none;color:var(--ink);font-size:13px;line-height:1.7;min-height:42px;max-height:154px;overflow-y:auto;display:block;padding:3px 5px}.composer textarea::placeholder{color:#a7aabb}.composer-actions{display:flex;align-items:center;justify-content:space-between;margin-top:5px}.composer-left{display:flex;align-items:center;gap:9px}.toolbar-button{display:grid;place-items:center;border:0;background:transparent;color:#999cb2;border-radius:8px;width:32px;height:32px}.toolbar-button:hover{color:var(--accent);background:var(--accent-soft)}.toolbar-button svg{width:19px}.toolbar-divider{width:1px;height:18px;background:#e7e7f0}.typing-tip{color:#a6a7b9;font-size:10px}.send-button{display:flex;align-items:center;justify-content:center;gap:9px;background:var(--accent);color:white;border:0;padding:0 16px;height:37px;min-width:83px;border-radius:9px;font-weight:700;font-size:12px}.send-button svg{width:17px;height:17px;stroke-width:2}.send-button:hover:not(:disabled){background:var(--accent-deep)}.send-button:disabled{background:#ddd9fa;color:#f7f6ff}.composer-hint{display:flex;justify-content:space-between;margin:12px 4px 0;color:#b0b3c1;font-size:10px;gap:14px}.composer-hint kbd{font:inherit}.heart{color:#ef9eae}.emoji-parent{position:relative}.emoji-panel{position:absolute;bottom:42px;left:-8px;z-index:5;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:14px;padding:11px;width:228px;display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.emoji-panel button{background:transparent;border:0;border-radius:7px;padding:5px;font-size:19px}.emoji-panel button:hover{background:var(--accent-soft)}.search-panel{display:flex;align-items:center;gap:10px;margin:14px 0 0;border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:5px 8px 5px 14px;flex-shrink:0}.search-panel svg{width:17px;color:var(--muted)}.search-panel input{border:0;outline:0;min-width:0;flex:1;background:transparent;padding:9px 0;color:var(--ink)}.search-panel .icon-button{width:30px;height:30px}.filtered-out{display:none!important}
.modal-layer{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px}.modal-scrim{position:absolute;inset:0;background:rgba(20,22,46,.48);backdrop-filter:blur(6px)}.modal{position:relative;background:var(--surface);border-radius:24px;width:min(420px,100%);padding:36px;box-shadow:0 30px 80px #11142f38;animation:modal-in .2s ease}@keyframes modal-in{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;right:18px;top:17px}.modal-icon{display:grid;place-items:center;width:54px;height:54px;background:var(--accent-soft);border-radius:16px;color:var(--accent);font-size:27px;margin-bottom:21px}.modal h2{margin:0 0 9px;font-size:22px}.modal p{color:var(--muted);line-height:1.7;font-size:12px;margin:0 0 28px}.modal label{display:block;font-size:12px;font-weight:800;margin-bottom:10px}.modal input{width:100%;height:45px;border:1px solid var(--border);border-radius:10px;padding:0 14px;background:var(--panel);color:var(--ink);outline:0}.modal input:focus{border-color:var(--accent)}.modal-help{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:10px}.modal-primary{width:100%;margin-top:24px;height:46px;color:white;background:var(--accent);border:0;border-radius:11px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px}.modal-primary:hover{background:var(--accent-deep)}.toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%) translateY(24px);background:#2f3045;color:white;padding:11px 17px;border-radius:11px;box-shadow:var(--shadow);z-index:50;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:min(420px,90vw);text-align:center}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}
:root[data-theme="dark"]{color-scheme:dark;--bg:#171927;--surface:#202231;--panel:#2a2c3d;--sidebar:#1c1e2e;--border:#363849;--ink:#f0f0f8;--muted:#a2a6bd;--muted2:#898ca4;--accent:#938bff;--accent-deep:#7d73f2;--accent-soft:#353354;--message:#2e3041;--shadow:0 18px 50px #0004}:root[data-theme="dark"] .brand-en{color:#b0a9ff}:root[data-theme="dark"] .room-link{color:#b1b3c7}:root[data-theme="dark"] .room-link.active{color:#aaa4ff;background:#353354}:root[data-theme="dark"] .room-link:hover{background:#303249}:root[data-theme="dark"] .sidebar-note{background:linear-gradient(140deg,#37324d,#342d48);border-color:#49405e}:root[data-theme="dark"] .sidebar-note:after{color:#51476b}:root[data-theme="dark"] .sidebar-note>span:last-of-type{color:#aaa5c5}:root[data-theme="dark"] .breadcrumb strong{color:#e6e5f5}:root[data-theme="dark"] .header-share{background:#373354;border-color:#454066;color:#beb9ff}:root[data-theme="dark"] .channel-icon{background:#3a355a;color:#bcb4ff}:root[data-theme="dark"] .room-label{background:#363152;border-color:#44405e;color:#b2a9ff}:root[data-theme="dark"] .presence-text strong{color:#e2e2f1}:root[data-theme="dark"] .message-bubble{color:#e4e4f1}:root[data-theme="dark"] .message-item.mine .message-bubble{color:white}:root[data-theme="dark"] .composer{border-color:#45465d}:root[data-theme="dark"] .composer textarea::placeholder{color:#9699ae}:root[data-theme="dark"] .modal input{border-color:#45465d}:root[data-theme="dark"] .welcome-chips button{border-color:#44445c;color:#bec0d3}
@media(max-width:1000px){.sidebar{width:245px;flex-basis:245px}.chat-workspace{padding:0 28px}.topbar{padding:0 27px}.presence-box{gap:7px}.connection-status{margin-right:4px}}
@media(max-width:720px){.sidebar{position:fixed;inset:0 auto 0 0;width:min(310px,86vw);transform:translateX(-100%);transition:transform .23s ease;box-shadow:10px 0 40px #10102020}.sidebar.open{transform:translateX(0)}.mobile-scrim{position:fixed;inset:0;background:#15172877;z-index:2}.mobile-close,.mobile-menu{display:inline-grid}.brand-bar .mobile-close{margin-left:auto}.topbar{flex-basis:62px;padding:0 14px}.breadcrumb{gap:5px}.breadcrumb>span{display:none}.breadcrumb>svg{display:none}.header-actions{gap:2px}.connection-status{font-size:0;margin-right:2px}.conn-dot{margin:0}.header-share{padding:0 10px;height:34px;margin-left:2px}.header-share span{display:none}.header-share svg{width:18px;height:18px}.chat-workspace{padding:0 16px}.channel-heading{padding:20px 0;gap:12px}.channel-icon{width:46px;height:46px;border-radius:13px;font-size:24px}.channel-details h1{font-size:18px}.channel-details p{font-size:10px}.room-label{display:none}.presence-box{flex-direction:column;gap:3px}.presence-avatars i{width:22px;height:22px;font-size:8px}.presence-text{font-size:9px}.message-item{max-width:95%}.message-bubble{padding:11px 13px}.composer-wrap{padding-bottom:max(12px,env(safe-area-inset-bottom))}.composer-hint span:last-child{display:none}.typing-tip{display:none}.modal{padding:29px}.messages-stack{gap:18px}.message-avatar{width:33px;height:33px;flex-basis:33px}.welcome-panel{padding:10px 10px 30px}.welcome-panel h2{font-size:20px}.welcome-orb{width:85px;height:85px}}
@media(max-height:570px){.channel-heading{padding-top:12px;padding-bottom:12px}.topbar{flex-basis:51px}.composer-wrap{padding-bottom:8px}.composer-hint{margin-top:5px}.welcome-orb{width:66px;height:66px;margin-bottom:10px}.welcome-orb svg{width:37px}.welcome-panel{padding:6px}.welcome-panel h2{font-size:17px}.welcome-panel p{margin-bottom:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
