:root{--rail: #eceef1;--list: #f7f8fa;--panel: #ffffff;--hover: #eef0f3;--active: #e6edff;--line: #d9dce1;--fg: #1f2329;--muted: #5f6670;--subtle: #8f959e;--accent: #3370ff;--accent-soft: rgba(51, 112, 255, .1);--accent-ink: #ffffff;--in: #f2f3f5;--out: #dbe7ff;--danger: #f54a45;--ok: #34c724;--warn: #ff8800;--sk: #eceef1;--sk-hi: #f7f8fa;--shadow-pop: 0 4px 16px rgba(31, 35, 41, .1), 0 0 0 .5px rgba(31, 35, 41, .06);--shadow-modal: 0 12px 40px rgba(31, 35, 41, .18);--hair: .5px;--fs-s: 12px;--fs-m: 14px;--fs-l: 16px;--ease: cubic-bezier(.2, .8, .2, 1);--font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--emoji: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--rail: #141517;--list: #1b1c1f;--panel: #222326;--hover: #2a2c30;--active: #233359;--line: #3a3c41;--fg: #e6e7ea;--muted: #a4a8af;--subtle: #767a81;--accent: #4c88ff;--accent-soft: rgba(76, 136, 255, .16);--accent-ink: #ffffff;--in: #2d2f33;--out: #24396a;--danger: #f2605b;--ok: #3ccf4a;--warn: #ff9a2e;--sk: #2a2c30;--sk-hi: #323439;--shadow-pop: 0 6px 20px rgba(0, 0, 0, .4), 0 0 0 .5px rgba(255, 255, 255, .06);--shadow-modal: 0 16px 48px rgba(0, 0, 0, .55);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--panel);color:var(--fg);font-family:var(--font);font-size:var(--fs-m);line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.boot{height:100%;background:var(--list)}.app{height:100%;display:grid;grid-template-columns:64px 300px minmax(0,1fr)}.rail{background:var(--rail);border-right:var(--hair) solid var(--line);display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 0 12px}.rail-me{margin-bottom:12px;cursor:default}.rail-btn{width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);display:grid;place-items:center;position:relative;transition:background .15s,color .15s}.rail-btn:hover{background:var(--hover);color:var(--fg)}.rail-btn[aria-current=true]{color:var(--accent);background:var(--accent-soft)}.rail-btn svg{width:20px;height:20px}.rail-dot{position:absolute;top:0;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:var(--fs-s);line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--rail)}.rail-spacer{flex:1}.conn-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);margin-bottom:10px;transition:background .3s}.conn-dot.connecting{background:var(--warn);animation:pulse 1.2s ease-in-out infinite}.conn-dot.closed{background:var(--danger);animation:pulse 1.2s ease-in-out infinite}.side{background:var(--list);border-right:var(--hair) solid var(--line);display:flex;flex-direction:column;min-height:0}.side-head{display:flex;gap:8px;padding:16px 12px 10px}.search{flex:1;min-width:0;height:32px;padding:0 10px 0 30px;border:var(--hair) solid transparent;border-radius:8px;background:var(--hover) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238f959e' stroke-width='1.5'%3E%3Ccircle cx='7' cy='7' r='4.5'/%3E%3Cpath d='m10.5 10.5 3 3' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 9px center / 14px;font-size:var(--fs-s);transition:border-color .15s,background-color .15s}.search:focus{border-color:var(--accent);background-color:var(--panel);outline:none}.add{width:32px;height:32px;border:0;border-radius:8px;background:var(--hover);color:var(--muted);display:grid;place-items:center;flex:none;transition:color .15s,background .15s,transform .2s var(--ease)}.add:hover{color:var(--accent)}.add[aria-expanded=true]{color:var(--accent);background:var(--accent-soft);transform:rotate(45deg)}.add svg{width:14px;height:14px}.filters{display:flex;gap:20px;padding:0 14px;border-bottom:var(--hair) solid var(--line)}.filter{position:relative;border:0;background:transparent;padding:6px 0 9px;font-size:var(--fs-s);color:var(--muted);transition:color .15s}.filter:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:1px;background:var(--accent);transform:scaleX(0);transition:transform .2s var(--ease)}.filter[aria-selected=true]{color:var(--fg);font-weight:600}.filter[aria-selected=true]:after{transform:scaleX(1)}.join{padding:10px 12px;border-bottom:var(--hair) solid var(--line);display:grid;gap:6px;background:var(--panel);animation:slide-down .18s var(--ease)}.join-row{display:flex;gap:6px}.join select,.join input{height:32px;border:var(--hair) solid var(--line);border-radius:6px;background:var(--panel);padding:0 8px;min-width:0;font-size:var(--fs-s)}.join input:focus{border-color:var(--accent);outline:none}.join input{flex:1}.form-error{color:var(--danger);font-size:var(--fs-s);animation:fade-in .15s}.conn-bar{padding:6px 12px;font-size:var(--fs-s);color:var(--warn);background:var(--panel);border-bottom:var(--hair) solid var(--line);animation:slide-down .2s var(--ease)}.btn{height:32px;padding:0 14px;border-radius:6px;border:var(--hair) solid var(--line);background:var(--panel);font-size:var(--fs-s);white-space:nowrap;transition:background .15s,filter .15s,opacity .15s,transform .1s}.btn:hover{background:var(--hover)}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:500}.btn.primary:hover{filter:brightness(1.06);background:var(--accent)}.btn:disabled{opacity:.4;cursor:default;filter:none}.btn.danger{color:var(--danger)}.btn.block{width:100%;height:38px;font-size:var(--fs-m)}.link{border:0;background:transparent;padding:0;color:var(--accent);font-size:var(--fs-s);margin-top:6px}.list{flex:1;min-height:0;overflow-y:auto;position:relative}.conv{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;width:100%;text-align:left;border:0;background:transparent;padding:11px 12px;transition:background .12s}.conv:hover{background:var(--hover)}.conv[aria-current=true]{background:var(--active)}.conv.flash{animation:flash 1.2s ease-out}.conv-main{min-width:0;display:grid;gap:2px}.row{display:flex;align-items:center;gap:6px;min-width:0}.conv-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv.unread .conv-name{font-weight:600}.tag{flex:none;font-size:var(--fs-s);line-height:16px;color:var(--subtle);padding:0 4px;border-radius:4px;box-shadow:inset 0 0 0 var(--hair) var(--line)}.conv-time{margin-left:auto;flex:none;font-size:var(--fs-s);color:var(--subtle)}.conv-preview{flex:1;min-width:0;font-size:var(--fs-s);color:var(--subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:18px}.conv.unread .conv-preview{color:var(--muted)}.draft-mark{color:var(--danger)}.conv-meta{gap:8px;font-size:var(--fs-s)}.wait-tag{flex:none;color:#c26a00;background:#ff88001f;padding:0 6px;border-radius:4px;line-height:18px}.read-by{min-width:0;color:var(--ok);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:fade-in .3s}.readline{display:flex;align-items:center;gap:10px;color:var(--accent);font-size:var(--fs-s);margin:-4px 0}.readline:before,.readline:after{content:"";flex:1;height:var(--hair);background:var(--accent);opacity:.3}.readers{align-self:flex-end;font-size:var(--fs-s);color:var(--subtle);margin-top:-6px;animation:fade-in .3s}.badge{flex:none;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:var(--fs-s);line-height:18px;text-align:center;animation:pop .3s var(--ease)}.list-empty{padding:48px 16px;text-align:center;color:var(--subtle);font-size:var(--fs-s);animation:fade-in .2s}.more{display:block;width:100%;border:0;background:transparent;color:var(--muted);font-size:var(--fs-s);padding:12px}.more:hover{color:var(--accent)}.avatar{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:var(--fs-l);font-weight:500;flex:none;overflow:hidden;-webkit-user-select:none;user-select:none}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.sm{width:34px;height:34px;font-size:var(--fs-m);border-radius:7px}.avatar-gap{width:34px;flex:none}.sk{display:block;background:linear-gradient(90deg,var(--sk) 25%,var(--sk-hi) 50%,var(--sk) 75%);background-size:400% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:4px}.conv-skeleton{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:11px 12px}.conv-skeleton .avatar{width:40px;height:40px}.sk-lines{display:grid;gap:8px;align-content:center}.sk-lines .sk{height:10px}.msg-skeleton{display:flex;flex-direction:column;gap:16px;padding-top:8px}.msg-skeleton .sk{height:36px;border-radius:10px}.msg-skeleton .sk.out{align-self:flex-end}.chat{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--panel);position:relative;animation:fade-in .18s ease-out}.chat-head{display:flex;align-items:center;gap:10px;height:56px;padding:0 20px;border-bottom:var(--hair) solid var(--line);flex:none}.back{display:none;border:0;background:transparent;color:var(--muted);width:28px;height:28px;margin-left:-6px;border-radius:6px}.back svg{width:18px;height:18px}.chat-title{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.chat-title h1{margin:0;font-size:var(--fs-l);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-sub{display:flex;align-items:center;gap:8px;font-size:var(--fs-s);color:var(--subtle);white-space:nowrap}.confirm-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 20px;background:var(--list);border-bottom:var(--hair) solid var(--line);font-size:var(--fs-s);color:var(--muted);animation:slide-down .18s var(--ease)}.confirm-bar span{flex:1;min-width:180px}.stream{flex:1;min-height:0;overflow-y:auto;padding:16px 20px 20px;display:flex;flex-direction:column;gap:14px}.older{align-self:center;border:0;background:transparent;color:var(--subtle);font-size:var(--fs-s);padding:4px 8px;border-radius:4px}.older:hover{color:var(--accent)}.time-sep{align-self:center;font-size:var(--fs-s);color:var(--subtle);margin:2px 0}.divider{display:flex;align-items:center;gap:10px;color:var(--accent);font-size:var(--fs-s)}.divider:before,.divider:after{content:"";flex:1;height:var(--hair);background:var(--accent);opacity:.35}.msg{display:flex;align-items:flex-start;gap:10px;max-width:min(640px,88%)}.msg.grouped{margin-top:-10px}.msg.out{align-self:flex-end;flex-direction:row-reverse}.msg.fresh{animation:msg-in .28s var(--ease)}.msg.out.fresh{animation-name:msg-in-out}.msg-body{display:grid;gap:4px;min-width:0}.msg.out .msg-body{justify-items:end}.who{font-size:var(--fs-s);color:var(--subtle)}.bubble{padding:8px 12px;border-radius:10px;background:var(--in);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.msg.in:not(.grouped) .bubble{border-top-left-radius:4px}.msg.out:not(.grouped) .bubble{border-top-right-radius:4px}.bubble.muted{color:var(--subtle)}.msg.out .bubble{background:var(--out)}.bubble.big-emoji{background:transparent!important;padding:0 2px;font-size:40px;line-height:1.2;font-family:var(--emoji)}.read-state{font-size:var(--fs-s);line-height:1}.read-state.unread{color:var(--accent)}.read-state.read{color:var(--subtle)}.msg-action{align-self:center;flex:none;border:0;background:transparent;color:var(--subtle);font-size:var(--fs-s);padding:2px 6px;border-radius:4px;opacity:0;transition:opacity .15s,color .15s,background .15s}.msg:hover .msg-action,.msg-action:focus-visible{opacity:1}.msg-action:hover{color:var(--accent);background:var(--hover)}.msg.revoked .msg-body>:not(.revoked-tag):not(.who){opacity:.5}.revoked-tag{display:inline-flex;gap:8px;align-items:center;font-size:var(--fs-s);color:var(--subtle);animation:fade-in .25s}.re-edit{border:0;background:transparent;padding:0;color:var(--accent);font-size:var(--fs-s)}.state{align-self:center;flex:none;display:grid;place-items:center;width:18px;height:18px;border:0;padding:0;background:transparent}.state.failed{border-radius:50%;background:var(--danger);color:#fff;font-size:var(--fs-s);font-weight:600;line-height:1;animation:pop .3s var(--ease)}.state.failed:hover{filter:brightness(1.1)}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--subtle);animation:spin .8s linear infinite}.img-msg{position:relative;display:block;padding:0;border:0;border-radius:8px;overflow:hidden;cursor:zoom-in;background:var(--sk);max-width:100%;box-shadow:inset 0 0 0 var(--hair) var(--line)}.img-msg:not(.loaded):not(.broken){background:linear-gradient(90deg,var(--sk) 25%,var(--sk-hi) 50%,var(--sk) 75%);background-size:400% 100%;animation:shimmer 1.4s ease-in-out infinite}.img-msg img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s}.img-msg.loaded img{opacity:1}.img-msg.broken{cursor:default;display:grid;place-items:center;color:var(--subtle);font-size:var(--fs-s)}.img-progress{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#00000059}.img-progress svg{width:36px;height:36px;transform:rotate(-90deg)}.img-progress circle{fill:none;stroke:#ffffff59;stroke-width:3}.img-progress circle.bar{stroke:#fff;stroke-dasharray:94.25;stroke-linecap:round;transition:stroke-dashoffset .2s}.file-msg{display:flex;align-items:center;gap:10px;width:240px;max-width:100%;padding:10px 12px;border:var(--hair) solid var(--line);border-radius:8px;background:var(--panel);color:inherit;text-decoration:none;transition:border-color .15s}.file-msg:hover{border-color:var(--accent)}.file-ico{width:32px;height:38px;border-radius:4px;background:var(--danger);color:#fff;display:grid;place-items:center;font-size:var(--fs-s);font-weight:600;flex:none;letter-spacing:-.02em}.file-ico.doc{background:var(--accent)}.file-info{min-width:0;display:grid}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:var(--fs-s);color:var(--subtle)}.card-msg{width:260px;max-width:100%;border:var(--hair) solid var(--line);border-radius:8px;background:var(--panel);padding:10px 12px;display:grid;gap:6px}.card-row{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:var(--fs-s)}.card-row b{color:var(--fg);font-weight:600}.card-title{font-weight:600}.card-head{display:flex;align-items:center;gap:10px}.card-img{width:44px;height:44px;flex:none;border-radius:8px;object-fit:contain;background:var(--line)}.card-note{border-top:var(--hair) solid var(--line);padding-top:6px;color:var(--muted);font-size:var(--fs-s)}.new-tip{position:absolute;right:24px;bottom:150px;display:inline-flex;align-items:center;gap:6px;border:0;background:var(--panel);color:var(--accent);border-radius:16px;padding:5px 12px;font-size:var(--fs-s);box-shadow:var(--shadow-pop);animation:rise-in .22s var(--ease);z-index:2}.new-tip svg{width:12px;height:12px}.composer{border-top:var(--hair) solid var(--line);padding:6px 16px 12px;flex:none;display:grid;gap:4px;position:relative}.composer-tools{display:flex;gap:2px}.tool{border:0;background:transparent;color:var(--muted);width:32px;height:32px;border-radius:6px;display:grid;place-items:center;transition:background .15s,color .15s}.tool:hover{background:var(--hover);color:var(--accent)}.tool.on{color:var(--accent);background:var(--accent-soft)}.tool svg{width:20px;height:20px}.tray{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 6px}.tray-item{position:relative;width:64px;height:64px;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 var(--hair) var(--line);animation:pop .22s var(--ease)}.tray-item img{width:100%;height:100%;object-fit:cover;display:block}.tray-item button{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;border:0;padding:4px;background:#0000008c;color:#fff;display:grid;place-items:center;opacity:0;transition:opacity .15s}.tray-item:hover button,.tray-item button:focus-visible{opacity:1}.tray-item button svg{width:10px;height:10px}.composer textarea{display:block;width:100%;resize:none;border:0;background:transparent;padding:4px;min-height:64px;max-height:240px;line-height:1.6;scrollbar-width:none}.composer textarea::-webkit-scrollbar{display:none}.composer.has-tray textarea{min-height:36px}.composer textarea:focus{outline:none}.composer textarea::placeholder{color:var(--subtle)}.send-row{display:flex;justify-content:flex-end;align-items:center;gap:12px}.btn.send{min-width:72px}.emoji-panel{position:absolute;left:12px;bottom:calc(100% - 4px);z-index:6;width:min(360px,calc(100% - 24px));background:var(--panel);border-radius:12px;box-shadow:var(--shadow-pop);overflow:hidden;transform-origin:bottom left;animation:emoji-in .18s var(--ease)}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;max-height:232px;overflow-y:auto;animation:fade-in .15s}.emoji{aspect-ratio:1;border:0;border-radius:4px;background:transparent;font-size:22px;line-height:1;display:grid;place-items:center;transition:background .12s,transform .12s;font-family:var(--emoji)}.emoji:hover{background:var(--hover);transform:scale(1.15)}.emoji:active{transform:scale(.95)}.emoji-tabs{display:flex;gap:2px;padding:6px 8px;border-top:var(--hair) solid var(--line);background:var(--list)}.emoji-tabs button{border:0;background:transparent;padding:3px 10px;border-radius:6px;font-size:var(--fs-s);color:var(--muted);transition:background .12s,color .12s}.emoji-tabs button[aria-selected=true]{background:var(--panel);color:var(--fg);font-weight:500}.drop-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--panel) 82%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .15s;pointer-events:none}.drop-box{display:grid;justify-items:center;gap:10px;width:min(420px,100%);padding:40px 24px;border:1.5px dashed var(--accent);border-radius:12px;background:var(--accent-soft);color:var(--accent);animation:pop .2s var(--ease)}.drop-box svg{width:32px;height:32px}.blank{flex:1;display:grid;place-items:center;align-content:center;gap:12px;color:var(--subtle);font-size:var(--fs-s);text-align:center;padding:24px;animation:fade-in .2s}.blank-ico{width:48px;height:48px;opacity:.4}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#000000d1;display:grid;place-items:center;padding:24px;cursor:zoom-out;animation:fade-in .18s}.lightbox img{max-width:100%;max-height:calc(100vh - 80px);border-radius:4px;box-shadow:var(--shadow-modal);animation:zoom-in .22s var(--ease)}.lightbox-open{position:absolute;bottom:20px;color:#fffc;font-size:var(--fs-s);text-decoration:none}.lightbox-open:hover{color:#fff}.toast{position:fixed;left:50%;top:20px;transform:translate(-50%);background:var(--fg);color:var(--panel);padding:8px 16px;border-radius:8px;font-size:var(--fs-s);z-index:40;max-width:calc(100% - 32px);box-shadow:var(--shadow-pop);animation:toast-in .25s var(--ease)}.login{height:100%;display:grid;place-items:center;padding:16px;background:var(--list)}.login-box{width:100%;max-width:360px;background:var(--panel);border-radius:12px;padding:32px 28px 28px;display:grid;gap:16px;box-shadow:var(--shadow-modal);animation:rise-in .35s var(--ease)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:8px}.login-brand .logo{width:32px;height:32px;border-radius:8px;background:var(--accent);color:#fff;display:grid;place-items:center}.login-brand .logo svg{width:18px;height:18px}.login-brand h1{margin:0;font-size:var(--fs-l);font-weight:600}.login-box label{display:grid;gap:6px;font-size:var(--fs-s);color:var(--muted)}.login-box input{height:38px;border:var(--hair) solid var(--line);border-radius:8px;padding:0 12px;background:var(--panel);color:var(--fg);font-size:var(--fs-m);transition:border-color .15s,box-shadow .15s}.login-box input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.login-box.shake{animation:shake .35s}.btn .spinner{display:inline-block;vertical-align:-2px;margin-right:6px;border-color:#fff6;border-top-color:#fff}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes msg-in{0%{opacity:0;transform:translate(-6px,8px)}to{opacity:1;transform:none}}@keyframes msg-in-out{0%{opacity:0;transform:translate(6px,8px)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes emoji-in{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}@keyframes zoom-in{0%{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes flash{0%,40%{box-shadow:inset 0 0 0 999px var(--accent-soft)}to{box-shadow:inset 0 0 0 999px transparent}}@keyframes pulse{50%{opacity:.35}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:760px){.app{grid-template-columns:minmax(0,1fr)}.rail,.app.show-chat .side{display:none}.app:not(.show-chat) .chat{display:none}.side-head,.join,.conv,.filters,.chat-head,.stream,.composer,.confirm-bar{padding-left:16px;padding-right:16px}.back{display:grid;place-items:center}.msg{max-width:92%}.new-tip{right:16px}}.rail{position:relative}.rail-me{border:0;cursor:pointer;padding:0}.rail-me:hover{filter:brightness(1.08)}.profile-pop{position:absolute;left:60px;top:12px;z-index:20;width:260px;background:var(--panel);border-radius:12px;box-shadow:var(--shadow-pop);padding:16px;display:grid;gap:12px;animation:emoji-in .18s var(--ease);transform-origin:top left}.profile-head{display:grid;gap:2px}.profile-head b{font-size:var(--fs-l);font-weight:600}.profile-head span{font-size:var(--fs-s);color:var(--subtle)}.profile-pop label{display:grid;gap:6px;font-size:var(--fs-s);color:var(--muted)}.profile-pop input{height:34px;border:var(--hair) solid var(--line);border-radius:6px;padding:0 10px;background:var(--panel);color:var(--fg)}.profile-pop input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.profile-actions{display:flex;justify-content:flex-end;gap:8px}.ctx-menu{position:fixed;z-index:35;min-width:132px;padding:4px;background:var(--panel);border-radius:8px;box-shadow:var(--shadow-pop);display:grid;animation:emoji-in .12s var(--ease);transform-origin:top left}.ctx-menu button{border:0;background:transparent;text-align:left;padding:7px 12px;border-radius:4px;font-size:var(--fs-m);color:var(--fg)}.ctx-menu button:hover{background:var(--hover)}.ctx-menu button.danger{color:var(--danger)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0f141e5c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:16px;animation:fade-in .15s}.info-panel{width:min(420px,100%);max-height:min(680px,calc(100vh - 32px));overflow-y:auto;background:var(--list);border-radius:16px;box-shadow:var(--shadow-modal);animation:zoom-in .2s var(--ease);-webkit-user-select:none;user-select:none}.info-panel header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px 20px;background:var(--list)}.info-panel header b{font-size:var(--fs-l);font-weight:600}.info-panel .close{border:0;background:transparent;width:30px;height:30px;border-radius:8px;color:var(--muted);display:grid;place-items:center;transition:background .15s}.info-panel .close:hover{background:var(--hover)}.info-panel .close svg{width:14px;height:14px}.info-msg{margin:0 16px;padding:18px 16px 14px;border-radius:12px;background:var(--panel);display:grid;gap:8px;justify-items:start}.info-msg.out{justify-items:end}.info-bubble{max-width:100%;padding:9px 14px;border-radius:12px;background:var(--in);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;line-height:1.55}.info-msg.in .info-bubble{border-top-left-radius:4px}.info-msg.out .info-bubble{background:var(--out);border-top-right-radius:4px}.info-sub{display:flex;gap:10px;font-size:var(--fs-s);color:var(--subtle)}.info-body{padding:12px 16px 16px;display:grid;gap:12px}.info-card{background:var(--panel);border-radius:12px;padding:12px 16px 6px;display:grid}.info-card h4{margin:0 0 4px;font-size:var(--fs-s);font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px}.info-card .count{min-width:18px;height:18px;padding:0 6px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-s);line-height:18px;text-align:center;font-weight:600}.info-card .count.muted{background:var(--hover);color:var(--subtle)}.info-person{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:var(--hair) solid var(--line)}.info-card h4+.info-person{border-top:0}.info-avatar{width:32px;height:32px;flex:none;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:var(--fs-s);font-weight:600}.info-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-status{display:flex;align-items:center;gap:8px;flex:none}.info-time{display:grid;justify-items:end;line-height:1.3}.info-time b{font-weight:500;font-size:var(--fs-s);color:var(--fg)}.info-time b.muted{color:var(--subtle);font-weight:400}.info-time small{font-size:var(--fs-s);color:var(--subtle)}.ico{flex:none}.ico.read{width:18px;height:12px;color:var(--accent)}.ico.pending{width:14px;height:14px;color:var(--subtle)}.info-empty{color:var(--subtle);font-size:var(--fs-s);padding:8px 0 10px}.info-empty.pad{padding:20px;text-align:center}.info-loading{padding:12px 32px 20px;display:grid}.info-loading .info-person{border-top:0}
