.personal-qr,.qr-scanner{display:flex;flex-direction:column;gap:12px;min-width:0;max-width:100%}.personal-qr{gap:20px;padding:24px 20px;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-1)}.personal-qr-identity{display:flex;align-items:center;gap:13px;min-width:0}.personal-qr-identity .personal-qr-avatar{width:54px;height:54px;border-radius:50%;font-size:22px;flex:0 0 54px}.personal-qr-identity>div:last-child{display:grid;gap:6px;min-width:0;flex:1}.personal-qr-identity strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:17px;line-height:1.4;color:var(--fg)}.personal-qr .qr-username{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;color:var(--fg-3);font-size:12px;line-height:1.5}.personal-qr>img{align-self:center;display:block;width:256px;max-width:100%;height:auto;border-radius:14px;background:#fff;padding:8px}.personal-qr .personal-qr-hint{margin:0;text-align:center;font-size:12px;line-height:1.7;color:var(--fg-3)}.personal-qr .personal-qr-save{align-self:center;width:100%;max-width:256px;min-height:44px;padding:10px 16px;border:0;border-radius:var(--r-ctl);background:var(--accent);color:#fff;font-size:14px;cursor:pointer}.personal-qr .personal-qr-save:disabled{opacity:.55;cursor:default}.qr-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.qr-actions button,.qr-actions a,.qr-actions .qr-image-picker,.qr-close{border:0;border-radius:var(--r-ctl);padding:10px 14px;background:var(--surface-2);color:var(--fg);font-size:13px;text-decoration:none;text-align:center;line-height:1.5}.qr-actions button.primary{background:var(--accent);color:#fff}.qr-actions a{color:var(--accent)}.qr-actions .qr-image-picker{position:relative;display:block;overflow:hidden;cursor:pointer}.qr-image-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}.qr-image-picker:focus-within{outline:2px solid var(--accent);outline-offset:2px}.qr-preview{position:relative;min-height:210px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-card);display:grid;place-items:center;overflow:hidden}.qr-preview>video{width:100%;max-height:340px;object-fit:contain;background:#111}.qr-preview>video[hidden]{display:none}.qr-preview>p{padding:20px;text-align:center;line-height:1.9;color:var(--fg-2);font-size:15px}.qr-preview small{font-size:12px;color:var(--fg-3)}.qr-preview>span{position:absolute;padding:10px;background:var(--glass);border-radius:8px;font-size:13px;color:var(--fg-2)}.qr-scanner .form-error,.personal-qr .form-error{overflow-wrap:anywhere}.qr-close{align-self:flex-end}.qr-actions>*{max-width:100%}@media(max-width:420px){.qr-actions>*{flex:1}.qr-preview{min-height:190px}.qr-preview>video{max-height:280px}}.personal-qr .personal-qr-download{background:var(--surface-2);color:var(--fg)}.personal-qr-share-preview{display:block;width:256px;max-width:100%;height:auto;margin:0 auto;border-radius:14px;background:#fff;padding:8px}.personal-qr-share .direct-share-list label:has(input:disabled){opacity:.55}.identity-badges{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;max-width:100%;vertical-align:middle}.identity-badge{display:inline-block;flex:0 0 auto;border-radius:6px;padding:1px 5px;font-size:10px;line-height:1.5;white-space:nowrap}.identity-name{display:flex;align-items:center;gap:5px;min-width:0;max-width:100%}.identity-name>:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-identity{flex:1}.group-member-name-line{flex-direction:column;align-items:center;justify-content:center;width:100%;gap:3px}.group-member-name-line>:first-child{max-width:100%}.group-member-name-line .identity-badge{font-size:9px;padding:1px 3px}.profile-me-identity>.identity-name{display:flex}.contact-open>.identity-name,.group-member-grid .group-member-tile>.group-member-name-line{display:flex}.identity-owner{color:#9a6400;background:#fff4d6}.identity-admin{color:var(--accent-strong);background:var(--accent-soft)}.identity-bot{color:#0f766e;background:#ccfbf1}:root[data-theme=dark] .identity-owner{color:#fcd34d;background:#3a2a14}:root[data-theme=dark] .identity-bot{color:#5eead4;background:#134e4a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .identity-owner{color:#fcd34d;background:#3a2a14}:root:not([data-theme=light]) .identity-bot{color:#5eead4;background:#134e4a}}.identity-svip-quarterly{color:#624200;background:linear-gradient(110deg,#e9be53,#fff0ac,#ddb043);border:1px solid #d8ad48;font-style:italic;letter-spacing:.3px}.identity-svip-annual{color:#f3d991;background:linear-gradient(110deg,#151515,#424242,#161616);border:1px solid #5b4e35;font-style:italic;letter-spacing:.3px}.message-identity{display:flex;align-items:center;gap:5px;flex-wrap:wrap;max-width:100%;margin:0 0 3px 10px;line-height:1.4}.message-author-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--accent-strong)}.message-row.mine .message-identity{justify-content:flex-end;margin-right:10px;margin-left:0}.group-member-tile>.group-member-name{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center}.group-member-grid .group-member-tile>.identity-badges{display:flex;width:auto;justify-content:center;white-space:normal;overflow:visible;margin-top:-3px}.group-person-name>.identity-badges{margin-top:4px}.group-drawer-backdrop{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.group-drawer{width:min(420px,100%);height:100%;min-height:0;background:var(--bg-2);box-shadow:var(--shadow-3);display:flex;flex-direction:column;color:var(--fg);font-size:14px;isolation:isolate;animation:group-drawer-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes group-drawer-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.group-drawer-header{display:flex;flex:0 0 auto;align-items:center;gap:10px;min-height:60px;padding:10px 12px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.group-drawer-header h2{flex:1;min-width:0;margin:0;font-size:17px;text-align:center;outline:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-drawer .group-icon-button,.group-header-spacer{width:40px;height:40px;flex:0 0 40px}.group-drawer .group-icon-button{display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg-2)}.group-drawer .group-icon-button:hover{background:var(--hover);color:var(--fg)}.group-drawer-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}.group-drawer button{font:inherit}.group-hero{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 20px 6px;text-align:center}.group-hero .avatar{width:88px;height:88px;border-radius:50%;font-size:34px;box-shadow:0 0 0 4px var(--surface),0 0 0 5px var(--line)}.group-hero h3{margin:8px 0 0;font-size:20px;line-height:1.3;overflow-wrap:anywhere;max-width:100%}.group-hero p{margin:0;font-size:13px;color:var(--fg-3);overflow-wrap:anywhere}.group-hero .identity-name{justify-content:center;max-width:100%}.group-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:12px 16px 6px}.group-drawer .group-quick-actions button{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;padding:8px 2px;border:0;border-radius:14px;background:transparent;color:var(--fg-2);font-size:12px}@media(hover:hover){.group-drawer .group-quick-actions button:hover:not(:disabled){background:var(--hover)}}.group-quick-actions .group-quick-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--surface);color:var(--accent);box-shadow:var(--shadow-1);transition:background .15s ease,color .15s ease}.group-quick-actions button[aria-pressed=true] .group-quick-icon{background:var(--accent);color:var(--on-accent)}.group-quick-actions button[aria-pressed=true]{color:var(--accent-strong)}.group-quick-actions button span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-drawer .group-members-overview{background:var(--surface);padding:18px 16px 12px;margin:12px 16px;border-radius:var(--r-card);box-shadow:var(--shadow-1)}.group-member-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 6px}.group-member-tile{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;font-size:11px;color:var(--fg-2)}.group-drawer .group-member-profile{border:0;padding:0;background:transparent;font-size:11px;border-radius:12px}.group-member-tile>span:last-child{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center}.group-member-grid .avatar,.group-member-icon{width:48px;height:48px;border-radius:50%;font-size:20px}.group-member-action{padding:0;border:0;background:transparent}.group-member-icon{display:grid;place-items:center;border:1.5px dashed var(--fg-4);color:var(--fg-3);background:transparent}.group-member-action:hover .group-member-icon{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.group-drawer .group-all-members{width:100%;display:flex;align-items:center;justify-content:center;gap:3px;margin:14px 0 0;padding:8px 0;border:0;background:transparent;color:var(--accent);font-size:13px;border-radius:10px}.group-drawer .group-all-members:hover{background:var(--hover)}.group-member-count{text-align:center;color:var(--fg-3);font-size:11px;margin:5px 0 0}.group-drawer .group-capacity-link{padding:5px 0;border:0;background:transparent;color:var(--accent);cursor:pointer;font-size:inherit}.group-settings-section{margin:12px 16px;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-1);overflow:hidden}.group-drawer .group-settings-row{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:14px 16px;border:0;border-bottom:1px solid var(--line-2);border-radius:0;background:var(--surface);color:var(--fg);text-align:left;font-size:14px}.group-settings-row:last-child{border-bottom:0}.group-settings-row>span:first-child{flex:0 0 auto}@media(hover:hover){.group-drawer button.group-settings-row:hover:not(:disabled){background:var(--hover)}}.group-row-value{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--fg-3);font-size:13px}.group-settings-row svg{flex:0 0 auto;color:var(--fg-4)}.group-settings-row .badge{margin-left:auto}.group-media-search{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 16px 16px}.group-drawer .group-media-search button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;padding:12px 6px;border:0;border-radius:12px;background:var(--surface-2);color:var(--fg-2);font-size:12px}.group-drawer .group-media-search button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-strong)}.group-drawer .group-preference{justify-content:space-between;cursor:pointer}.group-preference input[type=checkbox]{appearance:none;position:relative;flex:0 0 46px;width:46px;height:28px;margin:0;border:0;border-radius:14px;background:var(--surface-3);cursor:pointer;transition:background .15s}.group-preference input[type=checkbox]:before{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s}.group-preference input[type=checkbox]:checked{background:var(--accent)}.group-preference input[type=checkbox]:checked:before{transform:translate(18px)}.group-preference input[type=checkbox]:disabled{opacity:.55;cursor:default}.group-section-note{margin:6px 20px 10px;color:var(--fg-3);font-size:12px;line-height:1.7;overflow-wrap:anywhere}.group-drawer .group-leave{display:block;width:calc(100% - 32px);border:0;background:var(--surface);border-radius:var(--r-card);padding:16px 20px;margin:20px 16px 0;text-align:center;box-shadow:var(--shadow-1)}.group-drawer .group-leave:hover{background:var(--danger-soft)}.group-drawer .group-feedback{padding:12px 20px;margin:0;background:var(--danger-soft);color:var(--danger-strong);line-height:1.6;font-size:13px;overflow-wrap:anywhere}.group-drawer .group-notice{background:var(--good-soft);color:var(--good-strong)}.group-edit-page{padding:20px 16px}.group-drawer label:not(.group-settings-row):not(.group-invite-person){display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--fg-2)}.group-drawer input:not([type=checkbox]),.group-drawer textarea{width:100%;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);color:var(--fg);font:inherit;line-height:1.6}.group-drawer input:not([type=checkbox]):focus,.group-drawer textarea:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.group-drawer textarea{resize:vertical;min-height:160px;max-height:55dvh}.group-edit-page .group-section-note{margin:12px 0 22px}.group-edit-page>.primary{width:100%;padding:13px}.group-edit-page>button:not(.primary){border:0;border-radius:var(--r-ctl);padding:11px 14px;background:var(--surface-2);color:var(--fg)}.group-readonly-text{padding:16px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;background:var(--surface);border-radius:var(--r-card)}.group-search-bar{display:flex;align-items:flex-end;gap:10px;padding:16px 16px 12px}.group-search-bar>label{flex:1;min-width:0}.group-drawer .group-link-button{border:0;background:transparent;border-radius:8px;padding:9px 0;color:var(--accent);font-size:12px;line-height:1.5}.group-search-bar>.group-link-button{flex:0 0 auto;max-width:68px}.group-member-list,.group-invite-list{background:var(--surface);margin:0 16px;padding:0 14px;border-radius:var(--r-card);box-shadow:var(--shadow-1)}.group-edit-page .group-member-list{margin:12px 0}.group-member-list .person{display:flex;flex-wrap:nowrap;gap:11px;padding:12px 0;min-width:0}.group-member-list .person:last-child{border-bottom:0}.group-member-list .avatar,.group-invite-list .avatar{width:42px;height:42px;border-radius:50%;font-size:16px}.group-member-list .person>.group-person-name{flex:1;min-width:0}.group-member-list strong,.group-invite-person strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.group-member-list small,.group-invite-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-3);font-size:11px;line-height:1.7;margin-top:3px}.group-member-list .person>button{flex:0 0 auto;padding:7px 11px;background:var(--surface-2);font-size:12px;border-radius:var(--r-pill);border:0;color:var(--fg)}.group-member-list .group-moderation-button{min-width:64px;color:var(--accent)}.group-member-list .group-member-muted{color:var(--danger)}.group-drawer .group-load-more{display:block;width:calc(100% - 32px);margin:8px 16px;border:0;background:var(--surface);border-radius:var(--r-card);color:var(--accent);font-size:13px;padding:14px}.group-invite-person{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-2);cursor:pointer}.group-invite-person:last-child{border-bottom:0}.group-invite-person input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:var(--accent);margin:0}.group-invite-person>span{min-width:0;flex:1}.group-invite-person:has(input:disabled){opacity:.55;cursor:default}.group-page-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);margin-top:16px}.group-page-footer>span{font-size:12px;color:var(--fg-3);white-space:nowrap}.group-page-footer .primary{padding:10px 16px;font-size:13px}.group-empty{padding:30px 20px;text-align:center;color:var(--fg-3);font-size:13px}.group-qr-page{display:flex;flex-direction:column;align-items:center;gap:16px;margin:20px 16px;padding:24px 16px;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-1)}.group-qr-page h3{margin:0;font-size:16px;overflow-wrap:anywhere;max-width:100%;text-align:center}.group-qr-page img{max-width:100%;height:auto;border-radius:12px;background:#fff;padding:6px}.group-qr-page .group-section-note{margin:0;text-align:center}.group-qr-page .primary{width:100%;padding:12px}.group-qr-page details{width:100%;color:var(--fg-3);font-size:12px;text-align:center}.group-qr-page summary{cursor:pointer;padding:4px 0}.group-drawer .group-qr-link-label{margin-top:12px;text-align:left;font-size:11px}.group-history summary{padding:10px 20px;color:var(--fg-2);cursor:pointer}@media(max-width:760px){.group-drawer-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}.group-drawer{width:100%;max-width:none;height:100%;box-shadow:none;animation:group-page-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes group-page-in{0%{transform:translate(100%)}to{transform:none}}.group-drawer-header{padding-top:max(10px,env(safe-area-inset-top));min-height:calc(56px + env(safe-area-inset-top))}.group-member-grid{gap:16px 10px}.group-drawer .group-members-overview{padding:18px 14px 12px}.group-drawer-header h2{font-size:16px}.group-page-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.group-preference input[type=checkbox],.group-preference input[type=checkbox]:before{transition:none}.group-drawer{animation:none}}.group-avatar-row>.avatar{width:42px;height:42px;flex:none;margin-left:auto;font-size:18px;border-radius:50%}.group-avatar-row small{font-size:11px;color:var(--fg-3)}.group-avatar-preview{width:160px;height:160px;align-self:center;overflow:hidden;border-radius:50%;background:var(--surface-2);margin:0 auto}.group-avatar-preview>img,.group-avatar-preview>.avatar{width:100%;height:100%;object-fit:cover;font-size:56px;border-radius:50%}.group-avatar-editor{display:flex;flex-direction:column;gap:12px}.group-avatar-editor>small{color:var(--fg-3);line-height:1.6}.group-avatar-editor>p{margin:0;color:var(--fg-2);font-size:13px}.group-subheading{margin:20px 4px 6px;font-size:15px;font-weight:600;color:var(--fg)}.group-setting-hint{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--fg-2,#5a6578)}.bubble .chat-web-link{display:inline;padding:0;margin:0;min-width:0;min-height:0;border:0;border-radius:0;background:transparent;color:var(--accent-strong);font:inherit;line-height:inherit;text-align:inherit;white-space:inherit;overflow-wrap:anywhere;word-break:break-word;vertical-align:baseline;cursor:pointer;box-shadow:none;transform:none;transition:opacity .15s;text-decoration:underline;text-underline-offset:2px;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.bubble .chat-web-link:hover,.bubble .chat-web-link:active{background:transparent;box-shadow:none;transform:none;opacity:.8}.bubble .chat-web-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(prefers-reduced-motion:reduce){.bubble .chat-web-link{transition:none}}.external-link-confirm{max-width:420px}.external-link-confirm .external-link-host{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:16px;word-break:break-all}.external-link-confirm .external-link-url{margin:6px 0 0;font-size:13px;color:var(--fg-2,#5a6578);word-break:break-all;max-height:5.6em;overflow:auto}.external-link-confirm .external-link-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}.external-link-confirm .external-link-actions button{min-width:88px;min-height:44px}.website-list{min-width:0}.website-list .profile-subpage-header>button:last-child{justify-self:end}.website-list-note{margin:0;color:var(--fg-3);font-size:12px;line-height:1.7}.website-list-items{display:grid;gap:1px;background:var(--line);border-radius:var(--r-card);overflow:hidden}.website-list-items>button{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:17px 12px;border:0;background:var(--surface);color:var(--fg);text-align:left;cursor:pointer}.website-list-items>button>svg{flex-shrink:0;color:var(--accent)}.website-list-items>button>span{display:grid;gap:5px;flex:1;min-width:0}.website-list-items strong{font-size:15px;overflow-wrap:anywhere}.website-list-items small{color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.website-browser{position:fixed;inset:0;z-index:1800;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-2);color:var(--fg);outline:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box;overflow:hidden}.website-browser button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:7px 11px;border:0;border-radius:10px;background:var(--surface-2);color:var(--fg);font:inherit;font-size:12px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.website-browser button:disabled{opacity:.45;cursor:default}.website-browser button:focus-visible,.website-browser canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.website-browser-header{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0}.website-browser-header>button{background:transparent;flex-shrink:0}.website-browser-navigation{display:flex;gap:6px;padding:4px 8px;background:var(--surface);border-top:1px solid var(--line);flex-shrink:0}.website-browser-navigation>button{flex:1;min-width:0}.website-browser-load-error{position:absolute;left:12px;right:12px;top:12px;padding:12px;background:var(--danger-soft);color:var(--danger-strong);border-radius:10px;font-size:13px;line-height:1.6;pointer-events:none}.website-browser-load-error p{margin:0 0 4px}.website-browser-load-error span{font-size:12px}.website-browser-resolving .website-browser-placeholder small{max-width:100%;color:var(--fg-3);line-height:1.6}.website-browser-stage{flex:1;min-height:0;min-width:0;position:relative;overflow:hidden;background:var(--surface-3)}.website-browser-stage canvas{display:block;width:100%;height:100%;object-fit:contain;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline:none}.website-browser-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;background:var(--surface-2);color:var(--fg-2);overflow:auto;pointer-events:none}.website-browser-placeholder p{max-width:500px;line-height:1.6;font-size:14px;overflow-wrap:anywhere}.website-browser-editables{position:absolute;inset:0;overflow:hidden;pointer-events:none}.website-browser .website-native-edit{position:absolute;box-sizing:border-box;min-width:0;min-height:0;margin:0;padding:2px 4px;border:0;border-radius:0;background:transparent;color:transparent;caret-color:transparent;font:16px/1.35 sans-serif;resize:none;outline:none;box-shadow:none;pointer-events:auto;touch-action:pan-x;-webkit-tap-highlight-color:transparent}.website-browser .website-native-edit::placeholder{color:transparent}.website-browser .website-native-edit:focus{background:var(--website-edit-background);color:var(--website-edit-color);caret-color:var(--website-edit-color);outline:none;box-shadow:none}.website-browser .website-native-edit:focus::placeholder{color:var(--website-edit-color);opacity:.5}.website-browser-error{position:absolute;left:16px;right:16px;bottom:8px;margin:0;padding:9px 12px;border-radius:8px;background:var(--danger-soft);color:var(--danger-strong);font-size:12px;pointer-events:none}@media(max-width:760px){.website-list{padding-bottom:90px}.website-browser{top:var(--ast-viewport-top,0px);height:var(--ast-viewport-height,100dvh);bottom:auto}.website-browser-header{padding:8px 10px}}@media(max-width:760px){.website-browser-stage canvas{height:auto}}.website-window-title{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.website-browser-floating{inset:auto;left:var(--website-window-left,8px);top:var(--website-window-top,8px);width:var(--website-window-width,320px);height:var(--website-window-height,420px);padding:0;z-index:18;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-3)}.website-browser-floating .website-browser-header{gap:2px;padding:3px 5px}.website-browser-floating .website-browser-header>button{min-height:40px;min-width:40px;padding:6px}.website-browser-floating .website-window-drag{flex:1;min-width:0;cursor:move;touch-action:none;user-select:none;-webkit-user-select:none}.website-window-drag span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.website-browser-floating .website-browser-stage canvas{height:100%;width:100%;object-fit:contain}@media(any-pointer:coarse){.website-browser:not(.website-browser-floating){top:var(--ast-viewport-top,0px);height:var(--ast-viewport-height,100dvh);bottom:auto}}.empty-chat-brand{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--fg-3);max-width:100%;padding:24px}.empty-chat-brand .empty-brand-icon{width:112px;height:112px;object-fit:cover;border-radius:24px}.empty-chat .empty-chat-brand h2{margin:0;color:inherit;line-height:0}.empty-chat-brand .empty-wordmark{display:block;width:174px;height:48px;max-width:100%;fill:var(--fg-2);stroke:none;font:650 34px Segoe UI,Arial,sans-serif}.profile-page.feedback-page{gap:0;padding:0 0 28px;background:var(--bg-2)}.profile-page.feedback-page .profile-subpage-header{flex-shrink:0;padding:10px 16px 10px 12px;background:var(--glass)}.profile-page.feedback-page form{flex-shrink:0;min-width:0;margin:18px 16px;gap:12px}.feedback-page form>label{font-size:15px;color:var(--fg)}.profile-page.feedback-page textarea{min-height:170px;max-height:360px;min-width:0;font-size:16px;line-height:1.6}.feedback-page .feedback-count{align-self:flex-end;font-size:12px;color:var(--fg-3)}.feedback-page form>.primary{padding:13px;font-size:15px}.feedback-page form>p{overflow-wrap:anywhere;line-height:1.7}.feedback-inbox-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px}.feedback-inbox-tools button{flex-shrink:0;border:0;background:transparent;color:var(--accent);padding:8px 0}.feedback-inbox>p{margin:0 16px 16px}.feedback-inbox-list{display:grid;gap:12px;margin:0 16px;min-width:0}.feedback-inbox-list article{min-width:0;padding:16px;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-1)}.feedback-inbox-list header{display:grid;gap:4px;font-size:14px;overflow-wrap:anywhere}.feedback-inbox-list time{font-size:11px;color:var(--fg-3)}.feedback-inbox-list article>p{margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}@media(max-width:760px){.profile-page.feedback-page{padding-bottom:var(--tabbar-space)}.profile-page.feedback-page .profile-subpage-header{padding-top:calc(10px + env(safe-area-inset-top))}}.profile-page{display:flex;flex-direction:column;gap:20px;padding-bottom:28px}.profile-avatar,.scanned-contact{display:flex;flex-direction:column;align-items:center;gap:10px}.avatar.profile-avatar-image{width:88px;height:88px;font-size:32px;border-radius:50%}.profile-page small,.scanned-contact small{color:var(--fg-3);font-size:12px}.profile-page form{display:flex;flex-direction:column;gap:12px}.profile-page label{display:grid;gap:8px;font-size:13px;color:var(--fg-2)}.profile-page input:not([type=file]),.profile-page textarea{font:inherit;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);color:var(--fg)}.profile-page textarea{resize:vertical;min-height:90px}.profile-page .profile-count{align-self:flex-end}.profile-page section{border-bottom:1px solid var(--line-2);padding-bottom:18px}.profile-page p{margin:0}.profile-avatar button,.scanned-contact button:not(.primary){border:0;border-radius:var(--r-ctl);padding:10px 14px;background:var(--surface-2);color:var(--fg)}.profile-bio{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;color:var(--fg-2);text-align:center}.scanned-contact strong{font-size:18px}.scanned-contact .primary{width:100%;min-height:46px}.message-row.mine{flex-direction:row-reverse;justify-content:flex-start}.invitation-card{display:flex;flex-direction:column;gap:12px;width:min(330px,100%);max-width:100%;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--fg);white-space:normal}.mine .invitation-card{color:var(--fg)}.invitation-card-header{display:flex;align-items:center;gap:10px;min-width:0}.invitation-card-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong)}.invitation-card-heading{display:grid;gap:3px;min-width:0}.invitation-card-heading small{color:var(--fg-3);font-size:11px;line-height:1.2}.invitation-card-heading strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere}.invitation-card-meta{display:flex;flex-direction:column;gap:5px;padding:10px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);color:var(--fg-2);font-size:12px;line-height:1.45}.invitation-card-expiry{display:flex;align-items:center;gap:5px;color:var(--fg-3);font-size:11px}.invitation-card-actions{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:8px}.invitation-card button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 10px;border:1px solid transparent;border-radius:var(--r-ctl);font-size:13px;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.invitation-card button:active{transform:translateY(1px)}.invitation-card button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.invitation-card button:disabled{cursor:default;opacity:.6;transform:none}.invitation-card-accept{background:var(--accent);color:#fff}.invitation-card-accept:hover:not(:disabled){background:var(--accent-strong)}.invitation-card-decline{border-color:var(--line)!important;background:var(--surface);color:var(--fg-2)}.invitation-card-decline:hover:not(:disabled){background:var(--hover)}.invitation-card-status{display:flex;align-items:center;gap:6px;margin:0;color:var(--fg-2);font-size:12px}.invitation-card-accepted .invitation-card-status{color:var(--good-strong)}.invitation-card-declined .invitation-card-status,.invitation-card-expired .invitation-card-status,.invitation-card-unavailable .invitation-card-status{color:var(--fg-3)}.invitation-card-error{margin:0!important;padding:8px 10px;border-radius:8px;background:var(--danger-soft);color:var(--danger-strong);font-size:12px!important;line-height:1.45}.invitation-card-spin{animation:invitation-card-spin .8s linear infinite}@keyframes invitation-card-spin{to{transform:rotate(360deg)}}.message-stage .message-row.mine{flex-direction:row-reverse;justify-content:flex-start}.rail .profile-entry{padding:3px;margin-bottom:6px;border-radius:16px}.rail .profile-entry .avatar{width:38px;height:38px}.rail .profile-entry>span.nav-label{display:block;font-size:10px}.mobile-tabs .profile-entry .avatar{width:26px;height:26px;font-size:12px}.profile-paid-page{display:flex;flex-direction:column;gap:12px}.profile-paid-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:16px;display:flex;flex-direction:column;gap:10px}.profile-paid-card h3{margin:0;font-size:16px;color:var(--fg)}.profile-paid-card p{color:var(--fg-2);font-size:13px}.profile-paid-actions{display:flex;gap:8px;flex-wrap:wrap}.profile-paid-actions button,.profile-paid-order button{border:0;border-radius:var(--r-ctl);padding:9px 12px;background:var(--accent);color:#fff;cursor:pointer}.profile-paid-actions button:disabled,.profile-paid-order button:disabled{opacity:.5;cursor:not-allowed}.profile-paid-note{margin-top:3px}.profile-paid-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important;color:var(--fg)!important}.profile-paid-check input{width:20px!important;height:20px;accent-color:var(--accent)}.profile-paid-order{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line-2);padding:10px 0;font-size:13px}.profile-paid-order:first-of-type{border-top:0}.profile-paid-order button{background:var(--surface-2);color:var(--fg);padding:6px 10px}.profile-paid-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);padding:14px 16px;text-align:left;color:inherit;cursor:pointer}.profile-paid-summary-main,.profile-paid-summary-side{display:flex;align-items:flex-start;gap:4px;flex-direction:column}.profile-paid-summary-main strong{font-size:15px}.profile-paid-summary-main small,.profile-paid-summary-side small{color:var(--fg-3);font-size:12px}.profile-paid-summary-side{align-items:flex-end;flex-direction:row}.profile-paid-summary:disabled{opacity:.6;cursor:default}@media(max-width:760px){.profile-page{padding-bottom:var(--tabbar-space)}.invitation-card{width:100%;padding:13px;border-radius:14px}.invitation-card-actions{grid-template-columns:minmax(0,1fr) minmax(0,.72fr)}.invitation-card button{min-height:42px}}.utility-list.profile-me-home{display:flex;flex-direction:column;gap:14px;padding:0 16px 24px;background:var(--bg-2)}.profile-me-home .profile-me-card{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;min-width:0;margin:0;padding:28px 20px 20px;background:transparent;text-align:center}.profile-me-card .profile-me-avatar{width:88px;height:88px;border-radius:50%;font-size:34px;box-shadow:0 0 0 4px var(--surface),0 0 0 5px var(--line)}.profile-me-identity{display:grid;gap:6px;min-width:0;max-width:100%;justify-items:center;margin-top:6px}.profile-me-identity .identity-name{justify-content:center;max-width:100%}.profile-me-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:22px;line-height:1.35;color:var(--fg)}.profile-me-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--fg-3);line-height:1.5}.profile-me-identity .profile-me-bio{margin:2px 0 0;font-size:13px;line-height:1.6;color:var(--fg-2);white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.profile-me-buttons{display:flex;gap:10px;margin-top:12px}.profile-me-card .profile-me-edit,.profile-me-card .profile-me-qr{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 18px;border:0;border-radius:var(--r-pill);background:var(--surface);color:var(--accent-strong);font-size:14px;box-shadow:var(--shadow-1);cursor:pointer}.profile-me-card .profile-me-edit{background:var(--accent);color:var(--on-accent)}.profile-me-card .profile-me-edit:hover{background:var(--accent-strong)}.profile-me-card .profile-me-qr:hover{background:var(--accent-soft)}.profile-me-card .profile-me-edit svg,.profile-me-card .profile-me-qr svg{width:17px;height:17px}.profile-me-actions{background:var(--surface);margin:0;padding:0 6px;border-radius:var(--r-card);box-shadow:var(--shadow-1)}.profile-me-actions button{display:flex;align-items:center;gap:14px;border:0;background:transparent;width:100%;min-height:58px;padding:10px;text-align:left;font-size:15px;color:var(--fg);cursor:pointer;border-radius:12px}@media(hover:hover){.profile-me-actions button:hover:not(:disabled){background:var(--hover)}}.profile-me-actions button+button{border-top:1px solid var(--line-2);border-radius:0}.profile-me-actions button>svg:first-child{flex-shrink:0;width:38px;height:38px;padding:9px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong)}.profile-me-actions button>span{flex:1;min-width:0}.profile-me-actions button>svg:last-child{width:18px;height:18px;padding:0;background:transparent;color:var(--fg-4);flex-shrink:0}.profile-page .profile-subpage-header{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}.profile-page .profile-subpage-header h2{margin:0;text-align:center;font-size:16px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-page .profile-subpage-header button{display:flex;align-items:center;gap:2px;border:0;background:transparent;padding:8px 0;font-size:14px;color:var(--accent);cursor:pointer;border-radius:10px}.profile-page.profile-edit-page{gap:0;padding:0 0 28px;background:var(--bg-2)}.profile-edit-page .profile-subpage-header{padding-right:16px;padding-left:12px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:2}.profile-edit-page .profile-avatar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;margin:16px 16px 0;padding:14px 16px;background:var(--surface);border:0;border-radius:var(--r-card);box-shadow:var(--shadow-1)}.profile-edit-page .profile-field-label{flex:0 0 auto;font-size:15px;color:var(--fg)}.profile-edit-page .profile-avatar-change{display:flex;align-items:center;gap:10px;min-width:0;padding:0;border:0;background:transparent;color:var(--fg-3);font-size:12px}.profile-edit-page .profile-avatar-change .profile-avatar-image{width:58px;height:58px;flex:0 0 58px;border-radius:50%;font-size:24px}.profile-edit-page .profile-avatar-change>svg{flex:0 0 auto;color:var(--fg-4)}.profile-edit-page .profile-avatar-help{margin:0;padding:9px 20px 12px;font-size:11px;line-height:1.7;color:var(--fg-3)}.profile-edit-page .profile-edit-form{gap:0}.profile-edit-page .profile-edit-fields{background:var(--surface);margin:0 16px;border-radius:var(--r-card);box-shadow:var(--shadow-1);overflow:hidden}.profile-edit-page .profile-edit-fields label{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:12px;margin:0;padding:14px 16px;border-bottom:1px solid var(--line-2);font-size:15px;color:var(--fg)}.profile-edit-page .profile-edit-fields label:last-child{border-bottom:0}.profile-edit-page .profile-edit-fields .profile-bio-field{align-items:start}.profile-edit-page .profile-edit-fields label>span{line-height:1.6}.profile-edit-page .profile-edit-fields input,.profile-edit-page .profile-edit-fields textarea{min-width:0;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:var(--fg-2);font-size:15px;line-height:1.6}.profile-edit-page .profile-edit-fields input:focus,.profile-edit-page .profile-edit-fields textarea:focus{box-shadow:none;outline:none;color:var(--fg)}.profile-edit-page .profile-edit-fields input{text-align:right}.profile-edit-page .profile-edit-fields textarea{min-height:96px;max-height:240px;resize:vertical}.profile-edit-page .profile-count{margin:8px 20px 0;font-size:11px}.profile-edit-page .profile-edit-form>.primary{align-self:stretch;margin:20px 16px 0;padding:13px;font-size:15px}.profile-edit-page>.form-error,.profile-edit-page>.hint:not(.profile-avatar-help){margin:14px 20px 0;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.profile-page.profile-qr-page{gap:0;padding:0 0 28px;background:var(--bg-2)}.profile-qr-page .profile-subpage-header{padding-right:16px;padding-left:12px;background:var(--glass)}.profile-qr-page .personal-qr{flex:0 0 auto;align-self:center;width:calc(100% - 32px);max-width:360px;margin:24px 16px;border:0;padding:24px 20px}@media(max-width:760px){.utility-list.profile-me-home{padding-bottom:var(--tabbar-space)}.profile-me-home .profile-me-card{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:18px}.profile-page .profile-subpage-header{padding-top:calc(10px + env(safe-area-inset-top))}.profile-page.profile-edit-page,.profile-page.profile-qr-page{padding-bottom:var(--tabbar-space)}.profile-edit-page .profile-edit-fields input,.profile-edit-page .profile-edit-fields textarea{font-size:16px}}.profile-me-home .profile-paid-summary{position:relative;overflow:hidden;align-items:flex-start;flex-shrink:0;min-height:112px;padding:18px;border:0;border-radius:20px;background:linear-gradient(135deg,var(--accent-soft),var(--surface));color:var(--fg);box-shadow:var(--shadow-1);transition:transform .15s,box-shadow .15s}.profile-me-home .profile-paid-summary:before{display:none}.profile-me-home .profile-paid-summary:after{content:"";position:absolute;right:-30px;top:-40px;width:150px;height:150px;border-radius:50%;background:#ffffff24;pointer-events:none}.profile-me-home .profile-paid-summary--quarterly{background:linear-gradient(135deg,#f9e3a1,#e6b94a 60%,#d8a63a);color:#4a3000}.profile-me-home .profile-paid-summary--annual{background:linear-gradient(135deg,#1c1f26,#2a2f3b 55%,#141720);color:#f3d991}.profile-me-home .profile-paid-summary--paused{background:linear-gradient(135deg,#b09a6c4d,#b09a6c1f),var(--surface);color:var(--fg)}.profile-me-home .profile-paid-summary:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.profile-me-home .profile-paid-summary:focus-visible,.profile-page button:focus-visible,.profile-page input:focus-visible,.profile-page textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-paid-summary-main{gap:5px;min-width:0}.profile-paid-summary-kicker{display:inline-flex;align-items:center;min-height:20px;padding:2px 9px;border-radius:999px;background:#ffffff8c;color:inherit;font-size:10px;letter-spacing:.06em;line-height:1.3}.profile-paid-summary--annual .profile-paid-summary-kicker{background:#f3d9911f;border:1px solid rgba(243,217,145,.35)}.profile-paid-summary-main strong{font-size:18px;line-height:1.4;color:inherit}.profile-paid-summary-main small{color:inherit;opacity:.8}.profile-paid-summary-status{color:inherit!important;opacity:.9}.profile-paid-summary-side{align-self:center;white-space:nowrap;color:inherit}.profile-paid-summary-side small{color:inherit;opacity:.8}.profile-page.profile-edit-page.profile-paid-page-shell{background:var(--bg-2)}.profile-paid-page{gap:14px;max-width:760px;margin:0 auto;padding:16px 16px 30px;width:100%}.profile-paid-page>section{border-bottom:0!important;padding-bottom:0!important}.profile-paid-page>p{margin:0}.profile-paid-status-card,.profile-paid-card{border:0!important;border-radius:var(--r-card)!important;background:var(--surface);box-shadow:var(--shadow-1);padding:18px!important}.profile-paid-status-card{display:flex;flex-direction:column;gap:11px;position:relative;overflow:hidden;color:var(--fg)}.profile-paid-status-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--accent)}.profile-paid-status-card--quarterly{background:linear-gradient(160deg,#fff7df,var(--surface) 60%)}.profile-paid-status-card--quarterly:before{background:#d8a63a}.profile-paid-status-card--annual{background:linear-gradient(160deg,#2a2f3b,#1c1f26);color:#f3d991}.profile-paid-status-card--annual:before{background:#f3d991}.profile-paid-status-card--annual .identity-svip-annual,.profile-me-home .profile-paid-summary--annual .identity-svip-annual{border-color:#a8945c}.profile-paid-status-card--annual p,.profile-paid-status-card--annual .profile-paid-eyebrow,.profile-paid-status-card--annual .profile-paid-status-meta{color:#d9cfae}.profile-paid-status-card--annual h3,.profile-paid-status-card--annual .profile-paid-status-meta strong{color:#f3d991}.profile-paid-status-card--paused{background:linear-gradient(160deg,#b09a6c38,#b09a6c0f),var(--surface)}.profile-paid-status-card--paused:before{background:#9a8660}.profile-paid-status-head,.profile-paid-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.profile-paid-eyebrow{display:block;color:var(--fg-3);font-size:11px;letter-spacing:.05em;line-height:1.5}.profile-paid-status-card h3,.profile-paid-card h3{margin:0;color:var(--fg);font-size:18px;line-height:1.45}.profile-paid-status-card p,.profile-paid-card p{margin:0;color:var(--fg-2);font-size:13px;line-height:1.7}.profile-paid-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:5px 10px;border-radius:999px;background:var(--surface-2);color:var(--fg-2);font-size:11px;letter-spacing:.08em}.profile-paid-status-meta{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--line-2);color:var(--fg-3);font-size:12px}.profile-paid-status-meta strong{color:var(--fg);font-size:13px}.profile-paid-status-actions,.profile-paid-actions{display:flex;flex-wrap:wrap;gap:8px}.profile-paid-status-actions button,.profile-paid-actions button,.profile-paid-order button{min-height:38px;padding:9px 14px;border:0;border-radius:var(--r-pill);font:inherit;font-size:12px;line-height:1.35;cursor:pointer}.profile-paid-primary,.profile-paid-actions button{background:var(--accent);color:#fff}.profile-paid-secondary,.profile-paid-status-actions .profile-paid-secondary{background:var(--accent-soft);color:var(--accent-strong)}.profile-paid-status-card--annual .profile-paid-primary{background:#f3d991;color:#2a2410}.profile-paid-status-card--annual .profile-paid-secondary{background:#ffffff1f;color:#f3d991}.profile-paid-status-card--quarterly .profile-paid-primary{background:#b8862b;color:#fff}.profile-paid-status-card--paused .profile-paid-primary{background:#8e7a4e;color:#fff}.profile-paid-status-actions button:disabled,.profile-paid-actions button:disabled,.profile-paid-order button:disabled{opacity:.48;cursor:not-allowed}.profile-paid-section-heading h3{margin-top:2px;font-size:16px}.profile-paid-section-value{align-self:center;color:var(--fg-2);font-size:12px;white-space:nowrap}.profile-paid-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.profile-paid-stat-grid>div{min-width:0;padding:11px 10px;border-radius:12px;background:var(--surface-2)}.profile-paid-stat-grid span,.profile-paid-stat-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-paid-stat-grid span{color:var(--fg-3);font-size:11px}.profile-paid-stat-grid strong{margin-top:4px;color:var(--fg);font-size:15px}.profile-paid-progress{height:9px;margin-top:15px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.profile-paid-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}.profile-paid-quota-card .profile-paid-progress{background:var(--surface-2)}.profile-paid-quota-card .profile-paid-progress span{background:linear-gradient(90deg,var(--accent),#7fb0ff)}.profile-paid-quota-meta{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:var(--fg-2);font-size:12px}.profile-paid-quota-card>p{margin-top:10px;font-size:11px}.profile-paid-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.profile-paid-price-grid--single{grid-template-columns:minmax(0,1fr)}.profile-paid-price-card{display:flex;flex-direction:column;gap:4px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.profile-paid-price-card--quarterly{background:linear-gradient(160deg,#fff7df,#fdf0c4);border-color:#ead18a;color:#4a3000}.profile-paid-price-card--annual{border-color:#3a3f4c;background:linear-gradient(160deg,#2a2f3b,#1c1f26);color:#f3d991}.profile-paid-price-card span{font-size:12px;color:inherit;opacity:.85}.profile-paid-price-card strong{font-size:24px;line-height:1.25;color:inherit}.profile-paid-price-card small{color:inherit;opacity:.75;font-size:11px}.profile-paid-addon-grid{display:grid;gap:10px;margin-top:14px}.profile-paid-addon-grid article{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.profile-paid-addon-grid article>div:first-child{display:grid;gap:4px;min-width:0}.profile-paid-addon-grid strong{color:var(--fg);font-size:13px}.profile-paid-addon-grid small{color:var(--fg-3);font-size:11px;line-height:1.55}.profile-paid-addon-grid .profile-paid-actions{justify-content:flex-end}.profile-paid-addon-grid .profile-paid-actions button{min-width:126px}.profile-paid-note{margin:10px 0 0!important;color:var(--warn)!important;font-size:12px!important}.profile-paid-check{min-height:44px;padding:8px 0!important;border-top:1px solid var(--line-2)}.profile-paid-check span{overflow-wrap:anywhere;line-height:1.5}.profile-paid-renewals>p{margin-top:10px}.profile-paid-order{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:11px 0;border-top:1px solid var(--line-2);font-size:12px;color:var(--fg)}.profile-paid-order span{min-width:0;overflow-wrap:anywhere}.profile-paid-order button{flex:0 0 auto;background:var(--surface-2);color:var(--fg);padding:7px 12px}@media(max-width:560px){.profile-paid-page{padding-left:12px;padding-right:12px}.profile-paid-card,.profile-paid-status-card{padding:16px!important}.profile-paid-stat-grid{grid-template-columns:1fr 1fr}.profile-paid-stat-grid>div:last-child{grid-column:1/-1}.profile-paid-addon-grid article{display:grid}.profile-paid-addon-grid .profile-paid-actions{justify-content:stretch}.profile-paid-addon-grid .profile-paid-actions button{flex:1;min-width:0}.profile-paid-quota-meta{flex-wrap:wrap}.profile-paid-summary-main strong{font-size:17px}}@media(max-width:380px){.profile-paid-price-grid{grid-template-columns:1fr}.profile-paid-status-actions,.profile-paid-actions{display:grid;grid-template-columns:1fr}.profile-paid-status-actions button,.profile-paid-actions button{width:100%}}@media(prefers-reduced-motion:reduce){.profile-me-home .profile-paid-summary,.profile-paid-progress span{transition:none}}.profile-paid-order-block{border-top:1px solid var(--line-2)}.profile-paid-order-block>.profile-paid-order{border-top:0}.profile-paid-order-actions{display:flex;flex:0 0 auto;gap:8px}.profile-paid-order .profile-paid-order-pay{background:var(--accent);color:var(--on-accent)}@media(max-width:560px){.profile-paid-order{flex-wrap:wrap}}.usdt-window{position:fixed;z-index:1600;display:flex;flex-direction:column;box-sizing:border-box;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--fg);box-shadow:0 16px 56px #0005;overflow:hidden;isolation:isolate;outline:none;padding-top:env(safe-area-inset-top,0px)}.usdt-window button{font:inherit;font-size:12px;cursor:pointer;min-height:40px;padding:8px 12px;border:0;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong);touch-action:manipulation}.usdt-window button:disabled{opacity:.48;cursor:not-allowed}.usdt-window button:focus-visible,.usdt-window input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.usdt-window-header{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 14px;min-height:46px;flex-shrink:0;border-bottom:1px solid var(--line);background:var(--surface-2);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.usdt-window-header strong{flex:1;font-size:14px;white-space:nowrap}.usdt-window-header button{display:grid;place-items:center;padding:8px;min-width:36px;background:transparent;color:var(--fg)}.usdt-window-grip{color:var(--fg-3)}.usdt-window-body{display:flex;flex-direction:column;gap:10px;min-height:0;padding:12px 16px max(14px,env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;font-size:13px;line-height:1.5}.usdt-window-body[hidden]{display:none}.usdt-window-body p{margin:0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.usdt-window-status,.usdt-window-network{display:flex;align-items:center;justify-content:space-between;gap:8px}.usdt-window-status strong{font-size:13px}.usdt-window-status>span{font-size:12px;color:var(--fg-2);font-variant-numeric:tabular-nums}.usdt-window-network{font-size:12px;color:var(--fg-2)}.usdt-window-network strong{color:var(--accent-strong)}.usdt-window-amount{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;align-items:center}.usdt-window-amount>span{grid-column:1;color:var(--fg-2);font-size:12px}.usdt-window-amount>strong{grid-column:1;grid-row:2;font-size:21px;color:var(--accent-strong);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.usdt-window-amount small{font-size:12px}.usdt-window-amount button{grid-column:2;grid-row:1/3}.usdt-window-qr{display:block;align-self:center;width:160px;height:160px;flex-shrink:0;max-width:100%;border:1px solid #eee;border-radius:10px;background:#fff;object-fit:contain}.usdt-window-address{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:center;min-width:0}.usdt-window-address>span{grid-column:1/-1;color:var(--fg-2);font-size:12px}.usdt-window-address code{font-size:13px;line-height:1.5;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}.usdt-window code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}.usdt-window-hint{color:var(--fg-2)}.usdt-window-review{padding:10px;border-radius:10px;background:var(--warn-soft)}.usdt-window-error{color:var(--danger-strong)}.usdt-window-success{color:var(--good-strong)}.usdt-window-txform{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.usdt-window-txform label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--fg-2)}.usdt-window-txform input{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--fg);font:inherit;font-size:16px}.usdt-window--minimized .usdt-window-header{border-bottom:0}.usdt-window--minimized .usdt-window-grip{display:none}@media(max-height:600px){.usdt-window-qr{width:132px;height:132px}.usdt-window-body{gap:8px}}.utility-list.broadcast-page{gap:14px;padding:0 0 22px;background:var(--bg-2)}.broadcast-page>.hint,.broadcast-page>h3,.broadcast-page>p,.broadcast-page>label,.broadcast-page>small,.broadcast-page>.form-error,.broadcast-page>ul,.broadcast-page>input,.broadcast-page>.broadcast-buttons,.broadcast-page>.broadcast-selection,.broadcast-page>.broadcast-targets,.broadcast-page>.primary{margin-left:16px;margin-right:16px}.broadcast-page .profile-subpage-header{padding-left:12px;padding-right:16px;background:var(--glass)}.broadcast-buttons,.broadcast-selection{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.broadcast-page button{min-height:40px;border:0;border-radius:var(--r-pill);padding:9px 14px;cursor:pointer;background:var(--surface-2);color:var(--fg);font-size:13px}.broadcast-page button.primary{background:var(--accent);color:#fff}.broadcast-selection{font-size:13px;justify-content:space-between;color:var(--fg-2)}.broadcast-targets{max-height:280px;min-height:90px;overflow-y:auto;border:0;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-1)}.broadcast-page .broadcast-targets label{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line-2);cursor:pointer;color:var(--fg)}.broadcast-page .broadcast-targets label:last-child{border-bottom:0}.broadcast-page .broadcast-targets input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:var(--accent)}.broadcast-targets label>span{min-width:0;overflow-wrap:anywhere}.broadcast-targets .hint{padding:16px}.broadcast-page small{display:block;line-height:1.6;color:var(--fg-3)}.broadcast-page>label{display:grid;gap:8px;font-size:13px;color:var(--fg-2)}.broadcast-page textarea,.broadcast-page>input{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);color:var(--fg);font:inherit}.broadcast-page textarea:focus,.broadcast-page>input:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.broadcast-content{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);padding:14px;border:0;border-radius:var(--r-card);max-height:240px;overflow:auto;box-shadow:var(--shadow-1);color:var(--fg)}.broadcast-review,.broadcast-results{list-style:none;margin:0;padding:0 16px;overflow-wrap:anywhere;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-1)}.broadcast-review li,.broadcast-results li{padding:12px 0;border-bottom:1px solid var(--line-2);color:var(--fg)}.broadcast-review li:last-child,.broadcast-results li:last-child{border-bottom:0}.broadcast-results li{display:flex;gap:16px;justify-content:space-between}.broadcast-results li>span{min-width:0;flex:1}.broadcast-results li>span+span{text-align:right}.broadcast-page button:disabled{opacity:.45;cursor:not-allowed}.broadcast-page .inline-link{padding:0;border:0;background:none;color:var(--accent);min-height:0;text-decoration:underline;font-size:inherit}.broadcast-target-label,.forward-target-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.broadcast-target-label svg,.forward-target-label svg{color:var(--accent)}.broadcast-target-label strong,.forward-target-label strong{overflow-wrap:anywhere}.broadcast-page>h3{font-size:16px;color:var(--fg);margin-top:4px}.broadcast-page>p[role=status]{color:var(--fg-2)}@media(max-width:760px){.utility-list.broadcast-page{padding-bottom:var(--tabbar-space)}.broadcast-page input,.broadcast-page textarea{font-size:16px!important}.broadcast-targets{max-height:240px}}.delivery-failure-mark{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:5px;border-radius:50%;background:var(--danger);color:#fff;font-size:12px;line-height:18px;border:0;padding:0;cursor:pointer;font-family:inherit}.bubble-delivery-failure{position:relative}.bubble-delivery-failure>.delivery-failure-mark{position:absolute;left:-28px;top:50%;transform:translateY(-50%);margin:0;cursor:default}.bubble-delivery-failure>.delivery-failure-mark[title]{cursor:pointer}.delivery-failure-reason{display:block;margin-top:6px;color:var(--danger);line-height:1.5;font-size:12px}.outbox-media-placeholder{display:block;color:var(--fg-3);font-size:12px;line-height:1.5;margin:4px 0}.mine .outbox-media-placeholder{color:var(--bubble-me-fg-2)}.outbox-status-row{display:flex;align-items:center;gap:8px;min-height:24px}.outbox-status-row .outbox-media-placeholder{margin:0}.outbox-cancel-button{border:0;background:transparent;color:var(--fg-3);font:inherit;font-size:12px;padding:2px 6px;border-radius:6px;cursor:pointer}.mine .outbox-cancel-button{color:var(--bubble-me-fg)}.outbox-cancel-button:hover,.outbox-cancel-button:focus-visible{color:var(--danger);background:var(--danger-soft);outline:none}.broadcast-page>.broadcast-image,.broadcast-page>.broadcast-schedule,.broadcast-page>.broadcast-scheduled,.broadcast-page>.broadcast-preview-image,.broadcast-page>.broadcast-schedule-summary{margin-left:16px;margin-right:16px}.broadcast-image{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.broadcast-image>small{flex-basis:100%}.broadcast-page .broadcast-image button{display:inline-flex;align-items:center;gap:6px}.broadcast-image figure{position:relative;margin:0;flex-basis:100%}.broadcast-image figure img,.broadcast-preview-image{display:block;max-width:min(100%,240px);max-height:240px;border-radius:var(--r-card);object-fit:contain;background:var(--surface);box-shadow:var(--shadow-1)}.broadcast-page .broadcast-image figure button{position:absolute;top:6px;left:min(calc(100% - 38px),202px);width:32px;height:32px;min-height:32px;padding:0;justify-content:center;background:#0000008c;color:#fff}.broadcast-image-existing{display:flex;align-items:center;gap:10px;flex-basis:100%;margin:0;color:var(--fg-2);font-size:13px}.broadcast-schedule{display:grid;gap:8px;padding:12px 14px;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-1)}.broadcast-schedule-toggle{display:flex;align-items:center;gap:10px;color:var(--fg);font-size:14px;cursor:pointer}.broadcast-schedule-toggle input{width:20px;height:20px;accent-color:var(--accent)}.broadcast-schedule-fields{display:flex;flex-wrap:wrap;gap:10px}.broadcast-schedule-fields label{display:grid;gap:6px;flex:1 1 140px;min-width:0;font-size:13px;color:var(--fg-2)}.broadcast-schedule-fields input{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);color:var(--fg);font:inherit}.broadcast-schedule-summary{color:var(--fg-2);font-size:13px}.broadcast-scheduled{display:grid;gap:8px}.broadcast-scheduled h3{display:flex;align-items:center;gap:6px;font-size:15px;color:var(--fg);margin:8px 0 0}.broadcast-scheduled ul{list-style:none;margin:0;padding:0 14px;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-1)}.broadcast-scheduled li{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid var(--line-2);color:var(--fg);overflow-wrap:anywhere}.broadcast-scheduled li:last-child{border-bottom:0}.broadcast-scheduled li>p{margin:0;white-space:pre-wrap;max-height:4.8em;overflow:hidden;color:var(--fg-2);font-size:13px}.broadcast-scheduled-meta{font-size:12px;color:var(--fg-3)}.broadcast-scheduled li.editing label{display:grid;gap:6px;font-size:13px;color:var(--fg-2)}@media(max-width:760px){.broadcast-schedule-fields input{font-size:16px!important}}.utility-list.settings-list.settings-panel{padding:0;gap:0;min-width:0;min-height:0;overflow:hidden;background:var(--bg-2);color:var(--fg)}.settings-panel .settings-panel-header{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 16px 12px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.settings-panel .settings-panel-header button{display:flex;align-items:center;gap:4px;min-height:36px;padding:4px 0;border:0;background:transparent;color:var(--accent);font-size:14px;cursor:pointer;border-radius:10px}.settings-panel .settings-panel-header h2{margin:0;font-size:22px;line-height:1.4;overflow-wrap:anywhere;color:var(--fg)}.settings-panel .settings-panel-body{min-width:0;min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 16px 24px;overscroll-behavior:contain}.settings-panel .settings-panel-nav{display:flex;flex-direction:column;border-radius:var(--r-card);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-1);padding:0 6px}.settings-panel .settings-panel-nav button{display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:56px;padding:10px;border:0;border-bottom:1px solid var(--line-2);background:transparent;color:var(--fg);text-align:left;font-size:15px;line-height:1.5;cursor:pointer}.settings-panel .settings-panel-nav button:last-child{border-bottom:0}.settings-panel .settings-panel-nav button>.settings-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong)}.settings-panel .settings-panel-nav button>.settings-icon svg{width:19px;height:19px}.settings-panel .settings-panel-nav button>span:not(.settings-icon){flex:1;min-width:0;overflow-wrap:anywhere}.settings-panel .settings-panel-nav button>small{margin:0;color:var(--fg-3);font-size:13px;flex-shrink:0}.settings-panel .settings-panel-nav button>svg{flex-shrink:0;color:var(--fg-4)}.settings-panel .settings-panel-logout{display:block;width:100%;min-height:54px;margin-top:16px;padding:14px;border:0;border-radius:var(--r-card);background:var(--surface);color:var(--danger);font-size:15px;cursor:pointer;box-shadow:var(--shadow-1)}@media(hover:hover){.settings-panel .settings-panel-nav button:hover:not(:disabled){background:var(--hover)}}.settings-panel .settings-panel-logout:hover:not(:disabled){background:var(--danger-soft)}.settings-panel button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.settings-panel button:disabled{cursor:default;opacity:.55}.settings-panel .settings-panel-section{display:flex;flex-direction:column;gap:14px;min-width:0;padding:16px;border:0;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-1);overflow-wrap:anywhere}.settings-panel .settings-content-section{display:flex;flex-direction:column;gap:14px;min-width:0}.settings-panel .settings-content-section>button{min-height:44px;padding:10px 14px;border:0;border-radius:var(--r-ctl);background:var(--accent-soft);color:var(--accent-strong);white-space:normal}.settings-panel .settings-panel-section h3{margin:6px 0 0;color:var(--fg-2);font-size:14px;line-height:1.5}.settings-panel .settings-panel-section p{margin:0;line-height:1.7}.settings-panel .settings-panel-section>button:not(.primary){min-height:44px;padding:10px 14px;border:0;border-radius:var(--r-ctl);background:var(--accent-soft);color:var(--accent-strong);white-space:normal}.settings-panel .settings-panel-section .primary{background:var(--accent);white-space:normal}.settings-panel .settings-panel-section label{min-width:0;line-height:1.5}.settings-panel .settings-panel-section input:not([type=checkbox]):not([type=radio]),.settings-panel .settings-panel-section textarea,.settings-panel .settings-panel-section select{width:100%;min-width:0;max-width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);color:var(--fg);font-size:16px;line-height:1.5}.settings-panel .settings-panel-section small{font-size:12px;color:var(--fg-3);line-height:1.7;overflow-wrap:anywhere}.settings-panel .settings-panel-section .email-binding,.settings-panel .settings-panel-section .personal-panel{min-width:0;padding:0}.settings-panel .settings-panel-section .personal-panel h2{font-size:16px;color:var(--fg-2)}.settings-panel .settings-panel-section .email-binding form{gap:14px}.settings-panel .settings-panel-section .email-code-row{flex-wrap:wrap;gap:8px}.settings-panel .settings-panel-section .email-code-row label{flex:1 1 120px}.settings-panel .settings-panel-section .email-code-row button{min-height:46px;max-width:100%;background:var(--accent-soft);color:var(--accent-strong)}.settings-panel .settings-panel-section .privacy-option{gap:12px;padding:12px 0}.settings-panel .settings-panel-section .privacy-option>span{min-width:0}.settings-panel .settings-panel-section .privacy-option input[type=checkbox]{width:20px;height:20px;padding:0;accent-color:var(--accent)}.settings-panel .settings-panel-section .session,.settings-panel .settings-panel-section .person{min-width:0;gap:10px;line-height:1.6}.settings-panel .settings-panel-section .session>div{flex:1;min-width:0;overflow-wrap:anywhere}.settings-panel .settings-panel-section .session>button,.settings-panel .settings-panel-section .person>button{flex-shrink:0}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.theme-options label{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 12px;border:2px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer;text-align:center;font-size:13px;color:var(--fg)}.theme-options label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.theme-options input[type=radio]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.theme-options .theme-swatch{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--surface-2);color:var(--fg-2)}.theme-options label:has(input:checked) .theme-swatch{background:var(--accent);color:#fff}.theme-options label:focus-within{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:760px){.settings-panel .settings-panel-header{padding-top:max(10px,env(safe-area-inset-top))}.settings-panel .settings-panel-body{padding-bottom:var(--tabbar-space)}}.announcement-backdrop{z-index:95}.modal.announcement-dialog{gap:18px;max-height:calc(var(--ast-viewport-height,100dvh) - 40px)}.announcement-dialog>header,.announcement-dialog>.primary{flex-shrink:0}.announcement-dialog h2{overflow-wrap:anywhere}.announcement-body{min-height:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.75;color:var(--fg)}.announcement-warning{z-index:96}.profile-page.announcement-management{gap:0;padding:0 0 28px;background:var(--bg-2)}.profile-page.announcement-management .profile-subpage-header{flex-shrink:0;padding:10px 16px 10px 12px;background:var(--glass)}.profile-page.announcement-management form{flex-shrink:0;min-width:0;margin:18px 16px;gap:14px}.profile-page.announcement-management input,.profile-page.announcement-management textarea{min-width:0;font-size:16px;line-height:1.6}.announcement-management form>small{align-self:flex-end}.announcement-management form>p{overflow-wrap:anywhere;line-height:1.7}.announcement-management .announcement-reload{align-self:flex-end;padding:6px 0;border:0;background:transparent;color:var(--accent)}.announcement-management .announcement-remove{padding:12px;border:0;background:var(--surface);color:var(--danger);border-radius:var(--r-ctl)}@media(max-width:760px){.profile-page.announcement-management{padding-bottom:var(--tabbar-space)}.profile-page.announcement-management .profile-subpage-header{padding-top:calc(10px + env(safe-area-inset-top))}}.friend-profile{display:flex;flex-direction:column;gap:18px;min-width:0}.friend-profile-identity{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;padding:8px 0 4px;text-align:center}.friend-profile .friend-profile-identity>.avatar{width:88px;height:88px;border-radius:50%;font-size:34px;box-shadow:0 0 0 4px var(--surface),0 0 0 5px var(--line)}.friend-profile-identity>div:last-child{min-width:0;max-width:100%}.friend-profile-identity .identity-name{justify-content:center}.friend-profile .friend-profile-identity h3{margin:0;font-size:20px;color:var(--fg);overflow-wrap:anywhere}.friend-profile .friend-profile-identity p{margin:6px 0 0;color:var(--fg-3);font-size:13px;overflow-wrap:anywhere}.friend-profile .friend-profile-bio{margin:0;padding:14px 16px;border-radius:var(--r-card);background:var(--surface-2);color:var(--fg-2);font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.friend-profile-actions{display:grid;gap:10px}.friend-profile-actions button{min-width:0;min-height:46px;padding:12px;border:0;border-radius:var(--r-ctl);font:inherit;overflow-wrap:anywhere}.friend-profile-actions button:not(.primary){color:var(--accent);background:var(--surface-2)}.friend-profile-actions button.danger{background:var(--danger-soft)}.friend-delete-confirmation{display:flex;flex-direction:column;gap:14px;min-width:0;border-top:1px solid var(--line);padding-top:15px}.friend-profile .friend-delete-confirmation h3{margin:0;font-size:17px;color:var(--fg);outline:0}.friend-delete-confirmation small{font-size:12px;color:var(--fg-3)}.friend-profile .friend-delete-confirmation p{margin:0;line-height:1.8;font-size:14px;overflow-wrap:anywhere}.friend-delete-confirmation .friend-confirm-back{align-self:flex-start;display:flex;align-items:center;gap:5px;border:0;background:transparent;padding:8px 0;color:var(--accent);font-size:13px}.friend-profile>.form-error,.friend-profile>.hint{overflow-wrap:anywhere}.direct-chat-details .direct-chat-person{padding:22px 20px 14px;margin:0;background:transparent;display:flex;justify-content:center}.direct-chat-person>button{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%;min-width:64px;padding:0;border:0;background:transparent;color:var(--fg)}.direct-chat-person>button:disabled{opacity:1;cursor:default}.direct-chat-person .avatar{width:88px;height:88px;border-radius:50%;font-size:34px;box-shadow:0 0 0 4px var(--surface),0 0 0 5px var(--line)}.direct-chat-person>button>span{max-width:100%;font-size:18px;overflow-wrap:anywhere;justify-content:center}.direct-chat-details button.group-settings-row{justify-content:space-between}@media(max-width:760px){.modal-backdrop:has(.friend-profile-modal){padding:0}.modal.friend-profile-modal{width:100%;height:100%;max-height:none;border-radius:0;padding:16px 20px;padding-top:max(16px,env(safe-area-inset-top));box-shadow:none;animation:none}.modal.friend-profile-modal:before{display:none}.friend-profile-modal .friend-profile{margin-top:8px}}.direct-share-picker{min-width:0}.direct-share-picker>input{width:100%;font-size:16px}.direct-share-list{max-height:min(45dvh,360px);overflow:auto;margin:12px 0}.direct-share-list>label{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line-2);cursor:pointer;color:var(--fg)}.direct-share-list>label>input{flex:none;width:18px;height:18px;accent-color:var(--accent)}.direct-share-list>label>svg{flex:none;color:var(--fg-3)}.direct-share-list>label>span{min-width:0;flex:1}.direct-share-list strong,.direct-share-list small,.direct-share-list>label>span>span{display:block;overflow-wrap:anywhere}.direct-share-list strong,.direct-share-list>label>span>span{font-size:14px;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.direct-share-list small{margin-top:4px;color:var(--fg-3);font-size:12px}.direct-share-list .avatar{width:42px;height:42px;font-size:18px;flex:none;border-radius:50%}.direct-share-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.direct-share-footer button{padding:10px 18px;border:0;border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg)}.contact-card-message{display:block;width:250px;max-width:100%;padding:0;border:0;border-radius:12px;background:transparent;color:inherit;text-align:left}.contact-card-identity{display:flex;align-items:center;gap:12px;min-width:0}.contact-card-identity>span,.contact-card-identity>div{min-width:0}.contact-card-identity strong,.contact-card-identity small{display:block;overflow-wrap:anywhere}.contact-card-identity strong{font-size:15px}.contact-card-identity small{margin-top:5px;font-size:12px;color:var(--fg-3)}.contact-card-message .avatar{width:44px;height:44px;font-size:19px;flex:none;border-radius:50%}.contact-card-caption{display:flex;align-items:center;gap:5px;margin-top:12px;padding-top:8px;border-top:1px solid var(--line-2);color:var(--fg-3);font-size:11px}.modal .shared-contact-profile .avatar{width:72px;height:72px;flex:none;font-size:30px;border-radius:50%}.modal .shared-contact-profile h3{font-size:20px;margin:0;overflow-wrap:anywhere;color:var(--fg)}.shared-contact-profile p{overflow-wrap:anywhere}.shared-contact-profile .shared-contact-bio{white-space:pre-wrap;margin:20px 0;color:var(--fg-2)}.shared-contact-profile .contact-card-identity p{font-size:13px;color:var(--fg-3);margin:6px 0 0}.modal .direct-share-list>label{display:flex;align-items:center;gap:12px}.modal .direct-share-list>label>input[type=radio]{width:18px;height:18px;padding:0;flex:none}.modal .direct-share-picker>input:not([type=radio]){font-size:16px}.message-stage .contact-card-content{width:260px;min-width:0;grid-template-columns:minmax(0,1fr)}.message-stage .bubble.bubble-contact-card{width:100%;max-width:100%;min-width:0}.bubble-contact-card .contact-card-message{width:100%;min-width:0}.contact-card-message .contact-card-identity small{font-size:12px;margin:5px 0 0}.modal.direct-share-modal{padding:0;gap:0;background:var(--surface)}.direct-share-modal>header{padding:16px 18px;border-bottom:1px solid var(--line)}.direct-share-modal .direct-share-picker{padding:16px 18px}.direct-share-recipient{font-size:14px;color:var(--fg)}.direct-share-recipient small{display:block;color:var(--fg-3);font-size:12px;margin-top:6px;overflow-wrap:anywhere}.direct-share-search{display:flex;align-items:center;gap:7px;margin-top:15px;padding:0 12px;background:var(--surface-2);border-radius:var(--r-pill);color:var(--fg-3)}.direct-share-search svg{flex-shrink:0}.modal .direct-share-search input{border:0;background:transparent;border-radius:0;padding:10px 0;min-width:0;font-size:16px;box-shadow:none}.direct-share-list>label{position:relative;padding:13px 0;min-height:66px}.direct-share-list>label.direct-share-contact{padding:13px 6px;gap:12px;border-radius:12px}@media(hover:hover){.direct-share-list>label.direct-share-contact:hover{background:var(--hover)}}.modal .direct-share-contact input[type=radio]{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;cursor:pointer}.direct-share-contact:focus-within{outline:2px solid var(--accent);outline-offset:-2px;border-radius:12px}.direct-share-contact:has(input:disabled){opacity:.55}.direct-share-choice{color:var(--accent);visibility:hidden}.direct-share-contact:has(input:checked) .direct-share-choice{visibility:visible}.direct-share-confirm{animation:direct-share-reveal .14s ease-out}.direct-share-reselect{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--accent);padding:4px 0;font-size:13px}.modal .direct-share-confirm h3{font-size:15px;margin:18px 0;color:var(--fg);overflow-wrap:anywhere}.direct-share-confirm .hint{font-size:12px;margin-top:12px}.contact-card-preview{border:1px solid var(--line);border-radius:14px;background:var(--surface);width:260px;max-width:100%;overflow:hidden}.contact-card-message .contact-card-identity,.contact-card-preview .contact-card-identity{padding:14px 14px 13px;gap:12px;min-height:75px}.contact-card-message .contact-card-identity>strong,.contact-card-preview .contact-card-identity>strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.contact-card-message .avatar,.contact-card-preview .avatar{width:44px;height:44px;border-radius:50%;flex:none;font-size:19px}.contact-card-message .contact-card-caption,.contact-card-preview .contact-card-caption{margin:0 14px;padding:6px 0 7px;line-height:16px;border-top:1px solid var(--line-2);font-size:11px;color:var(--fg-3)}.message-stage .bubble.bubble-contact-card{padding:0;background:var(--surface);color:var(--fg);border:1px solid var(--line)}.message-stage .contact-card-content{width:260px}.direct-share-footer{padding-top:14px;margin-top:8px;border-top:1px solid var(--line)}.direct-share-footer .primary{min-width:98px;font-size:14px}@keyframes direct-share-reveal{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.modal.direct-share-modal{width:100%}.direct-share-modal>header{padding:14px 16px}.direct-share-modal .direct-share-picker{padding:14px 16px}.direct-share-list{max-height:42dvh}}@media(prefers-reduced-motion:reduce){.direct-share-confirm{animation:none}}.ua-voice-recorder{display:flex;align-items:center;min-width:0;position:relative}.ast-compose-wrap .composer.voice-mode>.ast-compose-footer .send{display:none}.ua-hold-to-talk{width:100%;min-height:44px;border:1px solid transparent;border-radius:22px;background:var(--surface-2);color:var(--fg);font:inherit;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.ua-hold-to-talk.holding{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent-line)}.ua-voice-status{position:fixed;z-index:120;left:50%;top:40%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:14px;width:min(260px,85vw);padding:28px 16px;border-radius:24px;background:#1d5fd1eb;color:#fff;pointer-events:none;box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;text-align:center}.ua-voice-status strong{font-size:30px}.ua-voice-status.cancelling{background:#b91c1ceb}.ua-voice-retry{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;width:100%;padding:5px}.ua-voice-retry>span{flex-basis:100%;color:var(--danger);overflow-wrap:anywhere}.ua-voice-retry button{padding:7px 10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font:inherit;color:var(--fg)}.ua-voice-message{min-width:130px;max-width:220px}.ua-voice-message audio{display:none}.ua-voice-message>button{width:100%;display:flex;align-items:center;gap:12px;min-height:42px;padding:4px 2px;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer}.ua-voice-message button:disabled{opacity:.55}.ua-voice-message strong{font-size:13px;white-space:nowrap}.ua-voice-message small{display:block;font-size:11px;line-height:1.5;padding:2px 4px;color:var(--fg-3)}.mine .ua-voice-message small{color:var(--bubble-me-fg-2)}.ua-voice-wave{display:flex;align-items:center;justify-content:center;gap:3px;flex:1;height:30px;color:var(--accent)}.mine .ua-voice-wave{color:#ffffffe6}.ua-voice-wave i{display:block;width:3px;background:currentColor;border-radius:3px}.playing .ua-voice-wave i{animation:ua-voice-wave .7s infinite alternate}@keyframes ua-voice-wave{to{transform:scaleY(.35);opacity:.5}}@media(prefers-reduced-motion:reduce){.playing .ua-voice-wave i{animation:none}}@media(max-width:760px),(any-pointer:coarse){.ua-hold-to-talk{min-height:44px;font-size:15px}}.ast-viewport-aware,.ast-viewport-aware body,.ast-viewport-aware #root{height:var(--ast-viewport-height,100dvh);min-height:0}.ast-media-canvas.zoomed:has(>img){display:flex;overflow:hidden}.ast-media-viewer .ast-media-canvas.zoomed>img{max-width:100%;max-height:100%;margin:0}.ast-media-viewer footer svg{flex-shrink:0}@media(max-width:760px){.ast-media-viewer .ast-media-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px}.ast-media-viewer footer>.ast-media-previous{grid-column:1;grid-row:1}.ast-media-viewer footer>.ast-media-next{grid-column:2;grid-row:1}.ast-media-viewer footer>.ast-media-actions{grid-column:1/-1;grid-row:2;min-width:0;gap:6px}.ast-media-viewer footer button{min-height:44px;min-width:0;padding:8px;font-size:13px;line-height:1.4}.ast-media-viewer footer>.ast-media-gesture-hint{grid-column:1/-1;grid-row:3;max-width:none;margin:2px 0;line-height:1.5;overflow-wrap:anywhere}}.ast-viewport-aware .app-shell{width:100%;height:100%;min-width:0}.ast-viewport-aware .chat-header>div{min-width:0}.ast-viewport-aware .chat-header strong{overflow-wrap:anywhere}.ast-viewport-aware .chat-header .more{flex-shrink:0}.ast-attachment{max-width:100%;display:grid;gap:4px}.ast-save-attachment{justify-self:end;border:0;background:transparent;color:var(--accent);font-size:11px;padding:3px 0}.mine .ast-save-attachment{color:var(--bubble-me-fg)}.ast-media-placeholder,.ast-video-placeholder{display:grid;place-content:center;justify-items:center;gap:10px;min-height:95px;min-width:min(170px,100%);padding:15px;color:var(--fg-2);background:var(--surface-2);border-radius:12px}.ast-media-backdrop{position:fixed;inset:0;z-index:60;background:#000000e0;display:grid;place-items:center;padding:16px}.ast-media-viewer{outline:0;color:#fff;background:#0f1419;border-radius:var(--r-card);width:min(1100px,100%);height:min(850px,100%);min-height:0;display:flex;flex-direction:column;overflow:hidden}.ast-media-viewer header{display:flex;gap:12px;align-items:center;padding:12px 15px;flex-shrink:0}.ast-media-viewer header span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.ast-media-viewer button{background:transparent;color:#fff;border:0;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:4px;padding:7px}.ast-media-viewer button:hover{background:#ffffff18}.ast-media-viewer button:disabled{opacity:.3}.ast-media-canvas{flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:10px}.ast-media-canvas img,.ast-media-canvas video{display:block;max-width:100%;max-height:100%;object-fit:contain}.ast-media-canvas img{cursor:zoom-in;transform-origin:center center;touch-action:none;transition:transform .12s ease}.ast-media-canvas.zoomed{display:block;overflow:auto}.ast-media-canvas.zoomed img{max-width:none;max-height:none;margin:auto;cursor:zoom-out}.ast-media-canvas.zoomed .ast-video-player{transform:scale(var(--ast-media-scale,1));transform-origin:center center}.ast-media-canvas p{text-align:center;line-height:1.8;padding:14px;overflow-wrap:anywhere}.ast-media-canvas small{color:#bbb;font-size:12px}.ast-media-viewer footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 15px;flex-shrink:0}.ast-media-viewer footer span{font-size:11px;color:#bbb;text-align:center;flex:1}.ast-media-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px;min-width:min(430px,52vw)}.ast-media-actions button{white-space:nowrap;min-width:0;justify-content:center;text-align:center;background:#ffffff14}.ast-compose-wrap{flex-shrink:0;min-width:0;max-height:60%;display:flex;flex-direction:column}.ast-compose-wrap .composer{min-width:0;flex-shrink:0}.ast-compose-wrap .composer textarea{min-width:0}.ast-compose-wrap .composer>button{flex-shrink:0}.ast-compose-wrap .draft-info{flex-shrink:0}.ast-compose-wrap .draft-info>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:761px)and (max-width:1100px){.ast-viewport-aware .app-shell{grid-template-columns:64px minmax(240px,28vw) minmax(0,1fr)}.ast-viewport-aware .utility-mode{grid-template-columns:64px minmax(0,1fr)}.ast-viewport-aware .message-stage{padding-left:18px;padding-right:18px}}@media(max-width:760px){.ast-viewport-aware .auth-panel{min-height:100%}.ast-viewport-aware .auth-shell{height:100%}.ast-compose-wrap{max-height:65%}.ast-media-backdrop{padding:0}.ast-media-viewer{width:100%;height:100%;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.ast-media-viewer header{padding:9px}.ast-media-viewer footer{padding:8px;gap:4px}.ast-media-viewer footer span{max-width:120px}.ast-media-actions{min-width:0;flex:1;gap:4px}.ast-media-actions button{font-size:11px;padding:6px 4px}}.save-permission{max-width:440px}.save-permission p{margin:8px 0 0;line-height:1.6}.save-permission-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}.save-permission-actions button{min-width:96px;min-height:44px}.save-permission-tabs{display:flex;gap:8px;margin:4px 0 8px}.save-permission-tabs button{flex:1;min-height:40px;border-radius:999px}.save-permission-tabs button[aria-selected=true]{background:var(--accent,#2f7cf6);color:#fff;border-color:transparent}.save-permission-section h3{margin:14px 0 6px;font-size:15px}.save-permission-section ol{margin:0;padding-left:20px;line-height:1.7}.ast-media-viewer header,.ast-media-viewer .ast-media-footer{transition:opacity .18s ease}.ast-media-viewer.chrome-hidden header,.ast-media-viewer.chrome-hidden .ast-media-footer{opacity:0;pointer-events:none}.ast-media-canvas img{touch-action:none;transform-origin:center center}@media(prefers-reduced-motion:reduce){.ast-media-viewer header,.ast-media-viewer .ast-media-footer{transition:none}}.ast-compose-wrap{background:var(--surface);border-top:1px solid var(--line)}.ast-compose-restriction{margin:0;padding:10px 14px;text-align:center;color:var(--fg-2);background:var(--surface-2);font-size:13px;line-height:1.5}.ast-compose-wrap .composer{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:8px 12px;min-height:0;padding:10px 20px 14px;background:var(--surface);align-items:center;border-top:0}.ast-compose-wrap .ast-compose-tools{grid-column:1;grid-row:2;display:flex;align-items:center;gap:2px;min-width:0;flex-wrap:wrap}.ast-compose-wrap .ast-compose-attachments{display:flex;align-items:center;gap:2px}.ast-compose-wrap .ast-compose-tools button{display:grid;place-items:center;width:36px;height:36px;padding:0;background:transparent;border:0;border-radius:50%;color:var(--fg-2)}@media(hover:hover){.ast-compose-wrap .ast-compose-tools button:hover:not(:disabled){background:var(--hover);color:var(--fg)}}.ast-compose-wrap .ast-compose-tools button[aria-expanded=true]{background:var(--accent-soft);color:var(--accent-strong)}.ast-compose-wrap .ast-compose-tools button:disabled{opacity:.4}.ast-compose-wrap .ast-compose-tool-icon{display:grid;place-items:center}.ast-compose-wrap .ast-compose-tool-label{display:none}.ast-compose-wrap .composer textarea{grid-column:1/-1;grid-row:1;width:100%;height:auto;min-height:44px;max-height:160px;border:1px solid transparent;border-radius:18px;padding:11px 14px;background:var(--surface-2);color:var(--fg);font-size:14px;line-height:22px;outline-offset:0;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.ast-compose-wrap .composer textarea:focus{background:var(--surface);border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.ast-compose-wrap .composer textarea:focus-visible{outline:0}.ast-compose-wrap .composer textarea::placeholder{color:var(--fg-3)}.ast-compose-wrap .composer textarea:disabled{background:var(--surface-2);color:var(--fg-3)}.ast-compose-wrap .composer>.ast-compose-more{display:none}.ast-compose-wrap .composer .ua-voice-recorder{grid-column:1/-1;grid-row:1}.ast-compose-wrap .ast-compose-footer{grid-column:2;grid-row:2;display:flex;justify-content:flex-end;align-items:center;gap:12px}.ast-compose-wrap .ast-compose-hint{font-size:11px;color:var(--fg-4);white-space:nowrap}.ast-compose-wrap .ast-compose-footer .send{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;height:36px;padding:0 16px;border:0;border-radius:var(--r-pill);font-size:13px;background:var(--accent);color:var(--on-accent);white-space:nowrap;box-shadow:0 4px 12px #2f7cf647}.ast-compose-wrap .ast-compose-footer .send:hover:not(:disabled){background:var(--accent-strong)}.ast-compose-wrap .ast-compose-footer .send:disabled{background:var(--surface-3);color:var(--fg-3);opacity:1;box-shadow:none}.ast-compose-wrap .send .send-icon{width:16px;height:16px}.ast-compose-wrap .draft-info{background:var(--surface);border-top:1px solid var(--line);border-left:3px solid var(--accent);padding:8px 16px;font-size:12px;color:var(--fg-2)}.ast-compose-wrap .draft-info button{color:var(--accent);border:0;background:transparent}.ast-compose-wrap .ast-queued-files{padding:8px 14px;display:flex;gap:9px;overflow:auto;min-height:0;flex-shrink:0;max-height:125px;background:var(--surface)}.ast-queued-file{position:relative;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;width:88px;min-width:88px;display:grid;justify-items:center;align-content:start;padding:6px;gap:5px;color:var(--fg-2)}.ast-queued-file img{width:62px;height:56px;object-fit:contain;border-radius:6px}.ast-queued-file>svg{margin:10px;height:36px}.ast-queued-file>span{width:100%;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-align:center}.ast-queued-file button{position:absolute;top:2px;right:2px;border:0;background:var(--fg);color:var(--bg);border-radius:50%;padding:2px;display:grid;opacity:.85}.ast-emoji-panel{background:var(--surface);min-height:0;max-height:240px;overflow:auto;border-top:1px solid var(--line)}.ast-emoji-tabs{display:flex;align-items:center;gap:4px;padding:8px 10px;overflow:auto;position:sticky;top:0;background:var(--surface);z-index:1;scrollbar-width:none}.ast-emoji-tabs button{border:0;background:transparent;padding:5px 10px;font-size:12px;white-space:nowrap;color:var(--fg-3);border-radius:var(--r-pill)}.ast-emoji-tabs button.active{background:var(--accent-soft);color:var(--accent-strong)}.ast-emoji-tabs small{color:var(--fg-3);font-size:11px;margin-left:auto}.ast-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:2px;padding:0 10px 10px}.ast-emoji-grid button{display:grid;place-items:center;font-size:25px;min-height:40px;border:0;background:transparent;border-radius:10px}@media(hover:hover){.ast-emoji-grid button:hover{background:var(--hover)}}.ast-sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));padding:0 10px 10px;gap:9px}.ast-sticker{position:relative;min-width:0}.ast-sticker>button:first-child{width:100%;height:75px;background:var(--surface-2);border:0;border-radius:12px;display:grid;place-items:center}.ast-sticker img{max-height:68px;max-width:100%;object-fit:contain}.ast-sticker button.ast-sticker-remove{position:absolute;top:2px;right:2px;border:0;background:var(--fg);color:var(--bg);border-radius:50%;padding:3px;display:grid;opacity:.85}.ast-sticker>small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:var(--fg-3);padding-top:3px}.ast-sticker-help{font-size:12px;color:var(--fg-3);padding:5px 13px 14px;margin:0}.ast-sticker-status{font-size:12px;padding:8px 13px;color:var(--fg-3)}.ast-sticker-queue-status{margin:.35rem .5rem;color:var(--fg-3);font-size:.78rem;text-align:center}.ast-mention-panel{padding:10px 12px;background:var(--surface);border-top:1px solid var(--line);animation:ast-compose-reveal .14s ease-out}.ast-mention-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;font-size:13px;color:var(--fg)}.ast-mention-panel header button{display:grid;place-items:center;border:0;background:none;padding:5px;color:var(--fg-3);border-radius:50%}.ast-mention-search{display:flex;align-items:center;gap:7px;border-radius:var(--r-pill);padding:0 12px;background:var(--surface-2);color:var(--fg-3)}.ast-mention-search svg{flex-shrink:0}.ast-mention-search input{width:100%;min-width:0;font:inherit;font-size:16px;border:0;border-radius:6px;padding:8px 0;background:transparent;color:var(--fg)}.ast-mention-options{max-height:150px;overflow:auto;overscroll-behavior:contain;margin-top:7px}.ast-mention-options>button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 7px;border:0;border-radius:10px;background:transparent;text-align:left;font-size:14px;overflow-wrap:anywhere;color:var(--fg)}@media(hover:hover){.ast-mention-options>button:hover{background:var(--hover)}}.ast-mention-avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;overflow:hidden}.ast-mention-avatar .avatar{width:36px;height:36px;border-radius:50%;font-size:16px}.ast-mention-everyone{background:var(--accent-soft);color:var(--accent-strong)}.ast-mention-identity{display:flex;flex-direction:column;gap:3px;min-width:0}.ast-mention-options small{color:var(--fg-3);font-size:12px;overflow-wrap:anywhere}.ast-mention-options p{font-size:12px;color:var(--fg-3);padding:5px 7px}.ast-capture-panel,.ast-photo-panel{padding:12px 14px;background:var(--surface);border-top:1px solid var(--line)}.ast-capture-panel header,.ast-photo-panel header{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--fg)}.ast-capture-panel header button,.ast-photo-panel header button{display:grid;place-items:center;border:0;background:transparent;color:var(--fg-3);padding:10px;min-width:44px;min-height:44px;border-radius:50%}.ast-capture-panel>div{display:flex;justify-content:center;gap:14px;padding:14px 0}.ast-capture-panel>div>button{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 22px;background:var(--surface-2);border:0;border-radius:14px;color:var(--fg);font-size:14px}.ast-capture-panel>div>button:hover{background:var(--surface-3)}.ast-photo-panel{overflow:auto;min-height:0;flex-shrink:1}.ast-photo-panel .ast-photo-original{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;cursor:pointer;color:var(--fg)}.ast-photo-panel .ast-photo-original input{width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;margin:0;accent-color:var(--accent)}.ast-photo-panel p,.ast-photo-panel small{display:block;margin:4px 0;font-size:12px;color:var(--fg-3);line-height:1.6;overflow-wrap:anywhere}.ast-photo-panel .ast-photo-choose{margin-top:10px;min-height:44px;width:100%;padding:10px;border:0;border-radius:var(--r-ctl);background:var(--accent);color:var(--on-accent);font:inherit;font-size:14px}@keyframes ast-compose-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px),(any-pointer:coarse){.ast-compose-wrap{background:var(--surface);max-height:65%}.ast-compose-wrap .composer{order:1;position:relative;grid-template-columns:40px minmax(0,1fr) 40px 44px;grid-template-rows:auto;gap:4px;min-height:0;align-items:end;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--surface)}.ast-compose-wrap .composer:before{content:"";grid-column:2/4;grid-row:1;align-self:stretch;min-height:44px;background:var(--surface-2);border:1px solid transparent;border-radius:22px;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.ast-compose-wrap .composer:focus-within:before{background:var(--surface);border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.ast-compose-wrap .ast-compose-tools{display:contents}.ast-compose-wrap .composer>.ast-compose-more{display:grid;grid-column:1;grid-row:1;width:40px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg-2);transition:transform .18s ease,color .18s ease}.ast-compose-wrap .composer>.ast-compose-more[aria-expanded=true]{color:var(--accent);transform:rotate(45deg)}.ast-compose-wrap .composer textarea{grid-column:2;grid-row:1;z-index:1;height:44px;min-height:44px;max-height:144px;padding:11px 2px 11px 14px;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:16px;line-height:22px;overflow-y:auto;overscroll-behavior-y:contain}.ast-compose-wrap .composer textarea:focus{background:transparent;box-shadow:none}.ast-compose-wrap .ast-compose-tools>.ast-compose-emoji{grid-column:3;grid-row:1;z-index:1;width:40px;height:44px;border-radius:50%;color:var(--fg-3)}.ast-compose-wrap .ast-compose-tools>.ast-compose-emoji[aria-expanded=true]{background:transparent;color:var(--accent)}.ast-compose-wrap .ast-compose-tools>.ast-compose-voice{grid-column:4;grid-row:1;width:44px;height:44px;border-radius:50%;background:var(--surface-2);color:var(--fg-2)}.ast-compose-wrap .ast-compose-footer{grid-column:4;grid-row:1;display:none}.ast-compose-wrap .composer.has-content .ast-compose-tools>.ast-compose-voice,.ast-compose-wrap .composer.voice-mode .ast-compose-footer{display:none}.ast-compose-wrap .composer.has-content .ast-compose-footer,.ast-compose-wrap .composer:not(.has-voice) .ast-compose-footer{display:grid}.ast-compose-wrap .ast-compose-hint{display:none}.ast-compose-wrap .ast-compose-footer .send{width:44px;min-width:44px;height:44px;padding:0;border-radius:50%;font-size:0;gap:0}.ast-compose-wrap .send .send-icon{width:20px;height:20px}.ast-compose-wrap .send .send-label{display:none}.ast-compose-wrap .composer.voice-mode{grid-template-columns:40px minmax(0,1fr) 40px}.ast-compose-wrap .composer.voice-mode:before{display:none}.ast-compose-wrap .composer.voice-mode .ast-compose-tools>.ast-compose-voice{grid-column:1;grid-row:1;width:40px;background:transparent;color:var(--fg-2)}.ast-compose-wrap .composer.voice-mode .ua-voice-recorder{grid-column:2;grid-row:1}.ast-compose-wrap .composer.voice-mode .ast-compose-tools>.ast-compose-emoji{display:none}.ast-compose-wrap .composer.voice-mode>.ast-compose-more{grid-column:3}.ast-compose-wrap>.ast-emoji-panel,.ast-compose-wrap>.ast-capture-panel,.ast-compose-wrap>.ast-photo-panel{order:2}.ast-compose-wrap .ast-compose-attachments{display:none;grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 8px;align-items:start;max-height:34vh;overflow:auto;overscroll-behavior:contain;padding:16px 4px 10px;border-top:1px solid var(--line);margin-top:6px}.ast-compose-wrap .attachments-open .ast-compose-attachments{display:grid;animation:ast-compose-reveal .14s ease-out}.ast-compose-wrap .ast-compose-attachments button{display:flex;flex-direction:column;width:100%;min-width:0;height:auto;gap:7px;padding:0;background:transparent;border-radius:14px;color:var(--fg-2)}.ast-compose-wrap .ast-compose-attachments button:hover{background:transparent;color:var(--fg)}.ast-compose-wrap .ast-compose-tool-icon{width:56px;height:56px;border-radius:18px;background:var(--surface-2);color:var(--accent)}.ast-compose-wrap .ast-compose-tool-icon svg{width:26px;height:26px}.ast-compose-wrap .ast-compose-attachments button[aria-label=照片] .ast-compose-tool-icon{background:var(--accent-soft);color:var(--accent-strong)}.ast-compose-wrap .ast-compose-attachments button[aria-label=选择视频] .ast-compose-tool-icon{background:#f3e8ff;color:#7e22ce}.ast-compose-wrap .ast-compose-attachments button[aria-label=打开拍摄] .ast-compose-tool-icon{background:var(--good-soft);color:var(--good-strong)}.ast-compose-wrap .ast-compose-attachments button[aria-label=发送个人名片] .ast-compose-tool-icon{background:var(--warn-soft);color:var(--warn)}.ast-compose-wrap .ast-compose-attachments button[aria-label=发送我的收藏] .ast-compose-tool-icon{background:#fdf2e3;color:#b45309}.ast-compose-wrap .ast-compose-attachments button[aria-label=提醒群成员] .ast-compose-tool-icon{background:#e0f2fe;color:#0369a1}:root[data-theme=dark] .ast-compose-wrap .ast-compose-attachments button[aria-label=选择视频] .ast-compose-tool-icon{background:#2e1a47;color:#d8b4fe}:root[data-theme=dark] .ast-compose-wrap .ast-compose-attachments button[aria-label=发送我的收藏] .ast-compose-tool-icon{background:#3a2a14;color:#fcd34d}:root[data-theme=dark] .ast-compose-wrap .ast-compose-attachments button[aria-label=提醒群成员] .ast-compose-tool-icon{background:#0f2a3f;color:#7dd3fc}.ast-compose-wrap .ast-compose-tool-label{display:block;font-size:12px;line-height:18px;overflow-wrap:anywhere}.ast-compose-wrap .draft-info{padding:7px 12px}.ast-compose-wrap .ast-queued-files{padding:6px 8px;max-height:110px}.ast-emoji-panel{max-height:220px}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ast-compose-wrap .ast-compose-attachments button[aria-label=选择视频] .ast-compose-tool-icon{background:#2e1a47;color:#d8b4fe}:root:not([data-theme=light]) .ast-compose-wrap .ast-compose-attachments button[aria-label=发送我的收藏] .ast-compose-tool-icon{background:#3a2a14;color:#fcd34d}:root:not([data-theme=light]) .ast-compose-wrap .ast-compose-attachments button[aria-label=提醒群成员] .ast-compose-tool-icon{background:#0f2a3f;color:#7dd3fc}}@media(prefers-reduced-motion:reduce){.ast-mention-panel,.ast-compose-wrap .attachments-open .ast-compose-attachments{animation:none}}.ast-send-sheet-backdrop{position:fixed;inset:0;z-index:60;background:#0a0e1873;display:flex;align-items:flex-end;justify-content:center}.ast-send-sheet{width:100%;max-width:560px;max-height:min(86vh,calc(var(--ast-viewport-height,100dvh) - 24px));display:flex;flex-direction:column;gap:12px;background:var(--surface,#fff);color:var(--fg,#1a2233);border-radius:22px 22px 0 0;padding:12px 16px calc(14px + env(safe-area-inset-bottom));box-sizing:border-box;box-shadow:0 -8px 30px #0000002e}@media(min-width:761px){.ast-send-sheet-backdrop{align-items:center}.ast-send-sheet{border-radius:18px}}.ast-send-sheet header{display:grid;grid-template-columns:72px 1fr 72px;align-items:center;text-align:center}.ast-send-sheet header button{justify-self:start;border:0;background:none;color:var(--accent,#2f7cf6);font-size:15px;min-height:40px;padding:0 4px}.ast-send-sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;overflow:auto;min-height:96px}.ast-send-sheet-item{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--surface-2,#eef1f6)}.ast-send-sheet-item img,.ast-send-sheet-item video{width:100%;height:100%;object-fit:cover;display:block}.ast-send-sheet-item>button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:#0000008c;color:#fff;display:grid;place-items:center;padding:0}.ast-send-sheet-play{position:absolute;left:6px;bottom:6px;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.ast-send-sheet-add{aspect-ratio:1;border:1.5px dashed var(--border,#c9d1de);border-radius:10px;background:none;color:var(--fg-2,#5a6578);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px}.ast-send-sheet-caption{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--fg-2,#5a6578)}.ast-send-sheet-caption input{min-height:42px;border-radius:12px}.ast-send-sheet footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.ast-send-sheet-original{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}.ast-send-sheet-note{font-size:12px;color:var(--fg-2,#5a6578)}.ast-send-sheet footer .primary{min-width:120px;min-height:44px;border-radius:999px}.conversation-row-actions{position:relative;overflow:hidden;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.conversation-row-actions.conversation:hover{transform:none}.conversation-row-actions[data-gesture=ios],.conversation-row-actions[data-gesture=android]{touch-action:pan-y}.conversation-row-actions>button,.conversation-row-actions>button:active:not(:disabled){transform:translate3d(var(--conversation-action-offset,0px),0,0);transition:transform .18s ease}.conversation-row-actions.is-dragging>button{transition:none}.conversation-row-actions[data-actions-open=true]{border-radius:16px}.conversation-swipe-actions{position:absolute;top:0;bottom:0;right:0;width:256px;display:flex;justify-content:flex-end;overflow:hidden;border-radius:0 16px 16px 0;transform:translate3d(calc(256px + var(--conversation-action-offset,0px)),0,0);transition:transform .18s ease}.conversation-swipe-actions[aria-hidden=true]{pointer-events:none}.conversation-row-actions.is-dragging>button,.conversation-row-actions.is-dragging>.conversation-swipe-actions{will-change:transform}.conversation-row-actions.is-dragging>.conversation-swipe-actions{transition:none}.conversation-swipe-actions button{flex:0 0 64px;border:0;border-radius:0;background:var(--fg-3);color:#fff;font-size:12px;padding:0 6px;line-height:1.3}.conversation-swipe-actions button.conversation-delete{background:var(--danger)}.conversation-swipe-actions button.conversation-mark-read{background:var(--accent)}.conversation-swipe-actions button.conversation-mark-unread{background:var(--accent-strong)}.conversation-context-menu{position:fixed;z-index:85;min-width:168px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:6px;background:var(--glass-strong);color:var(--fg);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-3);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}.conversation-context-menu button{display:block;width:100%;border:0;border-radius:10px;padding:11px 14px;background:transparent;color:inherit;text-align:left;font-size:14px}.conversation-context-menu button:hover,.conversation-context-menu button:focus-visible{background:var(--hover)}.conversation-context-menu .conversation-delete{color:var(--danger)}@media(prefers-reduced-motion:reduce){.conversation-row-actions>button,.conversation-swipe-actions{transition:none}}.conversation-failure-mark{display:inline-grid;place-items:center;width:15px;height:15px;margin-right:4px;border-radius:50%;background:var(--danger);color:#fff;font-size:11px;line-height:15px;vertical-align:-2px}.conversation-pull-refresh{--pull-distance:0px;position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.conversation-pull-refresh>.conversation-list{position:relative;overscroll-behavior-y:contain;transform:translate3d(0,var(--pull-distance),0);transition:transform .2s ease-out}.conversation-refresh-status{position:absolute;top:0;left:0;right:0;height:44px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--fg-3);font-size:12px;pointer-events:none;transform:translate3d(0,calc(var(--pull-distance) - 44px),0);transition:transform .2s ease-out}.conversation-pull-refresh[data-dragging=true]>.conversation-list,.conversation-pull-refresh[data-dragging=true]>.conversation-refresh-status{transition:none}.conversation-refresh-status[aria-hidden=true]{visibility:hidden}.conversation-pull-refresh[data-phase=ready] .conversation-refresh-status svg{transform:rotate(180deg)}.conversation-pull-refresh[data-phase=refreshing] .conversation-refresh-status svg{animation:conversation-refresh-spin .8s linear infinite}@keyframes conversation-refresh-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.conversation-pull-refresh>.conversation-list,.conversation-refresh-status{transition:none}.conversation-pull-refresh[data-phase=refreshing] .conversation-refresh-status svg{animation:none}}.group-directory{display:flex;flex-direction:column;gap:20px;min-width:0;padding:12px 0}.group-directory .group-directory-note{margin:0;color:var(--fg-3);font-size:12px;line-height:1.7}.group-directory section{min-width:0}.group-directory h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;color:var(--fg-2);font-size:13px}.group-directory h3>span{font-size:12px;color:var(--fg-3)}.group-directory .group-directory-row{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 6px;border:0;border-bottom:1px solid var(--line-2);background:transparent;text-align:left;color:var(--fg);border-radius:12px}@media(hover:hover){.group-directory .group-directory-row:hover{background:var(--hover)}}.group-directory-row>.avatar{width:46px;height:46px;font-size:18px;border-radius:50%}.group-directory-row>span{flex:1;min-width:0}.group-directory-row strong{display:block;font-size:14px;overflow-wrap:anywhere}.group-directory-row small{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px;color:var(--fg-3);font-size:11px}.group-directory-row>svg{flex:0 0 auto;color:var(--fg-4)}.group-directory-saved{display:inline-flex;align-items:center;gap:3px;color:var(--accent)}.group-directory .group-directory-empty{margin:0;padding:18px 0;color:var(--fg-3);font-size:12px;line-height:1.7}.chat-history-backdrop{position:fixed;inset:0;z-index:45;display:grid;place-items:center;background:var(--scrim);padding:28px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.chat-history-page{display:flex;flex-direction:column;width:min(760px,100%);height:min(820px,100%);min-height:0;min-width:0;background:var(--bg-2);border-radius:var(--r-sheet);box-shadow:var(--shadow-3);color:var(--fg);overflow:hidden;font-size:14px}.chat-history-page button,.chat-history-page input{font:inherit}.chat-history-page button{border:0;background:transparent;color:inherit;min-width:0}.chat-history-header{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chat-history-header>button,.chat-history-header>span{flex:0 0 40px;width:40px;height:40px;padding:5px;border-radius:50%}.chat-history-header>button:hover{background:var(--hover)}.chat-history-header>div{flex:1;min-width:0;text-align:center}.chat-history-header h2{font-size:17px;margin:0;outline:0}.chat-history-header small{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-3);font-size:12px}.chat-history-keyword{display:flex;align-items:center;gap:7px;flex-shrink:0;margin:14px 18px 8px;padding:6px 14px;background:var(--surface-2);border-radius:var(--r-pill);color:var(--fg-3)}.chat-history-keyword input{width:100%;min-width:0;flex:1;border:0;outline:0;background:transparent;padding:6px 0;color:var(--fg)}.chat-history-keyword button{flex-shrink:0;padding:5px;color:var(--accent)}.chat-history-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 16px 16px;flex-shrink:0;border-bottom:1px solid var(--line)}.chat-history-shortcuts button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 1px;font-size:12px;color:var(--fg-2);border-radius:12px}.chat-history-page button[aria-pressed=true]{color:var(--accent-strong);background:var(--accent-soft);border-radius:12px}.chat-history-content{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:0 18px max(20px,env(safe-area-inset-bottom))}.chat-history-filter-panel{display:flex;flex-direction:column;gap:12px;padding:18px 0;min-width:0}.chat-history-filter-panel h3{font-size:16px;margin:0}.chat-history-filter-panel p{font-size:12px;line-height:1.7;color:var(--fg-3);margin:0}.chat-history-filter-panel label{display:flex;flex-direction:column;gap:8px;color:var(--fg-2)}.chat-history-filter-panel input{width:100%;min-width:0;max-width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);box-sizing:border-box;color:var(--fg)}.chat-history-filter-panel>button{padding:12px;background:var(--surface-2);border-radius:var(--r-ctl)}.chat-history-page .chat-history-primary{background:var(--accent);color:#fff}.chat-history-members{display:flex;flex-direction:column;gap:1px}.chat-history-members button{display:flex;flex-direction:column;gap:5px;text-align:left;background:var(--surface);padding:13px;overflow-wrap:anywhere;border-radius:10px}.chat-history-members small{color:var(--fg-3);font-size:12px}.chat-history-media-kinds{display:flex;gap:10px;padding-top:14px}.chat-history-media-kinds button{padding:8px 18px;color:var(--fg-2);border-radius:var(--r-pill);background:var(--surface-2)}.chat-history-active-filters{display:flex;align-items:center;gap:8px;justify-content:space-between;padding-top:12px;font-size:12px;color:var(--fg-2)}.chat-history-active-filters span{min-width:0;overflow-wrap:anywhere}.chat-history-active-filters button{flex-shrink:0;color:var(--accent);padding:8px 0}.chat-history-empty{text-align:center;color:var(--fg-3);font-size:13px;line-height:1.9;margin:0;padding:38px 12px}.chat-history-result-note{color:var(--fg-3);font-size:12px;margin:16px 0 10px}.chat-history-results{display:flex;flex-direction:column;gap:2px}.chat-history-result{display:flex;align-items:center;gap:12px;width:100%;padding:14px 12px;text-align:left;background:var(--surface)!important;overflow:hidden;border-radius:12px}.chat-history-result-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.chat-history-result-meta{display:flex;flex-wrap:wrap;gap:5px 12px;align-items:center;justify-content:space-between;min-width:0}.chat-history-result-meta strong{font-size:13px;overflow-wrap:anywhere}.chat-history-result-meta time{font-size:11px;color:var(--fg-3);white-space:nowrap}.chat-history-filename{display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere;line-height:1.5;font-size:13px}.chat-history-filename small{color:var(--fg-3);font-size:11px}.chat-history-snippet{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-size:13px;color:var(--fg-2)}.chat-history-thumbnail,.chat-history-video,.chat-history-file{flex:0 0 60px;width:60px;height:60px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;position:relative;color:var(--fg-2);overflow:hidden;border-radius:10px}.chat-history-thumbnail img{width:100%;height:100%;object-fit:cover}.chat-history-thumbnail small,.chat-history-video small{font-size:10px}.chat-history-thumbnail small{position:absolute;bottom:0;background:var(--glass);width:100%;text-align:center;color:var(--fg-3)}.chat-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.chat-history-grid .chat-history-result{padding:0 0 10px;gap:9px;flex-direction:column;align-items:stretch;border-radius:12px}.chat-history-grid .chat-history-thumbnail,.chat-history-grid .chat-history-video{flex:auto;width:100%;height:auto;aspect-ratio:1;min-height:0;border-radius:12px 12px 0 0}.chat-history-grid .chat-history-result-text{padding:0 9px}.chat-history-grid .chat-history-result-meta{flex-direction:column;align-items:flex-start}.chat-history-grid .chat-history-filename{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:12px}.chat-history-grid .chat-history-snippet{font-size:12px}.chat-history-page .chat-history-more{display:block;margin:20px auto 0;padding:10px 24px;color:var(--accent);background:var(--surface);border-radius:var(--r-pill)}.chat-history-error{color:var(--danger-strong);background:var(--danger-soft);padding:12px;line-height:1.7;font-size:13px;overflow-wrap:anywhere;border-radius:10px}@media(max-width:760px),(hover:none)and (pointer:coarse){.chat-history-backdrop{padding:0;top:var(--ast-viewport-top,0px);bottom:auto;height:var(--ast-viewport-height,100dvh);-webkit-backdrop-filter:none;backdrop-filter:none}.chat-history-page{width:100%;height:100%;border-radius:0;box-shadow:none}.chat-history-header{padding-top:max(12px,env(safe-area-inset-top))}.chat-history-page input{font-size:16px}.chat-history-content{padding-left:12px;padding-right:12px}.chat-history-grid{gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.chat-history-shortcuts{gap:4px;padding-left:10px;padding-right:10px}}.message-avatar-button.mention-avatar{touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.mention-avatar img{-webkit-user-drag:none;pointer-events:none}.pwa-install-guide-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow:auto;background:var(--scrim)}.pwa-install-guide-backdrop .pwa-install-guide{width:min(390px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:28px 24px 22px;border-radius:var(--r-sheet);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-3);text-align:center}.pwa-install-guide-mark{width:54px;height:54px;margin:0 auto 14px;border-radius:16px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:20px;letter-spacing:-1px}.pwa-install-guide-mark img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}.pwa-install-guide h2{margin:0;font-size:20px}.pwa-install-guide p{margin:12px 0;color:var(--fg-2);font-size:13px;line-height:1.7}.pwa-install-guide ol{margin:15px 0 20px;padding-left:24px;color:var(--fg-2);font-size:13px;line-height:2;text-align:left}.pwa-install-guide-dismiss{width:100%;border:0;border-radius:var(--r-ctl);padding:12px 14px;background:var(--accent);color:#fff;font:inherit;cursor:pointer}.pwa-install-guide-dismiss:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.ast-attachment-media{display:block;width:fit-content;max-width:100%}.ast-attachment-media>.attachment{display:block;width:fit-content;max-width:100%;line-height:0}.ast-attachment-media .attachment img{display:block;width:auto;height:auto;max-width:min(280px,calc(100vw - 110px));max-height:280px;object-fit:contain;border-radius:14px}.ast-attachment-media .ast-media-placeholder{line-height:1.5;min-width:0;width:120px;max-width:100%;min-height:64px;padding:10px}.ast-attachment-media.ast-media-sized .ast-media-placeholder{width:var(--ast-media-width);max-width:min(280px,calc(100vw - 110px));aspect-ratio:var(--ast-media-ratio);min-height:0;overflow:hidden}.ast-video-card{position:relative;display:block;width:var(--ast-media-width,160px);max-width:min(280px,calc(100vw - 110px));aspect-ratio:var(--ast-media-ratio,16/9);background:var(--surface-3);border-radius:14px;color:var(--fg-2);overflow:hidden}.ast-video-card>svg{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;max-width:50%;max-height:50%;fill:#fff;filter:drop-shadow(0 1px 3px #0009)}.ast-video-card-poster{display:block;width:100%;height:100%;object-fit:cover;background:var(--surface-3)}.ast-video-card-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:11px;color:var(--fg-2);background:var(--surface-3)}.ast-video-card-duration{position:absolute;z-index:2;right:6px;bottom:6px;padding:2px 6px;border-radius:8px;background:#000b;color:#fff;font-size:11px;line-height:1.2;font-variant-numeric:tabular-nums}.ast-video-card-source{position:absolute;z-index:-1;inset:0;width:1px;height:1px;opacity:0;pointer-events:none}.message-stage .bubble.bubble-media-only{width:fit-content;max-width:100%;min-height:0;padding:0;border:0;background:transparent;line-height:0;box-shadow:none;overflow:hidden}.message-stage .bubble.bubble-media-only:not(.recalled):before{display:none}@media(max-width:760px){.ast-attachment-media .attachment img,.ast-video-card{max-width:min(210px,calc(100vw - 110px))}}@media(max-width:760px){.ast-attachment-media.ast-media-sized .ast-media-placeholder{max-width:min(210px,calc(100vw - 110px))}}.ast-video-player{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;color:#fff}.ast-video-player>video{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;background:#000}.ast-video-player .ast-video-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:calc(100% - 24px);margin:0;padding:8px 13px;border-radius:10px;background:#000b;color:#fff;font-size:14px;pointer-events:none;text-align:center}.ast-video-player .ast-video-error{max-width:100%;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;text-align:center;overflow-wrap:anywhere}.ast-video-player .ast-video-error p{margin:0;padding:0;font-size:14px;line-height:1.7}.ast-video-player .ast-video-error button{border:1px solid #ffffff55;border-radius:10px;background:#ffffff12;color:#fff;min-height:40px;padding:8px 18px;font-size:14px;cursor:pointer}.ast-video-player .ast-video-error button:focus-visible{outline:2px solid #cff7ff;outline-offset:3px}.ast-album{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:min(280px,100%);max-width:100%;overflow:hidden;border-radius:14px;background:var(--surface-2)}.ast-album-cell{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1;border:0;padding:0;overflow:hidden;background:var(--surface-2);color:var(--fg-2);cursor:pointer}.ast-album-cell img{display:block;width:100%;height:100%;object-fit:cover;background:var(--surface-2)}.ast-album-cell:hover{filter:brightness(.96)}.ast-album-placeholder{font-size:11px;color:var(--fg-3)}.ast-album-more{position:absolute;inset:0;display:grid;place-items:center;background:#0008;color:#fff;font-size:22px;text-shadow:0 1px 2px #000}.ast-album-status{position:absolute;inset:auto 2px 2px;display:block;padding:2px 3px;overflow:hidden;background:#0009;color:#fff;font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;border-radius:4px}.ast-album-status.is-failed{background:#b42318e8;color:#fff}@media(max-width:760px){.ast-album{width:min(250px,100%)}.ast-album-status{font-size:8px}}.ast-attachment-file{width:min(230px,100%);min-width:0}.ast-attachment-file>.attachment{display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;min-width:0;padding:5px 2px;line-height:1.5;color:inherit}.ast-file-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:48px;border-radius:10px;background:var(--surface-2);color:var(--accent)}.mine .ast-file-icon{background:#fff3;color:#fff}.ast-file-description{display:flex;flex-direction:column;gap:7px;min-width:0}.ast-file-description strong{font-size:14px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ast-attachment-file .ast-file-description small{margin:0;font-size:11px;color:var(--fg-3)}.mine .ast-attachment-file .ast-file-description small{color:var(--bubble-me-fg-2)}@media(max-width:760px){.ast-attachment-file{max-width:210px}.ast-file-description strong{font-size:15px}}.personal-panel{display:flex;flex-direction:column;gap:14px}.personal-panel h2{margin:0;font-size:20px;color:var(--fg)}.personal-panel input:not([type=checkbox]),.contact-filters input,.contact-filters select,.personal-contact-editor input{min-width:0;border:1px solid var(--line);border-radius:var(--r-ctl);padding:10px 12px;background:var(--surface);color:var(--fg);font:inherit}.personal-panel input:not([type=checkbox]):focus,.personal-contact-editor input:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.personal-panel .hint{margin:0;line-height:1.6}.privacy-option{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line-2)}.privacy-option>span{display:grid;gap:6px}.privacy-option strong{color:var(--fg);font-size:14px}.privacy-option small{color:var(--fg-3);line-height:1.5}.privacy-option input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--accent)}.favorite-card{border:0;border-radius:var(--r-card);padding:14px;background:var(--surface);box-shadow:var(--shadow-1);display:grid;gap:10px}.favorite-source{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--fg-3)}.favorite-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--fg)}.favorite-image{max-width:100%;max-height:250px;object-fit:contain;justify-self:start;border-radius:10px}.favorite-file{overflow-wrap:anywhere;font-size:13px;color:var(--fg-2)}.favorite-actions{display:flex;gap:10px}.favorite-actions button,.contact-entry>button:not(.contact-open),.personal-contact-editor button{border:0;border-radius:var(--r-pill);padding:8px 14px;background:var(--surface-2);color:var(--fg);cursor:pointer;font-size:13px}.favorite-actions button:hover,.personal-contact-editor button:hover{background:var(--accent-soft);color:var(--accent-strong)}.contact-filters{display:flex;gap:8px;padding:8px 0}.contact-filters input{flex:1;width:0}.contact-filters select{max-width:130px}.contact-section h3{margin:12px 0 0;padding:6px 10px;background:var(--surface-2);font-size:12px;color:var(--fg-3)}.contact-entry{display:flex;gap:7px;align-items:center;border-bottom:1px solid var(--line-2);padding:8px 0}.contact-open{display:flex;flex:1;min-width:0;align-items:center;gap:10px;border:0;background:transparent;text-align:left;padding:4px;cursor:pointer;color:var(--fg)}.contact-open>span{min-width:0;display:grid;gap:4px}.contact-open strong,.contact-open small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-open small{color:var(--fg-3);font-size:12px}.personal-contact-editor{display:flex;flex-direction:column;gap:14px;max-width:430px}.personal-contact-editor label{display:grid;gap:8px}.personal-contact-editor small{color:var(--fg-3)}.personal-contact-editor>div{display:flex;justify-content:flex-end;gap:10px}.personal-contact-editor button.primary{background:var(--accent);color:#fff}@media(max-width:760px){.favorite-source{flex-wrap:wrap}.contact-entry>button:not(.contact-open){padding:7px}.contact-filters{flex-wrap:wrap}.personal-panel{padding-bottom:var(--tabbar-space)}.personal-contact-editor{max-width:none}}.privacy-panel .privacy-option{display:flex}.privacy-panel .privacy-option input[type=checkbox]{width:20px;height:20px;flex:0 0 auto;padding:0}.favorites-panel .profile-subpage-header{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}.favorites-panel .profile-subpage-header h2{margin:0;text-align:center;font-size:16px}.favorites-panel .profile-subpage-header button{display:flex;align-items:center;gap:2px;border:0;background:transparent;padding:8px 0;font-size:14px;color:var(--accent);cursor:pointer}.favorites-page{background:var(--bg-2)}@media(max-width:760px){.favorites-panel .profile-subpage-header{padding-top:calc(10px + env(safe-area-inset-top))}}.contact-directory{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg)}.contact-book-search{margin:0 14px 10px;padding:0 12px;min-height:40px;display:flex;align-items:center;gap:7px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg-3);flex-shrink:0;border:1px solid transparent;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.contact-book-search:focus-within{background:var(--surface);border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.contact-book-search input{flex:1;width:0;min-width:0;padding:8px 0;border:0;background:transparent;outline:0;font-size:14px;color:var(--fg)}.contact-book-search button{border:0;background:transparent;color:var(--fg-3);padding:4px;font-size:18px;border-radius:50%}.contact-book-body{position:relative;flex:1;min-height:0;overflow:hidden}.contact-book-scroll{position:relative;height:100%;overflow:auto;overscroll-behavior:contain;padding:0 26px 0 8px;scrollbar-width:thin}.contact-book-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:4px 4px 12px}.contact-book-shortcuts>button{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;min-width:0;border:0;background:transparent;padding:10px 2px;text-align:center;min-height:0;border-radius:14px;color:var(--fg-2)}@media(hover:hover){.contact-book-shortcuts>button:hover{background:var(--hover)}}.contact-book-shortcuts>button>span:nth-child(2){flex:0 0 auto;font-size:12px;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-book-shortcuts>button>svg{display:none}.contact-book-row>svg{flex-shrink:0;color:var(--fg-4)}.contact-book-shortcuts>button>small{position:absolute;top:6px;right:50%;transform:translate(26px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--surface-3);color:var(--fg-2);font-size:10px;line-height:18px;text-align:center}.contact-book-row>small{color:var(--fg-3);font-size:12px}.contact-shortcut-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#fff;background:var(--accent);box-shadow:var(--shadow-1)}.contact-shortcut-icon.new-friends{background:linear-gradient(135deg,#fb923c,#ea580c)}.contact-shortcut-icon.saved-groups{background:linear-gradient(135deg,#34d399,#059669)}.contact-shortcut-icon.tags{background:linear-gradient(135deg,#60a5fa,#2563eb)}.contact-shortcut-icon.invitations{background:linear-gradient(135deg,#a78bfa,#7c3aed)}.contact-book-badge{position:absolute;top:6px;right:50%;transform:translate(28px);min-width:18px;height:18px;display:grid;place-items:center;background:var(--danger);color:#fff;font-size:10px;border-radius:9px;padding:0 5px;box-shadow:0 0 0 2px var(--bg)}.contact-directory .contact-section h3{position:sticky;top:0;z-index:1;font-size:12px;margin:0;padding:6px 12px;background:var(--bg);color:var(--fg-3)}.contact-directory .contact-entry{padding:0;border:0;gap:0}.contact-directory .contact-open{padding:9px 10px;border:0;border-radius:14px;gap:12px;min-height:60px;width:100%}.contact-directory .contact-open strong{font-size:15px;color:var(--fg)}.contact-directory .contact-open .avatar{width:46px;height:46px;border-radius:50%;font-size:18px}@media(hover:hover){.contact-directory .contact-entry:hover .contact-open,.contact-book-row:hover{background:var(--hover)}}.contact-book-count,.contact-book-empty{font-size:12px;line-height:1.7;text-align:center;color:var(--fg-3);margin:24px 16px}.contact-book-index{position:absolute;right:2px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:stretch;width:22px;overflow:auto;padding:5px 0}.contact-book-index button{flex:0 1 20px;min-height:15px;border:0;background:transparent;padding:1px 0;font-size:10px;line-height:1;color:var(--fg-3);border-radius:10px}.contact-book-index button:hover,.contact-book-index button:focus-visible{color:var(--accent-strong);background:var(--accent-soft)}.contact-book-header{display:flex;align-items:center;gap:8px;padding:6px 12px 12px;flex-shrink:0;border-bottom:1px solid var(--line)}.contact-book-header button{border:0;background:transparent;padding:8px;display:grid;place-items:center;color:var(--fg-2);border-radius:50%}.contact-book-header button:hover{background:var(--hover)}.contact-book-header h3{font-size:16px;margin:0;flex:1;color:var(--fg)}.contact-book-header .contact-book-add{font-size:13px;color:var(--accent);display:block;padding:8px 10px;border-radius:var(--r-pill)}.contact-book-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px 16px 24px}.contact-book-content .person{flex-wrap:wrap}.contact-book-content .person>div:not(.avatar){min-width:120px}.contact-book-content .person strong,.contact-book-content .person small{overflow-wrap:anywhere}.contact-book-content .saved-group .person-title{display:flex;align-items:center;gap:12px;font-size:14px;min-width:0;white-space:normal;overflow-wrap:anywhere}.contact-book-content .saved-group .avatar{width:44px;height:44px;border-radius:50%}.contact-book-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 15px 10px;font-size:12px;color:var(--fg-2)}.contact-book-filter span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.contact-book-filter button{border:0;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;white-space:nowrap;padding:5px 10px;border-radius:var(--r-pill)}.contact-book-row{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid var(--line-2);background:transparent;text-align:left;padding:15px 4px;font-size:14px;color:var(--fg)}.contact-book-row>span{flex:1;min-width:0;overflow-wrap:anywhere}.contact-book-tags h3{font-size:13px;color:var(--fg-3);margin:22px 0 5px}.contact-book-tags label{display:grid;gap:9px;font-size:13px;padding:18px 0;color:var(--fg-2)}.contact-book-tags select{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);min-width:0;color:var(--fg)}.contact-profile-summary{display:flex;flex-direction:column;gap:12px;align-items:center;padding:22px 0 10px;min-width:0;text-align:center}.contact-profile-summary .avatar{width:88px;height:88px;border-radius:50%;font-size:34px;box-shadow:0 0 0 4px var(--surface),0 0 0 5px var(--line)}.contact-profile-summary>div:not(.avatar){min-width:0;max-width:100%}.contact-profile-summary .identity-name{justify-content:center}.contact-profile-summary h3{margin:0;font-size:20px;color:var(--fg);overflow-wrap:anywhere}.contact-profile-summary p{font-size:13px;color:var(--fg-3);margin:6px 0 0;overflow-wrap:anywhere}.contact-profile-bio{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:var(--fg-2);line-height:1.8;margin:0 0 14px;padding:12px 14px;background:var(--surface-2);border-radius:var(--r-card)}.contact-profile-metadata{font-size:12px;color:var(--fg-3);line-height:1.6;overflow-wrap:anywhere}.contact-profile-metadata p{margin:8px 2px}.contact-book-message{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;font-size:15px;padding:13px;min-height:48px}@media(max-width:760px){.contact-directory{padding-bottom:0}.contact-book-scroll{padding-bottom:var(--tabbar-space)}.contact-book-content{padding-left:20px;padding-right:20px;padding-bottom:var(--tabbar-space)}.contact-book-index{right:4px;bottom:var(--tabbar-space)}.contact-profile-summary{padding-top:24px}}.message-menu{--menu-safe-top:env(safe-area-inset-top,0px);--menu-safe-right:env(safe-area-inset-right,0px);--menu-safe-bottom:env(safe-area-inset-bottom,0px);--menu-safe-left:env(safe-area-inset-left,0px);position:fixed;z-index:80;box-sizing:border-box;padding:6px;background:var(--glass-strong);color:var(--fg);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-3);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);visibility:hidden;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;animation:message-menu-in .14s cubic-bezier(.2,.8,.2,1)}.message-menu:after{display:none}.message-menu-grid{display:grid;grid-template-columns:repeat(var(--message-menu-columns,1),minmax(0,1fr));gap:1px;max-height:var(--message-menu-height, calc(100dvh - 34px) );overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.message-menu button{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;min-width:0;min-height:42px;margin:0;padding:0 12px;border:0;border-radius:10px;background:none;color:inherit;text-align:left;font-size:14px;line-height:1.3;cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap}.message-menu button svg{width:18px;height:18px;flex-shrink:0;stroke-width:1.9;color:var(--accent)}.message-menu button span{max-width:100%;overflow-wrap:anywhere}.message-menu button span br{display:none}.message-menu button.danger{color:var(--danger)!important}.message-menu button.danger svg{color:var(--danger)}.message-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--hover)}.message-menu button:active{background:var(--surface-3)}@media(hover:hover){.message-menu button:hover{background:var(--hover)}}@keyframes message-menu-in{0%{opacity:0}to{opacity:1}}.message-row{position:relative}.message-row.message-selected{background:var(--accent-soft);border-radius:14px;outline:3px solid var(--accent-soft)}.message-check{align-self:center;accent-color:var(--accent);width:20px;height:20px;flex-shrink:0;margin:0 2px}.message-selection-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line);background:var(--surface);color:var(--fg-2);font-size:12px;flex-shrink:0}.message-selection-bar button{padding:8px 14px;border:0;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:13px}.message-selection-bar button:disabled{background:var(--surface-2);color:var(--fg-3)}.message-read{font-size:10px;color:var(--fg-3)}.message-read.is-read{color:var(--accent)}.message-row:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:14px}@media(pointer:coarse){.message-row{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.message-selection-bar{padding-bottom:max(10px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.message-menu{animation:none}}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}.rail .logo{width:40px;height:40px;box-shadow:none}.rail nav span{display:block}.connection-state{font-size:11px;color:var(--fg-3);padding:0 18px 14px;display:flex;align-items:center;gap:6px}.connection-state i{width:6px;height:6px;background:var(--warn);border-radius:50%}.connection-state .connected{background:var(--good)}.badge{border-radius:12px;background:var(--danger);color:#fff;font-size:10px;padding:2px 6px;align-self:center}.blank{padding:40px 22px;color:var(--fg-3);text-align:center}.blank .primary{margin-top:14px}.utility-list{padding:0 16px 22px;overflow:auto;flex:1;background:var(--bg)}.utility-list h3,.modal h3{font-size:13px;color:var(--fg-3);margin-top:22px}.person{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-2)}.person>div:not(.avatar),.person-title{flex:1;min-width:0}.person strong{font-size:14px;color:var(--fg)}.person small,.session small{display:block;color:var(--fg-3);font-size:11px;margin-top:4px}.person .avatar{width:44px;height:44px;border-radius:50%;font-size:17px}.person button,.session button,.settings-list>button:not(.primary),.modal>button:not(.primary),.inline-form button,.history-search button{border:0;background:var(--surface-2);color:var(--fg);padding:8px 12px;border-radius:var(--r-pill);white-space:nowrap;font-size:13px}.person button:hover,.session button:hover,.settings-list>button:not(.primary):hover,.modal>button:not(.primary):hover,.inline-form button:hover,.history-search button:hover{background:var(--accent-soft);color:var(--accent-strong)}.person .person-title{border:0;background:transparent;text-align:left;padding:0}.hint{font-size:12px;color:var(--fg-3);line-height:1.7}.center{text-align:center}.settings-list{display:flex;flex-direction:column;gap:12px}.settings-list h3{margin:15px 0 0}.settings-list label,.modal label{font-size:13px;display:grid;gap:8px;color:var(--fg-2)}.settings-list small{font-size:11px;color:var(--fg-3);line-height:1.7}.settings-list input,.modal input:not([type=checkbox]),.modal textarea{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);padding:11px 12px;color:var(--fg);width:100%;font:inherit;transition:border-color .18s ease,box-shadow .18s ease}.settings-list input:focus,.modal input:not([type=checkbox]):focus,.modal textarea:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.settings-list>p{margin:0}.session{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-2);padding:12px 0;font-size:13px;color:var(--fg)}.danger{color:var(--danger)!important}.history-search{display:flex;align-items:center;gap:8px;padding:8px 20px;color:var(--fg-3);border-bottom:1px solid var(--line)}.history-search input{min-width:0;width:100%;border:0;background:transparent;outline:none;padding:5px;font-size:12px;color:var(--fg)}.history-search button{padding:4px 9px;font-size:11px}.announcement{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;background:var(--glass);color:var(--danger-strong);padding:8px 14px 8px 16px;max-height:84px;overflow:auto;white-space:pre-wrap;border-bottom:1px solid var(--line);border-left:4px solid var(--accent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0}.load-more{display:block;margin:0 auto 14px;background:var(--glass);border:0;border-radius:var(--r-pill);padding:6px 14px;color:var(--accent);font-size:12px;box-shadow:var(--shadow-1)}.attachment{display:flex;flex-direction:column;gap:8px;border:0;background:transparent;text-align:left;max-width:100%;padding:0;color:inherit}.attachment img{max-width:280px;max-height:280px;object-fit:contain;border-radius:12px;width:100%}.attachment span{font-size:12px;overflow-wrap:anywhere}.quote{font-size:12px;color:var(--fg-2);border-left:3px solid var(--accent);padding-left:8px;margin-bottom:8px}.message-meta{display:flex;align-items:center;gap:7px}.message-meta button{font-size:10px;border:0;background:transparent;color:var(--fg-3);padding:3px}.recalled{background:transparent!important;color:var(--fg-3);border:0!important;font-size:11px}.composer textarea{font:inherit;font-size:14px;resize:none;min-width:0;flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);padding:10px;line-height:1.6;color:var(--fg)}.hidden{display:none!important}.draft-info{font-size:12px;color:var(--fg-2);padding:8px 20px;display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);background:var(--surface)}.draft-info button{border:0;color:var(--accent);background:transparent}.emojis{padding:10px;background:var(--surface);display:flex;gap:7px;flex-wrap:wrap}.emojis button{font-size:24px;border:0;background:transparent}.modal-backdrop{position:fixed;inset:0;background:var(--scrim);z-index:20;display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal{width:min(480px,100%);max-height:85dvh;overflow:auto;background:var(--surface);color:var(--fg);padding:20px 22px 22px;border:1px solid var(--line);border-radius:var(--r-sheet);box-shadow:var(--shadow-3);display:flex;flex-direction:column;gap:12px;animation:modal-in .18s cubic-bezier(.2,.8,.2,1)}.modal>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal h2{font-size:18px;margin:0;color:var(--fg)}.modal header button{border:0;background:var(--surface-2);color:var(--fg-2);padding:0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:20px;line-height:1}.modal header button:hover{background:var(--surface-3);color:var(--fg)}.modal header button svg{width:18px;height:18px}.modal p{margin:4px 0}.modal .avatar{width:40px;height:40px;border-radius:50%}.modal .primary{min-height:44px}.inline-form{display:flex;gap:8px;margin-top:4px}.pick-list{max-height:260px;overflow:auto;overscroll-behavior:contain}.pick-list label{display:flex;align-items:center;gap:10px;padding:10px 4px;border-radius:12px;cursor:pointer}@media(hover:hover){.pick-list label:hover{background:var(--hover)}}.pick-list input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex:0 0 20px}.pick-list small{color:var(--fg-3)}.forward-target-label{display:inline-flex;align-items:center;gap:7px;min-width:0}.forward-target-label strong{overflow-wrap:anywhere}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.toast{position:fixed;z-index:50;bottom:24px;left:50%;transform:translate(-50%);max-width:calc(100% - 30px);padding:12px 18px;border-radius:var(--r-card);background:var(--fg);color:var(--bg);font-size:13px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-3);animation:modal-in .2s ease-out}.toast[role=status]{background:var(--accent-strong);color:#fff}.toast button{border:0;background:transparent;color:inherit;opacity:.8;font-size:22px;line-height:1;padding:0 2px}.utility-mode{grid-template-columns:72px minmax(0,1fr)}.app-shell .rail nav{margin-top:8px}.rail-bottom button span{display:none}.group-info{display:flex;flex-direction:column;gap:18px}.group-info section{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding-top:6px}.group-info button,.modal>button:not(.primary){border:0;border-radius:var(--r-ctl);padding:10px 12px;background:var(--surface-2);color:var(--fg)}.group-info .group-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.group-toggle small{display:block;font-size:11px;color:var(--fg-3);margin-top:5px}.group-toggle input{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}.group-announcement{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.group-qr{display:flex;flex-direction:column;gap:10px;align-items:stretch}.group-qr img{align-self:center;max-width:100%;height:auto}.group-qr a{color:var(--accent);text-align:center;font-size:13px}.group-info .person{flex-wrap:wrap}.group-info .person>div{min-width:120px}.group-invitation{flex-wrap:wrap}.group-invitation>div{min-width:160px}.invitation-banner{display:flex;align-items:center;gap:8px;margin:0 14px 10px;padding:10px 14px;border:0;border-radius:var(--r-card);background:var(--accent-soft);color:var(--accent-strong);text-align:left;font-size:13px;cursor:pointer}.invitation-banner:hover{background:var(--accent-line)}.badge.muted{background:var(--fg-4)}.app-shell{grid-template-rows:minmax(0,1fr);overflow:hidden}.conversation-list{flex:1;min-height:0}.chat-header,.history-search,.composer{flex-shrink:0}.auth-shell .auth-panel{overflow:auto}.email-code-row{display:flex;align-items:end;gap:8px}.email-code-row label{flex:1;min-width:0}.email-code-row input{width:100%;min-width:0}.email-code-row button{border:0;border-radius:var(--r-ctl);background:var(--accent-soft);color:var(--accent-strong);padding:13px 12px;white-space:nowrap;font-size:12px}.email-binding form{display:flex;flex-direction:column;gap:12px}.email-binding p{font-size:12px;overflow-wrap:anywhere}.quick-actions{position:relative}.action-menu{position:absolute;right:0;top:46px;z-index:15;width:180px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-3);animation:modal-in .16s ease-out}.action-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;border-radius:10px;background:transparent;text-align:left;font-size:14px;color:var(--fg)}.action-menu button svg{width:18px;height:18px;color:var(--accent)}@media(hover:hover){.action-menu button:hover{background:var(--hover)}}.bubble-delivery-failure{display:flex;align-items:center;gap:6px;color:var(--danger-strong)!important;background:var(--danger-soft)!important;border:1px solid var(--danger)!important}.mine .bubble-delivery-failure{color:var(--danger-strong)!important}.delivery-failure-reason{display:block;color:var(--danger);font-size:12px;margin-left:2px}.pwa-guide-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:var(--scrim)}.pwa-guide{width:min(390px,100%);padding:28px 24px 22px;border-radius:var(--r-sheet);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-3);text-align:center}.pwa-guide-mark{width:54px;height:54px;margin:0 auto 14px;border-radius:16px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:20px;letter-spacing:-1px}.pwa-guide h2{margin:0;font-size:20px}.pwa-guide p{margin:12px 0;color:var(--fg-2);font-size:13px;line-height:1.7}.pwa-guide ol{margin:15px 0 20px;padding-left:24px;text-align:left;color:var(--fg-2);font-size:13px;line-height:2}.pwa-guide-dismiss{width:100%;border:0;border-radius:var(--r-ctl);padding:12px 14px;background:var(--accent);color:#fff;font:inherit}.pwa-notification-prompt-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:20px;background:var(--scrim)}.pwa-notification-prompt{width:min(390px,100%);padding:26px 22px 20px;border-radius:var(--r-sheet);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-3);text-align:center}.pwa-notification-prompt h2{margin:0;font-size:20px}.pwa-notification-prompt p{margin:12px 0;color:var(--fg-2);font-size:13px;line-height:1.7}.pwa-notification-prompt-error{color:var(--danger)!important}.pwa-notification-prompt-actions{display:flex;gap:10px;margin-top:18px}.pwa-notification-prompt-actions button{flex:1;border:0;border-radius:var(--r-ctl);padding:12px;font:inherit}.pwa-notification-primary{background:var(--accent);color:#fff}.pwa-notification-secondary{background:var(--surface-2);color:var(--fg)}@media(max-width:760px){.utility-mode{display:block}.utility-list{padding-bottom:var(--tabbar-space)}.composer .attach-button{display:grid!important;width:28px}.history-search{padding:5px 12px}.toast{bottom:calc(var(--tabbar-space) + 4px)}.messages-mode.show-chat .toast{bottom:88px}.modal-backdrop{padding:0;align-items:end;place-items:end stretch}.modal{width:100%;max-width:none;max-height:calc(100dvh - 40px);border-radius:var(--r-sheet) var(--r-sheet) 0 0;border:0;padding:12px 18px calc(18px + env(safe-area-inset-bottom));animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}.modal:before{content:"";display:block;width:40px;height:5px;margin:0 auto 10px;border-radius:3px;background:var(--line)}.attachment img{max-width:210px}.chat-header .back{display:grid}.message-content{max-width:85%}.message-meta button{padding:5px}.message-stage{overscroll-behavior:contain}.action-menu{position:fixed;inset:0;width:auto;z-index:30;display:grid;align-content:end;gap:0;padding:0 12px calc(12px + env(safe-area-inset-bottom));background:var(--scrim);border:0;border-radius:0;box-shadow:none;animation:none}.action-menu button{background:var(--surface);border-radius:0;padding:16px 18px;font-size:16px;animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}.action-menu button:first-child{border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding-top:20px}.action-menu button:last-child{border-radius:0 0 var(--r-sheet) var(--r-sheet);padding-bottom:20px}.action-menu button+button{border-top:1px solid var(--line-2)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.modal,.action-menu,.action-menu button,.toast{animation:none}}.modal .group-create-search{display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg-3)}.modal .group-create-search input{border:0;background:transparent;padding:10px 0;box-shadow:none}.group-selected-friends{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.group-selected-friends button{display:flex;align-items:center;gap:6px;flex-shrink:0;max-width:160px;border:0;padding:5px 10px 5px 5px;background:var(--accent-soft);color:var(--accent-strong);border-radius:var(--r-pill);font-size:12px}.group-selected-friends button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-selected-friends .avatar{width:26px;height:26px;font-size:12px;border-radius:50%}.group-create-contacts{max-height:min(38dvh,330px)}.modal .group-create-contacts label{padding:10px 6px;border-bottom:1px solid var(--line-2);gap:12px}.group-create-contacts input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.group-create-contacts span{min-width:0;overflow-wrap:anywhere}.group-create-contacts small{display:block;margin-top:3px}.message-wordmark{display:none}.message-network-status{font-size:11px;line-height:1.4;color:var(--warn)}.app-shell .conversation-pane .quick-actions>.quick-action-trigger,.app-shell .conversation-pane .quick-actions>.quick-action-trigger:hover,.app-shell .conversation-pane .quick-actions>.quick-action-trigger:active{width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--surface-2);box-shadow:none;color:var(--fg)}.app-shell .conversation-pane .quick-actions>.quick-action-trigger:hover{background:var(--accent-soft);color:var(--accent-strong)}.app-shell .conversation-pane .quick-actions>.quick-action-trigger[aria-expanded=true]{background:var(--accent);color:var(--on-accent)}.message-stage-content{min-width:0}.message-row .bubble .message-mention-hint{display:inline-block;margin:0 0 5px;padding:1px 7px;border-radius:var(--r-pill);background:var(--danger-soft);color:var(--danger-strong);font-size:11px;line-height:1.5}.conversation-reminder{color:var(--danger);margin-right:4px}.announcement{color:var(--danger-strong)}.history-context-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--fg-2);font-size:12px;border-bottom:1px solid var(--line);flex-shrink:0}.history-context-bar button{background:var(--accent-soft);color:var(--accent-strong);border:0;border-radius:var(--r-pill);font-size:12px;padding:5px 12px}.message-search-hit .bubble{outline:2px solid var(--accent);outline-offset:3px}.mention-jump{position:sticky;bottom:12px;margin:0 12px 8px auto;display:block;padding:8px 14px;border:0;border-radius:999px;background:var(--accent,#2f7cf6);color:#fff;font-size:13px;font-weight:600;box-shadow:0 4px 14px #0000002e;min-height:36px;cursor:pointer;z-index:2}:root{color-scheme:light;--bg:#ffffff;--bg-2:#f2f4f8;--surface:#ffffff;--surface-2:#eef1f6;--surface-3:#e4e8ef;--hover:#f1f4f9;--line:#e5e9f0;--line-2:#eef1f5;--fg:#111827;--fg-2:#4b5563;--fg-3:#8a94a6;--fg-4:#b4bccb;--accent:#2f7cf6;--accent-strong:#1d5fd1;--accent-soft:#e6f0ff;--accent-line:#bbd4ff;--on-accent:#ffffff;--danger:#ef4444;--danger-strong:#b91c1c;--danger-soft:#fee2e2;--warn:#d97706;--warn-soft:#fef3c7;--good:#22c55e;--good-strong:#15803d;--good-soft:#dcfce7;--chat-bg:#e9eff8;--chat-dot:rgba(47,124,246,.09);--bubble-me:linear-gradient(135deg,#3f8dff,#2f7cf6);--bubble-me-fg:#ffffff;--bubble-me-fg-2:rgba(255,255,255,.78);--bubble-other:#ffffff;--bubble-other-fg:#111827;--glass:rgba(255,255,255,.74);--glass-strong:rgba(255,255,255,.92);--glass-line:rgba(255,255,255,.65);--scrim:rgba(17,24,39,.42);--shadow-1:0 1px 2px rgba(17,24,39,.06);--shadow-2:0 8px 24px rgba(17,24,39,.1);--shadow-3:0 18px 48px rgba(17,24,39,.18);--r-ctl:12px;--r-card:16px;--r-sheet:22px;--r-pill:999px;--r-av:50%;--green:var(--accent);--green-dark:var(--accent-strong);--green-soft:var(--accent-soft);--rail:var(--surface);--list:var(--bg);--chat:var(--chat-bg);--ink:var(--fg);--muted:var(--fg-3);--focus:var(--accent);--shadow-sm:var(--shadow-1);--surface-soft:var(--bg-2);--surface-raised:var(--surface);--text-strong:var(--fg);--text-muted:var(--fg-3);--radius-panel:var(--r-card);--radius-control:var(--r-ctl);--shadow-panel:var(--shadow-3);--tabbar-space: calc(92px + env(safe-area-inset-bottom,0px)) ;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:var(--fg);background:var(--bg)}:root[data-theme=dark]{color-scheme:dark;--bg:#0f1419;--bg-2:#0b0f14;--surface:#1a2230;--surface-2:#232d3b;--surface-3:#2b3747;--hover:#222c3a;--line:#2a3443;--line-2:#222b38;--fg:#e5e9f0;--fg-2:#a3adbd;--fg-3:#6b7a90;--fg-4:#4b5869;--accent:#4d8ef7;--accent-strong:#7fb0ff;--accent-soft:#1a2b45;--accent-line:#2b4a7a;--on-accent:#ffffff;--danger:#f87171;--danger-strong:#fca5a5;--danger-soft:#3b1d1d;--warn:#fbbf24;--warn-soft:#3a2d12;--good:#4ade80;--good-strong:#86efac;--good-soft:#143524;--chat-bg:#0e1621;--chat-dot:rgba(77,142,247,.1);--bubble-me:linear-gradient(135deg,#3570ee,#2b5bd7);--bubble-me-fg:#ffffff;--bubble-me-fg-2:rgba(255,255,255,.72);--bubble-other:#1e2a38;--bubble-other-fg:#e5e9f0;--glass:rgba(26,34,48,.76);--glass-strong:rgba(26,34,48,.94);--glass-line:rgba(255,255,255,.08);--scrim:rgba(0,0,0,.58);--shadow-1:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 8px 24px rgba(0,0,0,.45);--shadow-3:0 18px 48px rgba(0,0,0,.6)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0f1419;--bg-2:#0b0f14;--surface:#1a2230;--surface-2:#232d3b;--surface-3:#2b3747;--hover:#222c3a;--line:#2a3443;--line-2:#222b38;--fg:#e5e9f0;--fg-2:#a3adbd;--fg-3:#6b7a90;--fg-4:#4b5869;--accent:#4d8ef7;--accent-strong:#7fb0ff;--accent-soft:#1a2b45;--accent-line:#2b4a7a;--on-accent:#ffffff;--danger:#f87171;--danger-strong:#fca5a5;--danger-soft:#3b1d1d;--warn:#fbbf24;--warn-soft:#3a2d12;--good:#4ade80;--good-strong:#86efac;--good-soft:#143524;--chat-bg:#0e1621;--chat-dot:rgba(77,142,247,.1);--bubble-me:linear-gradient(135deg,#3570ee,#2b5bd7);--bubble-me-fg:#ffffff;--bubble-me-fg-2:rgba(255,255,255,.72);--bubble-other:#1e2a38;--bubble-other-fg:#e5e9f0;--glass:rgba(26,34,48,.76);--glass-strong:rgba(26,34,48,.94);--glass-line:rgba(255,255,255,.08);--scrim:rgba(0,0,0,.58);--shadow-1:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 8px 24px rgba(0,0,0,.45);--shadow-3:0 18px 48px rgba(0,0,0,.6)}}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--fg)}button,input,select,textarea{font:inherit;color:inherit}button{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease}button:not(:disabled){cursor:pointer}button:active:not(:disabled){transform:translateY(1px) scale(.99)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}.eyebrow{margin:0;font-size:11px;letter-spacing:.16em;color:var(--fg-3)}.logo{position:relative;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--bubble-me);color:#fff;box-shadow:0 8px 22px #2f7cf647;font-size:22px;overflow:hidden}.logo span{transform:none}.logo img{display:block;width:100%;height:100%;object-fit:cover}.logo b{position:absolute;font-size:14px;right:6px;bottom:5px;color:#fff}.logo.large{width:76px;height:76px;border-radius:22px;font-size:34px}.logo.large b{font-size:21px;right:9px;bottom:7px}.primary{border:0;border-radius:var(--r-ctl);padding:13px 18px;background:var(--accent);color:var(--on-accent);cursor:pointer;box-shadow:0 6px 16px #2f7cf638}.primary:hover:not(:disabled){background:var(--accent-strong)}.primary:disabled{opacity:.5;box-shadow:none}.text-button{border:0;background:transparent;color:var(--accent);cursor:pointer;border-radius:8px}.text-button:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}.form-error{margin:0;color:var(--danger);font-size:13px;line-height:1.6}.splash{height:100%;display:grid;place-content:center;justify-items:center;gap:20px;color:var(--fg-3);background:var(--bg)}.auth-shell{height:100%;display:block;background:radial-gradient(circle at 15% 10%,var(--accent-soft) 0,transparent 40%),radial-gradient(circle at 90% 90%,var(--accent-soft) 0,transparent 36%),var(--bg-2)}.auth-panel{height:100%;display:flex;align-items:center;justify-content:center;padding:40px 24px;overflow:auto}.auth-card{width:min(400px,100%);margin:auto;flex-shrink:0;display:flex;flex-direction:column;gap:16px;padding:32px 30px 28px;border:1px solid var(--line);border-radius:var(--r-sheet);background:var(--surface);box-shadow:var(--shadow-3)}.auth-card .logo{margin:0 auto 2px;width:56px;height:56px;border-radius:16px;font-size:24px}.auth-card h2{font-size:26px;letter-spacing:-.02em;margin:0 0 6px;text-align:center;text-wrap:balance;color:var(--fg)}.auth-card label{display:grid;gap:8px;color:var(--fg-2);font-size:13px}.auth-card input,.composer input{background:var(--surface-2);border:1px solid transparent;border-radius:var(--r-ctl);color:var(--fg);padding:13px 14px;outline:none;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.auth-card input:focus,.composer input:focus{border-color:var(--accent-line);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.auth-card .primary{min-height:48px;padding:12px;font-size:15px}.auth-card .text-button{font-size:13px;line-height:1.5;padding:8px 10px}.auth-card .text-button:hover{background:var(--accent-soft);text-decoration:none}.auth-card small{font-size:11px;line-height:1.6;color:var(--fg-3)}.desktop-auth .auth-panel{min-height:0;padding:16px;align-items:center}.desktop-auth .auth-card{margin:auto;padding:24px;gap:12px}.desktop-auth .auth-card .logo{width:48px;height:48px}.desktop-auth .auth-card h2{font-size:24px;margin-bottom:2px}.app-shell{height:100%;display:grid;grid-template-columns:72px 360px minmax(0,1fr);grid-template-rows:minmax(0,1fr);background:var(--bg);overflow:hidden}.app-shell.utility-mode{grid-template-columns:72px minmax(380px,440px) minmax(0,1fr)}.rail,.conversation-pane,.chat-pane,.message-stage,.utility-list{min-height:0}.rail{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background:var(--surface);border-right:1px solid var(--line)}.rail nav{display:grid;gap:4px;margin-top:8px;width:100%}.rail button{position:relative;width:56px;min-height:56px;display:grid;justify-items:center;align-content:center;gap:4px;margin:0 auto;border:0;border-radius:16px;background:transparent;color:var(--fg-3);font-size:10px;line-height:1}.rail button svg{width:22px;height:22px}.rail button:hover{background:var(--hover);color:var(--fg)}.rail button.active,.rail button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong)}.rail-bottom{margin-top:auto;display:grid;gap:8px;justify-items:center}.rail .rail-bottom button:hover{color:var(--danger);background:var(--danger-soft)}.nav-icon{position:relative;display:grid;place-items:center;width:44px;height:28px;border-radius:14px}.nav-badge{position:absolute;top:-5px;right:0;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--surface)}.rail .profile-entry .avatar{width:38px;height:38px;border-radius:50%;font-size:15px}.rail .profile-entry .nav-icon{height:40px}.rail .profile-entry[aria-pressed=true] .avatar{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.mini-avatar,.avatar{display:grid;place-items:center;border-radius:var(--r-av);background:var(--surface-2);color:var(--fg)}.mini-avatar{width:36px;height:36px;background:var(--accent);color:#fff}.avatar{width:46px;height:46px;flex:0 0 auto;overflow:hidden}.avatar.small{width:34px;height:34px;font-size:13px}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.conversation-pane{min-width:0;background:var(--bg);border-right:1px solid var(--line);display:flex;flex-direction:column;position:relative}.conversation-pane>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 16px 10px}.conversation-pane h2{font-size:24px;margin:0;letter-spacing:-.02em;color:var(--fg)}.round{width:38px;height:38px;border-radius:50%;border:0;background:var(--surface-2);color:var(--fg-2);display:grid;place-items:center;cursor:pointer}.round:hover{background:var(--surface-3);color:var(--fg)}.search{margin:4px 14px 10px;padding:0 12px;min-height:40px;display:flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid transparent;border-radius:var(--r-pill);color:var(--fg-3);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.search:focus-within{background:var(--surface);border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.search input{width:100%;min-width:0;padding:8px 4px;border:0;background:transparent;color:var(--fg);outline:none;font-size:14px}.search input::placeholder{color:var(--fg-3)}.search button{border:0;background:none;color:var(--fg-3);display:grid;padding:4px;border-radius:50%}.search button:hover{color:var(--fg)}.section-title{display:flex;justify-content:space-between;padding:0 16px 8px;color:var(--fg-3);font-size:11px}.conversation-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 8px 16px}.conversation{position:relative;width:100%;border:0;border-radius:14px;background:transparent;padding:10px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;color:inherit}@media(hover:hover){.conversation:hover{background:var(--hover)}}.conversation.active{background:var(--accent-soft)}.conversation.pinned:not(.active){background:transparent}.conversation-main{min-width:0;flex:1}.conversation-main>div{display:flex;justify-content:space-between;gap:8px}.conversation-main strong{font-size:15px;color:var(--fg)}.conversation-main time{font-size:11px;color:var(--fg-3)}.conversation-main p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg-3);font-size:13px;margin:4px 0 0}.chat-pane{min-width:0;display:flex;flex-direction:column;background-color:var(--chat-bg);background-image:radial-gradient(var(--chat-dot) 1.2px,transparent 1.6px);background-size:22px 22px;position:relative}.chat-header{min-height:64px;padding:0 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-shrink:0;z-index:2}.chat-header strong{font-size:16px;color:var(--fg)}.chat-header p{margin:2px 0 0;font-size:12px;color:var(--fg-3)}.chat-header i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--good);margin-right:5px}.chat-header .more{margin-left:0}.back{display:none;width:40px;height:40px;background:transparent;border:0;border-radius:50%;color:var(--fg-2);place-items:center;padding:0;flex:0 0 40px}.back:hover{background:var(--hover)}.message-stage{flex:1;overflow:auto;padding:16px clamp(16px,4vw,56px)}.date-divider{text-align:center;margin:10px 0 14px}.date-divider span{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);background:var(--glass);color:var(--fg-2);font-size:11px;box-shadow:var(--shadow-1)}.message-row{display:flex;gap:8px;margin:2px 0;align-items:flex-end}.message-row.mine{justify-content:flex-end}.message-content{max-width:min(560px,72%);display:grid;justify-items:start}.message-row.mine .message-content{justify-items:end}.message-content small{color:var(--fg-3);font-size:10px;margin:0 0 5px 2px}.bubble{position:relative;background:var(--bubble-other);color:var(--bubble-other-fg);border:0;padding:9px 12px;border-radius:18px;line-height:1.55;font-size:15px;white-space:pre-wrap;word-break:break-word;box-shadow:var(--shadow-1)}.mine .bubble{background:var(--bubble-me);color:var(--bubble-me-fg)}.message-content time{font-size:11px;color:var(--fg-3)}.empty-chat{flex:1;display:grid;place-content:center;justify-items:center;color:var(--fg-3)}.empty-chat h2{margin:16px 0 4px;color:var(--fg-2);font-size:18px}.empty-chat p{font-size:12px}.empty-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;color:#fff;background:var(--accent)}.composer{border-top:1px solid var(--line);background:var(--surface);display:flex;align-items:center;padding:10px 16px 14px;gap:6px}.composer>button{width:38px;height:38px;border:0;background:transparent;color:var(--fg-2);display:grid;place-items:center;cursor:pointer;border-radius:50%}.composer>button:hover{background:var(--hover);color:var(--fg)}.composer input{flex:1;background:var(--surface-2)}.composer .send{border-radius:var(--r-pill);background:var(--accent);color:var(--on-accent)}.composer .send:hover:not(:disabled){background:var(--accent-strong)}.composer .send:disabled{background:var(--surface-3);color:var(--fg-3)}.mobile-tabs{display:none}@media(max-width:760px){html,body,#root{height:100dvh}.auth-shell{display:block;overflow:auto}.auth-panel{min-height:100dvh;padding:24px 16px 32px;align-items:flex-start}.auth-card{margin-top:clamp(28px,12vh,96px);padding:28px 22px 24px;border-radius:20px}.app-shell{display:block;position:relative;background:var(--bg)}.rail{display:none}.conversation-pane,.chat-pane{position:absolute;inset:0;transition:transform .26s cubic-bezier(.2,.8,.2,1)}.conversation-pane{border:0}.chat-pane{z-index:2}.show-chat .chat-pane{box-shadow:-12px 0 32px #0000001f}.show-list .conversation-pane{transform:translate(0)}.show-list .chat-pane{transform:translate(100%)}.show-chat .conversation-pane{transform:translate(-22%)}.show-chat .chat-pane{transform:translate(0)}.conversation-pane>header{padding:14px 16px 6px;padding-top:max(14px,env(safe-area-inset-top))}.conversation-pane h2{font-size:30px}.conversation-list{padding:0 6px var(--tabbar-space)}.conversation{padding:10px 8px;gap:12px}.mobile-tabs{position:absolute;z-index:6;display:flex;justify-content:space-around;align-items:center;left:16px;right:16px;bottom:calc(10px + env(safe-area-inset-bottom));height:64px;padding:0 6px;border-radius:var(--r-pill);background:var(--glass);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--glass-line);box-shadow:var(--shadow-2)}.mobile-tabs button{display:grid;justify-items:center;gap:3px;min-width:72px;padding:6px 0;color:var(--fg-3);border:0;background:none;font-size:10px;line-height:1;border-radius:14px}.mobile-tabs button svg{width:22px;height:22px}.mobile-tabs button.active,.mobile-tabs button[aria-pressed=true]{color:var(--accent)}.mobile-tabs button.active .nav-icon,.mobile-tabs button[aria-pressed=true] .nav-icon{background:var(--accent-soft)}.mobile-tabs .profile-entry .avatar{width:26px;height:26px;font-size:12px;border-radius:50%}.mobile-tabs .profile-entry[aria-pressed=true] .avatar{box-shadow:0 0 0 2px var(--accent)}.chat-header{padding-top:env(safe-area-inset-top);min-height:calc(58px + env(safe-area-inset-top));padding-left:6px;padding-right:8px;gap:6px}.back{display:grid}.message-stage{padding:12px 12px 16px}.message-content{max-width:80%}.composer{padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.composer>button:first-child{display:none}}@media(min-width:761px){.app-shell.utility-mode{grid-template-columns:72px minmax(0,1fr)}.app-shell.utility-mode>.chat-pane{display:none}.utility-mode .conversation-pane{border-right:0;background:var(--bg-2);padding:0 max(0px,calc((100% - 900px)/2))}.utility-mode .conversation-pane>header{padding-left:20px;padding-right:20px}}@media(min-width:761px)and (max-width:1050px){.app-shell{grid-template-columns:64px 300px minmax(0,1fr)}.app-shell.utility-mode{grid-template-columns:64px minmax(0,1fr)}.rail button{width:50px}}.avatar.gradient:not(.has-image),.message-row .avatar.small:not(.has-image){background:linear-gradient(135deg,hsl(var(--av-hue,215) 72% 62%),hsl(calc(var(--av-hue,215) + 28) 70% 48%));color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.12)}.messages-mode .conversation-pane{background:var(--bg)}.messages-mode .conversation-pane>header{padding:18px 16px 8px;min-height:60px;align-items:center}.messages-mode .conversation-pane>header .eyebrow{display:none}.messages-mode .conversation-pane h2,.pane-title{font-size:24px;margin:0;letter-spacing:-.02em;color:var(--fg)}.message-pane-heading{display:flex;align-items:center;gap:10px;min-width:0;min-height:36px}.message-network-status{flex:0 0 auto;font-size:11px;line-height:1.4;padding:3px 9px;border-radius:var(--r-pill);background:var(--warn-soft);color:var(--warn);white-space:nowrap}.messages-mode .quick-actions>.round{width:38px;height:38px;background:var(--surface-2);color:var(--fg)}.messages-mode .quick-actions>.round:hover{background:var(--surface-3)}.messages-mode .connection-state{padding:0 16px 10px;font-size:10px}.messages-mode .search{margin:0 14px 8px}.messages-mode .search input{font-size:14px;padding:8px 4px;min-width:0}.messages-mode .search button{padding:4px}.list-filters{display:flex;gap:4px;padding:0 14px 8px;overflow-x:auto;scrollbar-width:none;flex-shrink:0}.list-filters::-webkit-scrollbar{display:none}.list-filters button{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--fg-3);padding:6px 11px;border-radius:var(--r-pill);font-size:13px;line-height:1.2;white-space:nowrap}@media(hover:hover){.list-filters button:hover{background:var(--hover);color:var(--fg)}}.list-filters button[aria-selected=true]{background:var(--accent-soft);color:var(--accent-strong)}.list-filters button b{font-size:11px;min-width:16px;height:16px;line-height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:var(--on-accent);text-align:center}.list-filters button[aria-selected=true] b{background:var(--accent-strong)}.conversation-list .conversation{position:relative;align-items:center;gap:12px;min-height:74px;padding:10px;border:0;border-radius:16px;background:transparent}.conversation-list .conversation:after{display:none}@media(hover:hover){.conversation-list .conversation:hover{background:var(--hover)}}.conversation-list .conversation.active{background:var(--accent-soft)}.conversation-list .conversation.pinned:not(.active){background:transparent}.conversation-avatar{position:relative;display:block;flex:0 0 auto;padding:0;border:0;background:transparent;color:inherit;border-radius:50%}.conversation-main{border:0;padding:0;background:transparent;text-align:left;color:inherit}.conversation-avatar .avatar{width:54px;height:54px;border-radius:50%;font-size:20px}.conversation-main>div:first-child{align-items:center;gap:8px}.conversation-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;color:var(--fg)}.conversation-main time{white-space:nowrap;flex:0 0 auto;font-size:11px;color:var(--fg-3)}.conversation.unread .conversation-main time{color:var(--accent)}.conversation-main .conversation-preview{display:flex;align-items:center;gap:8px;margin-top:4px;min-width:0}.conversation-preview p{flex:1;min-width:0;margin:0;font-size:13px;line-height:18px;color:var(--fg-3)}.conversation.unread .conversation-preview p{color:var(--fg-2)}.conversation-preview>span{display:flex;align-items:center;gap:6px;flex:0 0 auto;color:var(--fg-4)}.conversation-preview>span svg{width:13px;height:13px}.conversation-preview .badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:11px;line-height:20px;text-align:center;align-self:center}.conversation-preview .badge.muted{background:var(--fg-4);color:var(--on-accent)}.conversation-preview .badge:empty{min-width:10px;width:10px;height:10px;padding:0}.conversation-no-results{font-size:13px;padding-top:55px}.conversation-list .blank{display:grid;justify-items:center;gap:8px;padding:48px 22px;color:var(--fg-3);text-align:center}.conversation-list .blank svg{width:40px;height:40px;color:var(--fg-4)}.conversation-list .blank .primary{margin-top:8px}.messages-mode .chat-header{min-height:64px;padding:0 14px;gap:10px;background:var(--glass);border-bottom:1px solid var(--line)}.chat-header .chat-title{min-width:0;flex:1}.chat-header .chat-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;color:var(--fg)}.chat-header .chat-title p{display:block;margin:2px 0 0;font-size:12px;line-height:1.3;color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header .chat-title p.is-online{color:var(--good-strong)}.chat-header .chat-search-toggle,.chat-header .more{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:transparent;margin-left:0;color:var(--fg-2)}.chat-header .chat-search-toggle:is(:hover,:active),.chat-header .more:is(:hover,:active){background:var(--hover);color:var(--fg)}.chat-header .chat-title-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:50%}.chat-header .chat-title-avatar .avatar{width:42px;height:42px;border-radius:50%;font-size:17px}.chat-header .chat-title-avatar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-header .chat-title-avatar:disabled{cursor:default}.messages-mode .history-search{padding:9px 22px;background:var(--surface);gap:10px}.messages-mode .history-search input{background:var(--surface-2);border-radius:var(--r-pill);padding:7px 12px}.messages-mode .message-stage{padding:14px 24px 18px}.message-stage .date-divider{margin:10px 0 14px;text-align:center}.message-stage .date-divider span{font-size:11px;color:var(--fg-2)}.message-stage .message-row{gap:8px;margin:0 0 2px;align-items:flex-end}.msg-first>.message-row{margin-top:12px}.message-stage .avatar.small{width:34px;height:34px;border-radius:50%;font-size:13px}.message-stage .message-content{max-width:min(560px,75%)}.message-stage .message-content>small{font-size:11px;color:var(--fg-3);margin:0 0 5px 1px}.message-stage .message-row>.avatar.small,.message-stage .message-row>.message-avatar-button{visibility:hidden}.msg-last>.message-row>.avatar.small,.msg-last>.message-row>.message-avatar-button{visibility:visible}.message-stage .message-row.mine>.avatar.small,.message-stage .message-row.mine>.message-avatar-button{display:none}.message-stage .message-row .message-identity{display:none}.msg-first>.message-row .message-identity{display:flex}.message-stage .bubble{display:flow-root;border:0;border-radius:18px;padding:8px 12px;line-height:1.55;min-height:36px;font-size:15px;box-shadow:var(--shadow-1)}.message-stage .bubble:not(.recalled):before{display:none}.message-stage .mine .bubble:before{display:none}.msg-first:not(.msg-last)>.message-row:not(.mine) .bubble{border-bottom-left-radius:6px}.msg-mid>.message-row:not(.mine) .bubble{border-top-left-radius:6px;border-bottom-left-radius:6px}.msg-last:not(.msg-first)>.message-row:not(.mine) .bubble{border-top-left-radius:6px}.msg-single>.message-row:not(.mine) .bubble{border-bottom-left-radius:6px}.msg-first:not(.msg-last)>.message-row.mine .bubble{border-bottom-right-radius:6px}.msg-mid>.message-row.mine .bubble{border-top-right-radius:6px;border-bottom-right-radius:6px}.msg-last:not(.msg-first)>.message-row.mine .bubble{border-top-right-radius:6px}.msg-single>.message-row.mine .bubble{border-bottom-right-radius:6px}.message-stage .bubble.recalled{background:var(--surface-2)!important;color:var(--fg-3);font-size:12px;border-radius:12px;min-height:0;padding:5px 10px;box-shadow:none}.message-stage .bubble.recalled .message-meta{display:none}.message-stage .bubble .message-meta{float:right;display:inline-flex;align-items:center;gap:3px;margin:8px -4px -3px 10px;font-size:11px;line-height:1;color:var(--fg-3);white-space:nowrap;-webkit-user-select:none;user-select:none}.message-stage .bubble .message-meta time{display:inline;font-size:11px;line-height:1;margin:0;color:inherit}.message-stage .mine .bubble .message-meta{color:var(--bubble-me-fg-2)}.message-stage .message-meta:empty{display:none}.message-stage .message-read{display:inline-grid;place-items:center;font-size:11px;line-height:1;margin:0;color:inherit;opacity:.75}.message-stage .message-read svg{width:15px;height:15px}.message-stage .message-read.is-read{opacity:1;color:#dff3ff}.message-stage .bubble-media-only .message-meta{position:absolute;right:8px;bottom:8px;float:none;margin:0;padding:3px 7px;border-radius:10px;background:#00000073;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1}.message-stage .bubble-contact-card .message-meta{float:none;display:flex;justify-content:flex-end;margin:0;padding:0 12px 8px;color:var(--fg-3)}.message-stage .bubble-delivery-failure .message-meta{display:none}.message-avatar-button{display:block;flex:0 0 auto;margin:0;padding:0;border:0;border-radius:50%;background:transparent}.message-stage .bubble .quote{font-size:12px;color:var(--fg-2);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:8px;padding:6px 10px;margin:0 0 6px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}.message-stage .mine .bubble .quote{color:var(--bubble-me-fg);border-left-color:#ffffffd9;background:#ffffff2e}.message-stage .mine .bubble .chat-web-link{color:#fff;text-decoration:underline;text-underline-offset:2px}.message-stage .mine .bubble .message-mention-hint{color:var(--danger-strong)}.message-stage .message-row.mine .bubble .group-link-button{color:#fff}@media(max-width:760px){.messages-mode .conversation-pane>header{padding:14px 16px 6px;padding-top:max(14px,env(safe-area-inset-top));min-height:58px}.messages-mode .conversation-pane h2,.pane-title{font-size:30px}.messages-mode .connection-state{padding-left:18px}.messages-mode .search{margin:0 14px 8px}.list-filters{padding:0 14px 6px}.conversation-list .conversation{min-height:76px;padding:10px 8px;background:transparent}.conversation-list .conversation.pinned,.conversation-list .conversation.active{background:transparent}.conversation-main strong{font-size:16px}.conversation-preview p{font-size:13px;line-height:19px}.conversation-main time{font-size:11px}.messages-mode .chat-header{min-height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 0 4px;gap:4px}.chat-header .chat-title strong{font-size:16px}.chat-header .chat-title-avatar{flex-basis:38px;width:38px;height:38px}.chat-header .chat-title-avatar .avatar{width:38px;height:38px;font-size:15px}.messages-mode .chat-header .back{width:40px;height:40px;padding:0;place-items:center;flex:0 0 40px}.messages-mode .history-search{padding:7px 10px;gap:6px}.messages-mode .message-stage{padding:10px 12px 14px}.message-stage .message-content{max-width:calc(100% - 50px)}.message-stage .message-row.mine .message-content{max-width:84%}.message-stage .avatar.small{width:32px;height:32px}.message-stage .bubble{font-size:15px;padding:8px 12px;min-height:36px}.message-stage .date-divider{margin:8px 0 12px}}@media(max-width:760px),(any-pointer:coarse){html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}html.ast-viewport-aware,html.ast-viewport-aware body{overscroll-behavior:none}.ast-viewport-aware #root{position:fixed;top:var(--ast-viewport-top,0px);left:0;right:0;bottom:auto;height:var(--ast-viewport-height,100dvh)}.ast-viewport-aware .modal-backdrop,.ast-viewport-aware .group-drawer-backdrop,.ast-viewport-aware .ast-media-backdrop{top:var(--ast-viewport-top,0px);bottom:auto;height:var(--ast-viewport-height,100dvh)}.ast-viewport-aware .modal:not(.friend-profile-modal){max-height:calc(var(--ast-viewport-height,100dvh) - 40px)}.ast-viewport-aware .chat-header{flex-shrink:0}.ast-viewport-aware .show-chat .chat-pane{transform:none}.ast-viewport-aware .message-stage{min-height:0;overscroll-behavior-y:contain}#root input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),#root textarea,#root select{font-size:16px;min-width:0;max-width:100%}}@media(min-width:761px)and (any-pointer:coarse){.ast-viewport-aware .app-shell{grid-template-columns:64px clamp(260px,32vw,340px) minmax(0,1fr);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.ast-viewport-aware .app-shell.utility-mode{grid-template-columns:64px minmax(0,1fr)}.messages-mode .chat-header{padding:0 12px;min-height:60px}.messages-mode .message-stage{padding:14px 16px 20px}.message-stage .message-content{max-width:calc(100% - 56px)}.message-stage .bubble{font-size:16px}.chat-header .chat-search-toggle,.chat-header .more{width:44px;height:44px;flex-basis:44px}.conversation-main strong{font-size:16px}.conversation-preview p{font-size:13px}.rail{padding-left:4px;padding-right:4px}}@media(prefers-reduced-motion:reduce){.conversation-pane,.chat-pane{transition:none}}html{-webkit-tap-highlight-color:transparent}:where(button,a[href],[role=button],summary):where(:not(:disabled,[aria-disabled=true])){transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out,opacity .12s ease-out}:where(button,a[href],[role=button],summary):where(:not(:disabled,[aria-disabled=true]):active){opacity:.82}@media(prefers-reduced-motion:reduce){:where(button,a[href],[role=button],summary):where(:not(:disabled,[aria-disabled=true])){transition:none}}.app-shell{background:var(--bg)}.modal-backdrop{background:var(--scrim)}@media(min-width:1100px)and (hover:hover){.app-shell.messages-mode:has(>.group-drawer-backdrop){grid-template-columns:72px 360px minmax(0,1fr) 380px}.app-shell.messages-mode>.group-drawer-backdrop{position:static;grid-column:4;grid-row:1;display:block;min-width:0;min-height:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:auto}.app-shell.messages-mode>.group-drawer-backdrop .group-drawer{width:100%;max-width:none;height:100%;border-left:1px solid var(--line);box-shadow:none;animation:none}}@media(min-width:1100px)and (max-width:1340px)and (hover:hover){.app-shell.messages-mode:has(>.group-drawer-backdrop){grid-template-columns:72px 300px minmax(0,1fr) 340px}}@media(max-width:760px),(any-pointer:coarse){.messages-mode .chat-header .chat-search-toggle,.messages-mode .chat-header .more,.messages-mode .chat-header .back{width:42px;height:42px;flex-basis:42px}.round{width:40px;height:40px}}@media(hover:hover){*{scrollbar-width:thin;scrollbar-color:var(--fg-4) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--fg-4);border-radius:8px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-track{background:transparent}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{font-family:Microsoft YaHei,微软雅黑,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-weight:700}button,input,select,textarea{font-family:inherit}#root :where(*):not(:where(svg,svg *,pre,pre *,code,code *,kbd,kbd *,samp,samp *,.website-native-edit)){font-weight:700!important}#root :where(pre,code,kbd,samp){font-weight:400}#root .message-emoji{font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;font-weight:400!important;font-style:normal;font-synthesis:none}#root .message-emoji-mahjong{display:inline-block;width:1em;height:1em;vertical-align:-.1em;overflow:hidden;color:transparent;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3crect%20x='4'%20y='1'%20width='16'%20height='22'%20rx='3'%20fill='%23fff'%20stroke='%23797979'%20stroke-width='1.3'/%3e%3cpath%20d='M4%2019h16v1a3%203%200%200%201-3%203H7a3%203%200%200%201-3-3z'%20fill='%23e5e5e5'/%3e%3cg%20fill='none'%20stroke='%23dc252a'%20stroke-width='2'%3e%3cpath%20d='M7%208h10v7H7zM12%205v14'/%3e%3c/g%3e%3c/svg%3e") center/contain no-repeat}
