.skip-link{z-index:1000;color:var(--background);background:var(--text-primary);border-radius:8px;padding:10px 14px;font-weight:800;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.app-shell :where(a,button,input,select,textarea):focus-visible{outline-offset:3px;outline:3px solid #7c8cffa6}.app-main:focus{outline:none}.app-shell{background:radial-gradient(circle at 85% 10%, #7c8cff1a, transparent 32rem), var(--background);grid-template:"sidebar header""sidebar main"minmax(0,1fr)/220px minmax(0,1fr);min-width:0;min-height:100dvh;display:grid}.app-header{border-bottom:1px solid var(--border);grid-area:header;justify-content:space-between;align-items:center;gap:24px;min-width:0;min-height:92px;padding:20px 28px;display:flex}.app-header h1{margin:2px 0 0;font-size:24px;line-height:1.2}.app-eyebrow,.section-label{color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.app-sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#12141dd1;grid-area:sidebar;padding:22px 16px}.brand-mark{color:#0b0c12;background:linear-gradient(145deg, var(--accent-secondary), var(--accent));border-radius:13px;place-items:center;width:42px;height:42px;margin:0 8px 36px;font-weight:900;display:grid}.navigation-item{min-height:42px;color:var(--text-secondary);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:0 12px;text-decoration:none;display:flex}.navigation-badge{color:#0b0c12;background:var(--accent-secondary);border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;line-height:1;display:inline-grid}.navigation-item--active{color:var(--text-primary);background:var(--surface-raised)}.app-main{grid-area:main;place-items:center;min-width:0;min-height:0;padding:28px;display:grid}.foundation-panel{border:1px solid var(--border);background:linear-gradient(145deg,#191c27f5,#12141df5);border-radius:24px;width:min(680px,100%);padding:clamp(24px,5vw,48px);box-shadow:0 24px 80px #00000047}.foundation-panel h2{letter-spacing:-.04em;max-width:560px;margin:12px 0;font-size:clamp(28px,5vw,44px);line-height:1.08}.foundation-panel>p:not(.section-label){max-width:580px;color:var(--text-secondary);margin:0;line-height:1.7}.foundation-grid div{border:1px solid var(--border);background:#0b0c1273;border-radius:14px;min-width:0;padding:16px}.foundation-grid dt{color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px;font-size:12px}.foundation-grid dd{overflow-wrap:anywhere;margin:0;font-weight:700}.connection-state{border:1px solid var(--border);color:var(--text-secondary);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:inline-flex}.connection-state__indicator{background:var(--text-secondary);border-radius:50%;width:8px;height:8px}.connection-state--connected .connection-state__indicator{background:var(--success);box-shadow:0 0 0 4px #62d8a31f}.connection-state--warning .connection-state__indicator{background:var(--warning)}.connection-state--error .connection-state__indicator{background:var(--danger)}.connection-state--checking .connection-state__indicator{animation:1s infinite alternate connection-pulse}.pwa-notice{z-index:100;border:1px solid var(--border);background:var(--surface-raised);border-radius:16px;width:min(360px,100vw - 40px);padding:16px;position:fixed;bottom:20px;right:20px;box-shadow:0 18px 60px #00000073}.pwa-notice p{margin:0}.pwa-notice__actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.pwa-notice button{color:#0b0c12;background:var(--accent-secondary);cursor:pointer;border:1px solid #0000;border-radius:9px;padding:8px 13px;font-weight:700}.pwa-notice .button-secondary{color:var(--text-primary);border-color:var(--border);background:0 0}@keyframes connection-pulse{0%{opacity:.35}to{opacity:1}}@media (width<=720px){.app-shell{grid-template:"header""main"minmax(0,1fr)"sidebar"/minmax(0,1fr);min-height:100dvh}.app-header{flex-wrap:wrap;min-height:78px;padding:16px 18px}.app-header>*,.app-header__actions{min-width:0}.app-sidebar{z-index:10;min-width:0;padding:10px 16px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--border);border-right:0;position:sticky;bottom:0}.app-sidebar nav{overscroll-behavior-x:contain;scrollbar-width:thin;touch-action:pan-x;gap:6px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.brand-mark{display:none}.navigation-item{flex:none;justify-content:center;min-width:max-content;min-height:44px}.app-main{min-width:0;min-height:0;padding:18px}.foundation-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-page,.authentication-state{color:#f6f7fb;background:radial-gradient(circle at 0 0,#5770ff29,#0000 34rem),#0b0c12;place-items:center;min-height:100dvh;padding:2rem;display:grid}.login-card,.authentication-state__card{background:#151721f0;border:1px solid #ffffff1a;border-radius:1.5rem;width:min(100%,28rem);padding:2rem;box-shadow:0 1.5rem 4rem #00000047}.login-card__introduction h1,.authentication-state__card h1{margin:.4rem 0 .75rem;font-size:clamp(1.8rem,6vw,2.5rem);line-height:1.05}.login-card__introduction p:last-child,.authentication-state__card p{color:#aeb4c7;line-height:1.6}.login-form{gap:.75rem;margin-top:2rem;display:grid}.login-form label{color:#d9dcec;margin-top:.4rem;font-size:.9rem;font-weight:650}.login-form input{color:#f6f7fb;width:100%;min-height:3rem;font:inherit;background:#10121a;border:1px solid #35394c;border-radius:.8rem;padding:.7rem .9rem}.login-form input:focus{border-color:#7489ff;outline:3px solid #7489ff38}.login-form input:disabled{cursor:not-allowed;opacity:.72}.primary-button{color:#090a10;min-height:3rem;font:inherit;cursor:pointer;background:#7489ff;border:0;border-radius:.8rem;margin-top:.75rem;padding:.75rem 1rem;font-weight:750}.primary-button:hover:not(:disabled){background:#91a0ff}.primary-button:focus-visible{outline-offset:3px;outline:3px solid #91a0ff59}.primary-button:disabled{cursor:wait;opacity:.68}.form-error{color:#ffb9b9;background:#85222233;border:1px solid #ff767659;border-radius:.8rem;margin:.5rem 0 0;padding:.75rem .9rem;line-height:1.5}.authentication-state__card{text-align:center}.authentication-state__card .primary-button{width:100%}.foundation-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;margin:1.5rem 0 0;display:grid}.foundation-grid div{background:#ffffff06;border:1px solid #ffffff14;border-radius:.9rem;padding:1rem}.foundation-grid dt{color:#8f96ac;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:650}.foundation-grid dd{color:#f3f4fa;overflow-wrap:anywhere;margin:.4rem 0 0;font-weight:650}@media (width<=36rem){.login-page,.authentication-state{align-items:start;padding:1rem}.login-card,.authentication-state__card{border-radius:1.2rem;margin-top:8vh;padding:1.4rem}}.app-header__actions{align-items:center;gap:12px;display:flex;position:relative}.logout-button{border:1px solid var(--border);min-height:40px;color:var(--text-primary);background:var(--surface-raised);cursor:pointer;border-radius:10px;padding:8px 14px;font-weight:700}.logout-button:hover:not(:disabled){border-color:var(--accent)}.logout-button:disabled{cursor:wait;opacity:.65}.logout-error{color:#ffb5bd;background:#2b151b;border:1px solid #ff788559;border-radius:10px;width:280px;margin:0;padding:10px 12px;font-size:13px;position:absolute;top:calc(100% + 8px);right:0}.app-sidebar{flex-direction:column;display:flex}.sidebar-account{overflow-wrap:anywhere;gap:4px;margin-top:auto;padding:16px 12px 0;display:grid}.sidebar-account span{color:var(--text-secondary);font-size:12px}.foundation-panel>div>p:last-child{color:var(--text-secondary);margin:0;line-height:1.7}@media (width<=720px){.sidebar-account{display:none}.app-header__actions{flex-wrap:wrap}.logout-error{position:fixed;top:16px;right:16px}}.chats-page{align-self:start;width:min(760px,100%)}.chats-page__header{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.chats-page__header h2{margin:6px 0 0;font-size:32px}.chats-page__header>span{min-width:32px;color:var(--text-secondary);background:var(--surface-raised);text-align:center;border-radius:999px;padding:5px 9px;font-size:13px}.chats-page__actions{align-items:center;gap:7px;display:flex}.chats-page__actions>span{min-width:32px;color:var(--text-secondary);background:var(--surface-raised);text-align:center;border-radius:999px;padding:5px 9px;font-size:13px}.chats-page__actions button{min-height:34px;padding:6px 10px}.conversation-creator{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:12px;margin-bottom:16px;padding:14px;display:grid}.conversation-creator>header{justify-content:space-between;align-items:start;gap:12px;display:flex}.conversation-creator h3{margin:4px 0 0}.conversation-creator__field{gap:6px;display:grid}.conversation-creator__field label{color:var(--text-secondary);font-size:12px}.conversation-creator__field>input{border:1px solid var(--border);width:100%;min-height:40px;color:var(--text-primary);background:var(--background);font:inherit;border-radius:9px;padding:8px 10px}.conversation-creator__field>input:focus{border-color:var(--accent);outline:3px solid #7c8cff33}.conversation-creator>p,.conversation-creator>div[role=alert]{color:var(--text-secondary);margin:0;font-size:12px}.conversation-creator>p[role=alert]{color:var(--danger)}.directory-list{gap:6px;max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.directory-list button,.directory-list label{border:1px solid var(--border);width:100%;min-height:54px;color:var(--text-primary);background:var(--surface-raised);text-align:left;border-radius:9px;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:8px;display:grid}.directory-list button{cursor:pointer}.directory-list button:hover,.directory-list label:hover{border-color:var(--accent)}.directory-list label{cursor:pointer;grid-template-columns:auto 38px 1fr}.directory-list input{width:17px;height:17px}.directory-avatar{width:38px;height:38px;color:var(--text-primary);background:#7c8cff33;border-radius:50%;place-items:center;font-weight:700;display:grid}.directory-list strong,.directory-list small{display:block}.directory-list small{color:var(--text-secondary);margin-top:2px;font-size:11px}.conversation-creator__submit{justify-content:space-between;align-items:center;gap:10px;display:flex}.conversation-creator__submit span{color:var(--text-secondary);font-size:12px}.message-search{gap:6px;margin-bottom:14px;display:grid}.message-search label{color:var(--text-secondary);font-size:12px}.message-search input{border:1px solid var(--border);width:100%;min-height:44px;color:var(--text-primary);background:var(--surface);font:inherit;border-radius:10px;padding:9px 12px}.message-search input:focus{border-color:var(--accent);outline:3px solid #7c8cff33}.message-search>p{color:var(--text-secondary);margin:0;font-size:11px}.message-search-results{gap:10px;display:grid}.message-search-results>p,.message-search-results>div{border:1px solid var(--border);color:var(--text-secondary);background:var(--surface);text-align:center;border-radius:10px;margin:0;padding:18px}.message-search-results ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.message-search-results li>a{border:1px solid var(--border);color:inherit;background:var(--surface);border-radius:10px;gap:4px;padding:12px;text-decoration:none;display:grid}.message-search-results li>a:hover{border-color:var(--accent);background:var(--surface-raised)}.message-search-results span,.message-search-results time{color:var(--text-secondary);font-size:11px}.message-search-results strong{color:var(--accent-secondary);font-size:12px}.message-search-results p{overflow-wrap:anywhere;margin:0}.message-search-results>button{justify-self:center}.conversation-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.conversation-item{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;min-height:76px;padding:12px;display:grid}.conversation-avatar{color:#0b0c12;background:linear-gradient(145deg, var(--accent-secondary), var(--accent));border-radius:50%;place-items:center;width:48px;height:48px;font-weight:900;display:grid}.conversation-summary{min-width:0}.conversation-summary__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.conversation-summary h3{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.conversation-summary time{color:var(--text-secondary);flex:none;font-size:12px}.conversation-summary>p{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:6px 0 0;overflow:hidden}.conversation-status{color:var(--text-secondary);justify-items:end;gap:5px;font-size:11px;display:grid}.conversation-status strong{color:#0b0c12;background:var(--accent-secondary);border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;display:grid}.chat-state{border:1px solid var(--border);color:var(--text-secondary);background:var(--surface);text-align:center;border-radius:16px;padding:36px}.chat-state h2,.chat-state h3{color:var(--text-primary);margin:0 0 8px}.chat-state p{margin:0}.chat-state button{border:1px solid var(--border);color:var(--text-primary);background:var(--surface-raised);cursor:pointer;border-radius:10px;margin-top:18px;padding:9px 14px}.chat-state--error{border-color:#ff788559}@media (width<=560px){.conversation-item{grid-template-columns:42px 1fr auto}.conversation-avatar{width:42px;height:42px}.conversation-status>span{display:none}}.conversation-item{color:inherit;text-decoration:none}.conversation-item:hover{border-color:var(--accent);background:var(--surface-raised)}.conversation-item:focus-visible{outline-offset:2px;outline:3px solid #7c8cff3d}.conversation-preferences{align-items:center;gap:5px;margin-left:auto;display:flex}.conversation-preferences button{min-height:32px;padding:5px 8px;font-size:11px}.conversation-preferences button[aria-pressed=true]{border-color:var(--accent);background:#7c8cff2e}.group-settings-button{min-height:34px;padding:6px 10px}.group-settings{border-bottom:1px solid var(--border);background:var(--surface-raised);gap:14px;max-height:46vh;padding:14px;display:grid;overflow-y:auto}.group-settings>header{justify-content:space-between;align-items:start;gap:12px;display:flex}.group-settings h3,.group-settings h4{margin:4px 0 0}.group-settings__rename,.group-settings__add{gap:7px;display:grid}.group-settings__rename label,.group-settings__add label{color:var(--text-secondary);font-size:12px}.group-settings__rename>div,.group-settings__add>div{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.group-settings input,.group-settings select{border:1px solid var(--border);width:100%;min-height:38px;color:var(--text-primary);background:var(--background);font:inherit;border-radius:8px;padding:7px 9px}.group-settings input:focus,.group-settings select:focus{border-color:var(--accent);outline:3px solid #7c8cff33}.group-settings__members{gap:8px;display:grid}.group-settings__members ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.group-settings__members li{border:1px solid var(--border);background:var(--surface);border-radius:9px;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;min-height:54px;padding:8px;display:grid}.group-member-avatar{background:#7c8cff33;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.group-settings__members strong,.group-settings__members span{display:block}.group-settings__members span{color:var(--text-secondary);text-transform:capitalize;margin-top:2px;font-size:11px}.group-member-actions{align-items:center;gap:6px;display:flex}.group-member-actions button{min-height:30px;padding:4px 8px;font-size:11px}.danger-button{color:var(--danger);border-color:#ff788566}.group-settings__error{color:var(--danger);margin:0;font-size:12px}.group-settings__ownership{border-top:1px solid var(--border);gap:8px;padding-top:12px;display:grid}.group-settings__ownership h4,.group-settings__ownership p{margin:0}.group-settings__ownership p{color:var(--text-secondary);font-size:11px}.group-settings__ownership>div{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.group-settings__ownership p[role=alert]{color:var(--danger)}.group-settings__leave{border-top:1px solid var(--border);align-items:center;gap:10px;padding-top:12px;display:flex}.group-settings__leave p{color:var(--text-secondary);margin:0;font-size:11px}.conversation-page{border:1px solid var(--border);background:var(--surface);border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;align-self:start;width:min(820px,100%);min-width:0;height:calc(100dvh - 150px);display:grid;overflow:hidden}.conversation-page__header{border-bottom:1px solid var(--border);align-items:center;gap:14px;min-height:76px;padding:14px 18px;display:flex}.conversation-page__header h2{margin:0;font-size:20px}.conversation-page__header p{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.presence-text--online{color:#55d98b}.conversation-connection{color:var(--text-secondary);align-items:center;gap:6px;margin-top:5px;font-size:11px;display:inline-flex}.conversation-connection:before{background:var(--text-secondary);content:"";border-radius:50%;flex:none;width:7px;height:7px}.conversation-connection--connected:before{background:#35b86b}.conversation-connection--connecting:before,.conversation-connection--reconnecting:before{background:#e6a23c}.conversation-connection--offline:before{background:#d75a5a}.conversation-back{color:var(--text-secondary);border-radius:9px;padding:8px 10px;text-decoration:none}.conversation-back:hover{color:var(--text-primary);background:var(--surface-raised)}.message-history{padding:18px;overflow-y:auto}.message-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.message-row{justify-content:flex-start;display:flex}.message-row--own{justify-content:flex-end}.message{border:1px solid var(--border);background:var(--surface-raised);border-radius:14px 14px 14px 4px;max-width:min(72%,560px);padding:10px 12px;scroll-margin-block:96px;transition:border-color .18s,box-shadow .18s,background-color .18s}.message--search-target{border-color:var(--accent-secondary);box-shadow:0 0 0 3px #7c8cff3d,0 12px 30px #0003}.message-row--own .message{background:#7c8cff2e;border-radius:14px 14px 4px}.message strong{color:var(--accent-secondary);margin-bottom:5px;font-size:12px;display:block}.message p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.message-reply-quote{border:0;border-left:3px solid var(--accent-secondary);width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:#ffffff0d;border-radius:6px;gap:2px;margin-bottom:8px;padding:7px 9px;display:grid}.message-reply-quote strong{color:var(--accent-secondary);margin:0;font-size:11px}.message-reply-quote span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.message__attachments{gap:7px;margin-top:8px;display:grid}.message-attachment{color:inherit;text-decoration:none}.message-attachment--image{gap:6px;display:grid}.message-attachment--image img{object-fit:contain;background:var(--background);border-radius:10px;width:min(100%,420px);max-height:360px;display:block}.message-attachment--file{border:1px solid var(--border);background:#ffffff0a;border-radius:10px;align-items:center;gap:9px;padding:8px;display:flex}.message-attachment__icon{min-width:38px;min-height:38px;color:var(--accent-secondary);background:var(--background);border-radius:8px;place-items:center;font-size:9px;font-weight:800;display:grid}.message-attachment__details{gap:2px;min-width:0;display:grid}.message-attachment__details strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.message-attachment__details small{color:var(--text-secondary);font-size:10px}button.message-attachment{width:100%;font:inherit;cursor:pointer;text-align:left;border:0}.message-attachment--video,.message-attachment--audio{border:1px solid var(--border);color:inherit;background:#ffffff0a;border-radius:10px;align-items:center;gap:9px;padding:8px;display:flex}.selected-attachment__preview{gap:6px;min-width:0;display:grid}.selected-attachment__preview img,.selected-attachment__preview video{object-fit:contain;width:min(100%,260px);max-height:180px}.selected-attachment__preview audio{width:min(100%,320px)}.media-viewer{border:1px solid var(--border);width:min(92vw,960px);max-height:92vh;color:var(--text-primary);background:var(--surface);border-radius:12px;padding:0}.media-viewer::backdrop{background:#000000c7}.media-viewer__header,.media-viewer__footer{justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.media-viewer__content{background:var(--background);place-items:center;min-height:160px;max-height:calc(92vh - 120px);padding:12px;display:grid;overflow:auto}.media-viewer__content img,.media-viewer__content video{object-fit:contain;max-width:100%;max-height:calc(92vh - 150px)}.media-viewer__content audio{width:min(100%,640px)}.message-forwarded-from{color:var(--text-secondary);font-size:11px;margin-bottom:7px!important}.message-forwarded-from strong{color:var(--accent-secondary);font-size:inherit;margin:0;display:inline}.message-forward-form{border:1px solid var(--border);background:var(--surface-raised);border-radius:10px;gap:9px;margin-bottom:14px;padding:12px;display:grid}.message-forward-form label{color:var(--text-secondary);font-size:12px}.message-forward-form select{border:1px solid var(--border);width:100%;min-height:38px;color:var(--text-primary);background:var(--background);font:inherit;border-radius:8px;padding:7px 9px}.message-forward-form__actions{justify-content:flex-end;gap:7px;display:flex}.message-forward-form__actions button{min-height:32px;padding:5px 10px}.message-forward-form p{color:var(--danger);margin:0;font-size:12px}.message-edit-form{gap:7px;display:grid}.message-edit-form textarea{resize:vertical;border:1px solid var(--border);width:min(420px,70vw);min-height:70px;color:var(--text-primary);background:var(--background);font:inherit;border-radius:8px;padding:8px 10px}.message-edit-form textarea:focus{border-color:var(--accent);outline:3px solid #7c8cff33}.message-edit-form__actions{justify-content:flex-end;gap:7px;display:flex}.message-edit-form__actions button{border:1px solid var(--border);min-height:auto;color:var(--text-primary);background:var(--surface);cursor:pointer;border-radius:7px;padding:5px 8px;font-size:11px}.message-action-error{color:var(--danger);text-align:center;background:#ff50641a;border-radius:8px;margin:0 auto 10px;padding:8px 10px;font-size:12px}.message__reactions{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.message-reaction{border:1px solid var(--border);min-height:28px;color:var(--text-secondary);background:var(--surface);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.message-reaction:hover{border-color:var(--accent);color:var(--text-primary)}.message-reaction--selected{border-color:var(--accent);color:var(--text-primary);background:#7c8cff2e}.message-reaction:disabled{cursor:wait;opacity:.6}.message__metadata{justify-content:flex-end;align-items:center;gap:7px;margin-top:6px;display:flex}.message__metadata time,.message__receipt,.message__edited{color:var(--text-secondary);font-size:10px}.message__receipt{font-weight:700}.message__reply-button,.message__forward-button,.message__edit-button,.message__delete-button{min-height:auto;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px}.message__reply-button:hover,.message__forward-button:hover,.message__edit-button:hover{color:var(--text-primary)}.message__delete-button:hover{color:var(--danger)}.message__reply-button:disabled,.message__forward-button:disabled,.message__edit-button:disabled,.message__delete-button:disabled{cursor:wait;opacity:.55}.load-older-button{border:1px solid var(--border);color:var(--text-secondary);background:var(--surface-raised);cursor:pointer;border-radius:9px;margin:0 auto 18px;padding:8px 12px;display:block}.load-older-button:disabled{cursor:wait;opacity:.65}.message-empty-state{min-height:100%;color:var(--text-secondary);place-items:center;display:grid}@media (width<=720px){.conversation-page{border-radius:12px;width:100%;height:calc(100dvh - 190px);min-height:20rem}.conversation-page__header,.conversation-page__header>div{min-width:0}.conversation-page__header h2,.conversation-page__header p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-history{min-width:0;min-height:0}.message{overflow-wrap:anywhere;max-width:86%}.message-composer,.message-composer__controls,.message-composer textarea{min-width:0}}.message--pending{opacity:.68}.message--pending span{color:var(--text-secondary);text-align:right;margin-top:6px;font-size:10px;display:block}.typing-indicator{min-height:24px;color:var(--text-secondary);padding:4px 18px;font-size:12px;font-style:italic}.message-composer{border-top:1px solid var(--border);background:var(--surface);padding:12px 16px;position:relative}.composer-reply-preview{border-left:3px solid var(--accent-secondary);background:#ffffff0d;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;padding:8px 10px;display:flex}.composer-reply-preview>div{gap:2px;min-width:0;display:grid}.composer-reply-preview strong{color:var(--accent-secondary);font-size:11px}.composer-reply-preview span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.composer-reply-preview button{min-height:auto;color:var(--text-secondary);background:0 0;padding:5px 8px;font-size:11px}.attachment-picker{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:9px;display:flex}.attachment-picker>label{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700}.attachment-picker>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.selected-attachment{min-width:0;color:var(--text-secondary);align-items:center;gap:7px;font-size:12px;display:flex}.selected-attachment span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-attachment button{min-height:auto;color:var(--danger);background:0 0;padding:4px 7px;font-size:11px}.message-composer__controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.message-composer textarea{resize:vertical;border:1px solid var(--border);width:100%;min-height:44px;max-height:140px;color:var(--text-primary);background:var(--background);border-radius:12px;padding:11px 13px;line-height:1.4}.message-composer textarea:focus{border-color:var(--accent);outline:3px solid #7c8cff33}.message-composer button{color:#0b0c12;background:var(--accent-secondary);cursor:pointer;border:0;border-radius:12px;min-height:44px;padding:9px 16px;font-weight:800}.message-composer button:disabled{cursor:not-allowed;opacity:.55}.message-character-count{color:var(--text-secondary);text-align:right;margin-top:5px;font-size:10px;display:block}.composer-error{color:var(--danger);margin:0 0 8px;font-size:13px}.composer-read-only{border-top:1px solid var(--border);color:var(--text-secondary);background:var(--surface);text-align:center;padding:14px 16px;font-size:13px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.notifications-page{border:1px solid var(--border);background:var(--surface);border-radius:22px;align-self:start;width:min(880px,100%);min-height:min(720px,100vh - 148px);padding:24px}.notifications-page__header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.notifications-page__header h2{margin:6px 0}.notifications-page__header p:not(.section-label){color:var(--text-secondary);margin:0}.notifications-page__header button{border:1px solid var(--border);min-height:40px;color:var(--text-primary);background:var(--surface-raised);cursor:pointer;border-radius:10px;padding:0 14px}.notifications-page__header button:disabled{opacity:.55;cursor:not-allowed}.notification-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.notification-item{border:1px solid var(--border);background:var(--surface-raised);border-radius:14px;align-items:center;gap:12px;display:flex}.notification-item--unread{background:#7c8cff1a;border-color:#7c8cff8c}.notification-item>a,.notification-item>div{flex:1;min-width:0;padding:14px}.notification-item>a{color:inherit;text-decoration:none}.notification-item>a:hover{background:#ffffff08}.notification-item__top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.notification-item__top strong{overflow-wrap:anywhere}.notification-item__top time,.notification-item span{color:var(--text-secondary);font-size:12px}.notification-item__top time{flex:none}.notification-item p{color:var(--text-secondary);overflow-wrap:anywhere;margin:6px 0}.notification-item>button{border:1px solid var(--border);min-height:36px;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:9px;flex:none;margin-right:12px;padding:0 12px}.notification-item>button:disabled{opacity:.55;cursor:not-allowed}@media (width<=640px){.notifications-page{border-radius:16px;padding:16px}.notifications-page__header{flex-direction:column;align-items:stretch}.notification-item__top{flex-direction:column;gap:4px}}.archived-chats-page{border:1px solid var(--border);background:var(--surface);border-radius:22px;align-self:start;width:min(920px,100%);min-height:min(720px,100vh - 148px);padding:24px}.archived-chats-page__header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.archived-chats-page__header h2{margin:6px 0}.archived-chats-page__header p:not(.section-label){color:var(--text-secondary);margin:0}.archived-chats-page__back{border:1px solid var(--border);min-height:40px;color:var(--text-primary);background:var(--surface-raised);border-radius:10px;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.archived-conversation-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.archived-conversation-item{border:1px solid var(--border);background:var(--surface-raised);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px;display:grid}.archived-conversation-summary{min-width:0}.archived-conversation-summary>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.archived-conversation-summary h3{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.archived-conversation-summary time{color:var(--text-secondary);flex:none;font-size:12px}.archived-conversation-summary p{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;overflow:hidden}.archived-conversation-item>button{border:1px solid var(--border);min-height:38px;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:9px;padding:0 13px}.archived-conversation-item>button:hover{border-color:var(--accent-secondary)}.archived-conversation-item>button:disabled{opacity:.55;cursor:not-allowed}@media (width<=640px){.archived-chats-page{border-radius:16px;padding:16px}.archived-chats-page__header{flex-direction:column;align-items:stretch}.archived-chats-page__back{justify-content:center}.archived-conversation-item{grid-template-columns:auto minmax(0,1fr)}.archived-conversation-item>button{grid-column:1/-1}.archived-conversation-summary>div{flex-direction:column;align-items:flex-start;gap:4px}}:root{color:#eff1f7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--background:#0b0c12;--surface:#12141d;--surface-raised:#191c27;--border:#292d3d;--text-primary:#eff1f7;--text-secondary:#969caf;--accent:#7c8cff;--accent-secondary:#68d5c8;--success:#62d8a3;--warning:#f0c674;--danger:#ff7885;background:#0b0c12;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px;min-height:100%}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}#root{min-height:100vh}
