:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:#18332d;--page:#f5f5ed;--green:#203f35;--accent:#c3e4ae;--muted:#738078;--line:#e0e4d9;--secondary:#edf0e6;--hover:#e4e9de;--selected:#dae5cf;--avatar:#dce5d2;--accent-text:#3c654f;--brand-dot:#89b879;--panel:#fffef8;--input:#fffef9;--sidebar:#eeefe5;--conversation:#fbfaf4;--bubble:#eef0e7;--bubble-line:#e3e7da;--own-bubble:#dce9cf;--own-line:#d3e0c5;--attachment:#f8fbf25e;--placeholder:#a4ad98;--send:#2c4c36;--on-send:#f4faeb;--status:#e5ecd9;--error-text:#9b362a;--error-bg:#fff0e9;--focus:#79a886;--online:#75a665;--offline:#b79064;--media-bg:#16251e;--shadow:#15312007;--dialog-shadow:#18302020;--backdrop:#10241b66;--media-backdrop:#10241bd9;--popover-backdrop:#18332d08;--swipe-shadow:#18332d24;--primary:#203f35;--primary-hover:#2d5445;--on-primary:#fff}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#e2ebdf;--page:#141c18;--green:#d5e7ca;--accent:#b6d9a0;--muted:#a5b4a7;--line:#36443a;--secondary:#27342c;--hover:#334438;--selected:#354e39;--avatar:#344937;--accent-text:#b6d9a0;--brand-dot:#b6d9a0;--panel:#1d2821;--input:#18231c;--sidebar:#19231d;--conversation:#141c18;--bubble:#243129;--bubble-line:#36473a;--own-bubble:#2e4836;--own-line:#496047;--attachment:#20302599;--placeholder:#9cab9b;--send:#b6d9a0;--on-send:#17261b;--status:#293d2d;--error-text:#ffb6a1;--error-bg:#462d27;--focus:#b6d9a0;--online:#9cc887;--offline:#d4ad7e;--media-bg:#0d1510;--shadow:#00000030;--dialog-shadow:#00000070;--backdrop:#0009;--media-backdrop:#000000e0;--popover-backdrop:#00000008;--swipe-shadow:#0005;--primary:#b6d9a0;--primary-hover:#c8e7b5;--on-primary:#17261b}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#e2ebdf;--page:#141c18;--green:#d5e7ca;--accent:#b6d9a0;--muted:#a5b4a7;--line:#36443a;--secondary:#27342c;--hover:#334438;--selected:#354e39;--avatar:#344937;--accent-text:#b6d9a0;--brand-dot:#b6d9a0;--panel:#1d2821;--input:#18231c;--sidebar:#19231d;--conversation:#141c18;--bubble:#243129;--bubble-line:#36473a;--own-bubble:#2e4836;--own-line:#496047;--attachment:#20302599;--placeholder:#9cab9b;--send:#b6d9a0;--on-send:#17261b;--status:#293d2d;--error-text:#ffb6a1;--error-bg:#462d27;--focus:#b6d9a0;--online:#9cc887;--offline:#d4ad7e;--media-bg:#0d1510;--shadow:#00000030;--dialog-shadow:#00000070;--backdrop:#0009;--media-backdrop:#000000e0;--popover-backdrop:#00000008;--swipe-shadow:#0005;--primary:#b6d9a0;--primary-hover:#c8e7b5;--on-primary:#17261b}}.theme-select{margin-top:24px;margin-bottom:0}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--font-caption:11px;--font-body:14px;--font-title:15px;--control-size:40px;--header-size:56px;--rail-size:60px;--sidebar-size:360px;--room-size:64px;--avatar-size:40px;--bubble-radius:12px;--message-width:760px;--message-actions-width:95px;--message-actions-height:35px;--message-details-width:132px;--composer-max-size:144px}@media (max-width:760px){:root{--control-size:44px;--font-body:15px}}:root{color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button{transition:background .15s}h1,h2,h3,p{margin-top:0}button.primary,.primary{background:var(--primary);color:var(--on-primary);border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:32px;padding:16px 22px;font-weight:600;display:inline-flex}.primary:hover:not(:disabled){background:var(--primary-hover)}.wide{width:100%}.secondary{background:var(--secondary);border:1px solid var(--line);color:var(--green);border-radius:10px;padding:12px 16px}.text-button{color:var(--accent-text);background:0 0;border:0;padding:14px 0;font-size:14px}.icon-button{min-width:40px;height:40px;color:inherit;background:0 0;border:0;border-radius:10px;font-size:25px}.icon-button:hover{background:var(--hover)}.wordmark{letter-spacing:-2px;font-size:34px;font-weight:760;line-height:1}.wordmark span{color:var(--brand-dot);margin-left:3px}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:650}.welcome{grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(30px,8vw,150px);max-width:1550px;min-height:100dvh;margin:auto;padding:clamp(24px,6vw,100px);display:grid}.welcome-story{flex-direction:column;justify-content:center;align-self:stretch;display:flex}.welcome-story .wordmark{margin-bottom:auto;padding-bottom:80px}.welcome-story h1{letter-spacing:-4px;margin:25px 0;font-size:clamp(44px,5.4vw,80px);font-weight:550;line-height:1.03}.welcome-story p{color:var(--muted);font-size:17px;line-height:1.8}.welcome-note{color:var(--muted);align-items:center;gap:12px;margin-top:auto;padding-top:80px;font-size:13px;display:flex}.welcome-note>span{background:var(--secondary);border-radius:100%;place-items:center;width:30px;height:30px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);box-shadow:0 20px 70px var(--shadow);border-radius:24px;width:100%;max-width:510px;padding:clamp(24px,4vw,58px)}.login-card h2{letter-spacing:-1px;margin:17px 0;font-size:30px;line-height:1.18}.login-card>p{color:var(--muted);font-size:15px;line-height:1.6}.login-card form{margin:30px 0 8px}.login-card .login-footnote{border-top:1px solid var(--line);margin-top:24px;padding-top:24px;font-size:12px;line-height:1.65}label{margin-bottom:18px;font-size:13px;font-weight:550;display:block}input:not([type=checkbox]):not([type=file]),select{border:1px solid var(--line);background:var(--input);width:100%;color:var(--text);border-radius:10px;margin-top:8px;padding:12px;display:block}label small{color:var(--muted);font-weight:400}.error{color:var(--error-text);background:var(--error-bg);border-radius:8px;padding:12px;font-size:14px!important}.messenger{grid-template-columns:var(--sidebar-size) minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--line);background:var(--sidebar);flex-direction:column;min-height:0;display:flex}.sidebar-top{min-height:var(--header-size);height:var(--header-size);padding:0 var(--space-3);align-items:center;gap:4px;display:flex}.sidebar-label{letter-spacing:1.6px;color:var(--muted);justify-content:space-between;align-items:center;padding:15px 24px;font-size:10px;font-weight:650;display:flex}.new-chat{width:var(--control-size);height:var(--control-size);border:1px solid var(--line);background:var(--secondary);color:var(--green);border-radius:8px;font-size:24px;line-height:1}.room-list{flex:1;min-width:0;padding:0;overflow:auto}.room-item{align-items:center;gap:var(--space-2);width:100%;min-height:var(--room-size);height:var(--room-size);color:inherit;text-align:left;padding:var(--space-2);background:0 0;border:0;border-radius:0;margin:0;display:flex}.room-item:hover{background:var(--hover)}.room-item.active{background:var(--selected)}.avatar{width:var(--avatar-size);height:var(--avatar-size);background:var(--avatar);color:var(--accent-text);border-radius:50%;flex-shrink:0;place-items:center;font-size:20px;font-weight:650;display:grid}.avatar.small{border-radius:50%;width:32px;height:32px;font-size:15px}.room-preview{gap:3px;min-width:0;display:grid}.room-preview strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.room-preview>span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.room-count{color:var(--muted);margin-left:auto;font-size:10px}.sidebar-empty{color:var(--muted);padding:40px 15px;font-size:13px;line-height:1.6}.sidebar-empty p{margin-bottom:6px;font-size:20px}.sidebar-bottom{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);padding-bottom:max(var(--space-2),env(safe-area-inset-bottom));font-size:12px;display:flex}.sidebar-bottom strong{font-weight:600}.sidebar-bottom small{color:var(--muted);margin-top:5px;display:block}.connection-dot{background:var(--online);border-radius:100%;width:7px;height:7px;margin-left:auto}.connection-dot.offline{background:var(--offline)}.conversation{background:var(--conversation);flex-direction:column;min-width:0;min-height:0;display:flex}.conversation-header{min-height:var(--header-size);height:var(--header-size);padding:0 var(--space-4);border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:12px;display:flex}.conversation-header h1{font-size:var(--font-title);letter-spacing:-.2px;margin:0;font-weight:600}.conversation-header p{color:var(--muted);margin:0;font-size:11px}.mobile-back{display:none}.conversation-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px;display:flex}.empty-mark{background:var(--secondary);color:var(--green);border:1px solid var(--line);letter-spacing:-9px;border-radius:33px;place-content:center;width:105px;height:105px;margin-bottom:30px;padding-right:10px;font-size:61px;line-height:1;display:grid;position:relative}.empty-mark span{color:var(--brand-dot);font-size:35px;position:absolute;top:27px;right:15px}.conversation-empty h1{letter-spacing:-1px;margin-bottom:12px;font-size:27px;font-weight:550}.conversation-empty p{color:var(--muted);margin-bottom:26px;font-size:14px}.conversation-empty .primary{padding:14px 20px;font-size:13px}.messages{min-height:0;padding:var(--space-2) var(--space-4) var(--space-3);scroll-behavior:auto;overflow-anchor:none;flex:1;overflow-y:auto}.privacy-note{text-align:center;color:var(--muted);letter-spacing:.2px;margin:16px 0 28px;font-size:10px}.empty-chat{text-align:center;color:var(--muted);margin-top:70px;font-size:14px}.message{margin:var(--space-2) 0 0;display:flex}.message.own{justify-content:flex-end}.bubble{background:var(--bubble);border:1px solid var(--bubble-line);border-radius:var(--bubble-radius) var(--bubble-radius) var(--bubble-radius) 4px;overflow-wrap:anywhere;min-width:120px;max-width:78%;padding:6px 10px 4px}.message.own .bubble{background:var(--own-bubble);border-color:var(--own-line);border-radius:var(--bubble-radius) var(--bubble-radius) 4px var(--bubble-radius)}.sender-name{color:var(--accent-text);font-size:var(--font-caption);margin-bottom:3px;font-weight:650;display:block}.bubble p{font-size:var(--font-body);white-space:pre-wrap;margin:0;line-height:1.4}.bubble time{font-size:var(--font-caption);color:var(--muted);text-align:right;margin-top:2px;display:block}.attachment{text-align:left;border:1px solid var(--line);background:var(--attachment);width:100%;color:var(--green);overflow-wrap:anywhere;border-radius:10px;align-items:center;gap:12px;margin:8px 0;padding:12px;display:flex}.attachment>span:first-child{font-size:23px}.attachment>span:last-child{min-width:0;font-size:12px}.attachment small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.composer{padding:var(--space-2) var(--space-3) max(var(--space-2),env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line)}.composer-row{border:1px solid var(--line);border-radius:var(--bubble-radius);background:var(--input);align-items:flex-end;gap:4px;padding:3px;display:flex}.composer textarea{resize:vertical;min-width:0;min-height:40px;max-height:160px;color:var(--text);background:0 0;border:0;flex:1;padding:9px 0;font-size:14px;line-height:1.5}.composer textarea::placeholder{color:var(--placeholder)}.send-button{background:var(--send);color:var(--on-send);border:0;border-radius:12px;flex-shrink:0;width:40px;height:40px;font-size:23px}.attach-control{width:36px;height:40px;color:var(--muted);cursor:pointer;flex-shrink:0;place-items:center;margin:0;font-size:25px;font-weight:400;display:grid;position:relative;overflow:hidden}.attach-control.disabled{opacity:.4}.attach-control input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.attach-control:focus-within{outline:3px solid var(--focus);outline-offset:0;border-radius:6px}.composer-hint{font-size:var(--font-caption);color:var(--muted);text-align:center;margin-top:4px;display:block}.selected-files{flex-wrap:wrap;gap:7px;padding:2px 0 12px;display:flex}.selected-files>span{background:var(--secondary);overflow-wrap:anywhere;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;display:flex}.selected-files button{color:var(--accent-text);background:0 0;border:0;font-size:18px}.selected-files small{color:var(--muted)}.status-banner,.error-banner{background:var(--status);color:var(--accent-text);padding:12px 20px;font-size:12px;line-height:1.5}.error-banner{background:var(--error-bg);color:var(--error-text);align-items:center;gap:8px;display:flex}.error-banner span{flex:1}.error-banner button{color:inherit;background:0 0;border:0;font-size:12px;text-decoration:underline}.readonly-note{text-align:center;color:var(--muted);background:var(--bubble);padding:20px;font-size:12px}.modal{border:1px solid var(--line);background:var(--panel);color:var(--green);width:min(480px,100vw - 32px);max-height:85dvh;box-shadow:0 20px 100px var(--dialog-shadow);border-radius:20px;padding:28px;overflow:auto}.modal::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.modal h2{letter-spacing:-.5px;margin:0;font-size:23px;font-weight:600}.modal h3{margin:0 0 14px;font-size:15px}.modal fieldset{border:0;margin:15px 0 22px;padding:0}.modal legend{margin-bottom:12px;font-size:13px}.contact-option{background:var(--secondary);cursor:pointer;border-radius:10px;align-items:center;gap:12px;margin-bottom:8px;padding:10px;display:flex}.contact-option>span:last-child{font-size:13px}.contact-option small{margin-top:5px;font-size:10px;display:block}.contact-option input{accent-color:var(--accent-text);width:17px;height:17px}.muted{color:var(--muted);font-size:12px;line-height:1.65}.identity{overflow-wrap:anywhere;background:var(--secondary);border:1px solid var(--line);-webkit-user-select:all;user-select:all;border-radius:8px;margin:8px 0 13px;padding:12px;font:11px/1.7 ui-monospace,monospace;display:block}.profile{align-items:center;gap:12px;margin-bottom:25px;display:flex}.profile h3{margin:0;font-size:19px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.device-list{margin:0;padding:0;list-style:none}.device-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:13px 0;font-size:12px;display:flex}.device-list small{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font:10px/1.5 ui-monospace,monospace;display:block}.device-list li>span{min-width:0}.danger-text{color:var(--error-text);background:0 0;border:0;padding:7px;font-size:11px}.member-list>section{margin:15px 0 20px}.member-line{align-items:center;gap:10px;display:flex}.member-line strong{flex:1;font-size:12px}.member-list .identity{font-size:10px}@media (max-width:760px){.welcome{padding:28px 22px;display:block}.welcome-story .wordmark{padding-bottom:40px}.welcome-story h1{letter-spacing:-2px;margin:16px 0;font-size:47px}.welcome-story p{font-size:14px;line-height:1.65}.welcome-story .eyebrow,.welcome-note{display:none}.login-card{border-radius:18px;max-width:none;margin-top:35px;padding:26px}.login-card h2{font-size:26px}.messenger{display:block}.sidebar{border:0;height:100dvh}.has-selection .sidebar{display:none}.conversation{height:100dvh;display:none}.has-selection .conversation{display:flex}.sidebar-top{padding-top:env(safe-area-inset-top);height:calc(var(--header-size) + env(safe-area-inset-top))}.conversation-header{padding:0 var(--space-2);padding-top:env(safe-area-inset-top);min-height:calc(var(--header-size) + env(safe-area-inset-top));height:calc(var(--header-size) + env(safe-area-inset-top));gap:4px}.conversation-header h1{font-size:16px}.conversation-header p{font-size:10px}.mobile-back{display:block}.members-button{font-size:11px}.conversation-header .avatar{display:none}.messages{padding:var(--space-2)}.bubble{max-width:88%}.composer{padding:4px var(--space-2) max(4px,env(safe-area-inset-bottom))}.composer textarea{font-size:16px}.privacy-note{padding:0 10px;font-size:9px;line-height:1.5}.modal{max-height:90dvh;padding:22px}.sidebar-bottom{padding-bottom:max(var(--space-2),env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.media-attachment{min-width:0;max-width:100%}.media-attachment.has-media{width:360px;max-width:100%;margin-top:8px}.media-image-open{background:var(--secondary);cursor:zoom-in;border:0;border-radius:10px;width:100%;padding:0;display:block;overflow:hidden}.media-image-open img{object-fit:contain;width:100%;max-width:100%;height:auto;max-height:380px;display:block}.media-attachment video{background:var(--media-bg);border-radius:10px;width:100%;max-width:100%;max-height:380px;display:block}.media-attachment audio{width:100%;min-width:0;max-width:100%;display:block}.media-placeholder{background:var(--secondary);min-height:72px;color:var(--placeholder);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:16px;font-size:12px;line-height:1.5;display:flex}.media-placeholder .text-button{padding:4px;font-size:12px}.media-dialog{border:1px solid var(--line);background:var(--panel);color:var(--green);border-radius:16px;width:min(1100px,100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:12px;overflow:auto}.media-dialog::backdrop{background:var(--media-backdrop)}.media-dialog-heading{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.media-dialog-heading>span{min-width:0}.media-dialog .icon-button{flex-shrink:0}.conversation-title{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:4px 0}.conversation-title h1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rename-room-button{flex-shrink:0;font-size:21px}.conversation-header .members-button{flex-shrink:0}@media (max-width:760px){.rename-room-button{min-width:var(--control-size);width:var(--control-size)}.conversation-title h1{font-size:15px}}html,body,#root,#root *{touch-action:pan-x pan-y}input,textarea,select,.composer textarea{font-size:16px}.media-zoom-controls{justify-content:center;align-items:center;gap:12px;display:flex}.media-zoom-controls .text-button{min-width:64px;padding:8px}#root .media-zoom-surface,#root .media-zoom-surface *{touch-action:none}.media-zoom-surface{cursor:grab;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:min(70dvh,760px);display:flex;overflow:hidden}.media-zoom-surface:active{cursor:grabbing}.media-zoom-surface img{object-fit:contain;transform-origin:50%;pointer-events:none;width:100%;height:100%;display:block}.history-controls{text-align:center;padding:4px 0 12px}.history-controls .secondary,.history-latest .secondary{padding:9px 14px;font-size:12px}.history-controls .error{max-width:480px;margin:0 auto 10px}.history-latest{text-align:center;background:var(--conversation);padding:8px}.composer-shortcut-hint{text-align:center;color:var(--muted);margin-top:10px;font-size:11px;display:block}.desktop-send-shortcut small{margin-top:8px;display:block}@media (max-width:760px){.desktop-send-shortcut{display:none}}.sidebar-top .wordmark{letter-spacing:-1.3px;margin-right:auto;font-size:24px}.sidebar-top .icon-button{order:2}.new-chat{background:0 0;border:0;border-radius:10px}.new-chat:hover:not(:disabled){background:var(--hover)}.sidebar-top{border-bottom:1px solid var(--line);flex-shrink:0}.sidebar-bottom{flex-shrink:0;min-height:52px}.sidebar-bottom .avatar{width:28px;height:28px;font-size:12px}.conversation-header{flex-shrink:0;gap:8px}.messenger .icon-button{min-width:var(--control-size);height:var(--control-size);flex-shrink:0}.conversation-title{min-height:var(--control-size)}.members-button{margin-left:0;font-size:24px}.message.consecutive{margin-top:3px}.messages .message-shell,.messages .message-shell.has-reactions{max-width:min(85%,var(--message-width))}.messages .message-shell>.bubble,.message .bubble{min-width:68px}.messages .message-footer{gap:5px;margin-top:2px;line-height:1.2}.composer-hint:empty{display:none}.composer textarea{resize:none;font-size:var(--font-body);max-height:var(--composer-max-size);overflow-y:auto}.send-button,.attach-control{width:var(--control-size);height:var(--control-size);min-height:var(--control-size)}@media (max-width:760px){.composer textarea{min-height:44px;padding:10px 0;font-size:16px}.messages .message-shell{max-width:92%}.messages .message-shell.has-reactions{max-width:100%}}.message-shell{align-items:flex-end;gap:7px;min-width:0;max-width:78%;display:flex;position:relative}.message-shell.has-reactions{max-width:min(100%,78% + 104px)}.message-shell>.bubble{flex:0 auto;min-width:120px;max-width:100%}.message.own .message-shell{flex-direction:row-reverse}.reaction-aside{flex:none;max-width:104px;position:relative}.reaction-row{flex-wrap:wrap;gap:4px;max-width:104px;padding-bottom:2px;display:flex}.message.own .reaction-row{justify-content:flex-end}.reaction-pill{border:1px solid var(--line);background:var(--secondary);min-height:27px;color:var(--green);border-radius:15px;justify-content:center;align-items:center;gap:4px;padding:3px 7px;font-size:10px;line-height:1.25;display:inline-flex}.reaction-pill>span:first-child{font-size:15px}.reaction-pill.is-mine{background:var(--selected);border-color:var(--own-line)}.reaction-pill:hover:not(:disabled){background:var(--own-bubble)}.reaction-actions{border:1px solid var(--line);background:var(--secondary);opacity:0;pointer-events:none;z-index:1;border-radius:12px;gap:1px;padding:2px;transition:opacity .12s;display:flex;position:absolute;bottom:0;left:0}.has-reactions .reaction-actions{bottom:calc(100% + 5px)}.message.own .reaction-actions{left:auto;right:0}.reaction-add,.reaction-details{width:29px;height:29px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.reaction-add:hover:not(:disabled),.reaction-details:hover{background:var(--hover)}.message-shell:has(:focus-visible) .reaction-actions{opacity:1;pointer-events:auto}@media (hover:hover) and (pointer:fine){.message-shell:hover .reaction-actions{opacity:1;pointer-events:auto}}.reaction-picker{border:1px solid var(--line);background:var(--panel);color:var(--green);width:340px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);box-shadow:0 8px 30px var(--dialog-shadow);border-radius:17px;margin:0;padding:7px;position:fixed;inset:auto;overflow:auto}.reaction-picker::backdrop{background:var(--popover-backdrop)}.reaction-options{grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;display:grid}.reaction-options button{background:0 0;border:0;border-radius:10px;place-items:center;min-width:0;height:40px;padding:0;font-size:23px;display:grid}.reaction-options button:hover,.reaction-options button[aria-pressed=true]{background:var(--own-bubble)}.reaction-picker-details{border:0;border-top:1px solid var(--line);width:100%;color:var(--muted);background:0 0;margin-top:6px;padding:9px 6px 3px;font-size:12px;display:block}.reaction-dialog{width:min(360px,100vw - 32px)}.reaction-people,.reaction-people ul{margin:0;padding:0;list-style:none}.reaction-people>li{border-top:1px solid var(--line);align-items:flex-start;gap:16px;padding:12px 0;display:flex}.reaction-people-emoji{font-size:26px;line-height:1.3}.reaction-people ul{min-width:0}.reaction-people ul li{overflow-wrap:anywhere;font-size:14px;line-height:1.7}.reaction-people small{color:var(--muted)}@media (max-width:760px){.message-shell{max-width:88%}.message-shell.has-reactions{max-width:100%}.reaction-aside,.reaction-row{max-width:78px}.reaction-actions{bottom:calc(100% + 5px);left:auto;right:0}.message.own .reaction-actions{left:0;right:auto}}@media (hover:none),(pointer:coarse){.reaction-actions{opacity:0;pointer-events:none}.reaction-actions:has(:focus-visible){opacity:1;pointer-events:auto}.reaction-options button{height:44px}.reaction-pill{min-height:30px}}.message-shell:focus,.reaction-picker:focus{outline:none}.reaction-actions,.reaction-picker,.reaction-pill{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.message-action-menu{border-radius:12px;width:max-content;padding:4px}.message-action-menu[open]{gap:2px;display:flex}.message-action-menu .message-reply-action,.message-action-menu .reaction-add,.message-action-menu .reaction-details{width:44px;min-width:44px;height:44px}@media (hover:none),(pointer:coarse){.message-shell>.bubble{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.message-shell .media-attachment{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}}@media (hover:hover) and (pointer:fine){.message-shell>.bubble{min-height:var(--message-actions-height)}.message-shell:not(.has-reactions) .reaction-aside{position:relative}.message-shell .reaction-actions{left:0;right:auto}.message.own .message-shell .reaction-actions{left:auto;right:0}.message-shell:not(.has-reactions) .reaction-actions{bottom:0}.message-shell.has-reactions .reaction-actions{bottom:0;left:calc(100% + 7px)}.message-shell.has-reactions .reaction-actions:before{content:"";width:8px;position:absolute;top:-1px;bottom:-1px;left:-8px}.message.own .message-shell.has-reactions .reaction-actions:before{left:auto;right:-8px}.message.own .message-shell.has-reactions .reaction-actions{left:auto;right:calc(100% + 7px)}.message-shell,.messages .message-shell{max-width:min(85%,var(--message-width),calc(100% - var(--message-actions-width)))}.message-shell.has-reactions,.messages .message-shell.has-reactions{max-width:min(85%,var(--message-width),calc(100% - var(--message-details-width)))}}@media (hover:none),(pointer:coarse){.message-shell:not(.has-reactions) .reaction-aside{position:static}.message-shell:not(.has-reactions) .reaction-actions{left:0;right:auto}.message.own .message-shell:not(.has-reactions) .reaction-actions,.message-shell.has-reactions .reaction-actions{left:auto;right:0}.message.own .message-shell.has-reactions .reaction-actions{left:0;right:auto}}.reply-preview{text-align:left;border:0;border-left:3px solid var(--accent-text);background:var(--secondary);width:100%;min-width:0;color:var(--text);border-radius:5px;margin:0 0 9px;padding:8px 10px;display:block;overflow:hidden}.reply-preview strong{color:var(--accent-text);margin-bottom:4px;font-size:11px;display:block}.reply-preview span{-webkit-line-clamp:3;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.reply-preview small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.composer-reply{align-items:center;gap:8px;max-height:130px;margin-bottom:10px;display:flex}.composer-reply .reply-preview{flex:1;margin:0}.composer-reply>.icon-button{flex-shrink:0}.message-reply-action{min-width:29px;height:29px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;padding:0;font-size:18px;display:grid}.message-reply-action:hover{background:var(--hover)}.message-shell.has-quote-selection .reaction-actions{opacity:1;pointer-events:auto}.quote-source{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;border:1px solid var(--line);background:var(--secondary);border-radius:10px;max-height:50dvh;padding:14px;font-size:16px;line-height:1.7;overflow:auto}.quote-dialog>.primary{width:100%}.message.reply-highlight .bubble{outline:2px solid var(--accent-text);outline-offset:3px}@media (max-width:760px),(hover:none),(pointer:coarse){.reply-preview span{-webkit-line-clamp:2}}.unread-badge{background:var(--send);min-width:22px;height:22px;color:var(--on-send);font-variant-numeric:tabular-nums;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.sidebar-label>span{align-items:center;gap:8px;display:flex}.sidebar-label .unread-badge{letter-spacing:0;min-width:20px;height:20px;font-size:10px}.room-item.has-unread .room-preview>strong{font-weight:800}.room-item.has-unread .room-preview>span{color:var(--accent-text)}.room-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:7px;display:flex}.message-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;margin-top:5px;display:flex}.bubble .message-footer time{margin-top:0}.message-status{color:var(--muted);flex-shrink:0;align-items:center;display:inline-flex}.message-status.is-read{color:var(--accent-text)}.message-status svg{width:16px;height:13px;display:block}.message-status.is-read svg{width:22px}.messages .message-footer{white-space:nowrap;flex-wrap:nowrap}.messages .bubble.inline-footer{align-items:baseline;column-gap:var(--space-2);flex-wrap:wrap;row-gap:2px;display:flex}.messages .bubble.inline-footer .message-text{min-width:0;max-width:100%}.messages .bubble.inline-footer .sender-name,.messages .bubble.inline-footer .reply-preview{flex:0 0 100%;min-width:0}.messages .bubble.inline-footer .sender-name{margin-bottom:1px}.messages .bubble.inline-footer .message-footer{font-size:var(--font-caption);flex:none;align-self:flex-end;margin-top:0;margin-left:auto}@media (max-width:760px){.messenger{position:relative}.has-selection[data-back-swipe]>.sidebar{transform:translate3d(calc((var(--back-swipe-offset,0px) - 100vw) * .25), 0, 0);pointer-events:none;display:flex;position:absolute;inset:0}.has-selection[data-back-swipe]>.conversation{z-index:1;transform:translate3d(var(--back-swipe-offset,0px), 0, 0);box-shadow:-12px 0 28px var(--swipe-shadow);will-change:transform;-webkit-user-select:none;user-select:none;position:relative}.has-selection[data-back-swipe=settling]>.conversation,.has-selection[data-back-swipe=settling]>.sidebar{transition:transform .18s ease-out}}@media (prefers-reduced-motion:reduce){.has-selection[data-back-swipe=settling]>.conversation,.has-selection[data-back-swipe=settling]>.sidebar{transition:none}}.chat-browser{flex:1;min-width:0;min-height:0;display:flex}.chat-filters{width:var(--rail-size);flex-direction:column;flex:0 0 var(--rail-size);border-right:1px solid var(--line);gap:4px;padding:8px 4px;display:flex;overflow-y:auto}.chat-filter{min-width:0;min-height:60px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;padding:8px 2px;font-size:9px;font-weight:600;display:flex;position:relative}.chat-filter:hover{background:var(--hover)}.chat-filter[aria-pressed=true]{background:var(--selected);color:var(--green)}.chat-filter svg{flex-shrink:0;width:22px;height:22px;display:block}.chat-filter .unread-badge{min-width:18px;max-width:100%;height:18px;padding:0 4px;font-size:10px;position:absolute;top:2px;right:0;overflow:hidden}.room-preview{flex:1}.room-preview>.room-title{color:inherit;align-items:center;gap:4px;display:flex}.room-kind{color:var(--muted);flex-shrink:0;display:inline-flex}.room-kind svg{width:14px;height:14px;display:block}.dm-kind{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.room-title strong{min-width:0}.room-item.has-unread .room-title strong{font-weight:750}.room-time{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.room-item.has-unread .room-time{color:var(--accent-text)}@media (max-width:760px){.chat-browser{flex-direction:column}.chat-filters{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex:none;gap:4px;width:auto;padding:4px 8px;overflow-y:visible}.chat-filter{min-height:var(--control-size);flex-direction:row;flex:1;gap:6px;padding:4px 6px;font-size:11px}.chat-filter svg{display:none}.chat-filter .unread-badge{max-width:32px;position:static}}
