.avatar{font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:#fff;object-fit:cover;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.checkbox{all:unset;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-sm);cursor:pointer;flex:none;justify-content:center;align-items:center;width:20px;height:20px;transition:background-color .15s,border-color .15s;display:inline-flex}.checkbox:disabled{opacity:.45;cursor:not-allowed}.checkbox[data-state=checked]{background:var(--color-accent);border-color:var(--color-accent);color:#0c0d15}.checkbox:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.checkbox__indicator{justify-content:center;align-items:center;display:flex}.coming-soon-hint{display:inline-flex}.tooltip{max-width:220px;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--type-caption-size);line-height:1.4;animation:.12s tooltip-in;box-shadow:0 4px 16px #0000004d}.tooltip__arrow{fill:var(--color-surface)}@keyframes tooltip-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.tooltip{animation:none}}.dialog__overlay{background:#0000008c;animation:.15s dialog-overlay-in;position:fixed;inset:0}.dialog__content{width:min(420px, calc(100vw - var(--space-8) * 2));max-height:calc(100vh - var(--space-8) * 2);overscroll-behavior:contain;padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);animation:.15s dialog-content-in;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dialog__content:focus-visible{outline:none}.dialog__title{margin:0 0 var(--space-4);font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:var(--type-spec-size)}@keyframes dialog-overlay-in{0%{opacity:0}}@keyframes dialog-content-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.97)}}@media (prefers-reduced-motion:reduce){.dialog__overlay,.dialog__content{animation:none}}.drawer__overlay{background:#0000008c;animation:.18s drawer-overlay-in;position:fixed;inset:0}.drawer__overlay[data-state=closed]{animation:.18s drawer-overlay-out}.drawer__content{width:min(300px,78vw);padding:var(--space-6);background:var(--color-surface);border-right:1px solid var(--color-divider);overscroll-behavior:contain;position:fixed;top:0;bottom:0;overflow-y:auto}.drawer__content:focus-visible{outline:none}.drawer__content[data-side=right]{border-right:none;border-left:1px solid var(--color-divider);left:auto;right:0}.drawer__content[data-side=left]{left:0}.drawer__content[data-side=left][data-state=open]{animation:.2s drawer-slide-in-left}.drawer__content[data-side=left][data-state=closed]{animation:.2s drawer-slide-out-left}.drawer__content[data-side=right][data-state=open]{animation:.2s drawer-slide-in-right}.drawer__content[data-side=right][data-state=closed]{animation:.2s drawer-slide-out-right}@keyframes drawer-overlay-in{0%{opacity:0}}@keyframes drawer-overlay-out{to{opacity:0}}@keyframes drawer-slide-in-left{0%{transform:translate(-100%)}}@keyframes drawer-slide-out-left{to{transform:translate(-100%)}}@keyframes drawer-slide-in-right{0%{transform:translate(100%)}}@keyframes drawer-slide-out-right{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.drawer__overlay,.drawer__content{animation:none}}.list-row{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;min-height:44px;padding:var(--space-4);border-radius:var(--radius-md);color:var(--color-text);font:inherit;text-align:left;cursor:default;background:0 0;border:none;display:flex}button.list-row{cursor:pointer}@media (hover:hover){button.list-row:hover{background:color-mix(in srgb, var(--color-text) 6%, transparent)}}button.list-row:active{background:color-mix(in srgb, var(--color-text) 12%, transparent)}button.list-row:disabled{opacity:.45;cursor:not-allowed}.list-row__icon{color:var(--color-neutral-400);flex:none;justify-content:center;align-items:center;display:flex}.list-row__text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.list-row__label{font-size:var(--type-body-size)}.list-row__desc{font-size:var(--type-desc-size);color:var(--color-neutral-500)}.list-row__right{align-items:center;gap:var(--space-2);color:var(--color-neutral-400);flex:none;display:flex}.separator--horizontal{background:linear-gradient(90deg, transparent, var(--color-divider) 48px, var(--color-divider) calc(100% - 48px), transparent);border:none;width:100%;height:1px;margin:0}.separator--vertical{background:linear-gradient(180deg, transparent, var(--color-divider) 48px, var(--color-divider) calc(100% - 48px), transparent);width:1px;height:100%}.skeleton-row-group{gap:var(--space-4);padding:var(--space-3);flex-direction:column;display:flex}.skeleton-row{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-surface) 0%, var(--color-neutral-800) 50%, var(--color-surface) 100%);background-size:400px 100%;height:44px;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:400px 0}}@media (prefers-reduced-motion:reduce){.skeleton-row{animation:none}}.switch{all:unset;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-divider);cursor:pointer;flex:none;width:40px;height:24px;transition:background-color .15s,border-color .15s;position:relative}.switch:disabled{opacity:.45;cursor:not-allowed}.switch[data-state=checked]{background:var(--color-accent);border-color:var(--color-accent)}.switch:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.switch__thumb{background:var(--color-text);will-change:transform;border-radius:50%;width:18px;height:18px;transition:transform .15s;display:block;transform:translate(3px)}.switch[data-state=checked] .switch__thumb{background:#0c0d15;transform:translate(19px)}.user-row{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);display:flex}.user-row__avatar{flex:none;position:relative}.user-row__indicator{position:absolute;bottom:-1px;right:-1px}.user-row__info{flex-direction:column;flex:1;min-width:0;display:flex}.user-row__name{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.user-row__meta{color:var(--color-neutral-500);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.user-row__action{flex:none}.auth-page{min-height:100vh}@supports (min-height:100dvh){.auth-page{min-height:100dvh}}.auth-screen{min-height:100vh;padding-top:max(var(--space-3), env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex}@supports (min-height:100dvh){.auth-screen{min-height:100dvh}}button.auth-screen__back{margin:var(--space-2) var(--space-3);color:var(--color-neutral-400);border:1px solid var(--color-divider);border-radius:var(--radius-md)}.auth-screen__body{gap:var(--space-6);padding:var(--space-4) var(--space-6) var(--space-8);flex-direction:column;flex:1;display:flex}.auth-screen__title{font-size:24px;font-weight:var(--font-heading-weight);margin:0}.auth-screen__subtitle{margin:calc(var(--space-2) * -1) 0 0;font-size:13px}.auth-screen--centered{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);padding:0 var(--space-8)}.auth-screen--centered .auth-screen__subtitle{margin:0}.auth-screen--centered .btn{margin-top:var(--space-3);max-width:280px}.auth-screen__icon{border-radius:var(--radius-lg);background:var(--color-surface);width:76px;height:76px;margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}@media (width>=768px){.auth-screen{padding:var(--space-8);justify-content:center;align-items:center}.auth-screen__back{align-self:flex-start}.auth-screen__body,.auth-screen--centered{width:100%;max-width:400px;padding:var(--space-4) 0;flex:none}}.start-screen{min-height:100vh;padding:var(--space-6);padding-top:max(var(--space-6), env(safe-area-inset-top));padding-bottom:max(var(--space-8), env(safe-area-inset-bottom));flex-direction:column;display:flex}@supports (min-height:100dvh){.start-screen{min-height:100dvh}}.start-screen__hero{text-align:center;justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-6);flex-direction:column;flex:1;display:flex}.osiron-mark{background:var(--color-surface);width:104px;height:104px;box-shadow:0 0 0 1px var(--color-neutral-800);margin-bottom:var(--space-3);border-radius:30px;justify-content:center;align-items:center;display:flex}.start-screen__wordmark{font-family:"Fredoka", var(--font-heading);letter-spacing:-.01em;margin:0;font-size:36px;font-weight:600}.start-screen__tagline{margin:var(--space-1) 0 0;font-size:14.5px;line-height:1.5}.start-screen__actions{gap:var(--space-3);flex-direction:column;display:flex}@media (width>=768px){.start-screen{justify-content:center;align-items:center;gap:var(--space-8)}.start-screen__hero{gap:var(--space-4);flex:none;width:100%;max-width:400px;padding:0}.start-screen__wordmark{font-size:42px}.osiron-mark{box-shadow:0 0 0 1px var(--color-neutral-800), 0 24px 48px -20px #0009}.start-screen__actions{width:100%;max-width:400px}}.login-form,.register-form{gap:var(--space-6);flex-direction:column;display:flex}.register-form__error{color:var(--color-danger-light);align-items:center;gap:6px;margin:0;font-size:12.5px;display:flex}.pwa-update-banner{left:var(--space-4);right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));z-index:100;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);color:var(--color-text);font-size:14px;display:flex;position:fixed;box-shadow:0 8px 24px #00000059}.pwa-update-banner__actions{gap:var(--space-2);flex:none;display:flex}.pwa-update-banner--toast{justify-content:center;max-width:320px;margin:0 auto}.reply-quote{text-align:left;min-width:0;font-family:var(--font-body);color:inherit;background:0 0;border:none;flex-direction:column;gap:1px;padding:0;display:flex}button.reply-quote{cursor:pointer}.reply-quote--bubble{padding:4px var(--space-2);margin-bottom:var(--space-2);border-left:2px solid var(--color-accent);background:color-mix(in srgb, currentColor 12%, transparent);border-radius:var(--radius-sm)}.reply-quote--composer{flex:1;min-width:0}.reply-quote__heading{color:var(--color-accent-200);font-size:11.5px;font-weight:600}.reply-quote--bubble .reply-quote__heading{font-size:11px}.reply-quote__body{color:var(--color-neutral-400);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.reply-quote--deleted .reply-quote__body{font-style:italic}@media (hover:hover){button.reply-quote:hover .reply-quote__body{text-decoration:underline}}button.reply-quote:active .reply-quote__body{text-decoration:underline}.chat-composer{border-top:1px solid var(--color-divider);flex-direction:column;flex:none;display:flex}.chat-composer__row{align-items:flex-end;gap:var(--space-3);padding:var(--space-4);display:flex}.chat-composer__reply-bar{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-divider);border-left:2px solid var(--color-accent);padding:7px 11px;display:flex}.chat-composer__edit-bar{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-divider);border-left:2px solid var(--color-accent-300);padding:7px 11px;display:flex}.chat-composer__edit-icon{color:var(--color-accent-300);flex:none}.chat-composer__edit-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.chat-composer__edit-heading{color:var(--color-accent-300);font-size:11.5px;font-weight:600}.chat-composer__edit-preview{color:var(--color-neutral-400);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.chat-composer__bar-cancel{font-size:10.5px;font-family:var(--font-body);color:var(--color-neutral-400);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-sm);cursor:pointer;flex:none;padding:2px 7px}@media (hover:hover){.chat-composer__bar-cancel:hover{color:var(--color-accent-200);border-color:var(--color-accent-700)}}.chat-composer__bar-cancel:active{color:var(--color-accent-100);border-color:var(--color-accent-600)}.chat-composer__input{background:var(--color-surface);border:1px solid var(--color-divider);padding:var(--space-3) var(--space-4);font-size:16px;font-family:var(--font-body);color:var(--color-text);resize:none;border-radius:11px;flex:1;min-height:20px;max-height:160px;transition:height .1s;overflow-y:auto}.chat-composer__input:focus-visible{border-color:var(--color-accent);outline-offset:0}@media (prefers-reduced-motion:reduce){.chat-composer__input{transition:none}}.chat-composer__attach,.chat-composer__mic{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-neutral-600);opacity:.5;cursor:not-allowed;pointer-events:none;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.chat-composer__trailing{flex:none;width:32px;height:32px;position:relative}.chat-composer__morph{opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .15s,transform .15s;display:flex;position:absolute;inset:0;transform:scale(.6)}.chat-composer__morph--visible{opacity:1;pointer-events:auto;transform:scale(1)}@media (prefers-reduced-motion:reduce){.chat-composer__morph{transition:opacity .15s linear;transform:none}}.chat-composer__send{border-radius:var(--radius-md);background:var(--color-accent);width:32px;height:32px;color:var(--color-surface);cursor:pointer;border:none}.chat-composer__send:disabled{cursor:default}.message-context-menu__scrim{z-index:45;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06070cb8;animation:.16s message-context-menu-scrim-in;position:fixed;inset:0}.message-context-menu__scrim[data-state=closed]{animation:.16s message-context-menu-scrim-out}.message-context-menu{z-index:46;gap:var(--space-3);outline:none;flex-direction:column;width:min(300px,84vw);animation:.18s message-context-menu-in;display:flex}.message-context-menu[data-state=closed]{animation:.12s message-context-menu-out}.message-context-menu[data-own=true]{align-items:flex-end}.message-context-menu[data-own=false]{align-items:flex-start}.message-context-menu__reactions{padding:var(--space-1);border-radius:var(--radius-lg);background:var(--color-surface);flex-wrap:wrap;gap:2px;display:flex;box-shadow:0 8px 24px #0006}.message-context-menu__reaction{cursor:pointer;background:0 0;border:none;border-radius:999px;outline:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;line-height:1;display:inline-flex}.message-context-menu__reaction[data-highlighted]{background:color-mix(in srgb, var(--color-text) 8%, transparent)}@media (hover:hover){.message-context-menu__reaction:hover{background:color-mix(in srgb, var(--color-text) 8%, transparent)}}.message-context-menu__reaction:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.message-context-menu__preview{width:100%}.message-context-menu__actions{border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;min-width:200px;display:flex;overflow:hidden;box-shadow:0 8px 24px #0006}.message-context-menu__item{padding:11px var(--space-4);font-size:13.5px;font-family:var(--font-body);color:var(--color-text);cursor:pointer;outline:none;align-items:center;gap:10px;display:flex}.message-context-menu__item:not(:last-child){border-bottom:1px solid var(--color-divider)}.message-context-menu__item svg{width:16px;height:16px;color:var(--color-neutral-400);flex-shrink:0}.message-context-menu__item[data-highlighted]{background:color-mix(in srgb, var(--color-text) 7%, transparent)}@media (hover:hover){.message-context-menu__item:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}}.message-context-menu__item:active{background:color-mix(in srgb, var(--color-text) 13%, transparent)}.message-context-menu__item--danger,.message-context-menu__item--danger svg{color:var(--color-danger-light)}.message-context-menu__item--danger[data-highlighted]{background:color-mix(in srgb, var(--color-danger) 14%, transparent)}@media (hover:hover){.message-context-menu__item--danger:hover{background:color-mix(in srgb, var(--color-danger) 14%, transparent)}}.message-context-menu__item--danger:active{background:color-mix(in srgb, var(--color-danger) 22%, transparent)}@keyframes message-context-menu-scrim-in{0%{opacity:0}}@keyframes message-context-menu-scrim-out{to{opacity:0}}@keyframes message-context-menu-in{0%{opacity:0;transform:scale(.94)}}@keyframes message-context-menu-out{to{opacity:0;transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.message-context-menu__scrim,.message-context-menu{animation:none}}.message-reactions{gap:var(--space-1);flex-direction:column;display:flex;position:relative}.message-reactions__row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.react{border:1px solid var(--color-accent-700);background:var(--color-accent-900);color:var(--color-accent-100);cursor:pointer;font-size:11px;line-height:1;font-family:var(--font-body);border-radius:11px;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}@media (hover:hover){.react:hover{border-color:var(--color-accent-600)}}.react:active{border-color:var(--color-accent-500)}.react__emoji{font-size:14px;line-height:1.4}.react.on-mine{background:var(--color-accent);border-color:var(--color-accent);color:#0c0d15}.message-reactions__who-trigger{width:22px;height:22px;color:var(--color-neutral-500);cursor:pointer;font-family:var(--font-body);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.message-reactions__who-trigger:hover{color:var(--color-neutral-300);border-color:var(--color-neutral-800)}}.message-reactions__who-trigger:active{color:var(--color-neutral-200);border-color:var(--color-neutral-700)}.message-reactions__who{z-index:20;gap:var(--space-2);min-width:160px;max-width:260px;max-height:240px;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-neutral-800);background:var(--color-neutral-900);flex-direction:column;display:flex;overflow-y:auto;box-shadow:0 8px 24px #0006}.message-reactions__who-group{align-items:flex-start;gap:var(--space-2);font-size:var(--type-desc-size);display:flex}.message-reactions__who-emoji{flex:none}.message-reactions__who-names{color:var(--color-neutral-300);overflow-wrap:anywhere}.reaction-picker{align-items:center;gap:2px;display:inline-flex}.reaction-picker__emoji{cursor:pointer;width:26px;height:26px;font-size:15px;line-height:1;font-family:var(--font-body);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.reaction-picker__emoji:hover{background:var(--color-neutral-800)}}.reaction-picker__emoji:active{background:var(--color-neutral-700)}@media (width<=560px){.message-reactions__who{min-width:200px;max-width:80vw}}.message-bubble{align-items:flex-end;gap:var(--space-2);flex-direction:column;max-width:76%;display:flex}.message-bubble--other{align-items:flex-start;margin-right:auto}.message-bubble--own{margin-left:auto}.message-bubble__content{padding:var(--space-3) var(--space-4);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px;line-height:1.42;position:relative}.message-bubble--other .message-bubble__content{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-sm)}.message-bubble--own .message-bubble__content{background:var(--color-accent-800);color:var(--color-accent-100);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg)}.message-bubble--sending .message-bubble__content{opacity:.7}.message-bubble--failed .message-bubble__content{background:var(--color-danger-dim);color:var(--color-neutral-200);border:1px solid color-mix(in srgb, var(--color-danger) 40%, transparent)}.message-bubble__tombstone{color:var(--color-neutral-500);border:1px dashed var(--color-neutral-800);border-radius:var(--radius-lg);padding:var(--space-2) 11px;align-items:center;gap:6px;font-size:12px;font-style:italic;display:flex}.message-bubble__forward{color:var(--color-accent-300);align-items:center;gap:5px;margin-bottom:3px;font-size:11px;display:flex}.message-bubble__edited-label{color:var(--color-neutral-500);margin-left:6px;font-size:10px}.message-bubble--highlighted .message-bubble__content{animation:1.6s ease-out message-bubble-highlight-ring}@keyframes message-bubble-highlight-ring{0%{box-shadow:0 0 0 2px var(--color-accent)}to{box-shadow:0 0 0 2px #0000}}@media (prefers-reduced-motion:reduce){.message-bubble--highlighted .message-bubble__content{box-shadow:0 0 0 2px var(--color-accent);animation:none}}.message-bubble__time{opacity:.6;margin-left:var(--space-2);float:right;margin-top:var(--space-2);white-space:nowrap;align-items:center;gap:4px;font-size:10px;display:inline-flex}.message-bubble__status{width:10px;height:8px;display:inline-block}.message-bubble__failed-actions{align-items:center;gap:var(--space-2);font-size:11px;display:flex}.message-bubble__failed-label{color:var(--color-danger-light);font-weight:500}.message-bubble__action{border-radius:var(--radius-md);cursor:pointer;font-size:11.5px;font-weight:600;font-family:var(--font-body);background:0 0;border:1px solid;align-items:center;gap:5px;padding:5px 11px;display:inline-flex}.message-bubble__action--retry{color:var(--color-accent-200);border-color:var(--color-accent)}.message-bubble__action--delete{color:var(--color-danger-light);border-color:var(--color-danger)}.typing-indicator{padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-sm);align-self:flex-start;align-items:center;gap:4px;margin-right:auto;display:inline-flex}.typing-indicator__dot{background:var(--color-neutral-400);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing-indicator-bounce}.typing-indicator__dot:nth-child(2){animation-delay:.15s}.typing-indicator__dot:nth-child(3){animation-delay:.3s}@keyframes typing-indicator-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.typing-indicator__dot{opacity:1;animation:none}}.message-list{overscroll-behavior:contain;padding:var(--space-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.message-list__load-older{font-size:var(--type-caption-size);color:var(--color-accent-200);border:1px solid var(--color-accent-700);cursor:pointer;font-family:var(--font-body);margin-bottom:var(--space-4);background:0 0;border-radius:20px;align-self:center;padding:4px 13px}.message-list__load-older:disabled{opacity:.6;cursor:default}.message-list__viewport{width:100%;position:relative}.message-list__row{width:100%;padding-bottom:var(--space-2);display:flex;position:absolute;top:0;left:0}.message-list__typing{padding-top:var(--space-2);display:flex}.online-indicator{border:2px solid var(--color-bg);border-radius:50%;flex:none;width:11px;height:11px;display:block}.online-indicator--online{background:var(--color-online)}.online-indicator--offline{background:var(--color-neutral-700)}.chat-row{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-3) var(--space-4);color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;display:flex}@media (hover:hover){.chat-row:hover{background:var(--color-surface)}}.chat-row:active,.chat-row[data-active=true]{background:var(--color-accent-900)}.chat-row__avatar{flex:none;display:flex;position:relative}.chat-row__indicator{position:absolute;bottom:-1px;right:-1px}.chat-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-row__top,.chat-row__bottom{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.chat-row__name{font-size:var(--type-spec-size);font-weight:var(--type-spec-weight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-row__time{font-size:var(--type-caption-size);flex:none}.chat-row__preview{min-width:0;font-size:var(--type-desc-size);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.chat-row__badge{background:var(--color-accent);color:#0c0d15;border-radius:10px;flex:none;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.chat-list-panel{flex-direction:column;flex:1;min-height:0;display:flex}.chat-list-panel__search{padding:var(--space-2) var(--space-3) 0;flex:none}.chat-list-panel__search .input{border-radius:20px}.chat-list{padding:var(--space-2);overscroll-behavior:contain;flex-direction:column;flex:1;gap:2px;min-height:0;margin:0;list-style:none;display:flex;overflow-y:auto}.chat-list__empty{padding:var(--space-4)}.forward-picker__overlay{z-index:50;background:#06070ca8;position:fixed;inset:0}.forward-picker{z-index:51;background:var(--color-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-direction:column;width:100%;max-height:88vh;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 40px #00000080}.forward-picker__head{padding:var(--space-4) var(--space-4) var(--space-3);flex:none;justify-content:space-between;align-items:center;display:flex}.forward-picker__title{margin:0;font-size:19px;font-weight:600}.forward-picker__close{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}@media (hover:hover){.forward-picker__close:hover{background:color-mix(in srgb, var(--color-text) 6%, transparent)}}.forward-picker__close:active{background:color-mix(in srgb, var(--color-text) 12%, transparent)}.forward-picker__search{padding:0 var(--space-4) var(--space-3);flex:none}.forward-picker__search-input{width:100%;min-height:40px;padding:0 var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:16px}.forward-picker__search-input:focus{border-color:var(--color-accent);outline:none}.forward-picker__list{overscroll-behavior:contain;padding:0 var(--space-2);flex-direction:column;flex:1;gap:1px;margin:0;list-style:none;display:flex;overflow-y:auto}.forward-picker__row{align-items:center;gap:var(--space-3);width:100%;padding:9px var(--space-2);border-radius:var(--radius-md);color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;display:flex}@media (hover:hover){.forward-picker__row:hover{background:color-mix(in srgb, var(--color-text) 6%, transparent)}}.forward-picker__row:active{background:color-mix(in srgb, var(--color-text) 12%, transparent)}.forward-picker__row[data-selected=true]{background:var(--color-accent-900)}.forward-picker__row-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.forward-picker__row-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.forward-picker__row-sub{color:var(--color-neutral-500);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.forward-picker__check{border:1.5px solid var(--color-neutral-700);color:#0c0d15;border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.forward-picker__check[data-on=true]{border-color:var(--color-accent);background:var(--color-accent)}.forward-picker__empty{text-align:center;padding:var(--space-6) var(--space-6);color:var(--color-neutral-400);flex-direction:column;flex:1;justify-content:center;align-items:center;margin:0;font-size:13.5px;line-height:1.5;display:flex}.forward-picker__empty b{color:var(--color-text);font-weight:600}.forward-picker__foot{gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-5);border-top:1px solid var(--color-divider);background:var(--color-bg);flex-direction:column;flex:none;display:flex}.forward-picker__preview{background:var(--color-surface);border-radius:var(--radius-md);align-items:stretch;gap:9px;padding:8px 11px;display:flex}.forward-picker__preview-bar{background:var(--color-accent-300);border-radius:2px;flex:none;width:3px}.forward-picker__preview-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.forward-picker__preview-author{color:var(--color-accent-300);font-size:11px;font-weight:600}.forward-picker__preview-text{color:var(--color-neutral-300);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.forward-picker__submit{background:var(--color-accent);color:#0c0d15;width:100%;min-height:46px;font-family:var(--font-body);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:14.5px;font-weight:600;display:flex}.forward-picker__submit:disabled{opacity:.45;cursor:default}@media (width>=768px){.forward-picker{border-radius:var(--radius-lg);width:392px;max-height:460px;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 30px 70px #0009}}.chat-thread{flex-direction:column;height:100%;min-height:0;display:flex}.chat-profile{align-items:center;gap:var(--space-2);width:100%;padding-bottom:var(--space-8);flex-direction:column;display:flex}.chat-profile__name{font-family:var(--font-heading);font-size:17px;font-weight:600}.chat-profile__presence--online{color:var(--color-online)}.chat-profile__actions{gap:var(--space-6);margin:var(--space-4) 0 var(--space-6);display:flex}.chat-profile__action-item,.chat-profile__actions .coming-soon-hint{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.chat-profile__action{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent-200);border-color:#0000;border-radius:50%}@media (hover:hover){.chat-profile__action:hover{background:color-mix(in srgb, var(--color-accent) 24%, transparent)}}.chat-profile__action:active{background:color-mix(in srgb, var(--color-accent) 32%, transparent)}.chat-profile__action-label{font-size:var(--type-caption-size);color:var(--color-neutral-500)}.chat-profile__info{align-self:stretch;gap:var(--space-6);flex-direction:column;display:flex}.chat-profile__section{gap:var(--space-2);flex-direction:column;align-self:stretch;display:flex}.chat-profile__section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--color-neutral-500);font-size:11px;font-weight:500}.chat-profile__section-value{font-size:14.5px}.chat-profile__section .coming-soon-hint{align-self:stretch;display:flex}.chat-profile__search-input{width:100%}.compose-modal{gap:var(--space-3);flex-direction:column;display:flex}.compose-modal .input{border-radius:20px}.compose-modal__empty{padding:var(--space-4) var(--space-3);text-align:center}.compose-modal__list{overscroll-behavior:contain;flex-direction:column;gap:2px;max-height:360px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.chats-page{flex-direction:column;height:100%;min-height:0;display:flex}.chats-page__list,.chats-page__thread{flex-direction:column;flex:1;min-height:0;display:none}.chats-page__list[data-active=true],.chats-page__thread[data-active=true]{display:flex}.chats-page__placeholder{padding:var(--space-4);text-align:center;margin:auto}.chats-page__profile{display:none}@media (width>=768px){.chats-page{grid-template-columns:320px 1fr;height:100%;display:grid}.chats-page__list,.chats-page__thread{display:flex}.chats-page__list{border-right:1px solid var(--color-divider)}}@media (width>=1280px){.chats-page{grid-template-columns:320px 1fr 320px}.chats-page__profile{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);border-left:1px solid var(--color-divider);flex-direction:column;display:flex}}.contact-requests{gap:var(--space-8);flex-direction:column;display:flex}.contact-requests__heading{letter-spacing:.09em;text-transform:uppercase;color:var(--color-neutral-500);margin:0 0 var(--space-3);font-size:11px;font-weight:500}.contact-requests__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.contact-requests__empty{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex}.contact-request-row__actions{align-items:center;gap:var(--space-2);display:flex}.contact-request-row__error{padding:0 var(--space-3) var(--space-2);color:var(--color-danger-light);margin:0;font-size:12px}.contact-search{gap:var(--space-3);flex-direction:column;display:flex}.contact-search .input{border-radius:20px}.contact-search__hint{padding:var(--space-4) var(--space-3);text-align:center;font-size:13.5px}.contact-search__results{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.search-result-row{border-radius:var(--radius-md)}.search-result-row:focus-within{background:var(--color-surface)}.search-result-row__status{color:var(--color-neutral-500);font-size:12.5px}.search-result-row__error{padding:0 var(--space-3) var(--space-2);color:var(--color-danger-light);margin:0;font-size:12px}.contacts-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.contacts-list__empty{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);flex-direction:column;display:flex}.contacts-page{flex-direction:column;height:100%;display:flex}.contacts-page__nav{gap:var(--space-2);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-divider);flex:none;display:flex}.contacts-page__tab{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--color-neutral-400);font-family:var(--font-heading);font-weight:var(--font-heading-weight);cursor:pointer;background:0 0;border:1px solid #0000;font-size:13px}@media (hover:hover){.contacts-page__tab:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}}.contacts-page__tab:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.contacts-page__tab[data-state=active]{color:var(--color-accent);border-color:var(--color-accent)}.contacts-page__pane{min-height:0;padding:var(--space-6) var(--space-8);overscroll-behavior:contain;flex-direction:column;flex:1;display:none;overflow-y:auto}.contacts-page__pane[data-state=active]{display:flex}.contacts-page__pane-inner{flex-direction:column;width:100%;max-width:640px;display:flex}.contacts-page__heading{margin:0 0 var(--space-4);font-size:20px}.notifications-settings__hint{padding:var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--type-desc-size)}.notifications-settings__hint ol{margin:var(--space-2) 0 0;padding-left:var(--space-6);gap:var(--space-1);flex-direction:column;display:flex}.settings-page{width:100%;max-width:640px;height:100%;padding:var(--space-8) var(--space-4);overscroll-behavior:contain;flex-direction:column;align-items:stretch;display:flex;overflow-y:auto}.settings-page__section{gap:var(--space-2);padding:var(--space-4) 0;flex-direction:column;display:flex}.settings-page__section-label{margin:0 var(--space-4);letter-spacing:.09em;text-transform:uppercase;color:var(--color-neutral-500);font-size:11px;font-weight:500}.settings-page__logout-row .list-row__label{color:var(--color-danger-light)}.settings-page__logout-copy{margin:0 0 var(--space-6);color:var(--color-neutral-500);font-size:var(--type-desc-size)}.settings-page__logout-actions{gap:var(--space-3);display:flex}.settings-page__logout-actions>*{flex:1}.settings-page__logout-confirm{color:var(--color-danger-light);border-color:var(--color-danger)}@media (hover:hover){.settings-page__logout-confirm:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 12%, transparent)}}.settings-page__logout-confirm:active:not(:disabled){background:color-mix(in srgb, var(--color-danger) 22%, transparent)}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.nav-icon svg{flex-shrink:0;display:block}.app-drawer__profile{align-items:center;gap:var(--space-3);padding:var(--space-4) 0 var(--space-6);text-align:center;flex-direction:column;display:flex}.app-drawer__name{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:var(--type-body-size)}.app-drawer__username{color:var(--color-neutral-500);font-size:var(--type-caption-size)}.app-drawer__nav{gap:var(--space-1);padding:var(--space-2) 0;flex-direction:column;display:flex}.app-drawer__nav .list-row{justify-content:flex-start;gap:var(--space-3)}.list-row.app-drawer__logout{margin-top:var(--space-2);color:var(--color-danger)}.app-drawer__logout .list-row__icon{color:var(--color-danger)}.app-drawer__confirm-text{margin:0 0 var(--space-6);color:var(--color-neutral-400)}.app-drawer__confirm-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.btn.app-drawer__confirm-logout{background:var(--color-danger);border-color:var(--color-danger);color:#0c0d15}.shell{flex-direction:column;height:100dvh;display:flex}.shell__topbar{align-items:center;gap:var(--space-2);height:52px;padding:0 var(--space-4);border-bottom:1px solid var(--color-divider);background:var(--color-bg);flex:none;display:flex}.shell__icon-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.shell__icon-btn:hover{background:color-mix(in srgb, var(--color-text) 8%, transparent)}}.shell__icon-btn:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.shell__title{flex:1;min-width:0}.shell__tab-title{align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:var(--type-body-size);display:flex}.shell__peer{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:inherit;font-size:var(--type-spec-size);font-weight:var(--type-spec-weight);color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;display:block;overflow:hidden}.shell__content{flex-direction:column;flex:1;min-height:0;display:flex}.shell__pane{flex-direction:column;flex:1;min-height:0;display:none}.shell__pane[data-active=true]{display:flex}:root{--color-bg:#161826;--color-surface:#232532;--color-text:#e9e9ed;--color-divider:#e9e9ed29;--color-accent-100:#f5f4ff;--color-accent-200:#e7e5fe;--color-accent-300:#d2cefd;--color-accent-400:#b5abfc;--color-accent-500:#968ae0;--color-accent-600:#796cbf;--color-accent-700:#5d5294;--color-accent-800:#423a6a;--color-accent-900:#2b2741;--color-accent:#9184d9;--color-accent-2-100:#f5f4ff;--color-accent-2-200:#e7e5fe;--color-accent-2-300:#d2cefd;--color-accent-2-400:#b5afe8;--color-accent-2-500:#9690c9;--color-accent-2-600:#7972a9;--color-accent-2-700:#5c5783;--color-accent-2-800:#423e5d;--color-accent-2-900:#2b293a;--color-accent-2:#a7a1db;--color-neutral-100:#f3f5fe;--color-neutral-200:#e4e7f5;--color-neutral-300:#cfd3e5;--color-neutral-400:#b2b6ca;--color-neutral-500:#9397ab;--color-neutral-600:#75798c;--color-neutral-700:#595d6c;--color-neutral-800:#3f424d;--color-neutral-900:#292b31;--color-online:#5fca7d;--color-online-light:#83d79b;--color-online-dim:#1f3328;--color-danger:#e2607a;--color-danger-light:#ec899d;--color-danger-dim:#38222c;--space-1:2.8px;--space-2:5.6px;--space-3:8.4px;--space-4:11.2px;--space-6:16.8px;--space-8:22.4px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--font-heading:"Inter", system-ui, sans-serif;--font-heading-weight:500;--font-body:"Inter", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}:root{--type-heading-size:33px;--type-heading-lh:1.05;--type-heading-ls:-.02em;--type-eyebrow-size:11px;--type-eyebrow-ls:.14em;--type-eyebrow-weight:600;--type-body-size:15px;--type-spec-size:14px;--type-spec-weight:600;--type-desc-size:12px;--type-desc-lh:1.5;--type-caption-size:11px;--type-label-size:12px}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);overscroll-behavior-y:none;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.text-muted{color:var(--color-neutral-500)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-text);min-height:46px;padding:var(--space-2) calc(var(--space-3) * 1.2);background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:6px;font-size:14.5px;line-height:1.2;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--color-accent-200);border-color:var(--color-accent)}@media (hover:hover){.btn-primary:hover{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}}.btn-primary:active{background:color-mix(in srgb, var(--color-accent) 22%, transparent)}.btn-secondary{border-color:var(--color-divider)}@media (hover:hover){.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.btn-fill{background:var(--color-accent);color:#0c0d15;font-weight:600}@media (hover:hover){.btn-fill:hover{background:var(--color-accent-500)}}.btn-fill:active{background:var(--color-accent-600)}.btn-out{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);min-height:46px;padding:var(--space-2) calc(var(--space-3) * 1.2);color:var(--color-accent);border:1px solid var(--color-accent);background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:6px;font-size:14.5px;line-height:1.2;text-decoration:none;display:inline-flex}@media (hover:hover){.btn-out:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}.btn-out:active{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.btn-out:disabled{opacity:.45;cursor:not-allowed}.btn-icon{flex:none;width:44px;height:44px;min-height:0;padding:0}.btn-ghost{min-height:0;font:inherit;color:inherit;border:none;padding:0}.btn-block{width:100%}.field>label{font-size:var(--type-label-size);margin-bottom:var(--space-2);color:var(--color-neutral-400);display:block}.input{width:100%;min-height:44px;padding:0 var(--space-4);font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);font-size:16px}@media (hover:hover){.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}.input[aria-invalid=true]{border-color:var(--color-danger)}.field-error{margin:var(--space-2) 0 0;font-size:var(--type-desc-size);color:var(--color-danger-light);align-items:center;gap:6px;display:flex}
