*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--auth-bg: #07080a;--glass-card: rgba(255, 255, 255, .055);--glass-border: rgba(255, 255, 255, .09);--glass-input: rgba(255, 255, 255, .05);--glass-input-border: rgba(255, 255, 255, .09);--accent: #e02535;--accent-hover: #ff3348;--accent-glow: rgba(224, 37, 53, .3);--accent-glow-lg: rgba(224, 37, 53, .5);--text-1: #f0f2f5;--text-2: #9ca3af;--text-3: #6b7280;--error-bg: rgba(224, 37, 53, .1);--error-border: rgba(224, 37, 53, .35);--error-text: #ff8090;--tap-min: 44px;--app-height: 100dvh;--keyboard-inset: 0px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--header-h: 48px;--z-base: 0;--z-sticky: 10;--z-callbar: 50;--z-drawer-overlay: 100;--z-drawer: 110;--z-screen: 200;--z-sheet-overlay: 300;--z-sheet: 310;--z-toast: 400;--z-devtools: 9999}[data-theme=light]{--auth-bg: #f3f4f7;--glass-card: rgba(255, 255, 255, .72);--glass-border: rgba(15, 17, 21, .1);--glass-input: rgba(15, 17, 21, .035);--glass-input-border: rgba(15, 17, 21, .12);--accent: #d61b2c;--accent-hover: #b8101f;--accent-glow: rgba(214, 27, 44, .18);--accent-glow-lg: rgba(214, 27, 44, .3);--text-1: #16181d;--text-2: #51565e;--text-3: #80868f;--error-bg: rgba(214, 27, 44, .07);--error-border: rgba(214, 27, 44, .28);--error-text: #b8101f}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--auth-bg);color:var(--text-1);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;transition:background-color .2s ease,color .2s ease}.auth-container{position:relative;display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh;padding:24px;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));overflow:hidden;background:var(--auth-bg);transition:background-color .2s ease}.auth-container:before{content:"";position:absolute;width:580px;height:580px;border-radius:50%;background:radial-gradient(circle,rgba(224,37,53,.28) 0%,transparent 65%);filter:blur(72px);top:-220px;left:-180px;animation:blob-drift 16s ease-in-out infinite;pointer-events:none;z-index:0}.auth-container:after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(130,8,22,.22) 0%,transparent 65%);filter:blur(80px);bottom:-170px;right:-130px;animation:blob-drift 22s ease-in-out infinite reverse;pointer-events:none;z-index:0}@keyframes blob-drift{0%,to{transform:translate(0) scale(1)}25%{transform:translate(42px,-36px) scale(1.07)}50%{transform:translate(14px,32px) scale(.94)}75%{transform:translate(-28px,-12px) scale(1.04)}}[data-theme=light] .auth-container:before{background:radial-gradient(circle,rgba(214,27,44,.14) 0%,transparent 65%)}[data-theme=light] .auth-container:after{background:radial-gradient(circle,rgba(214,27,44,.1) 0%,transparent 65%)}[data-theme=light] .auth-card{box-shadow:0 0 0 1px #fff9 inset,0 8px 40px #0f11151a,0 0 90px #d61b2c0a}.auth-card{position:relative;z-index:1;background:var(--glass-card);border:1px solid var(--glass-border);border-radius:18px;padding:clamp(20px,5vw,36px) clamp(16px,5vw,32px) clamp(16px,5vw,32px);width:100%;max-width:440px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 0 0 1px #ffffff0a inset,0 8px 40px #0000008c,0 0 90px #e025350a;animation:auth-card-in .22s ease-out both;transition:background-color .2s ease,border-color .2s ease}.auth-card h1{text-align:center;color:var(--text-1);margin-bottom:28px;font-size:22px;font-weight:700;letter-spacing:-.02em}.error-message{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:10px 14px;border-radius:8px;margin-bottom:18px;font-size:13px;line-height:1.5;animation:notice-in .16s ease-out both}.form-group{margin-bottom:18px}.form-group label{display:block;color:var(--text-2);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}.form-group input{width:100%;padding:10px 13px;background:var(--glass-input);border:1px solid var(--glass-input-border);border-radius:8px;color:var(--text-1);font-size:15px;font-family:inherit;outline:none;transition:border-color .18s,box-shadow .18s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.form-group input:focus{border-color:#e0253580;box-shadow:0 0 0 3px #e0253521}.form-group input:disabled{opacity:.45;cursor:not-allowed}.form-group input::placeholder{color:var(--text-3)}.submit-button{width:100%;padding:12px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;margin-top:10px;transition:background .18s,box-shadow .18s,transform .12s;box-shadow:0 4px 18px var(--accent-glow)}.submit-button:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 26px var(--accent-glow-lg);transform:translateY(-1px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.auth-link{text-align:center;margin-top:20px;font-size:13px;color:var(--text-3)}.auth-link a{color:var(--accent);text-decoration:none;font-weight:500;transition:color .15s}.auth-link a:hover{color:var(--accent-hover)}.form-group input{font-size:16px}button,.submit-button{touch-action:manipulation}.submit-button:active:not(:disabled){transform:scale(.97)}@keyframes auth-card-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.auth-container:before,.auth-container:after{animation:none}@keyframes auth-card-in{0%,to{opacity:1;transform:none}}@keyframes notice-in{0%,to{opacity:1;transform:none}}.auth-card,.error-message{animation:none}body,.auth-card,.auth-container{transition:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}.sheet-overlay{position:fixed;inset:0;z-index:var(--z-sheet-overlay);display:flex;align-items:flex-end;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:sheet-fade .16s ease-out both}.sheet-panel{z-index:var(--z-sheet);width:100%;max-width:560px;max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;background:#0c0d11fa;border:1px solid var(--glass-border-hi, var(--glass-border));border-bottom:none;border-radius:20px 20px 0 0;box-shadow:0 -8px 32px #00000073;padding-bottom:var(--safe-bottom);outline:none;animation:sheet-up .24s cubic-bezier(.2,.8,.2,1) both;transition:transform .2s ease;will-change:transform}[data-theme=light] .sheet-panel{background:#fafafcfc}.sheet-grab{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 16px 6px;touch-action:none;cursor:grab}.sheet-grabber{width:40px;height:4px;border-radius:2px;background:var(--glass-border-hi, var(--text-3));opacity:.8}.sheet-title{align-self:flex-start;font-size:16px;font-weight:700;color:var(--text-1);letter-spacing:-.02em;padding-top:4px}.sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 16px 16px;display:flex;flex-direction:column;gap:10px}.sheet-panel .modal-title{display:none}.sheet-menu{display:flex;flex-direction:column;padding:0 8px 8px}.sheet-menu-item{display:flex;align-items:center;gap:14px;min-height:52px;padding:0 12px;border:none;border-radius:12px;background:transparent;color:var(--text-1);font-family:inherit;font-size:16px;text-align:left}.sheet-menu-item:active:not(:disabled){background:var(--glass-2)}.sheet-menu-item:disabled{opacity:.4}.sheet-menu-item.danger{color:var(--error-text)}.sheet-menu-item-icon{width:22px;display:inline-flex;justify-content:center;flex-shrink:0}.sheet-menu-item-icon:empty{display:none}.sheet-menu-separator{height:1px;margin:4px 12px;background:var(--glass-border)}.sheet-popover-backdrop{position:fixed;inset:0;z-index:var(--z-sheet-overlay)}.sheet-popover{position:fixed;z-index:var(--z-sheet);background:#090a0df5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border-hi, var(--glass-border));border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 12px 40px rgba(0, 0, 0, .5));padding:12px;outline:none}[data-theme=light] .sheet-popover{background:#fffffff7}body.scroll-locked{overflow:hidden}@media(prefers-reduced-motion:reduce){.sheet-overlay,.sheet-panel{animation:none;transition:none}}.sheet-confirm-actions{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.sheet-confirm-actions .modal-btn{min-height:48px;font-size:16px}.voice-minibar{display:flex;align-items:center;gap:4px;min-height:48px;padding:0 8px;padding-left:max(8px,var(--safe-left));padding-right:max(8px,var(--safe-right));background:#14261c;border-top:1px solid rgba(80,200,120,.35);color:var(--text-1);position:relative;z-index:var(--z-callbar)}[data-theme=light] .voice-minibar{background:#e0f4e8}.voice-minibar-body{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;height:48px;padding:0 4px;border:none;background:transparent;color:inherit;font-family:inherit;font-size:14px;font-weight:600;text-align:left}.voice-minibar-dot{width:8px;height:8px;border-radius:50%;background:#46c37b;flex-shrink:0}.voice-minibar-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-minibar-time{font-variant-numeric:tabular-nums;color:var(--text-2);font-weight:500}.voice-minibar-btn{flex:0 0 var(--tap-min);width:var(--tap-min);height:var(--tap-min);border:none;border-radius:50%;background:#ffffff14;color:var(--text-1);display:inline-flex;align-items:center;justify-content:center}.voice-minibar-btn.leave{background:#d33b3b;color:#fff}.voice-minibar-btn:disabled{opacity:.4}html.keyboard-open .voice-minibar,.call-screen{display:none}.call-screen.open{display:flex;flex-direction:column;position:fixed;inset:0;height:var(--app-height);z-index:var(--z-screen);background:#08090c;color:var(--text-1);padding-top:var(--safe-top)}[data-theme=light] .call-screen.open{background:#f0f1f5}.call-screen[hidden]{display:none}.call-screen-header{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-height:var(--header-h);padding:0 8px;padding-left:max(8px,var(--safe-left));padding-right:max(12px,var(--safe-right))}.call-screen-collapse{width:var(--tap-min);height:var(--tap-min);border:none;border-radius:50%;background:transparent;color:var(--text-1);display:inline-flex;align-items:center;justify-content:center}.call-screen-title{flex:1 1 auto;min-width:0;font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-screen-grid{flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px;padding-left:max(8px,var(--safe-left));padding-right:max(8px,var(--safe-right))}.call-screen-grid .video-grid{margin:0;min-height:100%;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(140px,1fr);gap:8px}.call-screen-grid .video-grid:has(>:only-child){grid-template-columns:minmax(0,1fr)}.call-screen-grid .video-grid:has(>:nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}.call-screen-grid .video-tile-hit,.call-screen-grid .video-grid>.video-tile{min-width:0;min-height:0;display:flex}.call-screen-grid .video-tile-hit>*{flex:1 1 auto;min-width:0}.call-controls{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:12px;padding-bottom:max(12px,var(--safe-bottom));background:#ffffff0a;border-top:1px solid var(--glass-border)}.call-controls .micam-btn,.call-controls .message-send-btn{width:56px;height:56px;min-width:56px;min-height:56px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.call-controls .message-send-btn{order:99;background:#d33b3b;border-color:#d33b3b;color:#fff;font-size:0;position:relative}.call-controls .message-send-btn:before{content:"";width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91'/><line x1='22' y1='2' x2='2' y2='22'/></svg>") center / contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91'/><line x1='22' y1='2' x2='2' y2='22'/></svg>") center / contain no-repeat}.voice-volume-sheet{position:static;width:100%;background:transparent;border:none;box-shadow:none;padding:8px 0 16px}@media(orientation:landscape)and (max-height:500px){.call-screen.open{flex-direction:row;flex-wrap:wrap}.call-screen-header{flex:1 0 100%;min-height:40px}.call-screen-grid{flex:1 1 0}.call-screen-grid .video-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;min-height:0;height:100%}.call-screen-grid .video-tile-hit,.call-screen-grid .video-grid>.video-tile{flex:0 0 min(60vw,280px);scroll-snap-align:start}.call-controls{flex:0 0 auto;flex-direction:column;flex-wrap:nowrap;overflow-y:auto;border-top:none;border-left:1px solid var(--glass-border);padding-right:max(12px,var(--safe-right))}}@media(prefers-reduced-motion:reduce){.call-screen.open{animation:none}}.media-player{display:flex;flex-direction:column;gap:10px;width:100%;max-width:360px;padding:12px;background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-1);font-family:var(--font)}.media-player-native-audio{display:none}.media-player-header{display:flex;align-items:center;gap:10px}.media-player-art{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-md);background:var(--glass-2);color:var(--text-2);overflow:hidden}.media-player-art img{width:100%;height:100%;object-fit:cover}.media-player-meta{display:flex;flex-direction:column;min-width:0;flex:1}.media-player-title{font-size:13px;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-player-artist{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-player-spinner{color:var(--accent-text);animation:media-player-spin .9s linear infinite;flex-shrink:0}@keyframes media-player-spin{to{transform:rotate(360deg)}}.media-player-error{font-size:12px;color:var(--accent-text);background:var(--accent-dim);border:1px solid var(--accent-glow);border-radius:var(--radius-sm);padding:6px 8px}.media-player-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:0;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-2);cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease}.media-player-icon-btn:hover{background:var(--glass-2);color:var(--text-1)}.media-player-icon-btn:active{transform:scale(.92)}.media-player-icon-btn.active{color:var(--accent-text);background:var(--accent-dim)}.media-player-play-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border:none;border-radius:var(--radius-full);background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 2px 10px var(--accent-glow);transition:background .15s ease,transform .1s ease}.media-player-play-btn:hover{background:var(--accent-hover)}.media-player-play-btn:active{transform:scale(.94)}.media-player-progress{position:relative;padding:8px 0;cursor:pointer;touch-action:none}.media-player-progress-track{position:relative;width:100%;height:5px;border-radius:var(--radius-full);background:var(--glass-2);overflow:visible}.media-player-progress-buffered{position:absolute;inset:0 auto 0 0;height:100%;border-radius:var(--radius-full);background:var(--glass-3)}.media-player-progress-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:var(--radius-full);background:var(--accent)}.media-player-progress-handle{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);transform:translate(-50%,-50%);transition:transform .1s ease}.media-player-progress:hover .media-player-progress-handle{transform:translate(-50%,-50%) scale(1.15)}.media-player-progress-hover{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:6px;padding:2px 6px;font-size:10px;white-space:nowrap;color:var(--text-1);background:#000000bf;border-radius:var(--radius-sm);pointer-events:none}.media-player-time-row{display:flex;justify-content:space-between;margin-top:-6px;font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.media-player-controls-row{display:flex;align-items:center;justify-content:center;gap:6px}.media-player-secondary-row{display:flex;align-items:center;gap:10px}.media-player-volume{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.media-player-volume-slider,.media-player-eq-slider,.media-player-boost input[type=range]{accent-color:var(--accent)}.media-player-volume-slider{flex:1;min-width:40px;height:4px;cursor:pointer}.media-player-speed{flex-shrink:0;padding:4px 6px;font-size:11px;color:var(--text-1);background:var(--glass-2);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer}.media-player-toggle-group{display:flex;gap:2px;flex-shrink:0}.media-player-advanced-panel{display:flex;flex-direction:column;gap:12px;padding:10px;background:var(--glass-0);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.media-player-eq-header,.media-player-eq-enable{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-2)}.media-player-eq-header{justify-content:space-between;margin-bottom:8px;font-weight:600;color:var(--text-1)}.media-player-eq-bands{display:flex;justify-content:space-between;gap:8px}.media-player-eq-band{display:flex;flex-direction:column;align-items:center;gap:6px}.media-player-eq-slider{width:70px;height:4px;transform:rotate(-90deg);margin:28px -18px}.media-player-eq-label{font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.03em}.media-player-boost{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:11px;color:var(--text-2)}.media-player-boost input[type=range]{flex:1}.media-player-visualizer{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--glass-border)}.media-player-canvas{width:100%;height:60px;border-radius:var(--radius-sm);background:var(--glass-0)}.media-player-playlist{max-height:220px;overflow-y:auto;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-0)}.media-player-playlist-items{list-style:none;margin:0;padding:4px;display:flex;flex-direction:column;gap:2px}.media-player-playlist-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:6px 8px;text-align:left;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);cursor:pointer;transition:background .12s ease,color .12s ease}.media-player-playlist-item:hover{background:var(--glass-2);color:var(--text-1)}.media-player-playlist-item.active{background:var(--accent-dim);color:var(--accent-text)}.media-player-playlist-item-title{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.media-player-playlist-item-artist{font-size:10px;color:var(--text-3)}.media-player--mini{max-width:320px;padding:6px 8px}.media-player--mini .media-player-icon-btn{width:26px;height:26px}.media-player--mini .media-player-progress{padding:3px 0}.media-player--mini .media-player-progress-track{height:3px}.media-player--mini .media-player-progress-handle{width:9px;height:9px}.media-player-mini-row{display:flex;align-items:center;gap:6px}.media-player-mini-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.media-player-mini-title-row{display:flex;align-items:center;gap:4px;min-width:0}.media-player-mini-title{font-size:12px;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.media-player-mini-error{display:inline-flex;align-items:center;flex-shrink:0;color:var(--accent-text);cursor:default}.media-player-mini-volume-slider{width:44px;min-width:0;flex:0 0 auto}.message-attachment.audio-attachment{max-width:340px;overflow:visible;border-radius:0}[data-theme=light] .media-player-progress-hover{background:#ffffffeb;color:var(--text-1);box-shadow:var(--shadow-sm)}.video-player{position:relative;width:100%;max-width:480px;max-height:400px;aspect-ratio:16 / 9;background:#000;border-radius:var(--radius-lg);overflow:hidden;outline:none}.video-player--fullscreen{max-width:none;max-height:none;aspect-ratio:auto;border-radius:0}.video-player-el{width:100%;height:100%;display:block;object-fit:contain;background:#000;cursor:pointer}.video-player-loading,.video-player-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.video-player-spinner{color:#fff;animation:video-player-spin .9s linear infinite}@keyframes video-player-spin{to{transform:rotate(360deg)}}.video-player-error{flex-direction:column;gap:6px;color:#fff;font-size:12px;text-align:center;padding:12px;background:#0000008c}.video-player-center-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:none;border-radius:50%;background:#0000008c;color:#fff;cursor:pointer;transition:background .15s ease,transform .1s ease}.video-player-center-play:hover{background:var(--accent)}.video-player-center-play:active{transform:translate(-50%,-50%) scale(.94)}.video-player-controls{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:4px;padding:20px 10px 8px;background:linear-gradient(to top,#000000bf,#0000);opacity:1;transition:opacity .2s ease}.video-player-controls--hidden{opacity:0;pointer-events:none}.video-player-controls-row{display:flex;align-items:center;gap:6px}.video-player-spacer{flex:1}.video-player-time{font-size:11px;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}.video-player-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-full);background:transparent;color:#fff;cursor:pointer;transition:background .15s ease,transform .1s ease}.video-player-icon-btn:hover{background:#ffffff2e}.video-player-icon-btn:active{transform:scale(.92)}.video-player-icon-btn.active{color:var(--accent-text)}.video-player-progress{position:relative;padding:4px 0;cursor:pointer;touch-action:none}.video-player-progress-track{position:relative;width:100%;height:4px;border-radius:var(--radius-full);background:#ffffff40}.video-player-progress-buffered{position:absolute;inset:0 auto 0 0;height:100%;border-radius:var(--radius-full);background:#fff6}.video-player-progress-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:var(--radius-full);background:var(--accent)}.video-player-progress-handle{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);transform:translate(-50%,-50%);transition:transform .1s ease}.video-player-progress:hover .video-player-progress-handle{transform:translate(-50%,-50%) scale(1.15)}.video-player-progress-hover{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:6px;padding:2px 6px;font-size:10px;white-space:nowrap;color:#fff;background:#000c;border-radius:var(--radius-sm);pointer-events:none}.video-player-volume{display:flex;align-items:center;gap:2px}.video-player-volume-slider{width:60px;height:4px;cursor:pointer;accent-color:var(--accent)}.video-player-speed{flex-shrink:0;padding:3px 5px;font-size:11px;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);cursor:pointer}.video-player-speed option{color:#16181d}.message-attachment.video-attachment{max-width:480px;max-height:none;overflow:visible;border-radius:0}:root{--bg: #07080a;--glass-0: rgba(255, 255, 255, .02);--glass-1: rgba(255, 255, 255, .04);--glass-2: rgba(255, 255, 255, .06);--glass-3: rgba(255, 255, 255, .09);--glass-border: rgba(255, 255, 255, .07);--glass-border-hi: rgba(255, 255, 255, .13);--accent: #e02535;--accent-hover: #ff3348;--accent-dim: rgba(224, 37, 53, .15);--accent-glow: rgba(224, 37, 53, .28);--accent-glow-lg: rgba(224, 37, 53, .48);--accent-text: #ff7080;--text-1: #f0f2f5;--text-2: #9ca3af;--text-3: #6b7280;--quality-good: #3ba55d;--quality-medium: #faa61a;--quality-bad: #ed4245;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .45);--shadow-md: 0 4px 20px rgba(0, 0, 0, .55);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .65);--shadow-xl: 0 16px 60px rgba(0, 0, 0, .75);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}[data-theme=light]{--bg: #f3f4f7;--glass-0: rgba(15, 17, 21, .012);--glass-1: rgba(15, 17, 21, .035);--glass-2: rgba(15, 17, 21, .06);--glass-3: rgba(15, 17, 21, .09);--glass-border: rgba(15, 17, 21, .09);--glass-border-hi: rgba(15, 17, 21, .16);--accent: #d61b2c;--accent-hover: #b8101f;--accent-dim: rgba(214, 27, 44, .1);--accent-glow: rgba(214, 27, 44, .18);--accent-glow-lg: rgba(214, 27, 44, .32);--accent-text: #b8101f;--text-1: #16181d;--text-2: #51565e;--text-3: #80868f;--quality-good: #1a7f37;--quality-medium: #b26a00;--quality-bad: #c62828;--shadow-sm: 0 2px 8px rgba(15, 17, 21, .08);--shadow-md: 0 4px 20px rgba(15, 17, 21, .1);--shadow-lg: 0 8px 40px rgba(15, 17, 21, .12);--shadow-xl: 0 16px 60px rgba(15, 17, 21, .16)}*{box-sizing:border-box}*,*:before,*:after{-webkit-tap-highlight-color:transparent}button,input,select,textarea,a{touch-action:manipulation}body{font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);background-image:radial-gradient(ellipse at 15% 20%,rgba(224,37,53,.07) 0%,transparent 45%),radial-gradient(ellipse at 85% 80%,rgba(100,8,18,.06) 0%,transparent 45%);background-attachment:fixed}[data-theme=light] body{background-image:radial-gradient(ellipse at 15% 20%,rgba(214,27,44,.05) 0%,transparent 45%),radial-gradient(ellipse at 85% 80%,rgba(214,27,44,.04) 0%,transparent 45%)}.chat-layout{display:grid;grid-template-columns:72px 256px minmax(0,1fr);height:100vh;height:100dvh;background:transparent;color:var(--text-1);transition:grid-template-columns .22s ease}.chat-layout.channels-sidebar-hidden{grid-template-columns:72px 0 minmax(0,1fr)}.chat-layout.search-panel-open{grid-template-columns:72px 256px minmax(0,1fr) 340px}.chat-layout.channels-sidebar-hidden.search-panel-open{grid-template-columns:72px 0 minmax(0,1fr) 340px}.servers-sidebar{border-right:1px solid var(--glass-border);padding:12px 0;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;background:#07080ab8;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior:contain}.servers-sidebar::-webkit-scrollbar{display:none}.servers-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.servers-sidebar-footer{margin-top:auto;padding-bottom:12px}.server-add-btn{width:46px;height:46px;border-radius:var(--radius-md);border:1px solid var(--glass-border);cursor:pointer;color:var(--text-2);background:var(--glass-1);font-size:22px;font-weight:400;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .18s,border-color .18s,box-shadow .18s,transform .12s,border-radius .18s,color .18s;flex-shrink:0}.server-add-btn:hover:not(:disabled){background:var(--accent-dim);border-color:#e0253559;box-shadow:0 0 16px var(--accent-glow);border-radius:var(--radius-lg);color:var(--text-1);transform:translateY(-1px)}.server-add-btn:disabled{opacity:.38;cursor:not-allowed}.server-dot{width:46px;height:46px;border-radius:var(--radius-md);border:1px solid var(--glass-border);cursor:pointer;color:var(--text-2);background:var(--glass-1);font-size:15px;font-weight:700;letter-spacing:.01em;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background .18s,border-color .18s,box-shadow .18s,border-radius .18s,color .18s}.server-dot:hover{background:var(--glass-2);border-color:var(--glass-border-hi);color:var(--text-1);border-radius:var(--radius-lg)}.server-dot.active{background:var(--accent-dim);border-color:#e025356b;color:var(--text-1);border-radius:var(--radius-lg);box-shadow:0 0 0 2px var(--accent),0 0 20px var(--accent-glow),0 0 36px #e025351f}.channels-sidebar{border-right:1px solid var(--glass-border);background:#07080a94;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden;transition:opacity .18s ease,background-color .2s ease,border-color .2s ease}.channels-sidebar.hidden{opacity:0;pointer-events:none;border-right:none}.channels-header{padding:14px 12px 12px;padding-top:calc(14px + env(safe-area-inset-top));border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:14px;color:var(--text-1);letter-spacing:-.01em;flex-shrink:0}.channels-add-btn{border:1px solid transparent;border-radius:var(--radius-sm);width:28px;height:28px;background:transparent;color:var(--text-3);cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s,transform .12s;font-family:var(--font)}.channels-add-btn:hover:not(:disabled){background:var(--glass-2);color:var(--text-1);border-color:var(--glass-border)}.channels-add-btn:disabled{opacity:.35;cursor:not-allowed}.actions{display:flex;gap:4px}.channels-list{display:flex;flex-direction:column;gap:2px;align-items:stretch;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;overscroll-behavior:contain}.channels-list::-webkit-scrollbar{width:4px}.channels-list::-webkit-scrollbar-track{background:transparent}.channels-list::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.channel-item{display:grid;gap:2px}.channel-row-wrap{display:flex;align-items:center;gap:4px}.channel-row{flex:1;min-width:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-3);text-align:left;padding:7px 10px;cursor:pointer;font-size:14px;font-family:var(--font);font-weight:500;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .14s,color .14s,box-shadow .14s}.channel-row:hover{background:var(--glass-1);color:var(--text-2)}.channel-row.active{background:var(--glass-2);color:var(--text-1);box-shadow:inset 3px 0 0 var(--accent);animation:channel-bar-in .16s ease-out both}.channel-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-row.has-unread{color:var(--text-1);font-weight:600}.channel-row.muted{opacity:.5}.channel-unread-badge{margin-left:auto;flex:0 0 auto;min-width:18px;height:18px;padding:0 6px;border-radius:var(--radius-full);background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}.servers-list li.server-item{position:relative}.dm-rail-item{position:relative;display:flex;justify-content:center}.server-divider{height:1px;margin:8px auto;width:32px;background:var(--glass-border)}.dm-row{gap:8px}.dm-avatar-wrap{position:relative;width:28px;height:28px;flex-shrink:0}.dm-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;border:1px solid var(--glass-border)}.dm-avatar-fallback{width:100%;height:100%;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-2);color:var(--text-1);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.02em}.dm-online-dot{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;border:2px solid #090a0d;background:#22c55e;box-shadow:0 0 6px #22c55e80}.dm-row-meta{display:flex;flex-direction:column;min-width:0;flex:1;align-items:flex-start;gap:1px}.dm-row-name{max-width:100%}.dm-row-time{color:var(--text-3);font-size:11px;font-weight:400}.dm-list-empty{color:var(--text-3);font-size:13px;padding:10px 8px}.server-unread-badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--accent);color:#fff;border:2px solid var(--bg);font-size:10px;font-weight:700;line-height:14px;text-align:center;font-variant-numeric:tabular-nums;pointer-events:none}.channels-delete-btn{border:none;border-radius:var(--radius-sm);width:28px;height:28px;background:transparent;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .14s,color .14s;flex-shrink:0}.channels-delete-btn:hover{background:#e0253524;color:var(--accent-text)}.voice-members-list{list-style:none;margin:0;padding:0 0 4px 12px;display:grid;gap:4px}.voice-member-item{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;gap:0 8px;align-items:center;cursor:pointer;padding:3px 6px;border-radius:var(--radius-sm);transition:background .12s}.voice-member-item:hover{background:var(--glass-1)}.voice-member-avatar-wrap{width:22px;height:22px;border-radius:50%;overflow:hidden;position:relative;flex-shrink:0;cursor:pointer}.voice-member-avatar{width:100%;height:100%;object-fit:cover;display:block}.voice-member-avatar-fallback{width:100%;height:100%;border-radius:50%;background:var(--glass-2);color:var(--text-1);font-size:9px;font-weight:700;display:none;align-items:center;justify-content:center}.voice-member-avatar-fallback.show{display:flex}.voice-member-meta{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden}.voice-member-name{color:var(--text-3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.voice-member-status{display:inline-flex;gap:4px;color:var(--accent-text);flex-shrink:0}.voice-volume-popover{grid-column:1 / -1;display:flex;align-items:center;gap:8px;margin-left:30px;padding:4px 0}.voice-volume-slider-wrap{display:flex;flex-direction:column;gap:3px}.voice-volume-slider-wrap input[type=range]{width:112px;accent-color:var(--accent)}.voice-volume-ticks{display:flex;justify-content:space-between;width:112px;padding:0 2px;font-size:9px;color:var(--text-3);line-height:1;pointer-events:none}.voice-volume-value{font-size:11px;color:var(--text-3);min-width:34px;text-align:right}.chat-main{display:grid;grid-template-rows:1fr auto;min-width:0;min-height:0;background:var(--glass-0)}.chat-content{padding:0 20px 18px;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;overscroll-behavior:contain}.chat-content::-webkit-scrollbar{width:6px}.chat-content::-webkit-scrollbar-track{background:transparent}.chat-content::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.chat-content-wrap{position:relative;display:grid;min-height:0}.jump-latest-btn{position:absolute;right:24px;bottom:16px;z-index:6;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--glass-border-hi);border-radius:var(--radius-full);background:var(--glass-3);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-md);color:var(--text-1);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .15s ease,transform .15s ease,visibility .15s,background .14s}.jump-latest-btn.visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}.jump-latest-btn:hover{background:var(--glass-2);border-color:var(--accent)}.jump-latest-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--accent);color:#fff;border:2px solid var(--bg);font-size:10px;font-weight:700;line-height:14px;text-align:center;font-variant-numeric:tabular-nums}.jump-latest-badge:empty{display:none}@media(prefers-reduced-motion:reduce){.jump-latest-btn{transition:none}}.chat-header-block{position:sticky;top:0;z-index:var(--z-sticky);margin:0 -20px 16px;padding:12px 20px 10px;padding-top:calc(12px + env(safe-area-inset-top));border-bottom:1px solid var(--glass-border);background:#07080ad1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.chat-header-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-header-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.chat-header{font-size:16px;font-weight:700;color:var(--text-1);letter-spacing:-.02em}.chat-header-actions{display:flex;align-items:center;gap:8px}.chat-subheader{font-size:13px;color:var(--text-3);margin-top:3px}.profile-open-btn{border:1px solid var(--glass-border);border-radius:50%;width:34px;height:34px;background:var(--glass-2);color:var(--text-1);font-weight:700;font-size:13px;cursor:pointer;flex:0 0 34px;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .15s,box-shadow .15s,transform .12s}.profile-open-btn:hover{border-color:#e0253573;box-shadow:0 0 14px var(--accent-glow)}.profile-open-avatar{width:100%;height:100%;object-fit:cover;display:block}.channel-search-btn{border:1px solid transparent;border-radius:50%;width:34px;height:34px;background:transparent;color:var(--text-3);cursor:pointer;flex:0 0 34px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.channel-search-btn:hover:not(:disabled){background:var(--glass-2);color:var(--text-1);border-color:var(--glass-border)}.channel-search-btn:disabled{opacity:.35;cursor:not-allowed}.search-panel{border-left:1px solid var(--glass-border);background:#07080a94;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;grid-template-rows:auto auto auto 1fr;min-width:0;min-height:0;overflow:hidden}[data-theme=light] .search-panel{background:#f3f4f7bf}.search-panel-header{display:flex;align-items:center;gap:6px;padding:12px;padding-top:calc(12px + env(safe-area-inset-top));border-bottom:1px solid var(--glass-border)}.search-panel-input-row{flex:1;display:flex;align-items:center;gap:8px;min-width:0;padding:0 10px;height:36px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-1)}.search-panel-input-icon{color:var(--text-3);flex-shrink:0}.search-panel-input{flex:1;min-width:0;border:none;background:transparent;color:var(--text-1);font-family:var(--font);font-size:14px;outline:none}.search-panel-input::placeholder{color:var(--text-3)}.search-panel-close-btn{border:1px solid transparent;border-radius:var(--radius-sm);width:32px;height:32px;flex-shrink:0;background:transparent;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.search-panel-close-btn:hover{background:var(--glass-2);color:var(--text-1)}.search-panel-scope{display:flex;gap:6px;padding:10px 12px 0}.search-scope-btn{flex:1;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:6px 10px;background:transparent;color:var(--text-2);font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.search-scope-btn.active{background:var(--accent-dim);border-color:#e025356b;color:var(--text-1)}.search-scope-btn:hover:not(.active){background:var(--glass-1);color:var(--text-1)}.search-panel-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border-bottom:1px solid var(--glass-border)}.search-filter-select{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-1);color:var(--text-1);font-family:var(--font);font-size:12px;padding:5px 6px;max-width:100%}.search-filter-checkbox{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-2);cursor:pointer;white-space:nowrap}.search-filter-checkbox input{accent-color:var(--accent)}.search-panel-results{overflow-y:auto;min-height:0;padding:8px;scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;overscroll-behavior:contain}.search-panel-results::-webkit-scrollbar{width:6px}.search-panel-results::-webkit-scrollbar-track{background:transparent}.search-panel-results::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.search-panel-hint,.search-panel-empty{padding:16px 8px;text-align:center;color:var(--text-3);font-size:13px}.search-panel-error{padding:10px 12px;margin:4px;border-radius:var(--radius-sm);background:var(--accent-dim);color:var(--accent-text);font-size:13px}.search-hit-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.search-hit{width:100%;text-align:left;border:1px solid transparent;border-radius:var(--radius-md);padding:8px 10px;background:transparent;color:var(--text-1);font-family:var(--font);cursor:pointer;display:grid;gap:3px;transition:background .13s,border-color .13s}.search-hit:hover{background:var(--glass-1)}.search-hit.active{background:var(--accent-dim);border-color:#e0253559}.search-hit-meta{display:flex;align-items:baseline;gap:8px;min-width:0;font-size:11px;color:var(--text-3)}.search-hit-author{font-weight:700;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-hit-channel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.search-hit-date{margin-left:auto;flex-shrink:0}.search-hit-headline{font-size:13px;line-height:1.4;color:var(--text-1);overflow-wrap:anywhere}.search-hit-headline mark{background:var(--accent-dim);color:var(--accent-text);border-radius:3px;padding:0 2px}.theme-toggle-btn{border:1px solid var(--glass-border);border-radius:var(--radius-md);width:38px;height:38px;background:var(--glass-2);color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s,border-color .15s,box-shadow .15s,transform .12s}.theme-toggle-btn:hover{background:var(--glass-3);color:var(--text-1);border-color:var(--glass-border-hi);box-shadow:0 0 14px var(--accent-glow)}.voice-panel{margin-bottom:16px;padding:12px;border:1px solid rgba(224,37,53,.2);border-radius:var(--radius-lg);background:var(--glass-1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-sm),0 0 0 1px #e025350f inset;animation:voice-panel-in .2s ease-out both}.voice-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.micam-btn{border:1px solid var(--glass-border);border-radius:var(--radius-md);width:38px;height:38px;background:var(--glass-2);color:var(--text-1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .14s,border-color .14s,box-shadow .14s,transform .12s}.micam-btn:hover:not(:disabled){background:var(--glass-3);border-color:var(--glass-border-hi);box-shadow:var(--shadow-sm)}.micam-btn:disabled{opacity:.38;cursor:not-allowed}.micam-spinner{animation:micam-spin 1s linear infinite}@keyframes micam-spin{to{transform:rotate(360deg)}}.voice-call-status-banner{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:10px;border-radius:var(--radius-lg);border:1px solid var(--glass-border-hi);background:#090a0dd9;color:var(--text-1);font-size:13px}.voice-call-status-banner-lost{color:#b80606;border-color:#b8060666}.voice-call-status-banner-text{flex:1;min-width:0}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.video-tile{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:#0a0b0e;border:1px solid var(--glass-border);min-height:148px;box-shadow:var(--shadow-md)}.video-el{width:100%;height:100%;min-height:148px;object-fit:cover;display:block}.video-label{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 52px);display:inline-flex;align-items:center;gap:5px;padding:3px 9px;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-full);font-size:11px;font-weight:500;color:var(--text-1)}.video-label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-tile--detached{opacity:.5}.video-tile--detached .video-el{filter:grayscale(.6)}.video-tile--speaking{box-shadow:0 0 0 2px #22c55e,var(--shadow-md)}.cq{display:inline-flex;align-items:center;flex-shrink:0;line-height:0}.cq-bar{fill:currentColor;opacity:.28}.cq-bar.is-active{opacity:1}.cq-slash{stroke:currentColor;stroke-width:1.2}.cq--good{color:var(--quality-good)}.cq--medium{color:var(--quality-medium)}.cq--bad{color:var(--quality-bad)}.cq--connecting,.cq--disconnected{color:var(--text-3)}.cq--connecting .cq-bar{animation:cq-pulse 1.4s ease-in-out infinite}@keyframes cq-pulse{0%,to{opacity:.2}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.cq--connecting .cq-bar{animation:none}}.cq.voice-quality-badge{width:38px;height:38px;justify-content:center;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-2)}.video-status{position:absolute;right:8px;top:8px;display:inline-flex;gap:6px;color:var(--accent-text);background:#00000094;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 6px;border-radius:var(--radius-sm)}.video-fullscreen-btn{border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:28px;height:28px;background:#00000094;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-1);display:flex;align-items:center;justify-content:center;position:absolute;right:8px;bottom:8px;z-index:2;cursor:pointer;transition:background .14s}.video-fullscreen-btn:hover{background:#000000d1}.video-autoplay-blocked-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;display:flex;align-items:center;gap:6px;border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:8px 14px;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-1);font-size:13px;font-weight:500;cursor:pointer;transition:background .14s}.video-autoplay-blocked-btn:hover{background:var(--accent);color:var(--accent-text)}.video-tile:fullscreen,.video-tile:-webkit-full-screen{width:100%;height:100%;background:#000}.video-tile:fullscreen .video-el,.video-tile:-webkit-full-screen .video-el{width:100%;height:100%;object-fit:contain}.messages-list{display:flex;flex-direction:column;gap:10px}.messages-empty{color:var(--text-3);font-size:13px;padding:4px 0 10px;animation:notice-in .16s ease-out both}.scroll-sentinel{height:1px;width:100%}.history-loading,.history-error,.history-start{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 0;font-size:13px;color:var(--text-3)}.history-spinner{width:16px;height:16px;border:2px solid var(--accent-dim);border-top-color:var(--accent);border-radius:50%;animation:history-spin .8s linear infinite}.history-error button{background:none;border:none;cursor:pointer;color:var(--accent);text-decoration:underline;font-size:13px;padding:0}@keyframes history-spin{to{transform:rotate(360deg)}}.message-row{display:flex;gap:10px;align-items:flex-start;width:100%;justify-content:flex-start}.message-avatar-wrap{width:34px;height:34px;border-radius:50%;flex:0 0 34px;overflow:hidden;background:var(--glass-2);border:1px solid var(--glass-border);position:relative;display:block;cursor:pointer;transition:box-shadow .14s}.message-avatar-wrap:hover{box-shadow:0 0 0 2px #e0253573}.message-avatar{width:100%;height:100%;object-fit:cover;display:block}.message-avatar-fallback{display:none;width:100%;height:100%;align-items:center;justify-content:center;color:var(--text-1);font-size:11px;font-weight:700;text-transform:uppercase}.message-avatar-fallback.show{display:flex}.message-item{background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:10px 13px;max-width:min(72%,760px);min-width:0;box-shadow:var(--shadow-sm);transition:border-color .14s}.message-row:hover .message-item{border-color:var(--glass-border-hi)}.message-item.own{background:#e0253512;border-color:#e0253529}.message-row:hover .message-item.own{border-color:#e0253547}.message-item.other{background:var(--glass-1)}.message-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.message-author{font-size:12px;font-weight:600;color:var(--accent-text);background:transparent;border:none;padding:0;margin:0;cursor:pointer;text-align:left;line-height:1.45;font-family:var(--font);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;transition:color .12s}.message-author:hover{color:#fff}.message-content{margin-top:4px;line-height:1.55;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap;color:var(--text-1);font-size:14px}.mention-chip{color:var(--accent);background:#e0253524;border-radius:4px;padding:0 4px;font-weight:600}.mention-chip-everyone{color:var(--accent);background:#e0253533}.message-row.mentioned .message-item{background:#e0253517;border-color:#e0253547;box-shadow:inset 2px 0 0 var(--accent)}.message-delete-btn{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-3);cursor:pointer;font-size:12px;line-height:1;padding:3px 6px;opacity:0;transition:opacity .14s,background .14s,color .14s;font-family:var(--font)}.message-row:hover .message-delete-btn{opacity:1}.message-delete-btn:hover{background:#e0253529;color:var(--accent-text)}.message-delete-btn.confirm{background:var(--accent);color:#fff;font-size:11px;padding:3px 8px;opacity:1;border-radius:var(--radius-sm);box-shadow:0 0 10px var(--accent-glow)}.message-delete-btn.confirm:hover{background:var(--accent-hover)}.message-delete-btn.cancel{background:var(--glass-2);color:var(--text-2);font-size:11px;padding:3px 8px;opacity:1;border-radius:var(--radius-sm)}.message-delete-btn.cancel:hover{background:var(--glass-3)}.message-delete-confirm{display:inline-flex;gap:4px;align-items:center}.message-reply-btn{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-3);cursor:pointer;font-size:13px;line-height:1;padding:3px 5px;opacity:0;transition:opacity .14s,background .14s,color .14s;display:inline-flex;align-items:center}.message-row:hover .message-reply-btn{opacity:1}.message-reply-btn:hover{background:var(--accent-dim);color:var(--text-1)}.message-actions-inline{display:inline-flex;gap:2px;align-items:center}.reply-preview{display:flex;align-items:center;gap:5px;padding:4px 8px;margin-bottom:5px;background:var(--glass-1);border-left:2px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;color:var(--text-2);transition:background .12s}.reply-preview:hover{background:var(--glass-2)}.reply-preview-icon{flex-shrink:0;opacity:.55}.reply-preview-author{font-weight:600;color:var(--accent-text);white-space:nowrap}.reply-preview-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.reply-preview-attachment-indicator{flex-shrink:0;font-size:11px;opacity:.65;display:inline-flex;align-items:center}.reply-draft{grid-column:1 / -1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--glass-1);border-left:3px solid var(--accent);border-radius:var(--radius-md)}.reply-draft-content{display:flex;align-items:center;gap:6px;min-width:0;flex:1;overflow:hidden}.reply-draft-author{font-weight:600;font-size:12px;color:var(--accent-text);white-space:nowrap}.reply-draft-text{font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.reply-draft-cancel{border:none;background:transparent;color:var(--text-3);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;flex-shrink:0;transition:background .12s,color .12s}.reply-draft-cancel:hover{background:var(--glass-2);color:var(--text-1)}@keyframes message-highlight-fade{0%{box-shadow:0 0 0 2px var(--accent),0 0 18px var(--accent-glow)}to{box-shadow:none}}.message-highlight .message-item{animation:message-highlight-fade 2s ease-out}.message-timestamp{margin-top:5px;font-size:10px;line-height:1;color:var(--text-3);text-align:right;opacity:.8}.message-row.other .message-timestamp{text-align:left}.message-edited-mark{opacity:.75;cursor:help}.message-edit{display:flex;flex-direction:column;gap:6px;margin-top:4px}.message-edit-input{width:100%;padding:7px 10px;border:1px solid var(--glass-border-hi);border-radius:var(--radius-md);background:var(--glass-1);color:var(--text-1);font-family:var(--font);font-size:14px;line-height:1.55;outline:none}.message-edit-input:focus{border-color:var(--accent)}.message-edit-input:disabled{opacity:.6}.message-edit-error{font-size:12px;color:#ff7070}.message-edit-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.message-edit-save,.message-edit-cancel{padding:4px 10px;border:1px solid var(--glass-border-hi);border-radius:var(--radius-md);background:transparent;color:var(--text-1);font-family:var(--font);font-size:12px;cursor:pointer}.message-edit-save{border-color:var(--accent);color:var(--accent)}.message-edit-save:disabled,.message-edit-cancel:disabled{opacity:.45;cursor:not-allowed}.message-edit-hint{font-size:11px;color:var(--text-3)}.message-length-counter{font-size:11px;color:var(--text-3);text-align:right}.message-form>.message-length-counter{grid-column:1 / -1}.message-length-counter.over{color:#ff7070}.message-form{display:grid;grid-template-columns:1fr auto auto auto auto;gap:8px;align-items:end;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--glass-border);background:#07080ac2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;bottom:0;z-index:var(--z-sticky)}.typing-indicator{display:flex;align-items:center;gap:6px;height:22px;padding:0 16px;color:var(--text-3);font-size:12.5px;font-family:var(--font);background:#07080ac2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.typing-indicator-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.typing-indicator-dots{display:inline-flex;align-items:center;gap:3px}.typing-indicator-dots span{width:4px;height:4px;border-radius:var(--radius-full);background:var(--text-3);animation:typing-dot-bounce 1.2s infinite ease-in-out}.typing-indicator-dots span:nth-child(2){animation-delay:.15s}.typing-indicator-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-dot-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}[data-theme=light] .typing-indicator{background:#f3f4f7c2}.message-input{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-2);color:var(--text-1);padding:10px 14px;outline:none;width:100%;font-family:var(--font);font-size:16px;transition:border-color .15s,box-shadow .15s}.message-input:focus{border-color:#e025356b;box-shadow:0 0 0 3px #e025351a}.message-input::placeholder{color:var(--text-3)}.message-input:disabled{opacity:.48;cursor:not-allowed}.message-input-wrap{position:relative;width:100%;min-width:0}.message-input-wrap .message-input{width:100%}.mention-autocomplete{position:absolute;bottom:calc(100% + 8px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--glass-2);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000059;list-style:none;margin:0;padding:6px;z-index:var(--z-sticky);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mention-autocomplete-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-1);font-size:14px}.mention-autocomplete-item.active,.mention-autocomplete-item:hover{background:var(--glass-1)}.mention-autocomplete-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.mention-autocomplete-avatar-fallback{background:var(--accent);color:#fff}.mention-autocomplete-avatar-everyone{background:var(--glass-1);color:var(--text-2)}.mention-autocomplete-name{font-weight:500}.mention-autocomplete-hint{margin-left:auto;font-size:11px;color:var(--text-3)}.message-send-btn{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-1);color:var(--text-2);padding:9px 14px;font-size:14px;font-family:var(--font);cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:42px;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.message-send-btn:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.message-send-btn:disabled{opacity:.35;cursor:not-allowed}.message-voice-btn{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-1);color:var(--text-2);padding:9px 12px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:42px;transition:background .15s,color .15s,border-color .15s}.message-voice-btn:hover:not(:disabled){background:var(--glass-2);color:var(--text-1);border-color:var(--glass-border-hi)}.message-voice-btn:disabled{opacity:.38;cursor:not-allowed}.message-attach-btn{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-1);color:var(--text-2);padding:9px 12px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:42px;transition:background .15s,color .15s,border-color .15s}.message-attach-btn:hover:not(:disabled){background:var(--glass-2);color:var(--text-1);border-color:var(--glass-border-hi)}.message-attach-btn:disabled{opacity:.38;cursor:not-allowed}.message-actions-wrap{position:relative}.message-online-toggle-btn{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-1);color:var(--text-2);padding:9px 14px;min-height:42px;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);white-space:nowrap;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.message-online-toggle-btn:hover{background:var(--glass-2);color:var(--text-1)}.message-online-toggle-btn.active{background:var(--accent-dim);color:var(--accent-text);border-color:#e0253552;box-shadow:0 0 12px #e0253529}.voice-recording-bar{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#e0253517;border:1px solid rgba(224,37,53,.24);border-radius:var(--radius-md)}.voice-recording-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:voice-pulse 1.2s ease-in-out infinite}@keyframes voice-pulse{0%,to{opacity:1;box-shadow:0 0 8px var(--accent-glow)}50%{opacity:.35;box-shadow:0 0 2px var(--accent-glow)}}.voice-recording-waveform{flex:1;min-width:60px;height:36px;display:block}.voice-recording-timer{color:var(--text-1);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.voice-recording-stop{border:none;border-radius:var(--radius-md);background:var(--accent);color:#fff;padding:6px 12px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;font-family:var(--font);transition:background .15s,box-shadow .15s}.voice-recording-stop:hover{background:var(--accent-hover);box-shadow:0 0 16px var(--accent-glow)}.upload-progress-wrap{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:6px 12px}.upload-progress-track{flex:1;height:4px;background:var(--glass-border);border-radius:2px;overflow:hidden}.upload-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .15s ease}.upload-progress-label{font-size:11px;color:var(--text-3);min-width:32px;text-align:right;font-variant-numeric:tabular-nums}.message-attachments-preview{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;background:var(--glass-1);border:1px solid var(--glass-border);border-radius:var(--radius-md);grid-column:1 / -1}.message-upload-error{grid-column:1 / -1;font-size:12px;color:var(--accent-text);padding:2px}.attachment-preview-item{display:flex;align-items:center;gap:6px;background:var(--glass-2);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:4px 8px;font-size:12px;color:var(--text-2);max-width:200px}.attachment-preview-thumb{width:30px;height:30px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.attachment-preview-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.attachment-preview-remove{border:none;background:transparent;color:var(--text-3);cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:var(--radius-sm);flex-shrink:0;transition:background .12s,color .12s}.attachment-preview-remove:hover{background:var(--accent-dim);color:var(--accent-text)}.message-form.drag-over{border-top-color:var(--accent);box-shadow:0 -2px 20px #e025352e}.drag-drop-hint{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border:2px dashed var(--accent);border-radius:var(--radius-md);background:#e0253512;color:var(--accent-text);font-size:14px;font-weight:500;pointer-events:none}.online-users-panel{position:absolute;right:0;bottom:calc(100% + 8px);width:min(310px,84vw);max-height:320px;overflow-y:auto;border:1px solid var(--glass-border-hi);border-radius:var(--radius-lg);background:#090a0df0;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--shadow-xl),0 0 0 1px #ffffff0a inset;padding:10px;z-index:var(--z-sticky);scrollbar-width:thin;scrollbar-color:var(--glass-border) transparent;overscroll-behavior:contain;animation:panel-slide-in .16s ease-out both}.online-users-panel::-webkit-scrollbar{width:4px}.online-users-panel::-webkit-scrollbar-track{background:transparent}.online-users-panel::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.online-users-panel-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:8px;padding:0 2px}.online-users-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.online-users-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:8px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-1);cursor:pointer;transition:background .12s,border-color .12s}.online-users-item:hover{background:var(--glass-2);border-color:var(--glass-border-hi)}.online-users-meta{min-width:0}.online-users-avatar-wrap{position:relative;width:32px;height:32px;flex-shrink:0}.online-users-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;border:1px solid var(--glass-border)}.online-users-avatar-fallback{display:none;width:100%;height:100%;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-2);color:var(--text-1);font-size:12px;font-weight:700;align-items:center;justify-content:center;letter-spacing:.02em}.online-users-avatar-fallback.show{display:flex}.online-users-status{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;border:2px solid #090a0d;background:#22c55e;box-shadow:0 0 6px #22c55e80}.online-users-name{color:var(--text-1);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-users-email{color:var(--text-3);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-users-empty{color:var(--text-3);font-size:13px;padding:4px 2px}.channels-hamburger-btn{display:none;border:1px solid var(--glass-border);border-radius:var(--radius-md);width:36px;height:36px;background:var(--glass-1);color:var(--text-2);cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;transition:background .14s,color .14s}.channels-hamburger-btn:active{background:var(--glass-2);color:var(--text-1);transform:scale(.95)}.channels-drawer-overlay{display:none}@media(max-width:1024px){.chat-layout{grid-template-columns:64px 220px minmax(0,1fr)}.chat-layout.channels-sidebar-hidden{grid-template-columns:64px 0 minmax(0,1fr)}.chat-layout.search-panel-open{grid-template-columns:64px 220px minmax(0,1fr) 300px}.chat-layout.channels-sidebar-hidden.search-panel-open{grid-template-columns:64px 0 minmax(0,1fr) 300px}}button:active:not(:disabled){transform:scale(.97)}.server-dot:active,.server-add-btn:active:not(:disabled){transform:scale(.93)}.submit-button:active:not(:disabled),.message-send-btn:active:not(:disabled){transform:scale(.96)}@media(prefers-reduced-motion:reduce){@keyframes blob-drift{0%,to{transform:none}}@keyframes voice-pulse{0%,to{opacity:1}}@keyframes modal-enter{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes message-highlight-fade{0%,to{box-shadow:none}}@keyframes typing-dot-bounce{0%,to{opacity:.7;transform:none}}.channels-sidebar{transition:transform .01ms}.chat-layout{transition:none}}@keyframes modal-enter{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;z-index:var(--z-sheet-overlay)}.modal-card{display:flex;flex-direction:column;gap:10px;width:min(420px,92vw);background:#090a0df2;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border-hi);border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-xl),0 0 0 1px #ffffff0a inset;animation:modal-enter .18s ease-out both}.modal-title{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--text-1);letter-spacing:-.02em}.modal-input{width:100%;padding:10px 12px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-2);color:var(--text-1);font-family:var(--font);font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}.modal-input:focus{border-color:#e025356b;box-shadow:0 0 0 3px #e025351a}.modal-actions{margin-top:10px;display:flex;justify-content:flex-end;gap:8px;align-items:center;flex-wrap:wrap}.modal-btn{border:1px solid transparent;border-radius:var(--radius-md);padding:8px 16px;cursor:pointer;min-height:36px;line-height:1;font-family:var(--font);font-size:13px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s,color .15s,transform .12s}.modal-btn:disabled{opacity:.38;cursor:not-allowed}.modal-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 12px var(--accent-glow)}.modal-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 2px 20px var(--accent-glow-lg)}.modal-btn-secondary{background:var(--glass-2);color:var(--text-1);border-color:var(--glass-border)}.modal-btn-secondary:hover:not(:disabled){background:var(--glass-3);border-color:var(--glass-border-hi)}.modal-btn-danger{background:#d33b3b24;color:#ff7070;border-color:#d33b3b57}.modal-btn-danger:hover:not(:disabled){background:#d33b3b;color:#fff;border-color:#d33b3b;box-shadow:0 2px 14px #d33b3b6b}.delete-account-confirm{margin-top:10px;display:grid;gap:10px;padding:12px;border:1px solid rgba(211,59,59,.3);border-radius:var(--radius-lg);background:#d33b3b12}.delete-account-warning{color:var(--text-2);font-size:13px;line-height:1.5}.delete-account-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.profile-modal-card{width:min(460px,94vw)}.profile-modal-list{display:grid;gap:10px}.profile-modal-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:center}.profile-modal-label{color:var(--text-3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.profile-modal-value{color:var(--text-1);font-size:14px;word-break:break-word}.profile-avatar-block{display:grid;gap:10px;margin-bottom:6px}.profile-avatar-preview-wrap{display:flex;justify-content:center}.profile-avatar-preview{width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid var(--glass-border-hi);box-shadow:0 0 28px #e0253529}.profile-avatar-fallback{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:var(--glass-2);border:2px solid var(--glass-border);color:var(--text-1);font-weight:700;font-size:28px}.profile-avatar-actions{display:flex;justify-content:center}.profile-avatar-error{color:var(--accent-text);font-size:13px;text-align:center}.profile-avatar-preview-btn{border:none;background:transparent;padding:0;cursor:zoom-in;line-height:0;border-radius:50%;transition:box-shadow .15s}.profile-avatar-preview-btn:hover{box-shadow:0 0 0 3px #e025356b}.image-viewer-overlay{position:fixed;inset:0;background:#000000e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:var(--z-screen);padding:16px}.image-viewer-content{position:relative;max-width:90vw;max-height:90vh;display:grid;gap:12px;justify-items:center;animation:modal-enter .18s ease-out both}.image-viewer-image{max-width:90vw;max-height:85vh;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.image-viewer-close{border:1px solid var(--glass-border-hi);background:var(--glass-3);color:var(--text-1);border-radius:var(--radius-md);padding:8px 18px;cursor:pointer;min-height:36px;font-family:var(--font);font-size:13px;font-weight:500;transition:background .15s,transform .12s}.image-viewer-close:hover{background:#ffffff24}.image-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--glass-border-hi);background:var(--glass-3);color:var(--text-1);border-radius:50%;font-size:22px;line-height:1;cursor:pointer;transition:background .15s}.image-viewer-nav:hover{background:#ffffff24}.image-viewer-nav.prev{left:-56px}.image-viewer-nav.next{right:-56px}.image-viewer-counter{color:var(--text-2);font-family:var(--font);font-size:12px}.message-attachments{display:flex;flex-direction:column;gap:8px;margin-top:8px}.message-attachment{display:block;text-decoration:none;border-radius:var(--radius-md);overflow:hidden;max-width:400px}.message-attachment-img{width:100%;max-height:300px;object-fit:cover;display:block;border-radius:var(--radius-md)}.image-attachment{display:block;cursor:zoom-in}.video-attachment{width:100%;max-height:300px;border-radius:var(--radius-md);display:block}.audio-attachment{width:100%;max-width:320px;display:block}.message-link{color:var(--accent-text);text-decoration:none;border-bottom:1px solid transparent;word-break:break-all}.message-link:hover{border-bottom-color:var(--accent-text)}.message-embeds{display:flex;flex-direction:column;gap:8px;margin-top:8px}.link-preview{display:flex;align-items:flex-start;gap:10px;max-width:400px;padding:10px 12px;border:1px solid var(--glass-border);border-left:3px solid var(--accent);border-radius:var(--radius-md);background:var(--glass-1);text-decoration:none;color:inherit;transition:background .14s ease,border-color .14s ease}.link-preview:hover{background:var(--glass-2);border-color:var(--glass-border-hi);border-left-color:var(--accent-hover)}.link-preview-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.link-preview-site{font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-3)}.link-preview-title{font-size:13px;font-weight:600;line-height:1.35;color:var(--accent-text);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.link-preview-desc{font-size:12px;line-height:1.4;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.link-preview-thumb{width:80px;height:80px;flex-shrink:0;object-fit:cover;border-radius:var(--radius-sm);background:var(--glass-2)}.file-attachment{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--glass-1);border:1px solid var(--glass-border);color:var(--text-1);border-radius:var(--radius-md);transition:background .12s,border-color .12s}.file-attachment:hover{background:var(--glass-2);border-color:var(--glass-border-hi)}.file-attachment-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-2)}.file-attachment-info{display:flex;flex-direction:column;gap:2px;min-width:0}.file-attachment-name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-attachment-size{font-size:11px;color:var(--text-3)}[data-theme=light] .servers-sidebar{background:#ffffffb8}[data-theme=light] .channels-sidebar{background:#ffffff94}[data-theme=light] .chat-header-block{background:#f3f4f7d6}[data-theme=light] .message-form{background:#ffffffc7}[data-theme=light] .message-item.own{background:#d61b2c12;border-color:#d61b2c29}[data-theme=light] .message-row:hover .message-item.own{border-color:#d61b2c4d}[data-theme=light] .online-users-panel{background:#fffffff5}[data-theme=light] .online-users-status,[data-theme=light] .dm-online-dot{border-color:#f3f4f7}[data-theme=light] .modal-overlay{background:#14161b66}[data-theme=light] .modal-card{background:#fffffff7}[data-theme=light] .voice-recording-bar{background:#d61b2c12;border-color:#d61b2c38}[data-theme=light] .delete-account-confirm{border-color:#d61b2c42;background:#d61b2c0d}[data-theme=light] .modal-btn-danger{background:#d33b3b1a;color:#b8101f;border-color:#d33b3b4d}[data-theme=light] .modal-btn-danger:hover:not(:disabled){background:#d33b3b;color:#fff;border-color:#d33b3b}@keyframes message-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.message-row[data-new=true]{animation:message-in .18s ease-out both}@keyframes modal-exit{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.97) translateY(4px)}}@keyframes overlay-fade-out{0%{opacity:1}to{opacity:0}}.modal-overlay.closing{animation:overlay-fade-out .16s ease-out both;pointer-events:none}.modal-overlay.closing .modal-card{animation:modal-exit .16s ease-out both}.image-viewer-overlay.closing{animation:overlay-fade-out .16s ease-out both;pointer-events:none}.image-viewer-overlay.closing .image-viewer-content{animation:modal-exit .16s ease-out both}@keyframes panel-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes voice-panel-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes server-pill-grow{0%{transform:translateY(-50%) scaleY(0)}to{transform:translateY(-50%) scaleY(1)}}.servers-list li{position:relative}.servers-list li:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%) scaleY(0);width:4px;height:20px;border-radius:var(--radius-full);background:var(--text-1);transform-origin:center;transition:transform .18s ease;pointer-events:none}.servers-list li:has(.server-dot:hover:not(.active)):before{transform:translateY(-50%) scaleY(.4)}.servers-list li:has(.server-dot.active):before{animation:server-pill-grow .18s ease-out both}@keyframes channel-bar-in{0%{box-shadow:inset 0 0 0 var(--accent)}to{box-shadow:inset 3px 0 0 var(--accent)}}body,.servers-sidebar,.chat-header-block,.message-form,.modal-card,.online-users-panel{transition:background-color .2s ease,color .2s ease,border-color .2s ease}@keyframes notice-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.modal-btn:active:not(:disabled),.micam-btn:active:not(:disabled),.channels-add-btn:active:not(:disabled),.theme-toggle-btn:active:not(:disabled),.profile-open-btn:active:not(:disabled),.image-viewer-close:active{transform:scale(.96)}@media(prefers-reduced-motion:reduce){@keyframes message-in{0%,to{opacity:1;transform:none}}@keyframes modal-exit{0%,to{opacity:1;transform:none}}@keyframes overlay-fade-out{0%,to{opacity:1}}@keyframes panel-slide-in{0%,to{opacity:1;transform:none}}@keyframes voice-panel-in{0%,to{opacity:1;transform:none}}@keyframes server-pill-grow{0%,to{transform:translateY(-50%) scaleY(1)}}@keyframes channel-bar-in{0%,to{box-shadow:inset 3px 0 0 var(--accent)}}@keyframes notice-in{0%,to{opacity:1;transform:none}}.message-row[data-new=true],.online-users-panel,.voice-panel,.messages-empty,.modal-overlay.closing,.modal-overlay.closing .modal-card,.image-viewer-overlay.closing,.image-viewer-overlay.closing .image-viewer-content{animation:none}.servers-list li:before{transition:none}.channel-row.active{animation:none}body,.servers-sidebar,.channels-sidebar,.chat-header-block,.message-form,.modal-card,.online-users-panel{transition:none}}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:var(--z-toast);display:flex;flex-direction:column;gap:.5rem;pointer-events:none;width:22rem;max-width:calc(100vw - 2rem)}.toast{display:flex;align-items:center;gap:.625rem;padding:.75rem .875rem;border-radius:var(--radius-md);background:var(--glass-3);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border-hi);box-shadow:var(--shadow-lg);color:var(--text-1);font-size:.875rem;line-height:1.4;pointer-events:all;animation:toast-slide-in .22s cubic-bezier(.22,1,.36,1) both}.toast--exit{animation:toast-slide-out .18s ease-in both}.toast--success{border-left:3px solid #22c55e}.toast--error{border-left:3px solid var(--accent)}.toast--success>svg{color:#22c55e;flex-shrink:0}.toast--error>svg{color:var(--accent-text);flex-shrink:0}.toast-message{flex:1;min-width:0;word-break:break-word}.toast-close{background:none;border:none;cursor:pointer;color:var(--text-3);padding:.125rem;display:flex;align-items:center;flex-shrink:0;border-radius:var(--radius-sm);transition:color .15s}.toast-close:hover{color:var(--text-1)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(1.5rem) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(1.5rem) scale(.96)}}@keyframes skeleton-shimmer{0%{background-position:200% center}to{background-position:-200% center}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--glass-2) 25%,var(--glass-3) 50%,var(--glass-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-msg-list{display:flex;flex-direction:column;gap:10px}.skeleton-msg-row{display:flex;gap:10px;align-items:flex-start}.skeleton-avatar{width:34px;height:34px;border-radius:50%;flex:0 0 34px}.skeleton-lines{flex:1;display:flex;flex-direction:column;gap:7px;padding-top:3px}.skeleton-line{height:12px}.skeleton-users-list{display:grid;gap:4px}.skeleton-user-item{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-1)}.skeleton-user-avatar{width:32px;height:32px;border-radius:50%;flex:0 0 32px}.skeleton-user-lines{flex:1;display:flex;flex-direction:column;gap:5px}.skeleton-user-name{height:10px}.skeleton-user-email{height:8px}.skeleton-profile{display:grid;gap:10px}.skeleton-profile-avatar-wrap{display:flex;justify-content:center;margin-bottom:6px}.skeleton-profile-avatar{width:96px;height:96px;border-radius:50%}.skeleton-profile-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:center}.skeleton-profile-label{height:10px;width:65%}.skeleton-profile-value{height:10px}.context-menu{position:fixed;z-index:var(--z-sheet);background:#090a0df2;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border-hi);border-radius:var(--radius-lg);padding:6px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:2px;animation:modal-enter .14s ease-out both}.context-menu-item{display:flex;align-items:center;gap:8px;border:none;background:transparent;color:var(--text-1);text-align:left;padding:7px 10px;border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;cursor:pointer;transition:background .12s,color .12s}.context-menu-item:hover:not(:disabled){background:var(--glass-2)}.context-menu-item:disabled{opacity:.4;cursor:not-allowed}.context-menu-item.danger{color:#ff7070}.context-menu-item-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.context-menu-separator{height:1px;margin:4px 2px;background:var(--glass-border)}.notification-settings-modal{width:min(480px,92vw);max-height:85vh;overflow-y:auto}.notification-settings-section{display:flex;flex-direction:column;gap:8px;padding:10px 0;border-bottom:1px solid var(--glass-border)}.notification-settings-section:last-of-type{border-bottom:none}.notification-settings-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.notification-settings-toggle input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.notification-settings-dnd-actions{display:flex;flex-wrap:wrap;gap:6px}.notification-settings-volume{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end;color:var(--text-2)}.notification-settings-volume input[type=range]{accent-color:var(--accent);max-width:140px}.notification-settings-test-status{font-size:12px;color:var(--text-3)}.voice-settings-options{display:flex;flex-direction:column;gap:10px}.voice-settings-option{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.voice-settings-option input{margin-top:3px;accent-color:var(--accent);cursor:pointer}.voice-settings-option span{display:flex;flex-direction:column;gap:2px}.voice-settings-option small{color:var(--text-3);font-size:12px}.notification-settings-overrides{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.notification-settings-override-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-1)}.notification-settings-override-detail{color:var(--text-3);font-size:12px;margin-right:auto}.notification-permission-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;align-items:center;gap:12px;max-width:min(560px,calc(100vw - 24px));padding:10px 14px;background:#090a0df2;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--glass-border-hi);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:var(--accent);animation:modal-enter .18s ease-out both}.notification-permission-banner-text{color:var(--text-1);font-size:13px;flex:1;min-width:0}.notification-permission-banner-actions{display:flex;gap:6px;flex-shrink:0}.notification-permission-banner-close{border:none;background:transparent;color:var(--text-3);cursor:pointer;display:flex;align-items:center;padding:4px;flex-shrink:0}.notification-permission-banner-close:hover{color:var(--text-1)}.chat-main{grid-template-columns:minmax(0,1fr)}.chat-content,.chat-content-wrap,.messages-list,.message-row,.message-body{min-width:0}.message-content,.message-reply-preview,.link-preview-title,.link-preview-desc{overflow-wrap:anywhere;word-break:break-word}.message-content pre,.message-content code{max-width:100%;overflow-x:auto}.message-attachment,.message-attachment-img,.message-attachment video,.link-preview,.media-player,.video-player,.message-attachment.audio-attachment,.message-attachment.video-attachment{max-width:100%}img,video{max-width:100%}.mobile-drawer{display:contents}.chat-header-mobile,.chat-more-btn,.drawer-user{display:none}textarea.message-input{display:block;resize:none;line-height:1.4;max-height:132px;overflow-y:auto}@media(max-width:768px),(max-height:500px)and (pointer:coarse){body{background-attachment:scroll}.channels-hamburger-btn{display:flex}.search-panel{position:fixed;inset:0;z-index:var(--z-screen);border-left:none}.message-row.own{justify-content:flex-end}.message-row.other{justify-content:flex-start}.message-row.own .message-item{order:1}.message-row.own .message-avatar-wrap{order:2}.message-row.other .message-avatar-wrap{order:1}.message-row.other .message-item{order:2}.message-item{max-width:min(86%,760px)}.channels-add-btn,.channels-delete-btn{min-width:44px;min-height:44px}.video-fullscreen-btn{min-width:44px;min-height:44px;width:44px;height:44px}.message-avatar-wrap,.profile-open-btn,.channel-search-btn{min-width:44px;min-height:44px;width:44px;height:44px;flex:0 0 44px}.voice-member-avatar-wrap{min-width:44px;min-height:44px;width:44px;height:44px}.micam-btn,.cq.voice-quality-badge,.message-voice-btn,.message-attach-btn,.message-send-btn{min-width:44px;min-height:44px}.message-timestamp{font-size:12px}.message-edit-hint{display:none}.link-preview{max-width:100%;padding:8px 10px}.link-preview-thumb{width:56px;height:56px}.voice-member-name{font-size:12px}.voice-member-item{grid-template-columns:44px 1fr}.voice-member-avatar-fallback{font-size:14px}.video-grid{grid-template-columns:repeat(2,1fr)}.video-tile,.video-el{min-height:120px}.modal-overlay{align-items:flex-end;padding-bottom:env(safe-area-inset-bottom)}.modal-card{max-height:92vh;max-height:92dvh;overflow-y:auto;width:94vw;border-radius:var(--radius-xl) var(--radius-xl) var(--radius-md) var(--radius-md);margin-bottom:8px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.image-viewer-nav.prev{left:8px}.image-viewer-nav.next{right:8px}.notification-permission-banner{flex-wrap:wrap;top:8px}.auth-container:before{width:280px;height:280px;filter:blur(40px)}.auth-container:after{width:220px;height:220px;filter:blur(44px)}}@media(max-width:480px){.server-add-btn,.server-dot{width:40px;height:40px}.video-grid{grid-template-columns:1fr}.message-item{max-width:92%}.chat-content{padding:0 12px 14px}.jump-latest-btn{right:14px;bottom:12px}.auth-container:before,.auth-container:after{display:none}.auth-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--auth-bg);border-color:var(--glass-border)}.media-player{max-width:100%}.media-player-icon-btn{width:34px;height:34px}.media-player-play-btn{width:46px;height:46px}.media-player-progress{padding:12px 0}.video-player{max-width:100%}.video-player-icon-btn{width:32px;height:32px}.video-player-volume-slider{width:44px}.video-player-speed{display:none}}@media(max-width:900px)and (orientation:landscape){.video-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;scroll-snap-type:x mandatory}.video-tile{flex:0 0 200px;min-height:112px;scroll-snap-align:start}.voice-controls{flex-wrap:nowrap;overflow-x:auto}}@media(max-width:768px),(max-height:500px)and (pointer:coarse){html,body{overflow-x:hidden;overscroll-behavior-y:none}*{-webkit-tap-highlight-color:transparent}input,textarea,select{font-size:16px}button,[role=button],select{min-height:var(--tap-min);min-width:var(--tap-min);touch-action:manipulation}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-width:0;min-height:0;flex-shrink:0}label:has(>input[type=checkbox]),label:has(>input[type=radio]){min-height:var(--tap-min);display:inline-flex;align-items:center;gap:8px}.media-player button,.video-player button{position:relative;min-height:0;min-width:0}.media-player button:after,.video-player button:after{content:"";position:absolute;inset:-6px}.channels-list,.chat-content,.channels-sidebar,.auth-container{padding:16px;padding-left:max(16px,var(--safe-left));padding-right:max(16px,var(--safe-right))}}@media(max-width:768px),(max-height:500px)and (pointer:coarse){html,body{position:fixed;inset:0;width:100%;height:var(--app-height);overflow:hidden}#root{height:100%}.chat-layout,.chat-layout.channels-sidebar-hidden,.chat-layout.search-panel-open,.chat-layout.channels-sidebar-hidden.search-panel-open{grid-template-columns:minmax(0,1fr);height:var(--app-height);transition:none}.channels-drawer-overlay{display:block;position:fixed;inset:0;z-index:var(--z-drawer-overlay);background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .26s ease,visibility 0s .26s}.channels-drawer-overlay.active{opacity:1;visibility:visible;transition:opacity .26s ease,visibility 0s}.mobile-drawer{display:flex;position:fixed;inset:0 auto 0 0;width:min(88vw,360px);z-index:var(--z-drawer);background:#0a0b0e;border-right:1px solid var(--glass-border);transform:translate(-100%);visibility:hidden;transition:transform .26s cubic-bezier(.4,0,.2,1),visibility 0s .26s;padding-left:var(--safe-left)}.mobile-drawer.open{transform:translate(0);visibility:visible;transition:transform .26s cubic-bezier(.4,0,.2,1),visibility 0s}[data-theme=light] .mobile-drawer{background:#f6f7fa}.mobile-drawer .servers-sidebar{position:static;flex:0 0 64px;width:64px;padding-left:0;-webkit-backdrop-filter:none;backdrop-filter:none;background:#00000047}[data-theme=light] .mobile-drawer .servers-sidebar{background:#0f11150d}.mobile-drawer .channels-sidebar,.mobile-drawer .channels-sidebar.hidden{position:static;flex:1 1 auto;min-width:0;width:auto;transform:none;opacity:1;pointer-events:auto;border-right:none;grid-template-rows:auto 1fr auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent}.mobile-drawer .channels-header .actions>button:first-child,.servers-sidebar-footer{display:none}.drawer-user{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 12px;padding-bottom:calc(8px + var(--safe-bottom));border:none;border-top:1px solid var(--glass-border);background:#ffffff08;color:var(--text-1);font-family:inherit;font-size:15px;font-weight:600;text-align:left}.drawer-user-avatar{flex:0 0 36px;width:36px;height:36px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--glass-2);border:1px solid var(--glass-border);font-size:14px}.drawer-user-avatar img{width:100%;height:100%;object-fit:cover}.drawer-user-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-user svg{color:var(--text-2);flex-shrink:0}.chat-hamburger-visible,.channels-hamburger-btn{display:flex}.chat-header-block{margin:0 -12px 8px;padding:0 8px;padding-top:var(--safe-top);padding-left:max(8px,var(--safe-left));padding-right:max(8px,var(--safe-right));min-height:calc(var(--header-h) + var(--safe-top));display:flex;align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0b0e}[data-theme=light] .chat-header-block{background:#f6f7fa}.chat-header-row{width:100%;min-height:var(--header-h);gap:4px}.chat-header,.chat-subheader,.profile-open-btn{display:none}.chat-header-left{gap:4px}.chat-header-mobile{display:flex;flex-direction:column;justify-content:center;min-width:0;line-height:1.2}.chat-header-mobile-title{font-size:16px;font-weight:700;color:var(--text-1);letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-mobile-sub{font-size:12px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channels-hamburger-btn,.channel-search-btn,.chat-more-btn{width:var(--tap-min);height:var(--tap-min);flex:0 0 var(--tap-min);border:none;background:transparent;color:var(--text-2);border-radius:50%;align-items:center;justify-content:center}.chat-more-btn{display:flex}.chat-header-actions{gap:0}.chat-content{padding:0 12px 8px;-webkit-overflow-scrolling:touch}.chat-main{height:100%;min-height:0}.message-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px;padding:6px 8px;padding-bottom:max(6px,var(--safe-bottom));padding-left:max(8px,var(--safe-left));padding-right:max(8px,var(--safe-right));-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0b0e}[data-theme=light] .message-form{background:#f6f7fa}html.keyboard-open .message-form{padding-bottom:6px}.message-form>.drag-drop-hint,.message-form>.reply-draft,.message-form>.upload-progress-wrap,.message-form>.message-length-counter,.message-form>.message-attachments-preview,.message-form>.voice-recording-bar{flex:1 0 100%}.message-form .message-attach-btn{order:10}.message-input-wrap{order:11;flex:1 1 0;min-width:0;width:auto}.message-form .message-voice-btn,.message-form .message-send-btn{order:12}.message-form:not(.has-content) .message-send-btn,.message-form.has-content .message-voice-btn{display:none}.message-form .message-attach-btn,.message-form .message-voice-btn,.message-form .message-send-btn{flex:0 0 var(--tap-min);width:var(--tap-min);height:var(--tap-min);padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.message-form .message-send-btn svg{width:22px;height:22px}textarea.message-input{min-height:var(--tap-min);padding:10px 14px;border-radius:22px}.message-actions-wrap{display:none}.jump-latest-btn{z-index:var(--z-sticky)}}@media(max-width:768px),(max-height:500px)and (pointer:coarse){.image-viewer-image{touch-action:pinch-zoom;max-width:100vw;max-height:100dvh}}@media(max-width:768px),(max-height:500px)and (pointer:coarse){.voice-panel.voice-panel-incall{display:none}.voice-panel:not(.voice-panel-incall){margin:0 0 8px;padding:12px}.voice-panel:not(.voice-panel-incall) .voice-controls{justify-content:center}.voice-panel:not(.voice-panel-incall) .message-send-btn{width:100%;height:52px;border-radius:var(--radius-lg);font-size:16px;font-weight:600}.voice-volume-popover{left:0;right:0;max-width:100%}}@media(max-width:768px),(max-height:500px)and (pointer:coarse){.search-panel{height:var(--app-height);padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right);background:#0a0b0e;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=light] .search-panel{background:#f6f7fa}.search-panel-results{padding-bottom:var(--safe-bottom);overscroll-behavior:contain}.toast-container{top:calc(8px + var(--safe-top));bottom:auto;right:8px;left:8px;width:auto;max-width:none}.notification-permission-banner{left:8px;right:8px;max-width:none;top:calc(8px + var(--safe-top))}.typing-indicator{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0b0e}[data-theme=light] .typing-indicator{background:#f6f7fa}.jump-latest-btn{-webkit-backdrop-filter:none;backdrop-filter:none}.auth-container:before,.auth-container:after{animation:none}body{background-image:none}.messages-list button:active:not(:disabled),.channels-list button:active:not(:disabled),.servers-list button:active:not(:disabled){transform:none}}@media(hover:none){.message-reply-btn,.message-delete-btn,.message-actions-inline,.message-delete-confirm{display:none}.messages-list,.mobile-drawer{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.message-edit,.message-edit *{-webkit-user-select:text;user-select:text}.message-edit-hint{display:none}}@media(prefers-reduced-motion:reduce){.mobile-drawer,.channels-drawer-overlay{transition:none}}@media(max-width:768px),(max-height:500px)and (pointer:coarse){.message-author{min-height:0;min-width:0;position:relative}.message-author:after{content:"";position:absolute;inset:-10px -8px}}
