:root,[data-theme=light]{--bg: #f5f3ee;--panel: #ffffff;--panel-soft: #faf8f3;--hover: rgba(234, 79, 0, .06);--border: #ece7dc;--border-strong: #d8d2c4;--text: #1a1814;--text-muted: #75706a;--text-soft: #a8a399;--accent: #EA4F00;--accent-dark: #c43f00;--accent-soft: #ffe8d8;--accent-2: #FBC200;--bubble-out: #ffe8d8;--bubble-in: #ffffff;--danger: #d92d20;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .12)}[data-theme=dark]{--bg: #15130f;--panel: #1f1c17;--panel-soft: #1a1813;--hover: rgba(234, 79, 0, .1);--border: #2c2823;--border-strong: #3a3530;--text: #f5f0e6;--text-muted: #a8a399;--text-soft: #6b6760;--accent: #EA4F00;--accent-dark: #ff6a1a;--accent-soft: rgba(234, 79, 0, .18);--accent-2: #FBC200;--bubble-out: rgba(234, 79, 0, .22);--bubble-in: #2a2520;--danger: #f97066;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5)}:root[data-accent=blue]{--accent: #2563eb;--accent-dark: #1d4ed8;--accent-soft: rgba(37, 99, 235, .12)}:root[data-accent=purple]{--accent: #8b5cf6;--accent-dark: #7c3aed;--accent-soft: rgba(139, 92, 246, .14)}:root[data-accent=green]{--accent: #10b981;--accent-dark: #059669;--accent-soft: rgba(16, 185, 129, .14)}:root[data-accent=pink]{--accent: #ec4899;--accent-dark: #db2777;--accent-soft: rgba(236, 72, 153, .14)}:root[data-accent=red]{--accent: #ef4444;--accent-dark: #dc2626;--accent-soft: rgba(239, 68, 68, .14)}:root[data-accent=yellow]{--accent: #FBC200;--accent-dark: #d4a000;--accent-soft: rgba(251, 194, 0, .2)}[data-theme=dark][data-accent=blue]{--accent: #60a5fa;--accent-dark: #3b82f6}[data-theme=dark][data-accent=purple]{--accent: #a78bfa;--accent-dark: #8b5cf6}[data-theme=dark][data-accent=green]{--accent: #34d399;--accent-dark: #10b981}[data-theme=dark][data-accent=pink]{--accent: #f472b6;--accent-dark: #ec4899}[data-theme=dark][data-accent=red]{--accent: #f87171;--accent-dark: #ef4444}[data-theme=dark][data-accent=yellow]{--accent: #fcd34d;--accent-dark: #FBC200}@font-face{font-family:VAG Rounded Next;src:url(/assets/VAGRoundedNext-Regular-D2efuMIq.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:VAG Rounded Next;src:url(/assets/VAGRoundedNext-Medium-d5SfWl8S.otf) format("opentype");font-weight:500;font-display:swap}@font-face{font-family:"Noto Color Emoji";src:url(/assets/NotoColorEmoji-subset-BivAfS83.woff2) format("woff2");font-display:swap}@font-face{font-family:Twemoji Mozilla;src:url(/assets/Twemoji.Mozilla-BSQKJ6aF.ttf) format("truetype");unicode-range:U+1F000-1FFFF,U+2600-27BF,U+1F1E6-1F1FF,U+200D,U+FE0F,U+20E3,U+E0020-E007F;font-display:swap}.e{font-family:Twemoji Mozilla,"Noto Color Emoji",sans-serif;font-style:normal;display:inline-block;vertical-align:-.1em}body,input,textarea,button{font-family:VAG Rounded Next,Twemoji Mozilla,"Noto Color Emoji",-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;height:100dvh;width:100%;max-width:100vw;overflow-x:hidden;font-family:VAG Rounded Next,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);transition:background .25s,color .25s}:root{--text-scale: .9}body{overflow:hidden;font-size:14px;line-height:1.4;caret-color:transparent}input,textarea,.composer-input{caret-color:auto}input,button,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,.chat-item,.section-label,.ctx-menu,.ctx-item,.modal-header,.modal-footer,.setting-icon,.setting-segment,.setting-segment-btn,.toggle,.accent-swatch,.unified-picker-modes,.unified-picker-mode,.sticker-tab-btn,.sticker-tab-cell,.emoji-picker-tab,.emoji-picker-cell,.admin-tabs,.login-tabs,.poll-tag{-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-soft)}.login-screen{display:grid;place-items:center;height:100vh;height:100dvh;background:linear-gradient(135deg,#fbc200,#ea4f00);padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.login-card{background:var(--panel);padding:36px 32px;border-radius:20px;width:100%;max-width:380px;text-align:center;box-shadow:var(--shadow-lg)}.login-logo{width:72px;height:72px;margin:0 auto 16px}.login-title{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.login-title span{color:var(--accent)}.login-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px}.login-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;font-size:14px;margin-bottom:12px;background:var(--panel-soft);color:var(--text);font-family:inherit;transition:border-color .15s}.login-input:focus{outline:none;border-color:var(--accent)}.login-input::placeholder{color:var(--text-soft)}.login-error{color:var(--danger);font-size:13px;margin-bottom:10px}.login-hint{margin-top:18px;font-size:11px;color:var(--text-soft);line-height:1.5}.login-tabs{display:flex;gap:4px;background:var(--panel-soft);padding:4px;border-radius:12px;margin-bottom:20px}.login-tabs button{flex:1;padding:8px 12px;border:none;background:transparent;font-family:inherit;font-size:14px;color:var(--text-soft);border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.login-tabs button:hover{color:var(--text)}.login-tabs button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #0000001a}.login-row{display:flex;gap:8px}.login-row .login-input{flex:1}.login-email-row{display:flex;gap:0;align-items:stretch;width:100%}.login-email-row .login-input{width:auto}.login-email-local{flex:1 1 0;min-width:0;border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.login-email-domain{flex:0 0 auto;width:auto;border-top-left-radius:0;border-bottom-left-radius:0;background:var(--panel-soft);cursor:pointer;font-weight:500;padding-right:32px}.login-links{display:flex;justify-content:space-between;margin-top:12px;gap:8px;flex-wrap:wrap}.link-btn{background:transparent;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:4px 0;font-family:inherit;text-decoration:none}.link-btn:hover{text-decoration:underline}.link-btn-strong{font-weight:600;font-size:13px;text-decoration:underline;text-underline-offset:3px}.link-btn-strong:hover{color:var(--accent);filter:brightness(1.1)}.password-hint{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:11px;margin:-6px 0 6px;padding:0 4px}.password-hint-empty{font-size:11px;margin:-6px 0 6px;padding:0 4px;color:var(--text-soft)}.password-check{color:var(--text-soft);transition:color .15s}.password-check.ok{color:var(--success, #22c55e);font-weight:600}.link-btn:disabled{opacity:.5;cursor:not-allowed}.admin-panel{max-width:680px;width:100%}.admin-tabs{display:flex;gap:4px;padding:0 20px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.admin-tabs button{padding:8px 14px;border:none;background:transparent;font-family:inherit;font-size:13px;color:var(--text-soft);border-radius:8px;cursor:pointer;border-bottom:2px solid transparent}.admin-tabs button:hover{color:var(--text)}.admin-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-users{display:flex;flex-direction:column;gap:8px}.admin-user-row{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-soft)}.admin-users-list{display:flex;flex-direction:column}.admin-user-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;font-family:inherit;transition:background .1s}.admin-user-item:last-child{border-bottom:none}.admin-user-item:hover{background:var(--hover)}.admin-user-item-info{flex:1;min-width:0}.admin-user-item-name{font-weight:600;font-size:14px;color:var(--text);display:flex;align-items:center;gap:6px}.admin-user-item-username{font-size:12px;color:var(--text-soft);margin-top:1px}.admin-user-item-chevron{width:16px;height:16px;color:var(--text-soft);flex-shrink:0}.admin-user-info{flex:1;min-width:0}.admin-user-name{font-weight:600;font-size:14px;display:flex;align-items:center;gap:6px}.admin-user-meta{font-size:12px;color:var(--text-soft);margin-top:2px}.admin-user-actions{display:flex;gap:6px;flex-shrink:0}.admin-user-actions .btn{padding:6px 10px;font-size:12px}.admin-badge{display:inline-block;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.admin-badge.admin{background:#ef4444;color:#fff}.admin-badge.bot{background:#6b7280;color:#fff}.admin-settings{display:flex;flex-direction:column;gap:16px;max-width:400px}.admin-settings .btn{align-self:flex-start}.admin-mail code{background:#0000000d;padding:1px 5px;border-radius:3px;font-family:JetBrains Mono,monospace;font-size:12px}.admin-disk{display:flex;flex-direction:column;gap:4px}.disk-bar-wrap{margin-bottom:12px}.disk-bar{width:100%;height:10px;background:var(--panel-soft);border-radius:5px;overflow:hidden}.disk-bar-fill{height:100%;background:var(--accent);transition:width .3s}.disk-bar-fill.low{background:var(--danger)}.disk-bar-label{margin-top:6px;font-size:12px;color:var(--text-soft)}.disk-warning{color:var(--danger);font-weight:600}.admin-files{display:flex;flex-direction:column;gap:10px}.admin-files-controls{display:flex;gap:8px;align-items:center}.admin-files-controls select{flex:0 1 auto;min-width:130px}.admin-files-counter{margin-left:auto;font-size:12px;color:var(--text-soft)}.admin-files-cleanup{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--panel-soft);border-radius:8px;font-size:13px}.admin-files-cleanup input{padding:4px 8px}.admin-files-list{display:flex;flex-direction:column;gap:6px;max-height:380px;overflow-y:auto}.admin-file-row{display:flex;align-items:center;gap:12px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft)}.admin-file-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;background:var(--panel);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px}.admin-file-info{flex:1;min-width:0}.admin-file-name{font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-file-meta{font-size:11px;color:var(--text-soft);margin-top:2px}.btn.danger{color:var(--danger)}.btn.danger:hover{background:#ef44441a}.sessions-list{display:flex;flex-direction:column;gap:8px}.session-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-soft)}.session-row.current{border-color:var(--accent);background:var(--accent-soft)}.session-icon{width:40px;height:40px;background:var(--panel);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-soft);flex-shrink:0}.session-info{flex:1;min-width:0}.session-device{font-weight:500;font-size:14px;display:flex;align-items:center;gap:8px}.session-meta{font-size:11px;color:var(--text-soft);margin-top:2px}.session-badge{background:var(--accent);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.search{position:relative}.search-filters-btn{position:absolute;right:22px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-soft);transition:background .1s,color .1s}.search-filters-btn:hover{background:var(--hover);color:var(--text)}.search-filters-btn.active{color:var(--accent)}.search-filters{padding:8px 12px;border-bottom:1px solid var(--border);background:var(--panel-soft);display:flex;flex-direction:column;gap:6px}.search-filter-row{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px;font-size:12px}.search-filter-row>span:first-child{color:var(--text-soft);white-space:nowrap}.search-filter-row select,.search-filter-row input{min-width:0;width:100%;padding:4px 6px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:inherit;background:var(--panel);color:var(--text);box-sizing:border-box}.search-filter-row input[type=date]{cursor:text}.poll{display:flex;flex-direction:column;gap:8px;min-width:260px;max-width:380px}.poll-header{margin-bottom:2px}.poll-question{font-weight:600;font-size:14px;line-height:1.35}.poll-meta{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.poll-tag{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--panel-soft);color:var(--text-soft);display:inline-flex;align-items:center;gap:3px}.poll-tag.quiz{background:var(--accent-soft);color:var(--accent)}.poll-tag.closed{background:#ef44441f;color:var(--danger)}.poll-options{display:flex;flex-direction:column;gap:4px}.poll-option-wrap{display:flex;flex-direction:column;gap:2px}.poll-voters{display:flex;align-items:center;gap:6px;padding:2px 8px 4px;font-size:11px;color:var(--text-soft)}.poll-voter-avatar{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:600;flex-shrink:0;margin-left:-4px;border:1.5px solid var(--bubble-out, var(--panel))}.poll-voter-avatar:first-child{margin-left:0}.poll-voter-avatar.blue{background:#4a86e8}.poll-voter-avatar.green{background:#2e7d32}.poll-voter-avatar.purple{background:#7b1fa2}.poll-voter-avatar.red{background:#c62828}.poll-voter-avatar.orange{background:#ef6c00}.poll-voter-avatar.teal{background:#00897b}.poll-voter-avatar.pink{background:#d81b60}.poll-voter-avatar.yellow{background:#f59f00}.poll-voters-names{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poll-option{position:relative;background:var(--panel-soft);border:1px solid var(--border);border-radius:8px;padding:0;cursor:pointer;overflow:hidden;transition:border-color .1s,background .1s;text-align:left;font-family:inherit;color:inherit}.poll-option:hover:not(:disabled){border-color:var(--accent)}.poll-option:disabled{cursor:default}.poll-option-bar{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-soft);z-index:0;transition:width .3s}.poll-option-content{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:13px}.poll-option-checkmark{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.poll-option.selecting .poll-option-checkmark,.poll-option.my-vote .poll-option-checkmark{background:var(--accent);color:#fff;border-color:var(--accent)}.poll-option.correct{border-color:#10b981}.poll-option.correct .poll-option-bar{background:#10b9812e}.poll-option.correct .poll-option-checkmark{background:#10b981;color:#fff;border-color:#10b981}.poll-option.wrong{border-color:var(--danger)}.poll-option.wrong .poll-option-bar{background:#ef44442e}.poll-option.wrong .poll-option-checkmark{background:var(--danger);color:#fff;border-color:var(--danger)}.poll-option-text{flex:1;min-width:0}.poll-option-pct{font-size:12px;font-weight:600;color:var(--text-soft)}.poll-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px}.poll-total{font-size:12px;color:var(--text-soft)}.poll-actions{display:flex;gap:6px}.poll-actions .btn{padding:6px 12px;font-size:12px}.poll-options-editor{display:flex;flex-direction:column;gap:6px;margin-top:4px}.poll-option-input{display:flex;gap:6px;align-items:center}.poll-option-input .form-input{flex:1}.poll-correct-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--border-strong);background:var(--panel);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-soft);flex-shrink:0}.poll-correct-btn.active{background:#10b981;color:#fff;border-color:#10b981}.poll-add-option{align-self:flex-start;padding:4px 10px!important;font-size:12px!important;gap:4px}.poll-flag{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.poll-flag input{width:16px;height:16px;cursor:pointer}.poll-flag input:disabled{opacity:.4;cursor:not-allowed}[data-tooltip]:not([data-tooltip=""]){position:relative}[data-tooltip]:not([data-tooltip=""]):hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% - 4px);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:6px 10px;border-radius:8px;font-size:12px;font-weight:500;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:1000;box-shadow:0 4px 12px #0000002e;animation:tooltip-fade .12s ease-out}@keyframes tooltip-fade{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.hover-tooltip{transform:translate(-50%);background:var(--text);color:var(--bg);padding:6px 10px;border-radius:8px;font-size:12px;font-weight:500;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:2000;box-shadow:0 4px 12px #0000002e;animation:tooltip-fade .12s ease-out}.hover-tooltip--top{transform:translate(-50%,-100%)}.emoji-picker-tab[data-tooltip]:not([data-tooltip=""]):hover:after,.sticker-tab-btn[data-tooltip]:not([data-tooltip=""]):hover:after,.ctx-reactions-tab[data-tooltip]:not([data-tooltip=""]):hover:after{bottom:auto;top:calc(100% + 4px)}.search-filters-btn[data-tooltip]:not([data-tooltip=""]):hover:after{bottom:auto;top:calc(100% + 4px);left:auto;right:0;transform:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:12px;border:1px solid transparent;background:var(--accent);color:#fff;font-weight:500;font-size:14px;cursor:pointer;transition:background .15s,transform .05s;font-family:inherit}.btn:hover:not(:disabled){background:var(--accent-dark)}.btn:active:not(:disabled){transform:scale(.98)}.btn-block{width:100%}.btn-secondary{background:var(--panel-soft);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--hover);border-color:var(--border-strong)}.btn-danger{background:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);filter:brightness(.9)}.icon-btn{width:36px;height:36px;border-radius:10px;background:transparent;border:none;color:var(--text-muted);display:grid;place-items:center;cursor:pointer;transition:background .12s,color .12s}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn svg{width:20px;height:20px}.app{display:flex;height:100vh;height:100dvh;background:var(--panel)}.sidebar-wrap{width:var(--sidebar-width, 320px);min-width:240px;max-width:600px;flex-shrink:0;display:flex;flex-direction:column}.resize-handle{width:4px;background:transparent;cursor:col-resize;position:relative;z-index:5;flex-shrink:0;transition:background .15s}.resize-handle:hover,.resize-handle.dragging{background:var(--accent)}.main{flex:1;min-width:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at top right,rgba(234,79,0,.04),transparent 60%),radial-gradient(ellipse at bottom left,rgba(251,194,0,.03),transparent 50%),var(--bg);overflow:hidden}.sidebar{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;background:var(--panel-soft);border-right:1px solid var(--border)}.sidebar-header{padding:14px 16px;padding-top:max(14px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);min-height:64px}.sidebar-header-actions{display:flex;align-items:center;gap:4px}.icon-btn.help-btn{color:var(--text-muted)}.icon-btn.help-btn:hover{color:var(--accent)}.sidebar-header-actions [data-tooltip]:not([data-tooltip=""]):hover:after{bottom:auto;top:calc(100% + 6px)}.message-avatar-slot .avatar[data-tooltip]:not([data-tooltip=""]):hover:after{bottom:auto;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.help-modal{max-width:480px;width:100%;padding:0;position:relative;overflow:hidden}.help-close{position:absolute;top:14px;right:18px;background:transparent;border:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--text-muted);transition:background .1s,color .1s;z-index:1}.help-close:hover{background:var(--hover);color:var(--text)}.help-close svg{width:18px;height:18px}.help-slide{padding:36px 28px 12px;min-height:280px;display:flex;flex-direction:column;align-items:center;text-align:center;animation:helpSlideIn .18s ease-out}@keyframes helpSlideIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.help-emoji{font-size:56px;line-height:1;margin-bottom:12px;display:flex;align-items:center;justify-content:center}.help-emoji>svg,.help-emoji>img{display:block}.help-title{font-size:20px;font-weight:700;color:var(--text);margin-bottom:10px}.help-body{font-size:14px;line-height:1.55;color:var(--text-muted);text-align:left;max-width:380px}.help-body code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12.5px;background:var(--panel-soft, rgba(0, 0, 0, .06));padding:1px 5px;border-radius:4px}.help-body b{color:var(--text)}.help-body ul{margin:4px 0}.help-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 20px;gap:12px}.help-arrow{width:40px;height:40px;border-radius:50%;border:none;background:var(--panel-soft, rgba(0, 0, 0, .05));color:var(--text);cursor:pointer;display:grid;place-items:center;transition:background .1s,transform .05s}.help-arrow:hover:not(:disabled){background:var(--hover)}.help-arrow:active:not(:disabled){transform:scale(.94)}.help-arrow:disabled{opacity:.3;cursor:default}.help-arrow svg{width:18px;height:18px}.help-dots{display:flex;align-items:center;gap:6px}.help-dot{width:7px;height:7px;border-radius:50%;border:none;background:var(--border-strong, var(--border));cursor:pointer;padding:0;transition:background .15s,transform .15s}.help-dot:hover{transform:scale(1.3)}.help-dot.active{background:var(--accent);transform:scale(1.2)}.brand-block{display:flex;align-items:center;gap:10px;flex:1}.brand-block svg{width:32px;height:32px;flex-shrink:0}.brand-name{font-size:18px;font-weight:700;letter-spacing:-.02em}.brand-name span{color:var(--accent)}.search{padding:10px 16px;position:relative}.search>svg{position:absolute!important;left:28px!important;top:50%!important;transform:translateY(-50%)!important;width:16px;height:16px;color:var(--text-soft);pointer-events:none;z-index:2}.search-filters-btn svg{position:static;transform:none;left:auto;top:auto;pointer-events:auto}.search-filters-btn[data-tooltip]{position:absolute}.search input{width:100%;padding:8px 40px 8px 36px;background:var(--panel);border:1px solid var(--text-soft);border-radius:18px;font-size:13px;color:var(--text);font-family:inherit;transition:border-color .15s}.search input:focus{outline:none;border-color:var(--accent)}.list-area{flex:1;overflow-y:auto;min-height:0}.section-label{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 6px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft)}.section-label>span{flex:1;min-width:0}.contacts-company{margin-bottom:4px}.contacts-company-count{opacity:.6;font-weight:400}.contacts-company-online{color:var(--success, #22c55e);font-weight:500;text-transform:none;letter-spacing:0}.section-label.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.section-label.collapsible:hover{background:var(--hover)}.section-label>button{background:none;border:none;color:var(--accent);font-size:11px;font-weight:500;text-transform:uppercase;cursor:pointer;letter-spacing:.05em;padding:0}.section-label>button:hover{color:var(--accent-dark)}.section-actions{display:flex;align-items:center;gap:8px}.density-toggle{display:inline-flex;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:2px;gap:2px}.density-toggle button{width:22px;height:20px;border:none;background:transparent;border-radius:5px;cursor:pointer;display:grid;place-items:center;color:var(--text-soft);padding:0;transition:background .12s,color .12s}.density-toggle button:hover{color:var(--text)}.density-toggle button.active{background:var(--accent-soft);color:var(--accent)}.density-toggle button[data-tooltip]:not([data-tooltip=""]):hover:after{bottom:auto;top:calc(100% + 6px)}.chats-list-section.compact .chat-item,.contacts-list.compact .chat-item{padding:4px 14px;grid-template-columns:22px 1fr auto;gap:8px;align-items:center}.chats-list-section.compact .chat-item .avatar,.contacts-list.compact .chat-item .avatar{width:22px;height:22px;font-size:11px}.chats-list-section.compact .chat-item .avatar.online:after,.contacts-list.compact .chat-item .avatar.online:after{width:7px;height:7px;border-width:1px}.chats-list-section.compact .chat-info,.contacts-list.compact .chat-info{display:flex;align-items:baseline;gap:8px;min-width:0}.chats-list-section.compact .chat-name,.contacts-list.compact .chat-name{font-size:13px;flex-shrink:0}.chats-list-section.compact .chat-preview,.contacts-list.compact .chat-preview{font-size:11px;margin-top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chats-list-section.compact .chat-meta{flex-direction:row;gap:6px;align-items:center}.chats-list-section.compact .chat-time{font-size:10px}.chats-list-section.compact .chat-badge{min-width:16px;height:16px;font-size:9px;padding:0 4px}.chat-item-wrap{position:relative;overflow:hidden;background:var(--panel)}.chat-item-swipe-delete{position:absolute;top:0;right:0;bottom:0;width:80px;display:flex;align-items:center;justify-content:center;background:var(--danger, #d92d20);color:#fff;border:none;cursor:pointer;opacity:0;transition:opacity .15s}.chat-item-wrap.swipe-open .chat-item-swipe-delete{opacity:1}.chat-item-swipe-delete svg{width:22px;height:22px}.chat-item{display:grid;grid-template-columns:40px 1fr auto;gap:10px;padding:8px 14px;cursor:pointer;align-items:center;border-left:3px solid transparent;transition:background .1s,transform .18s ease-out;background:var(--panel);position:relative;z-index:1;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.chat-item .avatar img,.chat-item .avatar{-webkit-touch-callout:none;-webkit-user-drag:none}.chat-item:hover{background:var(--hover)}.chat-item.active{background:var(--accent-soft);border-left-color:var(--accent)}.chat-info{min-width:0}.chat-name{font-weight:500;font-size:calc(14px * var(--text-scale));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-preview{font-size:calc(12px * var(--text-scale));color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.chat-preview.online{color:#22c55e}.chat-preview.offline{color:var(--text-soft)}.chat-preview.is-typing{color:var(--accent);font-style:italic}.chat-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.chat-time{font-size:11px;color:var(--text-soft)}.chat-badge{background:var(--accent);color:#fff;font-size:10px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:grid;place-items:center;font-weight:600}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff;display:grid;place-items:center;font-weight:500;font-size:14px;position:relative;-webkit-user-select:none;user-select:none;flex-shrink:0}.avatar.clickable{cursor:pointer;transition:transform .12s}.avatar.clickable:hover{transform:scale(1.04)}.avatar.online:after{content:"";position:absolute;bottom:0;right:0;width:10px;height:10px;background:#22c55e;border:2px solid var(--panel-soft);border-radius:50%}.avatar.blue{background:linear-gradient(135deg,#60a5fa,#2563eb)}.avatar.purple{background:linear-gradient(135deg,#c084fc,#a855f7)}.avatar.pink{background:linear-gradient(135deg,#f472b6,#db2777)}.avatar.orange{background:linear-gradient(135deg,#fb923c,#ea580c)}.avatar.green{background:linear-gradient(135deg,#34d399,#10b981)}.avatar.yellow{background:linear-gradient(135deg,#fbc200,#f97316)}.avatar.red{background:linear-gradient(135deg,#f87171,#dc2626)}.avatar.teal{background:linear-gradient(135deg,#5eead4,#14b8a6)}.avatar.with-image{background:var(--panel-soft)}.avatar-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.avatar.small{width:30px;height:30px;font-size:13px}.sidebar-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--border);background:var(--panel-soft)}.sidebar-tabs .tab{background:none;border:none;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-soft);cursor:pointer;font-family:inherit;font-size:11px;transition:color .15s}.sidebar-tabs .tab:hover{color:var(--text-muted)}.sidebar-tabs .tab.active{color:var(--accent)}.sidebar-tabs .tab svg{width:20px;height:20px}.chat-view{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;overflow-x:hidden;background-color:var(--chat-bg-color, transparent);background-image:var(--chat-bg-image, none);background-size:cover;background-position:center;background-repeat:no-repeat}.chat-header{padding:14px 24px;padding-top:max(14px,env(safe-area-inset-top));border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;background:var(--panel);min-height:64px;transition:background .1s}.chat-header.clickable{cursor:pointer}.chat-header.clickable:hover{background:var(--hover)}.chat-header-action{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:transparent;border:none;color:var(--text-muted);display:grid;place-items:center;cursor:pointer;transition:background .12s,color .12s}.chat-header-action svg{width:20px;height:20px}.chat-header-action:hover{color:var(--accent);background:var(--hover)}.chat-header-search{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:transparent;border:none;color:var(--text-soft);display:grid;place-items:center;cursor:pointer;transition:color .12s}.chat-header-search svg{width:16px;height:16px}.chat-header-search:hover{color:var(--text)}.chat-header-search.active{color:var(--accent)}.chat-header-pinned{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:var(--panel-soft);border:1px solid var(--border);cursor:pointer;max-width:280px;min-width:0;flex-shrink:1;transition:background .1s,border-color .1s}.chat-header-pinned:hover{background:var(--hover);border-color:var(--accent)}.chat-header-pinned-thumb{width:32px;height:32px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--panel)}.chat-header-pinned-icon{width:32px;height:32px;border-radius:6px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-header-pinned-icon svg{width:16px;height:16px}.chat-header-pinned-info{flex:1;min-width:0}.chat-header-pinned-label{font-size:11px;font-weight:600;color:var(--accent);line-height:1.2}.chat-header-pinned-text{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}@media(max-width:768px){.chat-header-pinned{display:none}}.chat-search-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--panel-soft);border-bottom:1px solid var(--border)}.chat-search-icon{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.chat-search-input{flex:1;border:none;background:transparent;font-family:inherit;font-size:14px;color:var(--text);outline:none}.chat-search-input::placeholder{color:var(--text-soft)}.chat-search-counter{font-size:12px;color:var(--text-muted);flex-shrink:0;white-space:nowrap}.chat-search-nav,.chat-search-close{background:transparent;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;display:flex;align-items:center;transition:background .1s,color .1s}.chat-search-nav:hover:not(:disabled),.chat-search-close:hover{background:var(--hover);color:var(--text)}.chat-search-nav:disabled{cursor:not-allowed;opacity:.4}.chat-search-nav svg,.chat-search-close svg{width:16px;height:16px}.chat-search-filters-btn.active{color:var(--accent)}.chat-search-filters{padding:8px 16px;border-bottom:1px solid var(--border);background:var(--panel-soft);display:flex;flex-direction:column;gap:6px}.pinned-bar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--panel-soft);border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.pinned-bar:hover{background:var(--hover)}.pinned-bar-icon{width:32px;height:32px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pinned-bar-icon svg{width:16px;height:16px}.pinned-bar-content{flex:1;min-width:0}.pinned-bar-label{font-size:11px;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.pinned-bar-counter{font-weight:400;letter-spacing:0}.pinned-bar-text{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-bar-close{background:transparent;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;display:flex;align-items:center;transition:background .1s,color .1s}.pinned-bar-close:hover{background:var(--border);color:var(--text)}.pinned-bar-close svg{width:16px;height:16px}.bubble-pin{width:11px;height:11px;opacity:.7}@keyframes msgHighlight{0%{box-shadow:0 0 #ea4f0000}20%{box-shadow:0 0 0 3px #ea4f0080}to{box-shadow:0 0 #ea4f0000}}.message.highlight .bubble{animation:msgHighlight 1.5s ease-out}.chat-header-info{flex:1;min-width:0}.chat-header-name{font-weight:500;font-size:15px}.chat-header-status{font-size:12px;color:var(--text-muted);margin-top:2px;transition:color .2s}.chat-header-status.typing{color:var(--accent)}.messages{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 24px;display:flex;flex-direction:column;gap:6px}.day-divider{text-align:center;margin:12px 0;font-size:11px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em}.message{display:flex;flex-direction:column;max-width:65%;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.message .bubble-text{-webkit-user-select:text;user-select:text}.message img,.message .attachment-image,.message .attachment-sticker{-webkit-touch-callout:none;-webkit-user-drag:none}.message.in{align-self:flex-start;align-items:flex-start}.message.out{align-self:flex-end;align-items:flex-end}.message-content{display:flex;flex-direction:column;min-width:0;max-width:100%}.message.out .message-content{align-items:flex-end}.message.in .message-content{align-items:flex-start}.message-system{align-self:center;max-width:80%;padding:4px 12px;margin:4px 0;text-align:center;font-size:12px;color:var(--text-muted);background:var(--panel-soft, rgba(0, 0, 0, .04));border-radius:10px;-webkit-user-select:none;user-select:none}.message.in-selection{cursor:pointer}.message.in-selection .bubble{pointer-events:none}.message-select-mark{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong, var(--border));background:var(--panel);display:grid;place-items:center;margin-right:6px;align-self:center;transition:background .15s,border-color .15s,transform .1s}.message-select-mark.on{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.05)}.message-select-mark svg{width:14px;height:14px}.message.in.in-selection{flex-direction:row;align-items:center}.message.out.in-selection{flex-direction:row-reverse;align-items:center}.message.out.in-selection .message-select-mark{margin-right:0;margin-left:6px}.message.is-selected .bubble{outline:2px solid var(--accent);outline-offset:2px;border-radius:12px}.chat-selection-bar{cursor:default;justify-content:flex-start;gap:8px}.chat-selection-bar .chat-back-btn{display:flex!important}.chat-selection-count{flex:1;font-weight:600;font-size:15px;color:var(--text)}.chat-selection-action{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer;transition:background .1s,color .1s}.chat-selection-action:hover{background:var(--hover)}.chat-selection-action.danger{color:var(--danger, #d92d20)}.chat-selection-action.danger:hover{background:#d92d201a}.chat-selection-action svg{width:18px;height:18px}.chat-selection-cancel{width:auto;padding:0 12px;border-radius:16px;font-size:13px;font-family:inherit;color:var(--text-muted)}.chat-selection-cancel:hover{color:var(--text)}.brand-beta{font-size:11px;font-weight:500;color:var(--text-muted);margin-left:6px;opacity:.8;letter-spacing:.02em}.ctx-menu-label{padding:6px 12px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.message.with-avatar-slot{flex-direction:row;align-items:flex-end;gap:6px}.message-avatar-slot{width:32px;min-width:32px;display:flex;align-items:flex-end;justify-content:center}.message-avatar-slot .avatar.small{width:28px;height:28px;font-size:12px}.reactions{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}.reaction{background:var(--panel);border:1px solid var(--border);padding:3px 9px 3px 7px;border-radius:14px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:transform .15s,border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.reaction:hover{transform:scale(1.08);border-color:var(--accent)}.reaction.mine{background:var(--accent-soft);border-color:var(--accent)}.reaction-emoji{font-family:"Noto Color Emoji","Segoe UI Emoji",sans-serif;font-size:14px;line-height:1}.reaction-count{font-size:11px;color:var(--text-muted);font-weight:500}.reaction.mine .reaction-count{color:var(--accent)}@keyframes reactionPop{0%{transform:scale(0) rotate(-15deg);opacity:0}50%{transform:scale(1.4) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.reaction.new{animation:reactionPop .5s cubic-bezier(.34,1.56,.64,1)}.ctx-menu{position:fixed;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;min-width:220px;z-index:1800;animation:ctxIn .15s ease-out}@keyframes ctxIn{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.ctx-reactions{display:flex;gap:2px;padding:4px;border-bottom:1px solid var(--border);margin-bottom:4px}.ctx-reactions button{flex:1;aspect-ratio:1;background:transparent;border:none;border-radius:10px;cursor:pointer;font-family:"Noto Color Emoji","Segoe UI Emoji",sans-serif;font-size:22px;transition:background .12s,transform .12s;padding:4px;line-height:1}.ctx-reactions button:hover{background:var(--accent-soft);transform:scale(1.2)}.ctx-reactions-more{flex:0 0 28px!important;aspect-ratio:1;background:transparent;border:none;border-radius:10px;cursor:pointer;display:flex!important;align-items:center;justify-content:center;color:var(--text-soft);font-size:inherit!important;padding:0!important}.ctx-reactions-more:hover{background:var(--hover);color:var(--text);transform:none!important}.ctx-reactions-full{display:flex;flex-direction:column;width:290px;max-height:320px}.ctx-reactions-tabs{display:flex;gap:2px;padding:6px 6px 10px;border-bottom:1px solid var(--border);background:var(--panel-soft);overflow-x:auto;scrollbar-width:none}.ctx-reactions-tabs::-webkit-scrollbar{display:none}.ctx-reactions-tab{flex-shrink:0;width:30px;height:30px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .1s}.ctx-reactions-tab:hover{background:var(--hover)}.ctx-reactions-tab.active{background:var(--accent-soft)}.ctx-reactions-tab .emoji-img{width:18px;height:18px}.ctx-reactions-grid{flex:1;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;overflow-y:auto;scrollbar-width:thin}.ctx-reactions-grid::-webkit-scrollbar{width:6px}.ctx-reactions-grid::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.ctx-reactions-grid::-webkit-scrollbar-track{background:transparent}.ctx-reactions-grid button{aspect-ratio:1;background:transparent;border:none;border-radius:6px;cursor:pointer;padding:4px;transition:background .1s,transform .1s;display:flex;align-items:center;justify-content:center}.ctx-reactions-grid button:hover{background:var(--hover);transform:scale(1.15)}.ctx-reactions-grid .emoji-img{width:22px;height:22px}.ctx-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;color:var(--text);width:100%;background:transparent;border:none;text-align:left;transition:background .1s}.ctx-item:hover{background:var(--hover)}.ctx-item:disabled{cursor:not-allowed;opacity:.4}.ctx-item:disabled:hover{background:transparent}.ctx-item.danger{color:var(--danger)}.ctx-item.danger:hover{background:#d92d2014}.ctx-item svg{width:16px;height:16px;flex-shrink:0;opacity:.7}.ctx-item .shortcut{margin-left:auto;font-size:11px;color:var(--text-soft)}.ctx-divider{height:1px;background:var(--border);margin:4px 8px}.current-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--border);cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none}.current-user:hover{background:var(--hover)}.current-user .avatar{width:36px;height:36px;font-size:14px;flex-shrink:0}.current-user-info{flex:1;min-width:0}.current-user-name{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-user-handle{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-user-logout{color:var(--text-muted)}.current-user-logout:hover{color:var(--danger)}.reply-preview{display:flex;align-items:stretch;gap:10px;padding:8px 10px;margin-bottom:8px;background:var(--hover);border-radius:10px;border:1px solid var(--border)}.reply-preview-bar{width:3px;background:var(--accent);border-radius:2px;flex-shrink:0}.reply-preview-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.reply-preview-label{font-size:12px;color:var(--accent);font-weight:500}.reply-preview-text{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-preview-close{background:transparent;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;display:flex;align-items:center;transition:background .1s,color .1s}.reply-preview-close:hover{background:var(--border);color:var(--text)}.reply-preview-close svg{width:16px;height:16px}.edit-preview{display:flex;align-items:stretch;gap:10px;padding:8px 10px;margin-bottom:8px;background:var(--hover);border-radius:10px;border:1px solid var(--border)}.edit-preview-bar{width:3px;background:var(--accent-2);border-radius:2px;flex-shrink:0}.edit-preview-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.edit-preview-label{font-size:12px;color:var(--accent-2);font-weight:500}.edit-preview-text{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-preview-close{background:transparent;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;display:flex;align-items:center;transition:background .1s,color .1s}.edit-preview-close:hover{background:var(--border);color:var(--text)}.edit-preview-close svg{width:16px;height:16px}.bubble-reply{border-left:3px solid var(--accent);padding:4px 8px;margin-bottom:6px;background:#ea4f0014;border-radius:0 6px 6px 0;font-size:12px;max-width:100%;overflow:hidden;cursor:pointer;transition:background .1s}.bubble-reply:hover{background:#ea4f002e}.bubble-reply-author{color:var(--accent);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bubble-reply-text{color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;overflow-wrap:anywhere}.message.out .bubble-reply{background:#ea4f0024}.pending-attachments-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.pending-attachment{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--hover);border-radius:10px;border:1px solid var(--border);max-width:240px;min-width:160px;flex:1 1 calc(50% - 6px)}.pending-attachment.uploading{opacity:.7}.pending-attachment.error{border-color:var(--danger);background:#d92d2014}.pending-attachment-thumb-wrap{position:relative;width:40px;height:40px;flex-shrink:0}.upload-progress-ring{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#00000073;border-radius:6px;color:var(--accent)}.upload-progress-ring svg{display:block;position:absolute}.upload-progress-text{position:relative;font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.pending-attachment-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0;background:var(--panel-soft)}.pending-attachment-icon{width:40px;height:40px;border-radius:6px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}.pending-attachment-info{flex:1;min-width:0}.pending-attachment-name{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-attachment-meta{font-size:11px;color:var(--text-muted)}.pending-attachment.error .pending-attachment-meta{color:var(--danger)}.pending-attachment-close{background:transparent;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:6px;display:flex;align-items:center;transition:background .1s,color .1s}.pending-attachment-close:hover{background:var(--border);color:var(--text)}.pending-attachment-close svg{width:16px;height:16px}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ea4f001a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:3px dashed var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;z-index:200;pointer-events:none;animation:dropIn .15s ease-out}@keyframes dropIn{0%{opacity:0}to{opacity:1}}.drop-overlay-content{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:28px 36px;text-align:center;box-shadow:var(--shadow-lg)}.drop-overlay-icon{font-size:56px;line-height:1;margin-bottom:12px}.drop-overlay-title{font-size:18px;font-weight:600;color:var(--text);margin-bottom:4px}.drop-overlay-sub{font-size:13px;color:var(--text-muted)}.attachments-grid{display:flex;flex-wrap:wrap;gap:4px;margin:-2px -4px 4px}.attachments-grid.single .attachment-image-link{margin:0;width:100%}.attachments-grid.multi .attachment-image-link{margin:0;flex:1 1 calc(33% - 4px);min-width:90px;max-width:160px}.attachments-grid.multi .attachment-image{width:100%;height:100%;max-height:140px;object-fit:cover;border-radius:8px}.attachments-grid.multi .attachment-file{margin:0;flex:1 1 100%}.attachment-image-link{display:block;margin:-2px -4px 4px;padding:0;background:transparent;border:none;cursor:zoom-in;width:auto}.bubble-drawing-mark{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--text-soft);font-style:italic;margin-left:4px}.bubble-drawing-mark svg{width:11px;height:11px}.attachment-image{display:block;max-width:320px;max-height:180px;width:auto;object-fit:contain;border-radius:10px;cursor:zoom-in}.attachment-image-drawing,.attachment-image-gif{max-width:320px;max-height:180px;width:100%;object-fit:contain}.attachment-file{display:flex;align-items:center;gap:10px;padding:8px;margin:2px 0 4px;background:#0000000a;border-radius:10px;text-decoration:none;color:inherit;transition:background .12s;border:none;cursor:pointer;width:100%;font-family:inherit;text-align:left}.attachment-file:hover{background:#00000014}.message.out .attachment-file{background:#0000000f}.attachment-file-icon{width:38px;height:38px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.attachment-file-icon svg{width:20px;height:20px}.attachment-file-info{min-width:0;flex:1}.attachment-file-name{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-file-size{font-size:11px;color:var(--text-muted)}.bubble-text{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;word-break:break-word;caret-color:transparent}.bubble{caret-color:transparent}.attachments-download-all{display:inline-flex;align-items:center;gap:6px;margin:4px 0 6px;padding:5px 10px;background:#0000000d;border:none;border-radius:8px;color:var(--accent);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;transition:background .12s}.attachments-download-all:hover{background:#0000001a}.attachments-download-all svg{width:14px;height:14px}.message.out .attachments-download-all{background:#00000014}.message.out .attachments-download-all:hover{background:#00000026}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:2000;display:flex;align-items:center;justify-content:center;padding:40px;animation:lightboxFade .15s ease-out;cursor:zoom-out}@keyframes lightboxFade{0%{opacity:0}to{opacity:1}}.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px #00000080;cursor:default}.lightbox-toolbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent);cursor:default}.lightbox-name{flex:1;min-width:0;color:#ffffffe6;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox-btn{background:#ffffff1f;border:none;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,transform .12s;flex-shrink:0}.lightbox-btn:hover{background:#ffffff38;transform:scale(1.05)}.lightbox-btn svg{width:18px;height:18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1500;display:none;align-items:center;justify-content:center;padding:20px}.modal-backdrop.show{display:flex;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--panel);border-radius:18px;width:460px;max-width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:modalIn .2s cubic-bezier(.34,1.56,.64,1)}@keyframes modalIn{0%{opacity:0;transform:scale(.92) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:20px 24px 12px;border-bottom:1px solid var(--border)}.modal-title{font-size:18px;font-weight:600;color:var(--text)}.modal-subtitle{font-size:13px;color:var(--text-muted);margin-top:4px}.modal-body{padding:16px 24px;overflow-y:auto;flex:1;min-height:0}.modal-footer{padding:12px 24px 20px;display:flex;gap:8px;justify-content:flex-end}.drawing-modal{width:auto;max-width:95vw;padding:12px;gap:12px}.drawing-toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--panel-soft);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap}.drawing-toolbar-group{display:flex;align-items:center;gap:4px}.drawing-toolbar-divider{width:1px;height:22px;background:var(--border)}.drawing-color{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px var(--border);transition:transform .1s,border-color .1s}.drawing-color:hover{transform:scale(1.12)}.drawing-color.active{border-color:var(--accent);transform:scale(1.18)}.drawing-size{width:28px;height:28px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text)}.drawing-size:hover{background:var(--hover)}.drawing-size.active{background:var(--accent-soft);color:var(--accent)}.drawing-size-dot{display:block;background:currentColor;border-radius:50%}.drawing-tool{width:28px;height:28px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text)}.drawing-tool:hover:not(:disabled){background:var(--hover)}.drawing-tool.active{background:var(--accent-soft);color:var(--accent)}.drawing-tool:disabled{opacity:.4;cursor:not-allowed}.drawing-canvas-wrap{display:flex;justify-content:center;background:repeating-conic-gradient(#eee,#eee 90deg,#fafafa 90deg,#fafafa 180deg) 0 0 / 16px 16px;border-radius:12px;padding:8px}.drawing-canvas{display:block;width:800px;height:500px;max-width:100%;background:#fff;border-radius:8px;cursor:crosshair;touch-action:none;box-shadow:0 2px 12px #00000014}.drawing-canvas.erasing{cursor:cell}.drawing-footer{display:flex;justify-content:flex-end;gap:8px}.form-label{display:block;font-size:13px;color:var(--text);font-weight:500;margin-bottom:14px}.form-label-hint{color:var(--text-muted);font-weight:400}.form-input{display:block;width:100%;margin-top:6px;padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:14px;color:var(--text);resize:vertical;transition:border-color .12s;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--accent)}.btn{padding:9px 16px;border-radius:10px;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .12s,opacity .12s,transform .12s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:not(:disabled):hover{background:var(--accent-dark)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:var(--hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:not(:disabled):hover{filter:brightness(.95)}.confirm-modal{width:380px}.confirm-modal .modal-header{border-bottom:none;padding-bottom:0}.profile-avatar-section{display:flex;align-items:center;gap:16px;margin-bottom:8px}.profile-avatar-section .avatar.large{width:80px;height:80px;font-size:28px}.profile-avatar-section .avatar.large .e{font-size:36px}.profile-avatar-actions{display:flex;flex-direction:column;gap:6px;flex:1}.profile-avatar-actions .btn{text-align:center}.profile-hint{font-size:11px;color:var(--text-muted);margin-bottom:14px}.profile-color-row{margin-bottom:14px}.profile-color-label{font-size:13px;color:var(--text);font-weight:500;margin-bottom:6px}.profile-color-grid{display:flex;gap:6px;flex-wrap:wrap}.profile-color.avatar{width:30px;height:30px;cursor:pointer;border:2px solid transparent;transition:transform .1s,border-color .1s}.profile-color.avatar:hover{transform:scale(1.1)}.profile-color.avatar.active{border-color:var(--text);transform:scale(1.1)}.profile-readonly{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.group-avatar-picker{display:flex;align-items:center;gap:16px;margin-bottom:18px}.group-avatar-preview{width:64px;height:64px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:32px;flex-shrink:0}.group-avatar-preview .e{font-family:"Noto Color Emoji","Segoe UI Emoji",sans-serif;line-height:1}.group-avatar-preview img{width:100%;height:100%;object-fit:cover;border-radius:50%}.group-avatar-actions{display:flex;flex-direction:column;gap:6px}.group-avatar-actions .btn{padding:6px 12px}.about-modal .about-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.about-modal .about-row:last-of-type{border-bottom:none}.about-modal .about-row>span:first-child{color:var(--text-soft)}.about-modal .about-row a{color:var(--accent);text-decoration:none}.about-modal .about-text{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);color:var(--text-soft);line-height:1.5;font-size:13px}.unified-picker-mode .mode-icon-img{width:20px;height:20px;object-fit:contain}.emoji-picker-row{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;flex:1}.emoji-picker-btn{aspect-ratio:1;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;font-family:"Noto Color Emoji","Segoe UI Emoji",sans-serif;font-size:20px;padding:0;transition:background .1s,transform .1s,border-color .1s;line-height:1}.emoji-picker-btn:hover{background:var(--hover);transform:scale(1.15)}.emoji-picker-btn.active{background:var(--accent-soft);border-color:var(--accent)}.info-modal-head{display:flex;align-items:center;gap:14px}.info-modal-titles{flex:1;min-width:0}.avatar.large{width:56px;height:56px;font-size:22px}.avatar.large .e{font-size:28px}.info-section{margin-bottom:16px}.chat-info-modal{width:560px!important;max-width:95vw}.info-tabs{display:flex;gap:0;padding:0 12px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.info-tabs::-webkit-scrollbar{display:none}.info-tab{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:10px 6px;border:none;background:transparent;color:var(--text-muted);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:color .1s,border-color .1s}.info-tab:hover{color:var(--text)}.info-tab.active{color:var(--accent);border-bottom-color:var(--accent)}@media(max-width:560px){.info-tab span{display:none}}.info-feed{display:flex;flex-direction:column;gap:4px}.info-feed-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer;font-family:inherit;text-align:left;color:var(--text);font-size:13px;transition:background .1s,border-color .1s}.info-feed-item:hover{background:var(--hover);border-color:var(--border)}.info-feed-icon{font-size:18px;flex-shrink:0;line-height:1.2}.info-feed-content{flex:1;min-width:0}.info-feed-body{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.info-feed-body a{color:var(--accent);word-break:break-all}.info-feed-meta{display:flex;gap:6px;align-items:center;margin-top:4px;font-size:11px;color:var(--text-soft)}.info-feed-author{font-weight:500}.info-feed-sep{opacity:.5}.info-empty{padding:32px 12px;text-align:center;color:var(--text-muted);font-size:13px}.info-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:4px;padding:4px 0}.info-media-tile{position:relative;aspect-ratio:1;overflow:hidden;border-radius:6px;background:var(--panel-soft, rgba(0,0,0,.04));border:none;padding:0;cursor:pointer;transition:transform .1s}.info-media-tile:hover{transform:scale(1.03)}.info-media-tile img{width:100%;height:100%;object-fit:cover;display:block}.info-media-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:28px;opacity:.4}.info-action-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--accent);border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;margin:4px 0 12px;transition:filter .1s}.info-action-btn:hover{filter:brightness(.95)}.info-action-btn:disabled{opacity:.5;cursor:not-allowed}.invite-row{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--panel-soft);border:1px solid var(--border);border-radius:8px;margin-bottom:6px}.invite-url{flex:1;font-family:monospace;font-size:11px;color:var(--text);background:var(--panel);padding:4px 6px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-member.picked{background:var(--accent-soft);border-color:var(--accent)}.member-pick-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;background:transparent;flex-shrink:0}.member-pick-check.on{background:var(--accent);border-color:var(--accent)}.info-section-label{font-size:11px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.info-section-text{font-size:14px;color:var(--text);line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.info-loading{font-size:13px;color:var(--text-muted)}.info-members{display:flex;flex-direction:column}.info-member{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;border-bottom:1px solid var(--border);transition:background .1s}.info-member:last-child{border-bottom:none}.info-member.clickable{cursor:pointer}.info-member.clickable:hover{background:var(--hover)}.info-member .avatar{width:36px;height:36px;font-size:14px;flex-shrink:0}.info-member-info{flex:1;min-width:0}.info-member-name{font-size:14px;font-weight:500;color:var(--text)}.info-member-handle{font-size:12px;color:var(--text-muted)}.role-badge{font-size:10px;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:500;flex-shrink:0}.role-badge.role-creator{background:var(--accent);color:#fff}.role-badge.role-admin{background:var(--accent-soft);color:var(--accent)}.member-picker-search{margin-bottom:10px}.member-picker-counter{font-size:12px;color:var(--text-muted);margin-bottom:10px}.member-picker-counter strong{color:var(--accent)}.member-picker-list{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:10px}.member-picker-empty{padding:20px;text-align:center;color:var(--text-muted);font-size:13px}.member-picker-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--border)}.member-picker-item:last-child{border-bottom:none}.member-picker-item:hover{background:var(--hover)}.member-picker-item.selected{background:var(--accent-soft)}.member-picker-item .avatar{width:36px;height:36px;font-size:14px;flex-shrink:0}.member-picker-info{flex:1;min-width:0}.member-picker-name{font-size:14px;font-weight:500;color:var(--text)}.member-picker-handle{font-size:12px;color:var(--text-muted)}.member-picker-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s,border-color .12s;color:#fff}.member-picker-check.on{background:var(--accent);border-color:var(--accent)}.member-picker-check svg{width:14px;height:14px}.chat-pin-icon{width:12px;height:12px;vertical-align:middle;margin-left:4px;color:var(--accent);transform:rotate(45deg)}.chat-item.drag-over{box-shadow:inset 0 2px 0 var(--accent);background:var(--hover)}.chat-item[draggable=true]{cursor:grab}.chat-item[draggable=true]:active{cursor:grabbing}.chat-mute-icon{width:12px;height:12px;vertical-align:middle;margin-left:4px;opacity:.5;color:var(--text-muted)}.chat-badge.badge-muted{background:var(--text-soft)}.ctx-item-arrow{width:14px!important;height:14px!important;margin-left:auto;opacity:.5}.ctx-item.ctx-item-back{color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.link-preview{display:flex;flex-direction:column;margin-top:6px;margin-bottom:4px;background:#0000000a;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;overflow:hidden;text-decoration:none;color:inherit;transition:background .12s;max-width:100%}.link-preview:hover{background:#00000014}.message.out .link-preview{background:#0000000f}.message.out .link-preview:hover{background:#0000001a}.link-preview-image{display:block;max-width:100%;max-height:220px;object-fit:cover}.link-preview-info{padding:6px 10px;min-width:0}.link-preview-site{font-size:11px;color:var(--text-muted);font-weight:500;margin-bottom:2px;text-transform:lowercase}.link-preview-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-wrap:break-word}.link-preview-desc{font-size:12px;color:var(--text-muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-wrap:break-word}.bubble-forwarded{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);margin-bottom:4px;font-style:italic}.bubble-forwarded svg{width:12px;height:12px;flex-shrink:0;color:var(--accent)}.bubble-forwarded strong{color:var(--accent);font-weight:500;font-style:normal}.forward-list{margin-top:12px;max-height:360px;overflow-y:auto;border:1px solid var(--border);border-radius:10px}.forward-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--border)}.forward-item:last-child{border-bottom:none}.forward-item:hover{background:var(--hover)}.forward-item .avatar{width:36px;height:36px;font-size:14px;flex-shrink:0}.forward-item-info{flex:1;min-width:0}.forward-item-name{font-size:14px;font-weight:500;color:var(--text)}.forward-item-kind{font-size:12px;color:var(--text-muted)}.pack-picker-inline{display:flex;flex-direction:column;gap:10px;min-width:240px}.pack-picker-inline-preview{display:flex;align-items:center;gap:10px}.pack-picker-inline-preview img{width:64px;height:64px;object-fit:contain;background:#0000000a;border-radius:10px;flex-shrink:0}.pack-picker-inline-prompt{font-weight:600;font-size:14px;color:var(--text)}.pack-picker-inline-list{display:flex;flex-direction:column;gap:4px}.pack-picker-inline-btn{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:var(--panel-soft, rgba(0, 0, 0, .04));border:1px solid var(--border);color:var(--text);cursor:pointer;font-family:inherit;font-size:13px;text-align:left;transition:background .12s,transform .05s}.pack-picker-inline-btn:hover:not(:disabled){background:var(--hover)}.pack-picker-inline-btn:active:not(:disabled){transform:scale(.98)}.pack-picker-inline-btn:disabled{opacity:.6;cursor:wait}.pack-picker-inline-btn img{width:28px;height:28px;object-fit:contain;flex-shrink:0}.pack-picker-inline-btn-empty{width:28px;height:28px;display:grid;place-items:center;background:#0000000f;border-radius:6px;font-size:14px;flex-shrink:0}.pack-picker-inline-btn-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-picker-inline-new-trigger{align-self:flex-start;background:transparent;border:1px dashed var(--border);color:var(--accent);padding:6px 12px;border-radius:10px;cursor:pointer;font-size:13px;font-family:inherit;transition:background .1s}.pack-picker-inline-new-trigger:hover:not(:disabled){background:#ea4f0014}.pack-picker-inline-new-row{display:flex;gap:6px;align-items:stretch}.pack-picker-inline-input{flex:1;min-width:0;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:13px;font-family:inherit}.pack-picker-inline-input:focus{outline:none;border-color:var(--accent)}.pack-picker-inline-create{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:0 12px;font-size:13px;font-family:inherit;cursor:pointer}.pack-picker-inline-create:disabled{opacity:.5;cursor:not-allowed}.scroll-to-bottom{position:fixed;right:18px;bottom:100px;width:44px;height:44px;border-radius:50%;background:var(--panel);border:1px solid var(--border);box-shadow:0 4px 14px #0000002e;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .15s ease,transform .15s ease,background .1s;z-index:50}.scroll-to-bottom.show{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-to-bottom:hover{background:var(--hover)}.scroll-to-bottom svg{width:22px;height:22px}.scroll-to-bottom-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1}@media(max-width:640px){.scroll-to-bottom{right:12px;bottom:90px;width:40px;height:40px}.scroll-to-bottom svg{width:20px;height:20px}}.bubble-ticks{display:inline-flex;align-items:center;margin-left:2px;opacity:.6}.bubble-ticks svg{width:12px;height:12px}.bubble-ticks .bubble-tick-2{margin-left:-7px}.bubble-ticks.read{opacity:1;color:var(--accent)}.bubble-ticks.read-partial{opacity:1}.bubble-ticks.read-partial svg:first-child{color:var(--accent)}.bubble-ticks.read-partial .bubble-tick-2{color:currentColor;opacity:.5}.ctx-item-with-submenu{position:relative;-webkit-user-select:none;user-select:none}.ctx-item-with-submenu .ctx-item-chevron{margin-left:auto;display:inline-flex;align-items:center;color:var(--text-soft)}.ctx-item-with-submenu .ctx-item-chevron svg{width:12px;height:12px;opacity:.8}.ctx-item-with-submenu.is-active{background:var(--hover)}.ctx-submenu{position:absolute;top:-6px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;min-width:240px;max-width:320px;max-height:320px;overflow-y:auto;scrollbar-width:thin;animation:tooltip-fade .12s ease-out;transform-origin:top right;z-index:2}.ctx-submenu-left{right:100%;margin-right:6px;transform-origin:top right}.ctx-submenu-right{left:100%;margin-left:6px;transform-origin:top left}.ctx-submenu::-webkit-scrollbar{width:6px}.ctx-submenu::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.ctx-submenu-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);padding:6px 10px 4px}.ctx-submenu-section-divider{height:1px;background:var(--border);margin:6px 4px}.ctx-submenu-compact{min-width:140px;padding:4px}.ctx-submenu-empty{padding:10px;font-size:13px;color:var(--text-soft);text-align:center}.ctx-submenu-list{display:flex;flex-direction:column;gap:1px}.ctx-submenu-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:13px;color:var(--text)}.ctx-submenu-row:hover{background:var(--hover)}.ctx-submenu-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;color:#fff;flex-shrink:0;background:var(--border-strong)}.ctx-submenu-avatar.img{object-fit:cover}.ctx-submenu-avatar.blue{background:#4a86e8}.ctx-submenu-avatar.green{background:#2e7d32}.ctx-submenu-avatar.purple{background:#7b1fa2}.ctx-submenu-avatar.red{background:#c62828}.ctx-submenu-avatar.orange{background:#ef6c00}.ctx-submenu-avatar.teal{background:#00897b}.ctx-submenu-avatar.pink{background:#d81b60}.ctx-submenu-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-submenu-emoji .emoji-img{width:16px;height:16px;vertical-align:middle}.ctx-submenu-time{font-size:11px;color:var(--text-soft);white-space:nowrap}@media(max-width:480px){.ctx-submenu-left,.ctx-submenu-right{position:fixed;top:auto;bottom:12px;left:12px;right:12px;margin:0;max-width:none;z-index:1900}}.search-status{padding:16px;text-align:center;color:var(--text-muted);font-size:13px}.search-result{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--border)}.search-result:hover{background:var(--hover)}.search-result .avatar{width:36px;height:36px;font-size:14px;flex-shrink:0}.search-result-info{flex:1;min-width:0}.search-result-top{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}.search-result-chat{font-size:13px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-time{font-size:11px;color:var(--text-muted);flex-shrink:0}.search-result-text{font-size:12px;color:var(--text-muted);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-wrap:break-word}.search-result-author{color:var(--text);font-weight:500}.search-mark{background:var(--accent-soft);color:var(--accent);padding:0 2px;border-radius:3px;font-weight:500}.bubble-text strong{font-weight:600}.bubble-text em{font-style:italic}.bubble-text del{text-decoration:line-through;opacity:.75}.bubble-text .md-code{font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:.92em;background:#00000012;padding:1px 5px;border-radius:4px}.message.out .bubble-text .md-code{background:#0000001a}.bubble-text .md-link{color:var(--accent);text-decoration:underline;word-break:break-all}.bubble-text .md-link:hover{text-decoration:none}.bubble-text .md-quote{border-left:3px solid var(--accent);padding:2px 8px;margin:4px 0;background:#ea4f000f;border-radius:0 6px 6px 0;font-style:italic;color:var(--text-muted)}.md-spoiler-pinball{position:relative;display:inline-block;background:#0000001f;border-radius:8px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;vertical-align:middle;line-height:1.4;min-height:36px;min-width:80px}[data-theme=dark] .md-spoiler-pinball{background:#ffffff26}.md-spoiler-pinball .md-spoiler-content{color:transparent;visibility:hidden}.md-spoiler-pinball .md-spoiler-canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.md-spoiler-pinball.revealed{background:#0000000f;cursor:text;-webkit-user-select:text;user-select:text;transition:background .2s}.md-spoiler-pinball.revealed .md-spoiler-content{color:var(--text);visibility:visible}.message.out .md-spoiler-pinball.revealed{background:#0000001a}.md-spoiler-pinball.is-block{display:block;padding:0;border-radius:12px;vertical-align:baseline;min-width:60px}.md-spoiler-pinball.is-block .md-spoiler-canvas{border-radius:inherit}.md-spoiler-pinball:not(.revealed) .md-spoiler-content{pointer-events:none}.md-spoiler-pinball.is-block:not(.revealed) .md-spoiler-content{display:block;visibility:hidden}.md-spoiler-pinball.is-block.revealed{background:transparent;cursor:pointer;-webkit-user-select:auto;user-select:auto}.md-spoiler-pinball.is-block.revealed .md-spoiler-content{display:block;visibility:visible}.emoji-img{width:1.2em;height:1.2em;vertical-align:-.25em;display:inline-block}.bubble-text .emoji-img{width:1.25em;height:1.25em}.emoji-picker-cell .emoji-img,.emoji-picker-tab .emoji-img{width:22px;height:22px;vertical-align:middle}.emoji-picker-tab .emoji-img{width:20px;height:20px}.ctx-reactions button .emoji-img{width:24px;height:24px;vertical-align:middle}.reaction-emoji .emoji-img{width:14px;height:14px;vertical-align:middle}.avatar .avatar-emoji-img{width:60%;height:60%;vertical-align:middle}.avatar.large .avatar-emoji-img{width:55%;height:55%}.avatar.small .avatar-emoji-img{width:65%;height:65%}.emoji-btn .emoji-img{width:20px;height:20px;vertical-align:middle}.emoji-btn .e{font-family:"Noto Color Emoji","Segoe UI Emoji",sans-serif;font-size:18px;line-height:1}.emoji-picker{position:absolute;bottom:100%;right:12px;margin-bottom:8px;width:320px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);z-index:60;overflow:hidden;display:flex;flex-direction:column;animation:ctxIn .15s ease-out}.emoji-picker-tabs{display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--border);background:var(--panel-soft);overflow-x:auto}.emoji-picker-tab{flex-shrink:0;width:32px;height:32px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.emoji-picker-tab:hover{background:var(--hover)}.emoji-picker-tab.active{background:var(--accent-soft)}.emoji-picker-tab .e{font-family:"Noto Color Emoji","Segoe UI Emoji",sans-serif;font-size:18px;line-height:1}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;max-height:280px;overflow-y:auto}.emoji-picker-cell{aspect-ratio:1;background:transparent;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .1s,transform .1s}.emoji-picker-cell:hover{background:var(--hover);transform:scale(1.15)}.emoji-picker-cell .e{font-family:"Noto Color Emoji","Segoe UI Emoji",sans-serif;font-size:22px;line-height:1}.sticker-btn svg{width:22px;height:22px}.sticker-picker{position:absolute;bottom:100%;right:12px;margin-bottom:8px;width:360px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);z-index:60;overflow:hidden;display:flex;flex-direction:column;animation:ctxIn .15s ease-out}.sticker-picker-tabs{display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--border);background:var(--panel-soft);overflow-x:auto}.sticker-picker-tab{flex-shrink:0;width:38px;height:38px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;transition:background .1s}.sticker-picker-tab:hover{background:var(--hover)}.sticker-picker-tab.active{background:var(--accent-soft)}.sticker-picker-tab svg{width:18px;height:18px;color:var(--text-soft)}.sticker-picker-tab .e{font-family:"Noto Color Emoji","Segoe UI Emoji",sans-serif;font-size:18px;line-height:1}.sticker-picker-tab-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 1px var(--panel)) drop-shadow(0 0 1px var(--panel))}.sticker-picker-body{flex:1;min-height:0;max-height:340px;overflow-y:auto}.sticker-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px}.sticker-picker-cell{aspect-ratio:1;background:transparent;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px;transition:background .1s,transform .1s}.sticker-picker-cell:hover{background:var(--hover);transform:scale(1.06)}.sticker-picker-cell img{max-width:100%;max-height:100%;object-fit:contain}.sticker-picker-empty{padding:24px 16px;text-align:center;color:var(--text-soft);font-size:14px}.sticker-picker-empty-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px}.sticker-picker-empty-text{margin-bottom:14px}.sticker-picker-empty-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.sticker-picker-footer{display:flex;gap:6px;padding:8px;border-top:1px solid var(--border);background:var(--panel-soft)}.sticker-picker-action{flex:1;background:transparent;border:none;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text-soft);transition:background .1s,color .1s}.sticker-picker-action:hover{background:var(--hover);color:var(--text)}.bot-welcome-banner{display:flex;gap:12px;padding:12px 16px;background:var(--accent-soft);border-bottom:1px solid var(--border);align-items:center;font-size:13px;line-height:1.45;color:var(--text)}.bot-welcome-banner-icon{font-size:22px;line-height:1;flex-shrink:0}.bot-welcome-banner-text{flex:1;min-width:0}.bot-welcome-banner-text code{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--accent);font-weight:500}.sticker-catalog-modal{max-width:560px;width:100%}.sticker-catalog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.sticker-catalog-header h2{margin:0;font-size:18px;font-weight:600}.sticker-catalog-close{flex-shrink:0}.sticker-catalog-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:linear-gradient(180deg,var(--panel) 0%,var(--panel-soft) 100%);color:var(--text);font-family:inherit;font-size:13px;font-weight:600;padding:9px 18px;border-radius:10px;cursor:pointer;box-shadow:0 1px #fff9 inset,0 2px 6px #00000014;transition:transform .08s,box-shadow .15s,background .15s;white-space:nowrap}.sticker-catalog-action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1px #fff9 inset,0 4px 10px #0000001f}.sticker-catalog-action:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #00000026 inset}.sticker-catalog-action:disabled{opacity:.5;cursor:not-allowed}.sticker-catalog-action.primary{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;border-color:var(--accent-dark);box-shadow:0 1px #ffffff40 inset,0 2px 8px #ea4f0059}.sticker-catalog-action.primary:hover:not(:disabled){box-shadow:0 1px #ffffff40 inset,0 4px 12px #ea4f0073}.sticker-catalog-action.is-pinned{background:var(--panel-soft);color:var(--text-muted)}.sticker-catalog-footer{gap:10px;justify-content:flex-end}.sticker-catalog-list{display:flex;flex-direction:column;gap:12px}.sticker-catalog-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel-soft)}.sticker-catalog-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.sticker-catalog-card-info{min-width:0;flex:1}.sticker-catalog-card-name{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.sticker-catalog-rename{background:transparent;border:none;padding:4px;border-radius:6px;cursor:pointer;color:var(--text-soft);display:inline-flex;align-items:center;flex-shrink:0;transition:background .12s,color .12s}.sticker-catalog-rename:hover{background:var(--hover);color:var(--accent)}.sticker-catalog-card-meta{font-size:12px;color:var(--text-soft);margin-top:2px}.sticker-catalog-card-preview{display:grid;grid-template-columns:repeat(4,64px);gap:8px}.sticker-catalog-card-preview img{width:64px;height:64px;object-fit:contain}.bubble--sticker{background:transparent!important;box-shadow:none!important;padding:0!important;border:none!important;position:relative}.bubble--sticker .bubble-meta{background:#00000073;color:#fff;padding:2px 6px;border-radius:10px;position:absolute;bottom:4px;right:4px}.bubble--sticker .bubble-meta .bubble-ticks{color:#fff}.bubble--emoji{background:transparent!important;padding:0!important;border:none!important;box-shadow:none!important}.bubble--emoji .bubble-text{font-size:56px;line-height:1;padding:4px 0}.bubble--emoji .bubble-text .emoji-img{width:56px;height:56px;vertical-align:middle}.bubble--emoji .bubble-meta{background:#0006;color:#fff;padding:2px 6px;border-radius:8px;width:auto;display:inline-flex;font-size:10px}.bubble--emoji .bubble-meta .bubble-ticks{color:#fff}.lottie-sticker{width:100%;height:100%;display:block;position:relative}.lottie-sticker>canvas,.lottie-sticker>svg,.lottie-sticker .lottie-canvas-container,.lottie-sticker .lottie-canvas-container>canvas{width:100%!important;height:100%!important;display:block}.lottie-sticker.frozen{cursor:pointer}.lottie-sticker.frozen:hover{filter:brightness(1.08)}.attachment-sticker[data-tooltip]:not([data-tooltip=""]):hover:after,.lottie-sticker.attachment-sticker[data-tooltip]:not([data-tooltip=""]):hover:after{box-shadow:none;bottom:auto;top:50%;transform:translate(-50%,-50%);animation:none;background:#000000b3;white-space:normal;text-align:center;max-width:80%}.attachment-sticker{width:180px;height:180px;object-fit:contain;display:block;--sticker-stroke: #fff;filter:drop-shadow(2px 0 0 var(--sticker-stroke)) drop-shadow(-2px 0 0 var(--sticker-stroke)) drop-shadow(0 2px 0 var(--sticker-stroke)) drop-shadow(0 -2px 0 var(--sticker-stroke)) drop-shadow(1px 1px 0 var(--sticker-stroke)) drop-shadow(-1px -1px 0 var(--sticker-stroke)) drop-shadow(1px -1px 0 var(--sticker-stroke)) drop-shadow(-1px 1px 0 var(--sticker-stroke)) drop-shadow(0 2px 4px rgba(0,0,0,.18))}.attachment-sticker.clickable{cursor:pointer}.attachment-sticker.clickable:hover{transform:scale(1.04);transition:transform .12s}.message.sticker-only .bubble--sticker .attachment-sticker{width:200px;height:200px}.status-icon-img{display:inline-block;height:1.2em;width:auto;max-width:6em;vertical-align:-.2em;margin-left:4px;object-fit:contain;border-radius:2px}.chat-header-name .status-icon-img{height:1.4em;max-width:9em}.chat-header-name-status{font-size:13px;font-weight:400;color:var(--text-muted);margin-left:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:240px}.chat-header-name{display:flex;align-items:center;gap:0;min-width:0}.chat-header-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.status-icon-picker{display:flex;align-items:center;gap:12px;margin-top:8px}.status-icon-preview{width:40px;height:40px;border-radius:8px;background:var(--panel-soft);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.status-icon-preview img{width:100%;height:100%;object-fit:contain}.setting-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.setting-icon svg{width:18px;height:18px;stroke-width:2}.setting-row-chevron{color:var(--text-soft);opacity:.5;flex-shrink:0}.setting-segment-row{cursor:default;flex-wrap:wrap;align-items:flex-start;row-gap:8px}.setting-segment-row .chat-info{flex-basis:calc(100% - 64px);min-width:0}.settings-list .chat-item{flex-wrap:wrap;row-gap:6px;align-items:flex-start}.settings-list .chat-info{flex:1 1 120px;min-width:120px}.settings-list .chat-name{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}.settings-list .chat-preview{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}.settings-list .setting-segment,.settings-list .toggle,.settings-list .setting-row-chevron{flex-shrink:0}.setting-segment{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel-soft);margin-left:56px;margin-top:4px;flex-basis:100%}.setting-segment-btn{flex:1;padding:6px 12px;border:none;background:transparent;color:var(--text-soft);font-size:12px;font-family:inherit;cursor:pointer;transition:background .1s,color .1s;border-right:1px solid var(--border)}.setting-segment-btn:last-child{border-right:none}.setting-segment-btn:hover{background:var(--hover);color:var(--text)}.setting-segment-btn.active{background:var(--accent);color:#fff}.bg-preview{position:relative;width:100%;height:160px;border-radius:12px;overflow:hidden;background:var(--bg);margin-bottom:16px;border:1px solid var(--border)}.bg-preview img{width:100%;height:100%;object-fit:cover;display:block}.bg-preview-default{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-soft);font-size:13px}.bg-preview-bubble{position:absolute;padding:6px 10px;border-radius:12px;font-size:13px;max-width:60%}.bg-preview-bubble.in{left:12px;bottom:36px;background:var(--bubble-in);border:1px solid var(--border);color:var(--text)}.bg-preview-bubble.out{right:12px;bottom:12px;background:var(--bubble-out);color:var(--text)}.bg-section-label{font-size:11px;text-transform:uppercase;color:var(--text-soft);margin:12px 0 6px;letter-spacing:.05em}.bg-color-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.bg-color-swatch{aspect-ratio:1;border:2px solid var(--border);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;position:relative}.bg-color-swatch.default{background:linear-gradient(135deg,var(--bg) 0%,var(--panel-soft) 100%);color:var(--text);flex-direction:column;gap:2px}.bg-color-label{font-size:9px}.bg-color-swatch:hover{border-color:var(--accent)}.bg-color-swatch.active{border-color:var(--accent);border-width:3px}.bg-upload{display:flex;gap:8px;align-items:center}.accent-row{cursor:default;flex-wrap:wrap;row-gap:8px}.accent-swatches{display:flex;gap:6px;flex-shrink:0}.accent-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .1s,border-color .1s}.accent-swatch:hover{transform:scale(1.15)}.accent-swatch.active{border-color:var(--text);transform:scale(1.15)}.sound-picker-row.disabled{opacity:.55}.setting-slider-row{cursor:default}.setting-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:140px;height:28px;background:transparent;flex-shrink:0;cursor:pointer}.setting-slider:focus{outline:none}.setting-slider::-webkit-slider-runnable-track{height:4px;background:var(--border);border-radius:2px}.setting-slider::-moz-range-track{height:4px;background:var(--border);border-radius:2px}.setting-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--panel);box-shadow:0 1px 3px #00000040;margin-top:-6px;cursor:grab}.setting-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--panel);box-shadow:0 1px 3px #00000040;cursor:grab}.setting-slider:active::-webkit-slider-thumb{cursor:grabbing}.setting-slider:active::-moz-range-thumb{cursor:grabbing}.sound-picker-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.sound-picker-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:6px 28px 6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font-family:inherit;font-size:13px;cursor:pointer;max-width:140px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 2l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 8px center;background-size:10px 6px}.sound-picker-select:hover:not(:disabled){border-color:var(--accent)}.sound-picker-select:disabled{cursor:not-allowed;opacity:.6}.sound-picker-play{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--accent);cursor:pointer;display:grid;place-items:center;font-size:11px;transition:background .1s,border-color .1s}.sound-picker-play:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.sound-picker-play:disabled{cursor:not-allowed;opacity:.5}.order-onboarding-modal{width:480px;max-width:95vw}.order-choice-list{display:flex;flex-direction:column;gap:10px}.order-choice{display:flex;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--panel-soft);cursor:pointer;text-align:left;font-family:inherit;color:var(--text);transition:border-color .15s,transform .1s,background .15s}.order-choice:hover{border-color:var(--accent);background:var(--hover);transform:translateY(-1px)}.order-choice-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.order-choice-text{flex:1;min-width:0}.order-choice-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:4px}.order-choice-desc{font-size:13px;color:var(--text-muted);line-height:1.45}.order-onboarding-hint{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--text-soft);text-align:center}.pack-picker-modal{width:540px;max-width:95vw}.pack-picker-preview{display:flex;justify-content:center;margin:0 0 16px}.pack-picker-preview img{max-width:120px;max-height:120px;border-radius:12px;background:repeating-conic-gradient(#eee,#eee 90deg,#fafafa 90deg,#fafafa 180deg) 0 0 / 12px 12px;padding:6px;border:1px solid var(--border)}.pack-picker-empty{text-align:center;color:var(--text-muted);font-size:13px;padding:12px}.pack-picker-error{background:#ef44441a;color:#ef4444;padding:8px 12px;border-radius:8px;font-size:13px;margin-bottom:12px}.pack-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:12px;max-height:260px;overflow-y:auto;padding:2px}.pack-picker-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;padding:8px;background:var(--panel);cursor:pointer;transition:border-color .15s,transform .1s,background .15s;font-family:inherit;text-align:left;color:var(--text)}.pack-picker-card:hover:not(:disabled){border-color:var(--accent);background:var(--hover);transform:translateY(-1px)}.pack-picker-card:disabled{opacity:.5;cursor:not-allowed}.pack-picker-card-thumbs{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;background:var(--panel-soft);border-radius:8px;padding:6px;min-height:70px;align-items:center;justify-items:center;margin-bottom:6px}.pack-picker-card-thumbs img{max-width:100%;max-height:30px;object-fit:contain}.pack-picker-card-empty{grid-column:span 2;text-align:center;font-size:11px;color:var(--text-soft)}.pack-picker-card-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-picker-card-meta{font-size:11px;color:var(--text-muted)}.pack-picker-new-trigger{width:100%;padding:10px;background:transparent;border:1px dashed var(--border);border-radius:10px;color:var(--accent);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer}.pack-picker-new-trigger:hover{background:var(--hover)}.pack-picker-new-row{display:flex;gap:8px;align-items:stretch;margin-top:4px}.pack-picker-new-row .login-input{flex:1}.status-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);gap:12px}.status-row:last-child{border-bottom:none}.status-row>span:first-child{color:var(--text-soft)}.status-row>span:last-child{color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.status-row.error{color:var(--danger)}.status-ok{color:var(--accent)}.unified-picker{position:absolute;bottom:100%;right:12px;margin-bottom:8px;width:380px;height:460px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);z-index:60;overflow:hidden;display:flex;flex-direction:column;animation:ctxIn .15s ease-out}.unified-picker-modes{display:flex;gap:4px;padding:6px;border-bottom:1px solid var(--border);background:var(--panel-soft)}.unified-picker-mode{flex:1;padding:8px 6px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;color:var(--text-soft);transition:background .1s,color .1s}.unified-picker-mode:hover{background:var(--hover);color:var(--text)}.unified-picker-mode.active{background:var(--accent-soft);color:var(--accent)}.unified-picker-mode svg{width:20px;height:20px}.unified-picker-mode .e{font-family:"Noto Color Emoji","Segoe UI Emoji",sans-serif;font-size:20px;line-height:1}.unified-picker-mode .gif-badge{font-weight:800;font-size:14px;line-height:20px;letter-spacing:.5px}.unified-picker-body{flex:1;min-height:0;display:flex;flex-direction:column}.unified-picker .emoji-picker-grid{grid-template-columns:repeat(8,1fr);flex:1;max-height:none;overflow-y:auto}.sticker-tab-tabs{display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--border);background:var(--panel-soft);overflow-x:auto}.sticker-tab-btn{flex-shrink:0;width:38px;height:38px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;transition:background .1s}.sticker-tab-btn:hover{background:var(--hover)}.sticker-tab-btn.active{background:var(--accent-soft)}.sticker-tab-btn svg{width:18px;height:18px;color:var(--text-soft)}.sticker-tab-btn .e{font-family:"Noto Color Emoji","Segoe UI Emoji",sans-serif;font-size:18px;line-height:1}.sticker-tab-btn img{width:100%;height:100%;object-fit:contain}.sticker-tab-body{flex:1;min-height:0;overflow-y:auto}.sticker-tab-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px}.sticker-tab-cell{aspect-ratio:1;background:transparent;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;transition:background .1s,transform .1s}.sticker-tab-cell:hover{background:var(--hover);transform:scale(1.06)}.sticker-tab-cell img{max-width:100%;max-height:100%;object-fit:contain}.sticker-tab-footer{display:flex;gap:6px;padding:8px;border-top:1px solid var(--border);background:var(--panel-soft)}.picker-footer-btn{flex:1;padding:6px 10px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text-soft);transition:background .1s,color .1s}.picker-footer-btn:hover{background:var(--hover);color:var(--text)}.gif-tab-search{padding:8px;border-bottom:1px solid var(--border);background:var(--panel-soft)}.gif-tab-search input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font-size:13px;font-family:inherit}.gif-tab-search input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.gif-tab-body{flex:1;min-height:0;overflow-y:auto}.gif-tab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:10px}.gif-tab-cell{aspect-ratio:1.2;background:transparent;border:none;border-radius:10px;cursor:pointer;overflow:hidden;padding:0;transition:transform .1s}.gif-tab-cell:hover{transform:scale(1.02)}.gif-tab-cell img{width:100%;height:100%;object-fit:cover;display:block}.picker-ctx-menu{position:fixed;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:4px;min-width:180px;z-index:200;animation:ctxIn .1s ease-out}.picker-ctx-menu button{width:100%;text-align:left;padding:8px 12px;border:none;background:transparent;cursor:pointer;border-radius:6px;color:var(--text);font-size:14px}.picker-ctx-menu button:hover{background:var(--hover)}.picker-ctx-empty{padding:8px 12px;color:var(--text-soft);font-size:13px}.picker-empty{padding:24px 16px;text-align:center;color:var(--text-soft);font-size:13px}.picker-empty-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px}.picker-empty-text{margin-bottom:14px}.picker-empty-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.format-toolbar{position:fixed;display:flex;gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:4px;z-index:100;animation:ctxIn .12s ease-out}.format-toolbar-btn{background:transparent;border:none;cursor:pointer;color:var(--text);padding:6px 10px;border-radius:6px;font-family:inherit;font-size:14px;min-width:32px;transition:background .1s,color .1s}.format-toolbar-btn:hover{background:var(--accent-soft);color:var(--accent)}.format-toolbar-btn.fmt-bold{font-weight:700}.format-toolbar-btn.fmt-italic{font-style:italic}.format-toolbar-btn.fmt-strike{text-decoration:line-through}.format-toolbar-btn.fmt-code{font-family:JetBrains Mono,Consolas,monospace;font-size:12px}.format-toolbar-btn.fmt-spoiler{background:#00000014}.mention{color:var(--accent);font-weight:500;cursor:default}.mention-mine{background:#ea4f002e;padding:0 4px;border-radius:4px}.message.in.mentions-me .bubble{border-left:3px solid var(--accent);border-bottom-left-radius:6px}.mention-popup{position:absolute;bottom:100%;left:12px;right:12px;margin-bottom:8px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);z-index:50;overflow:hidden;max-height:280px;overflow-y:auto}.mention-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .1s}.mention-item.active,.mention-item:hover{background:var(--hover)}.mention-item .avatar{width:30px;height:30px;font-size:13px;flex-shrink:0}.mention-item-info{flex:1;min-width:0}.mention-item-name{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-item-handle{font-size:11px;color:var(--text-muted)}.toggle{width:40px;height:22px;background:var(--border-strong);border-radius:11px;position:relative;transition:background .2s;flex-shrink:0}.toggle.on{background:var(--accent)}.toggle.disabled{opacity:.45}.toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle.on .toggle-knob{transform:translate(18px)}.chat-item.disabled{opacity:.6;cursor:default}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(100px);background:var(--text);color:var(--panel);padding:10px 16px;border-radius:10px;font-size:13px;box-shadow:var(--shadow-lg);z-index:1100;opacity:0;pointer-events:none;transition:transform .25s,opacity .25s}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.bubble{padding:8px 12px;border-radius:16px;font-size:calc(14px * var(--text-scale));line-height:1.4;word-wrap:break-word;position:relative}.bubble-author{font-size:calc(12.5px * var(--text-scale));font-weight:600;margin-bottom:2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bubble-author:hover{text-decoration:underline}.message.in .bubble{background:var(--bubble-in);border:1px solid var(--border);border-bottom-left-radius:6px}.message.out .bubble{background:var(--bubble-out);border-bottom-right-radius:6px}.bubble-meta{font-size:10px;color:var(--text-muted);display:flex;width:100%;gap:4px;align-items:center;margin-top:2px}.bubble-meta .bubble-ticks{margin-left:auto}.bubble-edited{font-style:italic;opacity:.7}.bubble-meta svg{width:12px;height:12px;margin-left:2px}.composer{padding:12px 24px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--border);position:relative}.composer-row{display:flex;align-items:center;gap:8px;background:var(--panel-soft);border:1px solid var(--border);border-radius:22px;padding:4px 4px 4px 12px;transition:border-color .15s}.composer-row:focus-within{border-color:var(--accent)}.composer-input{flex:1;border:none;background:transparent;font-family:inherit;font-size:calc(14px * var(--text-scale));padding:8px 0;outline:none;max-height:200px;min-height:24px;overflow-y:auto;line-height:1.4;color:var(--text);white-space:pre-wrap;word-break:break-word;cursor:text}.composer-input.is-empty:before{content:attr(data-placeholder);color:var(--text-soft);pointer-events:none}.composer-input .emoji-img{width:1.25em;height:1.25em}.attach-wrap{position:relative}.attach-menu{position:absolute;bottom:calc(100% + 8px);left:0;min-width:220px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:4px;z-index:80;display:flex;flex-direction:column;gap:2px;animation:attach-menu-in .12s ease-out}@keyframes attach-menu-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.attach-menu-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:none;background:transparent;color:var(--text);font-size:14px;font-family:inherit;cursor:pointer;text-align:left}.attach-menu-item:hover{background:var(--hover)}.attach-menu-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.composer-actions{display:flex;align-items:center;gap:2px}.send-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .15s,transform .05s}.send-btn:hover{background:var(--accent-dark)}.send-btn:active{transform:scale(.95)}.send-btn svg{width:18px;height:18px}.composer-spoiler-toggle{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:grid;place-items:center;transition:background .12s,color .12s}.composer-spoiler-toggle:hover{background:var(--hover);color:var(--text)}.composer-spoiler-toggle.is-active{background:#ea4f001f;color:var(--accent)}.composer-spoiler-toggle svg{width:18px;height:18px}.composer-ai-btn{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--accent);cursor:pointer;display:grid;place-items:center;transition:background .12s,transform .1s}.composer-ai-btn:hover{background:#ea4f001f;transform:scale(1.05)}.composer-ai-btn svg{width:20px;height:20px}.ai-modal{max-width:540px}.ai-original,.ai-result{background:var(--panel-soft, rgba(0,0,0,.04));border-radius:10px;padding:10px 12px;margin-bottom:12px}.ai-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);margin-bottom:4px}.ai-text{font-size:14px;line-height:1.45;color:var(--text);white-space:pre-wrap;word-break:break-word}.ai-styles{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}.ai-style{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);background:var(--panel);border-radius:10px;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .12s,background .12s,transform .05s}.ai-style:hover:not(:disabled){border-color:var(--accent);background:var(--hover)}.ai-style:active:not(:disabled){transform:scale(.98)}.ai-style:disabled{opacity:.5;cursor:not-allowed}.ai-style.active{border-color:var(--accent);background:#ea4f0014}.ai-style-emoji{font-size:22px;flex-shrink:0}.ai-style-info{display:flex;flex-direction:column;gap:1px;min-width:0}.ai-style-label{font-weight:600;font-size:13px;color:var(--text)}.ai-style-hint{font-size:11px;color:var(--text-soft)}.ai-status{display:flex;align-items:center;gap:10px;padding:12px;color:var(--text-muted);font-size:13px}.ai-spinner{width:18px;height:18px;border:2px solid var(--border-strong, var(--border));border-top-color:var(--accent);border-radius:50%;animation:ai-spin .7s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-error{padding:10px 12px;background:#d92d2014;color:var(--danger, #d92d20);border-radius:8px;font-size:13px}.ai-retry{margin-top:6px;padding:4px 10px;background:transparent;border:1px solid currentColor;border-radius:6px;color:inherit;font-size:12px;cursor:pointer}.ai-result-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}@media(max-width:480px){.ai-styles{grid-template-columns:1fr}}.empty-state{flex:1;display:grid;place-items:center;color:var(--text-muted);font-size:14px;padding:20px;text-align:center}.typing-indicator{display:inline-flex;gap:4px;padding:8px 12px;background:var(--bubble-in);border:1px solid var(--border);border-radius:16px 16px 16px 6px;align-self:flex-start;width:fit-content}.typing-dot{width:6px;height:6px;background:var(--text-soft);border-radius:50%;animation:typing 1.2s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.chat-back-btn{display:none}@media(max-width:768px){.sidebar-wrap{width:100%!important;min-width:0;max-width:100%}.resize-handle,.main,body[data-has-chat] .sidebar-wrap{display:none}body[data-has-chat] .main{display:flex}.chat-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-right:4px;border:none;background:transparent;border-radius:50%;color:var(--text);cursor:pointer;flex-shrink:0}.chat-back-btn:hover{background:var(--hover)}.chat-back-btn svg{width:22px;height:22px}.modal{width:100vw!important;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}.modal.help-modal,.modal.order-onboarding-modal{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px);height:auto!important;max-height:85dvh;border-radius:16px;padding-bottom:0}.help-slide{padding:32px 18px 8px;min-height:220px}.help-emoji{font-size:48px}.help-title{font-size:18px}.help-nav{padding:8px 14px 16px}.drawing-modal{padding:6px}.drawing-toolbar{padding:6px;gap:6px}.drawing-canvas-wrap{padding:4px}.drawing-canvas{width:100%!important;height:auto!important;max-width:calc(100vw - 28px);max-height:50vh}.icon-btn{width:40px;height:40px}.icon-btn svg{width:22px;height:22px}.send-btn{width:40px;height:40px}.composer{padding:6px 8px 8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.composer-row{padding:4px 4px 4px 8px}input,textarea,select,.composer-input,[contenteditable=true]{font-size:16px!important}.messages{padding:12px 16px}.message{max-width:75%}.message-avatar-slot{width:28px;min-width:28px}.message-avatar-slot .avatar.small{width:24px;height:24px;font-size:11px}.sidebar-header{padding:12px}.brand-name{font-size:16px}.search{padding:8px 12px}.search>svg{left:24px!important}.search input{padding:10px 40px 10px 36px}.search-filters-btn{right:18px;width:32px;height:32px}.ctx-menu,.unified-picker,.attach-menu{max-width:calc(100vw - 16px)}.attachment-image{max-width:calc(100vw - 100px)}.attachment-sticker{width:140px;height:140px}.pinned-bar,.chat-search-bar{padding:6px 10px}.chat-search-input{font-size:14px}}
