:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-height:100vh;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--viewport-offset-top:0px;--keyboard-offset:0px;--bg:#0e1621;--bg-elevated:#17212b;--bg-soft:#111923;--bg-bubble:#182533;--bg-own:#2b5278;--bg-hover:#ffffff0d;--line:#ffffff14;--line-strong:#ffffff1f;--text:#e6ebf0;--muted:#8fabc1;--accent:#64b5f6;--accent-strong:#8fd0ff;--accent-soft:#64b5f624;--success:#6ed9a0;--danger:#ff8f8f;--warning:#ffcb6b;--shadow:0 18px 50px #00000047;color:var(--text);background:radial-gradient(circle at 0 0,#64b5f61f,#0000 24%),linear-gradient(#0e1621 0%,#0f1720 100%);font-family:Segoe UI,Tahoma,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:var(--app-height)}body{min-height:var(--app-height);overscroll-behavior-y:none;background:0 0;margin:0;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.auth-panel,.panel,.sidebar,.chat-panel,.download-card,.update-card,.message,.composer textarea,.search-input{min-width:0}.auth-shell,.app-shell{min-height:var(--app-height)}.auth-shell{place-items:center;padding:24px;display:grid}.auth-panel,.sidebar,.chat-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#17212beb}.auth-panel{border-radius:24px;width:min(100%,540px);padding:28px}.brand{margin-bottom:24px}.brand h1,.sidebar__identity h2,.chat-panel__identity-text h2{margin:8px 0 6px;font-size:clamp(1.6rem,2vw,2.2rem);line-height:1.08}.brand p,.sidebar__identity p,.chat-panel__identity-text p,.empty-state p,.auth-note,.admin-muted{color:var(--muted);margin:0}.brand__kicker,.sidebar__eyebrow,.chat-panel__eyebrow,.download-card__eyebrow,.update-card__eyebrow{background:var(--accent-soft);min-height:28px;color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 12px;font-size:.76rem;display:inline-flex}.sidebar__eyebrow,.chat-panel__eyebrow{margin-bottom:4px}.auth-form,.panel,.chat-panel,.sidebar,.admin-panel,.admin-form{flex-direction:column;display:flex}.auth-form,.admin-form{gap:14px}.auth-form label,.composer{flex-direction:column;gap:8px;display:flex}.auth-form span,.panel__header span,.message__meta time,.attachment span,.user-card span,.status-row{color:var(--muted)}.auth-form input,.composer textarea,.search-input,.admin-form input{border:1px solid var(--line);width:100%;color:var(--text);background:#111922;border-radius:14px;outline:none;padding:14px 16px}.auth-form__password-field{position:relative}.auth-form__password-field input{padding-right:52px}.auth-form__password-toggle{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;font-size:18px;line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-form__password-icon{width:18px;height:18px}.auth-form__password-toggle:hover{color:var(--text);background:#ffffff0f}.auth-form__password-toggle:focus-visible{outline-offset:2px;outline:2px solid #8fd0ff8c}.auth-form input:focus,.composer textarea:focus,.search-input:focus,.admin-form input:focus{border-color:#8fd0ff8c;box-shadow:0 0 0 4px #64b5f61f}.segmented{grid-template-columns:1fr 1fr;gap:8px;display:grid}.segmented button,.ghost-button,.composer__attach{border:1px solid var(--line);min-height:44px;color:var(--text);text-align:center;background:#ffffff05;border-radius:14px;padding:10px 14px}.segmented button.active,.ghost-button:hover,.ghost-button--active,.composer__attach:hover,.dialog-card--active,.dialog-card:hover,.user-card:hover{border-color:var(--line-strong);background:#ffffff0f}.ghost-button--danger{color:var(--danger);border-color:#ff8f8f3d}.ghost-button--danger:hover{background:#ff8f8f14}.ghost-button--mobile{display:none}.primary-button{color:#08131d;background:linear-gradient(135deg,#64b5f6 0%,#4f93d2 100%);border:none;border-radius:14px;min-height:48px;padding:12px 18px;font-weight:700}.primary-button:disabled,.ghost-button:disabled{opacity:.6;cursor:not-allowed}.status-row{min-height:24px;margin-top:18px}.status-row--info{color:var(--muted)}.status-row--success{color:var(--success)}.status-row--error{color:var(--danger)}.app-shell{height:var(--app-height);grid-template-columns:340px minmax(0,1fr);gap:0;padding:16px;display:grid;overflow:hidden}.sidebar,.chat-panel{min-height:0;height:calc(var(--app-height) - 32px);max-height:calc(var(--app-height) - 32px)}.sidebar{border-right:1px solid var(--line);border-radius:22px 0 0 22px;gap:14px;padding:14px;overflow:auto}.chat-panel{border-radius:0 22px 22px 0;padding:0;overflow:hidden}.chat-panel--admin{padding:18px;overflow:auto}.sidebar__top,.sidebar__identity,.sidebar__top-actions,.sidebar__actions,.panel__header,.dialog-card__row,.message__meta,.chat-panel__header,.chat-panel__identity,.chat-panel__status,.image-preview__footer,.admin-row,.admin-actions,.admin-badges{align-items:center;gap:10px;min-width:0;display:flex}.sidebar__top{justify-content:space-between}.sidebar__identity{flex:1}.sidebar__identity--summary{align-items:flex-start}.sidebar__identity--clickable{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:18px;margin:-6px;padding:6px}.sidebar__identity--clickable:hover,.sidebar__identity--clickable:focus-visible{background:#64b5f612;border-color:#64b5f629;outline:none}.sidebar__identity-body{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar__avatar,.dialog-card__avatar,.user-card__avatar,.chat-panel__avatar{color:var(--accent-strong);background:#64b5f62e;border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex;position:relative}.avatar-presence--online:after{content:"";background:#64d99f;border:2px solid #101821;border-radius:999px;width:12px;height:12px;position:absolute;bottom:-1px;right:-1px;box-shadow:0 0 0 3px #64d99f24}.sidebar__avatar{width:52px;height:52px;font-size:1rem}.sidebar__identity-meta{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;min-height:26px;display:flex}.sidebar__presence{justify-content:center;min-width:78px;margin-top:2px}.dialog-card__avatar,.user-card__avatar,.chat-panel__avatar{width:42px;height:42px;font-size:.96rem}.sidebar__top-actions,.sidebar__actions,.chat-panel__status,.admin-actions,.admin-badges{flex-wrap:wrap}.sidebar__dock{align-items:center;gap:10px;width:100%;min-width:0;margin-top:auto;display:flex;position:relative}.sidebar__dock-profile,.sidebar__dock-gear{border:1px solid var(--line);color:var(--text);background:#ffffff08;justify-content:center;align-items:center;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.sidebar__dock-profile{border-radius:18px;flex:0 0 58px;width:58px;height:58px;padding:0}.sidebar__dock-profile:hover,.sidebar__dock-profile:focus-visible,.sidebar__dock-gear:hover,.sidebar__dock-gear:focus-visible,.sidebar__dock-gear--open{background:#64b5f61a;border-color:#64b5f63d;outline:none}.sidebar__dock-avatar{width:42px;height:42px;font-size:.96rem}.sidebar__dock-settings{align-items:center;margin-left:auto;display:flex}.sidebar__dock-gear{border-radius:16px;flex:0 0 46px;width:46px;height:46px;padding:0;font-size:1.1rem}.sidebar__dock-menu{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#121b25fa;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;gap:8px;width:auto;max-width:none;padding:12px;display:flex;position:absolute;bottom:calc(100% + 12px);left:0;right:0;box-shadow:0 24px 60px #030a1266}.settings-entry--menu{padding:10px 12px}.sidebar__actions .ghost-button{flex:1}.panel{background:#ffffff05;border:1px solid #ffffff0a;border-radius:18px;gap:10px;padding:12px}.panel--dialogs{flex:1}.panel--compact{flex:none}.panel__header{justify-content:space-between}.panel__header h3,.empty-state h3,.download-card__title,.update-card__title{margin:0}.panel__caption{color:var(--muted);margin:0;font-size:.84rem;line-height:1.35}.panel__toggle{width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.panel__toggle-title{align-items:center;gap:10px;min-width:0;display:inline-flex}.panel__toggle-icon{width:32px;height:32px;color:var(--accent-strong);background:#64b5f61f;border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.panel__toggle span:last-child{color:var(--muted);font-size:.84rem}.panel__toggle--open span:last-child{color:var(--accent-strong)}.panel__stack{flex-direction:column;gap:10px;display:flex}.settings-section{background:#ffffff05;border:1px solid #ffffff0a;border-radius:16px;flex-direction:column;gap:12px;padding:12px;display:flex}.settings-section__header{flex-direction:column;gap:6px;display:flex}.settings-section__header h4{margin:0}.settings-section__header p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.35}.settings-section__stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-entry{width:100%;color:var(--text);text-align:left;background:#ffffff08;border:1px solid #ffffff0d;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.settings-entry:hover{border-color:var(--line-strong);background:#ffffff0d}.settings-entry__icon{width:38px;height:38px;color:var(--accent-strong);background:#64b5f61f;border-radius:12px;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.settings-entry__body{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-entry__body strong{color:var(--text)}.settings-entry__body span{color:var(--muted);font-size:.84rem;line-height:1.35}.dialog-list,.user-list,.message-stream,.admin-list{flex-direction:column;min-height:0;display:flex}.dialog-list,.user-list,.admin-list{gap:6px}.dialog-toolbar{flex-direction:column;gap:10px;display:flex}.dialog-toolbar__summary,.dialog-card__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dialog-toolbar__pill,.dialog-card__kind,.dialog-card__unread-label,.presence-pill{border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:0 10px;font-size:.76rem;display:inline-flex}.dialog-toolbar__pill{color:var(--muted);background:#ffffff09;border:1px solid #ffffff0d}.dialog-toolbar__pill--accent{color:var(--accent-strong);background:#64b5f61f;border-color:#64b5f62e}.search-input--dialogs{margin-top:10px}.dialog-list,.user-list{max-height:320px;overflow:auto}.panel--dialogs .dialog-list{flex:1;max-height:none}.panel--compact .user-list{max-height:240px}.dialog-card,.user-card{width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:16px;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:10px 12px;display:grid}.dialog-card__body,.user-card__body{min-width:0}.dialog-card{align-items:center;position:relative}.dialog-card--unread{background:#ffffff06}.dialog-card--unread:before{content:"";background:linear-gradient(#8fd0ff 0%,#64b5f6 100%);border-radius:999px;width:3px;position:absolute;top:10px;bottom:10px;left:0}.dialog-card__row{justify-content:space-between;align-items:flex-start}.dialog-card__title{align-items:center;gap:8px;min-width:0;display:flex}.dialog-card__title strong,.user-card__body strong,.message__meta strong{overflow-wrap:anywhere;display:block}.dialog-card__time{color:var(--muted);white-space:nowrap;font-size:.8rem}.dialog-card__meta{min-height:24px;margin-top:4px}.dialog-card__kind{color:var(--muted);background:#ffffff09}.dialog-card__kind--general{color:var(--accent-strong);background:#64b5f61f}.dialog-card__kind--system{color:var(--warning);background:#ffcb6b1f}.dialog-card__kind--direct{color:var(--success);background:#6ed9a01f}.dialog-card__unread-label{color:var(--accent-strong);background:#ffffff09}.presence-pill{color:var(--muted);background:#ffffff09}.presence-pill--stable{justify-content:center;min-width:78px}.presence-pill--hidden{visibility:hidden}.presence-pill--online{color:#9eebc5;background:#64d99f24;border:1px solid #64d99f33}.dialog-card .presence-pill,.user-card .presence-pill,.chat-panel__presence .presence-pill{color:var(--muted)}.dialog-card .presence-pill--online,.user-card .presence-pill--online,.chat-panel__presence .presence-pill--online{color:#9eebc5}.presence-pill__dot{background:#64d99f;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 3px #64d99f24}.dialog-card__badge{background:var(--accent);color:#08131d;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.74rem;font-weight:700;display:inline-flex}.dialog-card p,.download-card__text,.update-card__status{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;line-height:1.35}.dialog-card__preview{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dialog-card--unread .dialog-card__preview,.dialog-card--unread .dialog-card__title strong,.dialog-card--unread .dialog-card__time{color:#f0f6fb}.dialog-list__empty{text-align:center;min-height:160px;color:var(--muted);border:1px dashed #ffffff14;border-radius:18px;place-items:center;padding:18px;display:grid}.dialog-list__empty--warning{background:#ffcb6b0f;border-color:#ffcb6b2e}.dialog-list__empty-eyebrow{min-height:24px;color:var(--accent-strong);letter-spacing:.06em;text-transform:uppercase;background:#ffffff0d;border-radius:999px;justify-content:center;align-items:center;margin-bottom:8px;padding:0 10px;font-size:.72rem;display:inline-flex}.dialog-list__empty h4{color:var(--text);margin:0 0 6px}.dialog-list__empty p{margin:0}.user-card__subtitle{margin-top:2px;display:block}.user-card__meta{flex-wrap:wrap;align-items:center;gap:8px;min-height:24px;display:flex}.chat-panel__presence{align-items:center;min-height:24px;margin-top:6px;display:flex}.chat-panel__header{border-bottom:1px solid var(--line);z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#17212bf0;flex:none;justify-content:space-between;padding:14px 18px;position:sticky;top:0}.chat-panel__identity{flex:1}.chat-panel__profile-trigger{min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:18px;flex:1;align-items:center;gap:10px;margin:-6px -8px;padding:6px 8px;display:flex}.chat-panel__profile-trigger--clickable{cursor:pointer}.chat-panel__profile-trigger--clickable:hover,.chat-panel__profile-trigger--clickable:focus-visible{background:#64b5f612;border-color:#64b5f629;outline:none}.chat-panel__identity-text{min-width:0}.chat-panel__back{width:40px;height:40px;color:var(--text);background:#ffffff0a;border:none;border-radius:999px;font-size:1.2rem;display:none}.status-pill{border:1px solid var(--line);background:#ffffff08;border-radius:999px;justify-content:center;align-items:center;gap:8px;max-width:100%;min-height:36px;padding:8px 12px;display:inline-flex}.status-pill--info{color:var(--muted)}.status-pill--success{color:var(--success)}.status-pill--warning{color:var(--warning)}.status-pill--error{color:var(--danger)}.chat-panel__connection-inline{margin:4px 0 0;display:flex}.chat-panel__connection-pill{min-height:28px;padding:4px 10px;font-size:.76rem}.chat-panel__notice{flex:none;justify-content:flex-end;align-items:center;display:flex}.chat-panel__sync-banner{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff08;flex-direction:column;gap:4px;padding:10px 18px;font-size:.84rem;line-height:1.35;display:flex}.chat-panel__sync-banner strong{font-size:.82rem}.chat-panel__sync-banner--info{color:var(--accent-strong);background:#64b5f614}.chat-panel__sync-banner--warning{color:#ffe09d;background:#ffcb6b17}.chat-panel__sync-banner--error{color:#ffc5c5;background:#ff8f8f1a}.chat-panel__body{flex:1;min-height:0;display:flex;position:relative}.message-stream{background:radial-gradient(circle at 0 0,#ffffff05,#0000 28%),linear-gradient(#0f1720f5 0%,#0e161ffa 100%);flex-direction:column;flex:1;gap:2px;min-height:0;padding:18px 20px 22px;display:flex;overflow:auto}.chat-panel__jump{z-index:6;pointer-events:none;position:absolute;bottom:18px;right:18px}.chat-panel__jump-button{min-width:0;color:var(--text);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#111b26eb;border:1px solid #8fd0ff33;border-radius:18px;align-items:center;gap:10px;padding:10px 12px;display:inline-flex;box-shadow:0 14px 32px #0000003d}.chat-panel__jump-button:hover,.chat-panel__jump-button:focus-visible{background:#162431fa;border-color:#8fd0ff52;outline:none}.chat-panel__jump-badge{color:#08131d;background:linear-gradient(135deg,#8fd0ff 0%,#64b5f6 100%);border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-size:.78rem;font-weight:800;display:inline-flex}.chat-panel__jump-copy{text-align:left;flex-direction:column;gap:2px;min-width:0;display:flex}.chat-panel__jump-copy strong{font-size:.84rem}.chat-panel__jump-copy span{color:var(--muted);font-size:.74rem;line-height:1.25}.chat-panel__jump-icon{width:32px;height:32px;color:var(--accent-strong);background:#ffffff0d;border-radius:999px;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:inline-flex}.message-day-divider{justify-content:center;padding:14px 0 10px;display:flex}.message-day-divider span{min-height:28px;color:var(--muted);background:#ffffff0a;border:1px solid #ffffff0d;border-radius:999px;align-items:center;padding:0 12px;font-size:.8rem;display:inline-flex}.message-row{align-items:flex-end;gap:10px;margin-top:2px;display:flex}.message-row--own{justify-content:flex-end}.message-row--system{justify-content:center}.message-row__avatar{width:32px;height:32px;color:var(--accent-strong);background:#64b5f629;border-radius:999px;flex:none;justify-content:center;align-items:center;margin-bottom:4px;font-size:.76rem;font-weight:700;display:inline-flex}.message-row__avatar--hidden{visibility:hidden}.message{background:var(--bg-bubble);border:1px solid #ffffff08;border-radius:20px 20px 20px 8px;width:min(100%,640px);padding:8px 12px 9px;box-shadow:0 8px 20px #00000024}.message--own{background:var(--bg-own);border-radius:20px 20px 8px}.message--highlighted{border-color:#7cd3ff8f;animation:2.8s message-highlight-pulse;box-shadow:0 0 0 1px #7cd3ff33,0 10px 28px #4192ff38}.message--system{width:min(100%,520px);box-shadow:none;background:#ffcb6b1f;border-color:#ffcb6b29;border-radius:16px}.message--group-middle{margin-top:1px}.message--group-middle-tail{margin-bottom:1px}.message--own.message--group-middle,.message--own.message--group-end{border-bottom-right-radius:10px}.message--group-middle,.message--group-end{border-bottom-left-radius:10px}.message--own.message--group-start,.message--own.message--group-middle{border-top-right-radius:14px}.message--group-start,.message--group-middle{border-top-left-radius:14px}@keyframes message-highlight-pulse{0%{transform:scale(.992)}18%{transform:scale(1)}55%{box-shadow:0 0 0 1px #7cd3ff33,0 10px 28px #4192ff38}to{transform:scale(1)}}.message__author{color:var(--accent-strong);margin-bottom:4px;font-size:.8rem;font-weight:600}.message__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.45}.attachment{background:#ffffff0d;border:1px solid #ffffff0d;border-radius:16px;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;display:flex}.attachment--image{flex-direction:column;align-items:stretch}.attachment--image-button{cursor:zoom-in;text-align:left;border:none;width:100%}.attachment--image img{object-fit:cover;border-radius:12px;width:100%;max-height:320px}.attachment__caption{color:var(--text);font-size:.92rem}.attachment__availability-block{flex-direction:column;align-items:flex-start;gap:4px;display:inline-flex}.attachment__icon{width:38px;height:38px;color:var(--accent-strong);background:#ffffff14;border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:inline-flex}.attachment__body{flex-direction:column;gap:3px;min-width:0;display:flex}.attachment__body strong{color:var(--text);word-break:break-word}.attachment__body span{color:var(--muted);font-size:.82rem}.attachment__availability{letter-spacing:.01em;border-radius:999px;align-items:center;width:fit-content;min-height:22px;padding:0 9px;font-size:.74rem;font-weight:700;display:inline-flex}.attachment__availability--info{color:var(--accent-strong);background:#64b5f629}.attachment__availability--success{color:var(--success);background:#6ed9a033;box-shadow:inset 0 0 0 1px #6ed9a029}.attachment__availability--warning{color:var(--warning);background:#ffcb6b29}.attachment__availability-copy{color:var(--muted);font-size:.77rem;line-height:1.35}.message-history-state{color:var(--muted);justify-content:center;margin:2px 0 14px;font-size:.8rem;display:flex}.message__footer{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:6px;font-size:.76rem;display:flex}.message--system .message__footer{justify-content:center}.message__offline-badge{min-height:22px;color:var(--success);letter-spacing:.01em;background:#6ed9a026;border-radius:999px;align-items:center;padding:0 8px;font-size:.72rem;font-weight:700;display:inline-flex}.message--retryable{cursor:pointer}.message--retryable:focus-visible{outline-offset:3px;outline:2px solid #ff8f8f8c}.message__delivery{color:#c7e6ffc7;letter-spacing:-.12em;align-items:center;min-width:18px;margin-left:-3px;font-size:.82rem;font-weight:800;line-height:1;display:inline-flex}.message__delivery--delivered{color:#9eebc5}.message__delivery--queued,.message__delivery--retrying,.message__delivery--failed{letter-spacing:0;border-radius:999px;min-width:0;margin-left:0;padding:2px 8px;font-size:.7rem;font-weight:700}.message__delivery--queued{color:var(--warning);background:#ffcb6b24}.message__delivery--retrying{color:var(--accent-strong);background:#64b5f624}.message__delivery--failed{color:var(--danger);background:#ff8f8f24}.composer{padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#17212bfa;flex:none;display:block}.composer__attach{cursor:pointer;border-radius:14px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.composer__attach input{display:none}.composer__attach-icon{justify-content:center;align-items:center;display:inline-flex}.composer__attach--disabled{opacity:.6;cursor:not-allowed}.composer__surface{border:1px solid var(--line);background:#ffffff06;border-radius:20px;align-items:flex-end;gap:10px;width:100%;padding:8px;display:flex;box-shadow:inset 0 1px #ffffff08}.composer__surface--disabled{opacity:.7}.composer textarea{resize:none;min-width:0;min-height:26px;max-height:160px;box-shadow:none;background:0 0;border:none;border-radius:0;flex:auto;padding:10px 0 10px 2px}.composer__send{border-radius:14px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:inline-flex}.composer__send-icon{justify-content:center;align-items:center;display:inline-flex}.composer__action-icon{width:18px;height:18px}.auth-note{margin-top:12px;font-size:.92rem}.download-card,.update-card{background:#ffffff08;border:1px solid #ffffff0d;border-radius:18px;flex-direction:column;gap:12px;padding:14px;display:flex}.panel--utility .download-card,.panel--utility .update-card{background:#ffffff05}.download-card--compact,.update-card--compact{margin-top:0}.download-card__header,.update-card__header{flex-direction:column;gap:8px;display:flex}.download-card__qr-frame{background:#f4f8fc;border-radius:16px;place-items:center;padding:12px;display:grid}.download-card__qr{border-radius:12px;width:min(100%,176px);height:auto;display:block}.download-card__button{color:#08131d;background:linear-gradient(135deg,#64b5f6 0%,#4f93d2 100%);border-radius:14px;justify-content:center;align-items:center;min-height:44px;font-weight:700;display:inline-flex}.download-card__url{color:var(--muted);word-break:break-all;font-size:.82rem}.update-card__versions,.update-card__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.update-card__version-item{background:#ffffff08;border:1px solid #ffffff0a;border-radius:14px;flex-direction:column;gap:6px;padding:12px;display:flex}.update-card__version-item span{color:var(--muted);font-size:.82rem}.update-card__status{min-height:42px}.update-card__status--available{color:var(--accent-strong)}.update-card__status--permission,.update-card__status--checking,.update-card__status--downloading,.update-card__status--installing{color:var(--warning)}.update-card__status--error{color:var(--danger)}.image-preview{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070c12eb;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.image-preview__dialog{width:min(100%,980px);max-height:calc(var(--app-height) - 36px);border:1px solid var(--line);box-shadow:var(--shadow);background:#17212bfa;border-radius:20px;flex-direction:column;gap:14px;padding:16px;display:flex}.image-preview__close{border:1px solid var(--line);width:42px;height:42px;color:var(--text);background:#ffffff08;border-radius:999px;align-self:flex-end;font-size:1.6rem}.image-preview__image{width:100%;max-height:calc(var(--app-height) - 180px);object-fit:contain;background:#ffffff05;border-radius:16px}.image-preview__footer{justify-content:space-between}.image-preview__meta{flex-direction:column;gap:8px;min-width:0;display:flex}.image-preview__name{color:var(--muted);overflow-wrap:anywhere}.image-preview__availability{border-radius:999px;align-items:center;width:fit-content;min-height:24px;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-flex}.image-preview__availability--cached{color:var(--success);background:#6ed9a01f}.image-preview__availability--remote{color:var(--accent-strong);background:#64b5f61f}.image-preview__link{flex:none}.updates-modal{z-index:45;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070c12e0;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.updates-modal__dialog{width:min(100%,760px);max-height:calc(var(--app-height) - 36px);border:1px solid var(--line);box-shadow:var(--shadow);background:#17212bfa;border-radius:22px;flex-direction:column;gap:16px;padding:16px;display:flex;overflow:auto}.updates-modal__header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.updates-modal__heading{flex-direction:column;gap:6px;display:flex}.updates-modal__heading h3{margin:0}.updates-modal__heading p{color:var(--muted);margin:0;line-height:1.4}.updates-modal__eyebrow{background:var(--accent-soft);width:fit-content;min-height:28px;color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 12px;font-size:.76rem;display:inline-flex}.updates-modal__close{border:1px solid var(--line);width:42px;height:42px;color:var(--text);background:#ffffff08;border-radius:999px;flex:none;font-size:1.6rem}.updates-modal__content{flex-direction:column;gap:12px;display:flex}.profile-modal__dialog{width:min(100%,560px)}.profile-modal__hero{border:1px solid var(--line);background:radial-gradient(circle at 0 0,#64d99f24,#0000 34%),#ffffff08;border-radius:20px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:16px;display:grid}.profile-modal__photo{background:#08111bb8;border:1px solid #ffffff14;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:118px;height:118px;display:flex;overflow:hidden}.profile-modal__photo img{object-fit:cover;width:100%;height:100%}.profile-modal__photo-avatar{width:58px;height:58px;color:var(--accent-strong);background:#64b5f62e;border-radius:999px;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:inline-flex}.profile-modal__photo-caption{max-width:92px;color:var(--muted);text-align:center;font-size:.72rem;line-height:1.25}.profile-modal__summary{flex-direction:column;align-items:flex-start;gap:7px;min-width:0;display:flex}.profile-modal__login{min-height:26px;color:var(--accent-strong);letter-spacing:.04em;background:#64b5f61f;border-radius:999px;align-items:center;padding:0 10px;font-size:.76rem;display:inline-flex}.profile-modal__summary h4{margin:0;font-size:clamp(1.4rem,3vw,2rem);line-height:1.05}.profile-modal__summary p{color:var(--muted);margin:0}.profile-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.profile-modal__detail{background:#ffffff08;border:1px solid #ffffff0d;border-radius:16px;flex-direction:column;gap:6px;min-width:0;padding:13px;display:flex}.profile-modal__detail span{color:var(--muted);font-size:.78rem}.profile-modal__detail strong{overflow-wrap:anywhere}.profile-modal__detail--empty strong{color:var(--muted);font-weight:500}.own-profile-modal__dialog{width:min(100%,620px)}.own-profile-modal__topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.own-profile-modal__topbar span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.86rem}.own-profile-modal__back{flex:none;justify-content:center;align-items:center;display:inline-flex}.own-profile-modal__hero{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:10px 0 4px;display:flex}.own-profile-modal__photo{background:radial-gradient(circle at 30% 20%,#64d99f3d,#0000 34%),#64b5f629;border:1px solid #ffffff14;border-radius:999px;place-items:center;width:138px;height:138px;display:grid;overflow:hidden;box-shadow:0 18px 44px #0003}.own-profile-modal__photo img{object-fit:cover;width:100%;height:100%}.own-profile-modal__photo span{color:var(--accent-strong);font-size:2.2rem;font-weight:800}.own-profile-modal__hero h3{margin:8px 0 0;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1}.own-profile-modal__quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.own-profile-modal__action{min-height:76px;color:var(--text);font:inherit;background:#ffffff0d;border:1px solid #ffffff0d;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.own-profile-modal__action:disabled{cursor:not-allowed;opacity:.72}.own-profile-modal__action span{width:28px;height:28px;color:var(--accent-strong);background:#64b5f624;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.own-profile-modal__form{flex-direction:column;gap:14px;display:flex}.own-profile-modal__card{border:1px solid var(--line);background:#ffffff08;border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.own-profile-modal__field{border-bottom:1px solid #ffffff0d;flex-direction:column;gap:7px;padding:14px 16px;display:flex}.own-profile-modal__field span{color:var(--muted);font-size:.78rem}.own-profile-modal__field input{min-height:34px;color:var(--text);font:inherit;background:0 0;border:none;font-size:1.05rem}.own-profile-modal__field input:focus{outline:none}.own-profile-modal__copy-row{color:inherit;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.own-profile-modal__copy-row:hover,.own-profile-modal__copy-row:focus-visible{background:#64b5f612;outline:none}.own-profile-modal__copy-row span{flex-direction:column;gap:5px;min-width:0;display:flex}.own-profile-modal__copy-row small{color:var(--muted);line-height:1.3}.own-profile-modal__copy-row b{color:var(--accent-strong);font-size:.84rem}.own-profile-modal__hint{color:var(--muted);margin:0;line-height:1.45}.password-modal__dialog{width:min(100%,620px)}.password-modal__form{flex-direction:column;gap:14px;display:flex}.password-modal__card{border:1px solid var(--line);background:#ffffff08;border-radius:18px;flex-direction:column;gap:14px;padding:16px;display:flex}.password-modal__card-header{flex-direction:column;gap:6px;display:flex}.password-modal__card-header h4{margin:0}.password-modal__card-header p{color:var(--muted);margin:0;line-height:1.45}.password-modal__field{flex-direction:column;gap:8px;display:flex}.password-modal__field span{color:var(--muted);font-size:.84rem}.password-modal__field input{border:1px solid var(--line);min-height:46px;color:var(--text);font:inherit;background:#08111bb8;border-radius:14px;padding:0 14px}.password-modal__field input:focus{border-color:#64b5f68c;outline:none;box-shadow:0 0 0 3px #64b5f624}.password-modal__meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.password-modal__hint{color:var(--muted);line-height:1.4}.password-modal__hint--error{color:var(--danger)}.password-modal__actions{justify-content:flex-end;gap:10px;display:flex}.admin-panel{gap:18px;min-height:100%}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-card--wide{grid-column:1/-1}.admin-item{border:1px solid var(--line);background:#ffffff08;border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.admin-row{justify-content:space-between}.admin-actions,.admin-badges{flex-wrap:wrap}.admin-badge{border:1px solid var(--line);background:#ffffff08;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 10px;font-size:.78rem;display:inline-flex}.admin-badge--admin,.admin-badge--active,.admin-badge--enabled{color:var(--success)}.admin-badge--member,.admin-badge--used{color:var(--warning)}.admin-badge--revoked,.admin-badge--disabled{color:var(--danger)}.admin-code{letter-spacing:.08em;font-size:1rem}.admin-empty{color:var(--muted);border:1px dashed #ffffff24;border-radius:14px;padding:14px}.empty-state{text-align:center;min-height:100%;color:var(--muted);place-items:center;padding:32px;display:grid}.empty-state__card{background:#ffffff06;border:1px dashed #ffffff1a;border-radius:22px;width:min(100%,560px);padding:22px 20px}.empty-state__eyebrow{min-height:28px;color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;background:#64b5f61f;border-radius:999px;justify-content:center;align-items:center;margin-bottom:10px;padding:0 12px;font-size:.75rem;display:inline-flex}.empty-state h3{color:var(--text);margin:0 0 8px}.empty-state--warning .empty-state__card{background:#ffcb6b0f;border-color:#ffcb6b2e}.empty-state--warning .empty-state__eyebrow{color:#ffe09d;background:#ffcb6b1f}@media (width<=1100px){.settings-section__stack,.update-card__versions,.update-card__actions,.admin-grid{grid-template-columns:1fr}.admin-card--wide{grid-column:auto}}@media (width<=980px){.app-shell{height:var(--app-height);padding:0;display:block}.sidebar,.chat-panel{min-height:0;height:var(--app-height);max-height:var(--app-height);box-shadow:none;border-left:none;border-right:none;border-radius:0}.sidebar{padding:calc(12px + var(--safe-top) + var(--viewport-offset-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left))}.chat-panel__header{padding:calc(14px + var(--safe-top) + var(--viewport-offset-top)) calc(16px + var(--safe-right)) 14px calc(16px + var(--safe-left));gap:10px}.message-stream{padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}.chat-panel__jump{right:calc(16px + var(--safe-right));bottom:14px}.composer{padding:10px calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left))}.chat-panel--admin{padding:calc(18px + var(--safe-top) + var(--viewport-offset-top)) calc(18px + var(--safe-right)) calc(18px + var(--safe-bottom)) calc(18px + var(--safe-left))}.chat-panel,.app-shell--chat-focused .sidebar{display:none}.app-shell--chat-focused .chat-panel,.app-shell--admin .chat-panel{display:flex}.app-shell--admin .sidebar{display:none}.ghost-button--mobile,.chat-panel__back{justify-content:center;align-items:center;display:inline-flex}.app-shell--keyboard-open .chat-panel__header{padding-bottom:10px}.app-shell--keyboard-open .message-stream{padding-top:12px;padding-bottom:12px}.app-shell--keyboard-open .composer{padding-top:8px}.app-shell--keyboard-open .composer__surface{gap:8px}.app-shell--compact-landscape .sidebar{gap:10px}.app-shell--compact-landscape .sidebar__avatar{width:44px;height:44px}.app-shell--compact-landscape .panel{padding:10px}.app-shell--compact-landscape .chat-panel__header{padding-bottom:10px}.app-shell--compact-landscape .message-stream{padding-top:12px;padding-bottom:12px}.app-shell--compact-landscape .composer{padding-top:8px;padding-bottom:calc(8px + var(--safe-bottom))}.app-shell--compact-landscape .composer__surface{padding:8px 12px}}@media (width<=720px){.auth-shell{padding:0}.auth-panel{width:100%;min-height:var(--app-height);box-shadow:none;padding:calc(22px + var(--safe-top) + var(--viewport-offset-top)) calc(18px + var(--safe-right)) calc(28px + var(--safe-bottom)) calc(18px + var(--safe-left));border-left:none;border-right:none;border-radius:0}.sidebar{padding:calc(12px + var(--safe-top) + var(--viewport-offset-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left))}.sidebar__top,.chat-panel__header{flex-direction:column;align-items:flex-start}.sidebar__top-actions,.sidebar__actions,.chat-panel__notice,.panel__header,.image-preview__footer,.sidebar__top-actions .ghost-button,.sidebar__actions .ghost-button,.chat-panel__notice .status-pill,.image-preview__link{width:100%}.app-shell--chat-focused .chat-panel__header{padding:calc(10px + var(--safe-top) + var(--viewport-offset-top)) calc(12px + var(--safe-right)) 10px calc(12px + var(--safe-left));flex-direction:row;align-items:center}.app-shell--chat-focused .chat-panel__identity{align-items:center}.app-shell--chat-focused .chat-panel__avatar{width:38px;height:38px;font-size:.9rem}.app-shell--chat-focused .chat-panel__identity-text h2{margin:0;font-size:1.5rem}.app-shell--chat-focused .chat-panel__identity-text p,.app-shell--chat-focused .chat-panel__eyebrow{display:none}.app-shell--chat-focused .chat-panel__connection-inline{margin-top:2px}.app-shell--chat-focused .chat-panel__connection-pill{min-height:24px;padding:2px 8px;font-size:.7rem}.app-shell--chat-focused .chat-panel__notice{display:none}.chat-panel__sync-banner{padding:9px calc(12px + var(--safe-right)) 9px calc(12px + var(--safe-left));font-size:.8rem}.dialog-card,.user-card{padding:10px}.dialog-toolbar__summary{gap:6px}.dialog-toolbar__pill,.dialog-card__kind,.dialog-card__unread-label{min-height:22px;padding:0 9px;font-size:.72rem}.panel__toggle{flex-direction:column;align-items:flex-start}.composer{padding:10px calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left))}.composer__send{width:44px;min-width:44px;min-height:44px}.composer__attach{width:44px;min-width:44px;height:44px;min-height:44px}.message-stream{padding:14px calc(12px + var(--safe-right)) 18px calc(12px + var(--safe-left))}.chat-panel__jump{right:calc(12px + var(--safe-right));left:calc(12px + var(--safe-left));bottom:12px}.chat-panel__jump-button{justify-content:space-between;width:100%}.image-preview{padding:10px}.image-preview__dialog{max-height:calc(var(--app-height) - 20px);padding:12px}.message-row{gap:8px}.message-row__avatar{width:28px;height:28px;font-size:.72rem}.message{width:100%;max-width:calc(100% - 36px)}.message--system{max-width:100%}.updates-modal{padding:10px}.updates-modal__dialog{max-height:calc(var(--app-height) - 20px);padding:12px}.updates-modal__header{align-items:flex-start}.profile-modal__hero,.profile-modal__grid{grid-template-columns:1fr}.profile-modal__photo{width:100%;height:160px}.own-profile-modal__quick-actions{grid-template-columns:1fr}}@media (width<=980px) and (orientation:landscape){.sidebar__top,.chat-panel__header{flex-direction:row;align-items:center}.sidebar__top-actions,.sidebar__actions,.chat-panel__notice{width:auto}.sidebar__actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sidebar__actions .ghost-button{width:100%}.composer{display:block}.composer__send{width:48px;min-width:48px;min-height:48px}.composer__attach{width:48px;min-width:48px;height:48px;min-height:48px}}
