:root,:root[data-theme=dark]{--bg-app: #0e1621;--bg-sidebar: #17212b;--bg-header: #17212b;--bg-panel: #17212b;--bg-elevated: #1c2a38;--bg-input: #242f3d;--bg-hover: #202b38;--bubble-in: #182533;--bubble-in-text: #e9eef3;--bubble-out: #2b5278;--bubble-out-text: #ffffff;--text: #e9eef3;--text-strong: #ffffff;--text-muted: #8b98a5;--text-faint: #6d7b88;--border: #23303d;--border-strong: #2c3a48;--accent: #3390ec;--accent-hover: #4aa3f0;--accent-soft: rgba(51, 144, 236, .16);--on-accent: #ffffff;--danger: #e5484d;--danger-soft: rgba(229, 72, 77, .16);--ok: #3fbf6f;--surface: #1c2a38;--shadow: 0 12px 40px rgba(0, 0, 0, .45);--radius: 12px;--radius-sm: 8px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--navy: var(--bg-sidebar);--navy-800: var(--bg-app);--navy-700: var(--bg-hover);--denim: var(--accent);--denim-600: var(--accent-hover);--denim-300: var(--text-muted);--warm-white: var(--text);--paper: var(--bg-panel);--muted-red: var(--danger);--steel: var(--text-muted);--steel-200: var(--border);--ink: var(--text)}:root[data-theme=light]{--bg-app: #f6f8fc;--bg-sidebar: #ffffff;--bg-header: #ffffff;--bg-panel: #ffffff;--bg-elevated: #f0f4fa;--bg-input: #e8eef7;--bg-hover: #eef3fa;--bubble-in: #ffffff;--bubble-in-text: #1a1f26;--bubble-out: #d5e4ff;--bubble-out-text: #001c3b;--text: #1a1f26;--text-strong: #0b0f14;--text-muted: #5f6b78;--text-faint: #8a95a1;--border: #e3e9f2;--border-strong: #d3dbe7;--accent: #1a62b4;--accent-hover: #2a72c4;--accent-soft: rgba(26, 98, 180, .12);--on-accent: #ffffff;--danger: #ba1a1a;--danger-soft: rgba(186, 26, 26, .1);--ok: #1f7a45;--surface: #ffffff;--shadow: 0 18px 50px rgba(20, 40, 80, .16)}:root[data-theme=dark]{--bg-app: #0d1117;--bg-sidebar: #121820;--bg-header: #121820;--bg-panel: #161e28;--bg-elevated: #1b2531;--bg-input: #1b2531;--bg-hover: #19222d;--bubble-in: #1b2531;--bubble-in-text: #e6ecf2;--bubble-out: #1b4a7c;--bubble-out-text: #d3e5ff;--text: #e6ecf2;--text-strong: #ffffff;--text-muted: #8c98a5;--text-faint: #6b7784;--border: #1f2a36;--border-strong: #283544;--accent: #9ecaff;--accent-hover: #b8d8ff;--accent-soft: rgba(158, 202, 255, .16);--on-accent: #002f5c;--danger: #e5484d;--danger-soft: rgba(229, 72, 77, .16);--ok: #7ddc9a;--surface: #1b2531;--shadow: 0 24px 60px rgba(0, 0, 0, .45)}:root[data-theme=ocean]{--bg-app: #0a1a26;--bg-sidebar: #0e2436;--bg-header: #0e2436;--bg-panel: #10293e;--bg-elevated: #14334d;--bg-input: #1a3a56;--bg-hover: #16324a;--bubble-in: #14324b;--bubble-in-text: #e6f2fb;--bubble-out: #1f7ab8;--bubble-out-text: #ffffff;--text: #e6f2fb;--text-strong: #ffffff;--text-muted: #8fb3ca;--text-faint: #6b93ad;--border: #1d3d57;--border-strong: #2a5578;--accent: #38bdf8;--accent-hover: #5cc9fa;--accent-soft: rgba(56, 189, 248, .16);--danger: #f0666a;--danger-soft: rgba(240, 102, 106, .16);--ok: #34d399;--surface: #14334d;--shadow: 0 12px 40px rgba(0, 0, 0, .5)}:root[data-theme=forest]{--bg-app: #0d1b14;--bg-sidebar: #12271b;--bg-header: #12271b;--bg-panel: #152e20;--bg-elevated: #1a3826;--bg-input: #20422d;--bg-hover: #1a3826;--bubble-in: #1a3527;--bubble-in-text: #e8f3ea;--bubble-out: #2f9e5f;--bubble-out-text: #ffffff;--text: #e8f3ea;--text-strong: #ffffff;--text-muted: #93b8a0;--text-faint: #73967f;--border: #213f2e;--border-strong: #2f5a41;--accent: #22b07d;--accent-hover: #3cc790;--accent-soft: rgba(34, 176, 125, .18);--danger: #e5484d;--danger-soft: rgba(229, 72, 77, .16);--ok: #4ade80;--surface: #1a3826;--shadow: 0 12px 40px rgba(0, 0, 0, .5)}:root[data-theme=sunset]{--bg-app: #211318;--bg-sidebar: #2c1a20;--bg-header: #2c1a20;--bg-panel: #332029;--bg-elevated: #3d2831;--bg-input: #4a313c;--bg-hover: #3d2831;--bubble-in: #3f2a33;--bubble-in-text: #fbeef0;--bubble-out: #c4506b;--bubble-out-text: #ffffff;--text: #fbeef0;--text-strong: #ffffff;--text-muted: #c9a0ab;--text-faint: #a37e88;--border: #4d3240;--border-strong: #684556;--accent: #ff9f43;--accent-hover: #ffb066;--accent-soft: rgba(255, 159, 67, .18);--danger: #ff6b6b;--danger-soft: rgba(255, 107, 107, .16);--ok: #3fbf6f;--surface: #3d2831;--shadow: 0 12px 40px rgba(0, 0, 0, .5)}:root[data-theme=midnight]{--bg-app: #000000;--bg-sidebar: #0a0a0f;--bg-header: #0a0a0f;--bg-panel: #101018;--bg-elevated: #16161f;--bg-input: #1c1c28;--bg-hover: #14141c;--bubble-in: #17171f;--bubble-in-text: #ececf1;--bubble-out: #7c5cff;--bubble-out-text: #ffffff;--text: #ececf1;--text-strong: #ffffff;--text-muted: #9a9ab0;--text-faint: #6e6e86;--border: #22222e;--border-strong: #343442;--accent: #7c5cff;--accent-hover: #9377ff;--accent-soft: rgba(124, 92, 255, .2);--danger: #ff5c5c;--danger-soft: rgba(255, 92, 92, .16);--ok: #3ddc84;--surface: #16161f;--shadow: 0 12px 40px rgba(0, 0, 0, .7)}:root[data-theme=telegram]{--bg-app: #0e1621;--bg-sidebar: #17212b;--bg-header: #17212b;--bg-panel: #17212b;--bg-elevated: #1f2f42;--bg-input: #242f3d;--bg-hover: #202b38;--bubble-in: #182533;--bubble-in-text: #e9eef3;--bubble-out: #2aabee;--bubble-out-text: #ffffff;--text: #e9eef3;--text-strong: #ffffff;--text-muted: #8b98a5;--text-faint: #6d7b88;--border: #23303d;--border-strong: #2c3a48;--accent: #2aabee;--accent-hover: #4dbcF3;--accent-soft: rgba(42, 171, 238, .18);--danger: #e5484d;--danger-soft: rgba(229, 72, 77, .16);--ok: #3fbf6f;--surface: #1f2f42;--shadow: 0 12px 40px rgba(0, 0, 0, .45)}:root[data-theme=nord]{--bg-app: #e5e9f0;--bg-sidebar: #eceff4;--bg-header: #eceff4;--bg-panel: #eceff4;--bg-elevated: #e5e9f0;--bg-input: #ffffff;--bg-hover: #dfe5ee;--bubble-in: #ffffff;--bubble-in-text: #2e3440;--bubble-out: #d8dee9;--bubble-out-text: #2e3440;--text: #2e3440;--text-strong: #2e3440;--text-muted: #67748a;--text-faint: #8a96ab;--border: #d3dae6;--border-strong: #b9c3d6;--accent: #5e81ac;--accent-hover: #4c6e99;--accent-soft: rgba(94, 129, 172, .16);--danger: #bf616a;--danger-soft: rgba(191, 97, 106, .14);--ok: #a3be8c;--surface: #eceff4;--shadow: 0 18px 50px rgba(46, 52, 64, .22)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg-app);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}button{font-family:inherit}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}*::-webkit-scrollbar-track{background:transparent}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;background:var(--bg-input);color:var(--text);transition:background .15s ease,opacity .15s ease,transform .05s ease}.button:active{transform:translateY(1px)}.button.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 4px 14px var(--accent-soft)}.button.primary:hover{background:var(--accent-hover)}.button.ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.button.ghost:hover{background:var(--bg-hover)}.button.small{padding:6px 12px;font-size:12px}.button:disabled{opacity:.5;cursor:not-allowed}.input{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text);background:var(--bg-input);transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--text-faint)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea.input{resize:none;min-height:44px}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-input)}.muted{color:var(--text-muted)}.auth-shell{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1100px 560px at 50% -12%,#1c3048 0%,var(--bg-app) 62%)}.auth-card{width:100%;max-width:400px;background:var(--bg-panel);border:1px solid var(--border);border-radius:18px;padding:32px 30px;box-shadow:var(--shadow)}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:14px;text-align:center}.auth-brand-name{font-size:20px;font-weight:800;letter-spacing:.02em;color:var(--text-strong)}.auth-title{margin:0 0 4px;font-size:22px;color:var(--text-strong);text-align:center}.auth-sub{margin:0 0 22px;color:var(--text-muted);font-size:14px;text-align:center}.auth-field{margin-bottom:14px}.auth-field label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--text-muted)}.auth-error{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin-bottom:14px}.auth-actions{margin-top:10px}.auth-actions .button{width:100%}.auth-switch{margin-top:18px;text-align:center;font-size:13px;color:var(--text-muted)}.auth-switch button{background:none;border:none;color:var(--accent);cursor:pointer;font-weight:600;font-size:13px}.auth-lang{display:flex;justify-content:center;margin-top:18px}.app-shell{display:grid;grid-template-columns:var(--sidebar-w, 320px) 0 1fr;height:100%}.sidebar{background:var(--bg-sidebar);color:var(--text);display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}.sidebar-header{padding:14px 14px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;letter-spacing:.02em;color:var(--text-strong)}.brand-text{display:inline-flex;flex-direction:column;line-height:1.05}.brand-text small{font-size:11px;font-weight:500;color:var(--text-muted)}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--accent);color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center;font-weight:800}.brand-logo{display:block;flex:0 0 auto}.brand-logo-bg{fill:var(--accent)}.brand-logo-text{fill:#fff;font-family:var(--font);font-weight:800;font-size:20px;text-anchor:middle;dominant-baseline:central}.brand-logo-dash{fill:#e5484d}.sidebar-actions{padding:0 12px 10px}.new-conv-btn{width:100%}.conv-list{flex:1;overflow-y:auto;padding:6px 8px 16px;min-height:0}.conv-item{width:100%;text-align:left;border:none;background:transparent;color:var(--text);padding:9px 10px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:11px}.conv-item:hover{background:var(--bg-hover)}.conv-item.active{background:var(--accent);color:var(--on-accent)}.conv-item.active .conv-item-title,.conv-item.active .conv-item-sub{color:#fff}.conv-item-main{flex:1;min-width:0}.conv-item-title{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item-sub{font-size:12px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}.conv-avatar{width:40px;height:40px;flex:0 0 auto;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px}.conv-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.conv-item.active .conv-badge{background:#fff;color:var(--accent)}.conv-empty{padding:10px 12px;color:var(--text-muted);text-transform:none;white-space:normal;line-height:1.4}.sidebar-user{border-top:1px solid var(--border);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--text-strong)}.sidebar-user-sub{font-size:12px;color:var(--text-muted)}.sidebar-user-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.logout{background:none;border:1px solid var(--border-strong);color:var(--text);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:12px}.logout:hover{background:var(--bg-hover)}.main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-app)}.thread-header{padding:12px 20px;border-bottom:1px solid var(--border);background:var(--bg-header)}.thread-title{margin:0;font-size:16px;color:var(--text-strong)}.thread-sub{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.messages{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:4px;min-height:0}.message-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.message-row.mine{align-items:flex-end}.bubble{max-width:68%;background:var(--bubble-in);color:var(--bubble-in-text);border:none;border-radius:14px 14px 14px 6px;padding:8px 12px;box-shadow:0 1px 1px #0000001f}.bubble.mine{background:var(--bubble-out);color:var(--bubble-out-text);border-radius:14px 14px 6px}.bubble.locked{background:var(--bg-elevated);color:var(--text-muted);font-style:italic}.bubble.deleted{font-style:italic;color:var(--text-muted)}.bubble-text{white-space:pre-wrap;word-break:break-word;font-size:14px}.bubble-meta{margin-top:3px;font-size:11px;opacity:.7;display:flex;align-items:center;gap:4px;justify-content:flex-end}.bubble-reply{border-left:2px solid var(--accent);padding-left:8px;margin-bottom:6px;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bubble.mine .bubble-reply{border-left-color:color-mix(in srgb,var(--bubble-out-text) 70%,transparent);color:color-mix(in srgb,var(--bubble-out-text) 85%,transparent)}.edited{font-size:11px;opacity:.8}.pinned-marker{font-weight:700;margin-right:6px}.bubble-image{max-width:min(280px,100%);border-radius:12px;display:block;margin-top:2px}.media-status{opacity:.7;font-style:italic}.media-image-wrap{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.media-download-link{align-self:flex-start;border:none;background:none;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;padding:0}.bubble.mine .media-download-link{color:var(--bubble-out-text);text-decoration:underline}.media-download-link:disabled{opacity:.6;cursor:default}.file-card{display:flex;align-items:center;gap:12px;padding:8px 4px;min-width:220px}.file-card-icon{width:42px;height:42px;flex:0 0 auto;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.bubble.mine .file-card-icon{background:color-mix(in srgb,var(--bubble-out-text) 18%,transparent);color:var(--bubble-out-text)}.file-card-main{min-width:0;flex:1}.file-card-name{font-size:14px;font-weight:600;word-break:break-word}.file-card-sub{font-size:12px;opacity:.75;margin-top:2px}.file-card-download{border:none;background:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.bubble.mine .file-card-download{color:var(--bubble-out-text);text-decoration:underline}.file-card-download:disabled{opacity:.6;cursor:default}.voice-card{display:flex;align-items:center;gap:10px;padding:4px 2px;min-width:220px;max-width:280px}.voice-play{width:40px;height:40px;flex:0 0 auto;border:none;border-radius:50%;background:var(--accent);color:var(--on-accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.voice-play:disabled{opacity:.6;cursor:default}.voice-main{flex:1;min-width:0}.voice-wave{display:flex;align-items:center;gap:2px;height:24px;cursor:pointer}.voice-bar{flex:1 1 0;min-width:2px;border-radius:2px;background:currentColor;opacity:.3}.voice-bar.played{background:var(--accent);opacity:1}.bubble.mine .voice-bar.played{background:currentColor;opacity:1}.voice-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px;font-size:12px;opacity:.85}.voice-time{font-variant-numeric:tabular-nums}.voice-speed{border:none;background:none;padding:0 2px;color:inherit;font:inherit;font-weight:600;cursor:pointer;opacity:.85}.voice-speed:hover{opacity:1}.composer-recording{align-items:center}.rec-state{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-radius:20px;background:var(--bg-input)}.rec-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:var(--danger)}.rec-time{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.rec-meter{flex:1;min-width:0;display:flex;align-items:center;gap:2px;height:24px;overflow:hidden}.rec-meter-bar{flex:1 1 0;min-width:2px;border-radius:2px;background:var(--accent);opacity:.75}.rec-discard{color:var(--danger)}.rec-discard:hover{color:var(--danger);background:var(--danger-soft)}.composer-hint-error{color:var(--danger)}@media (prefers-reduced-motion: no-preference){.rec-dot{animation:fx-rec-pulse 1.1s ease-in-out infinite}.rec-meter-bar{transition:height .1s linear}}@keyframes fx-rec-pulse{0%,to{opacity:1}50%{opacity:.25}}.reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.reaction{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);font-size:13px;cursor:pointer}.reaction.mine{border-color:var(--accent);background:var(--accent-soft)}.reaction-count{font-size:12px;color:var(--text-muted)}.bubble.mine .reaction{background:color-mix(in srgb,var(--bubble-out-text) 14%,transparent);border-color:transparent;color:var(--bubble-out-text)}.bubble.mine .reaction-count{color:color-mix(in srgb,var(--bubble-out-text) 80%,transparent)}.message-actions{display:flex;gap:12px;margin-top:3px;opacity:0;transition:opacity .12s ease}.message-row:hover .message-actions,.message-row:focus-within .message-actions{opacity:1}.link-button{border:none;background:none;padding:0;font-size:12px;color:var(--accent);cursor:pointer}.link-button:hover{text-decoration:underline}.reaction-picker{display:flex;gap:4px;margin-top:4px}.reaction-pick{border:1px solid transparent;background:none;border-radius:12px;padding:1px 5px;font-size:14px;cursor:pointer}.reaction-pick:hover{border-color:var(--border-strong);background:var(--bg-elevated)}.typing{padding:4px;font-size:12px;color:var(--text-muted)}.load-older{display:flex;justify-content:center;padding:8px 0 12px}.composer-wrap{border-top:1px solid var(--border);background:var(--bg-panel)}.composer-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.composer-banner-text{min-width:0;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.composer-banner-label{color:var(--accent);font-weight:600;margin-right:6px}.composer-banner-body{color:var(--text-muted)}.composer{background:var(--bg-panel);padding:10px 14px;display:flex;gap:8px;align-items:flex-end}.composer textarea{flex:1}.composer-input{flex:1;border-radius:20px;min-height:44px;max-height:160px;padding:11px 14px;background:var(--bg-input);border-color:transparent}.composer-input:focus{border-color:var(--accent)}.composer-icon-btn{width:42px;height:42px;flex:0 0 auto;border:none;background:transparent;color:var(--text-muted);border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.composer-icon-btn:hover{background:var(--bg-hover);color:var(--accent)}.composer-icon-btn:disabled{opacity:.5;cursor:not-allowed}.composer-send{width:46px;height:46px;flex:0 0 auto;border:none;border-radius:50%;background:var(--accent);color:var(--on-accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 14px var(--accent-soft);transition:background .15s ease,transform .05s ease}.composer-send:hover{background:var(--accent-hover)}.composer-send:active{transform:scale(.94)}.composer-send:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.composer-hint{padding:0 18px 8px;font-size:11px;color:var(--text-faint)}.passphrase-bar{display:flex;align-items:center;gap:10px;padding:9px 20px;background:var(--bg-elevated);color:var(--text);font-size:13px;border-bottom:1px solid var(--border)}.passphrase-bar .grow{flex:1}.passphrase-bar input{background:var(--bg-input);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);padding:7px 10px;font-size:13px}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);padding:40px}.empty-title{font-size:18px;color:var(--text-strong);margin:0 0 6px}.empty-sub{margin:0;max-width:380px}.banner{padding:10px 20px;font-size:13px}.banner.error{background:var(--danger-soft);color:var(--danger)}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--bg-elevated);color:var(--text-muted);text-transform:capitalize}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal{width:100%;max-width:440px;background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.modal-title{margin:0 0 16px;font-size:18px;color:var(--text-strong)}.field{margin-bottom:14px}.field label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--text-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.settings-dialog{max-width:560px;max-height:calc(100vh - 48px);overflow-y:auto}.settings-section{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.settings-section:first-of-type{border-top:none;margin-top:6px;padding-top:0}.settings-section-title{margin:0 0 10px;color:var(--text-strong);font-size:15px}.settings-section-copy{margin:0 0 12px;color:var(--text-muted);font-size:13px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}.settings-row-label{font-size:14px;color:var(--text)}.settings-seg{display:inline-flex;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px}.settings-seg-btn{border:none;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.settings-seg-btn:hover{color:var(--text)}.settings-seg-btn.active{background:var(--accent);color:var(--on-accent)}.sidebar-tool,.sidebar-folder-input,.sidebar-folder-select{width:100%;min-height:34px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:6px 8px;background:var(--bg-elevated);color:var(--text);font:inherit;font-size:12px}.sidebar-tool{cursor:pointer}.sidebar-tool:disabled{opacity:.5;cursor:not-allowed}.sidebar-folder-member{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-dialog{max-width:620px;max-height:calc(100vh - 48px);overflow-y:auto}.saved-list{display:flex;flex-direction:column;gap:10px}.saved-row{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--bg-elevated)}.saved-text{white-space:pre-wrap;overflow-wrap:anywhere}.saved-meta{color:var(--text-muted);font-size:12px;margin:6px 0}.poll-dialog{max-width:620px;max-height:calc(100vh - 48px);overflow-y:auto}.poll-option-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.poll-option-field{display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:8px}.poll-option-field label{margin:0}.poll-settings{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0 10px;color:var(--text);font-size:13px}.poll-settings label,.poll-correct-answer label{display:inline-flex;align-items:center;gap:6px}.poll-correct-answer{border:1px solid var(--border);border-radius:var(--radius-sm);margin:14px 0 0;padding:10px 12px;display:flex;flex-direction:column;gap:7px;color:var(--text);font-size:13px}.poll-correct-answer legend{padding:0 4px;font-weight:700}.poll-card{min-width:250px;border-radius:11px;background:transparent;color:inherit;padding:2px}.poll-card-type{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.bubble.mine .poll-card-type{color:color-mix(in srgb,var(--bubble-out-text) 85%,transparent)}.poll-card-question{margin:3px 0 10px;color:inherit;font-size:15px;line-height:1.3}.poll-choices{display:flex;flex-direction:column;gap:7px}.poll-choice{border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 8px;display:flex;align-items:flex-start;gap:7px;cursor:pointer}.poll-choice.selected{border-color:var(--accent);background:var(--accent-soft)}.poll-choice.correct{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}.poll-choice input{margin:3px 0 0;accent-color:var(--accent)}.poll-choice-copy{min-width:0;flex:1}.poll-choice-line{display:flex;justify-content:space-between;gap:8px;font-size:13px}.poll-choice-line span:last-child{color:var(--text-muted);font-size:12px;white-space:nowrap}.poll-bar{display:block;height:4px;margin-top:5px;overflow:hidden;border-radius:4px;background:var(--border-strong)}.poll-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.poll-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:var(--text-muted);font-size:12px}.poll-actions{display:inline-flex;align-items:center;gap:8px}.poll-reveal{margin-top:9px;color:var(--ok);font-size:12px;font-weight:700}.poll-error{margin-top:8px;color:var(--danger);font-size:12px}.call-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 14px;margin:10px 20px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated)}.call-bar-info{display:flex;align-items:center;gap:10px;font-size:13px;flex-wrap:wrap}.call-bar-dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 20%,transparent)}.call-bar-count{color:var(--text-muted)}.call-bar-wait{color:var(--text-muted);font-size:12px}.call-bar-mic{display:inline-flex;align-items:center;gap:8px}.call-bar-mic-label{font-size:12px;color:var(--text-muted)}.mic-meter{display:inline-flex;align-items:center;gap:2px;width:84px;height:18px;overflow:hidden}.mic-meter-bar{flex:1 1 0;min-width:2px;border-radius:2px;background:var(--ok);opacity:.75}.mic-indicator.muted .mic-meter-bar{background:var(--danger);opacity:.5}@media (prefers-reduced-motion: no-preference){.mic-meter-bar{transition:height .1s linear}}.call-bar-actions{display:flex;gap:8px}.call-leave{background:var(--danger);color:#fff}.call-audio-sink{display:none}.call-incoming{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:16px;padding:12px 16px;border-radius:14px;background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow)}.call-incoming-text{display:flex;flex-direction:column;gap:2px}.call-incoming-actions{display:flex;gap:8px}@media (max-width: 760px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100%}.sidebar-resizer{display:none}.sidebar{min-height:auto}.conv-list{max-height:240px}.main{min-height:74vh}.thread-header{padding:12px 14px}.messages{padding:14px}.bubble{max-width:86%}.passphrase-bar{padding:10px 14px}.composer{padding:10px 12px}.composer-hint{padding:0 14px 8px}.thread-header-row{flex-direction:column}.thread-actions{justify-content:flex-start}.member-row{align-items:flex-start;flex-direction:column;gap:8px}.member-role{width:100%}.call-bar{margin:10px 14px}.modal-backdrop{align-items:flex-end;padding:12px}.settings-dialog,.account-dialog,.saved-dialog,.poll-dialog{max-height:calc(100vh - 24px)}.sidebar-user-actions{justify-content:flex-start}.session-row{flex-direction:column}.thread-search{padding:8px 14px;align-items:stretch;flex-direction:column;gap:5px}.thread-search .input{max-width:none}.poll-option-field{grid-template-columns:1fr auto}.poll-option-field label{grid-column:1 / -1}.poll-card{min-width:0}.poll-choice-line{flex-direction:column;gap:1px}}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.mic-indicator{display:inline-flex;align-items:center;gap:8px;transition:color .15s ease}.mic-indicator.live{color:var(--ok)}.mic-indicator.muted{color:var(--danger)}.mic-indicator-icon{display:inline-flex;align-items:center}.message-row.flash>.bubble{animation:msgFlash 1.25s ease}@keyframes msgFlash{0%{box-shadow:0 0 0 3px #3390ec8c}70%{box-shadow:0 0 0 3px #3390ec59}to{box-shadow:0 0 #3390ec00}}.pinned-bar{position:sticky;top:0;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;background:var(--bg-header);border:none;border-bottom:1px solid var(--border);padding:6px 14px;cursor:pointer}.pinned-bar:hover{background:var(--bg-hover)}.pinned-bar-label{font-size:11px;font-weight:600;color:var(--accent)}.pinned-bar-text{font-size:13px;color:var(--text-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bubble-reply{cursor:pointer}.thread-back{display:none;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text);cursor:pointer;margin-right:4px;flex:none}.thread-back:hover{background:#7f7f7f29}@media (max-width: 760px){html,body,#root{height:100%}.app-shell{grid-template-columns:1fr;height:100dvh;min-height:100dvh;overflow:hidden}.sidebar-resizer{display:none}.sidebar{min-height:0;height:100dvh;border-right:none}.conv-list{max-height:none;flex:1 1 auto}.main{min-height:0;height:100dvh}.app-shell .main,.app-shell.has-active .sidebar{display:none}.app-shell.has-active .main{display:flex;flex-direction:column}.thread-back{display:inline-flex}.thread-header-row{flex-direction:row;align-items:center}.messages{flex:1 1 auto}}@media (max-width: 560px){body{font-size:14px}.auth-shell{padding:14px;align-items:flex-start}.auth-card{padding:22px 18px;border-radius:14px}.auth-lang{margin-top:14px}.auth-lang .seg,.auth-lang .settings-seg{width:100%}.settings-row{flex-wrap:wrap;align-items:flex-start}.settings-row .seg,.settings-row .settings-seg{margin-left:auto}.modal-actions{flex-direction:column-reverse;align-items:stretch}.modal-actions .button,.settings-inline-actions .button,.session-actions .button{width:100%}}@media (max-width: 760px){.call-bar{flex-direction:column;align-items:stretch;gap:8px}.call-bar-info{justify-content:flex-start}.call-bar-mic{justify-content:space-between}.call-bar-actions{flex-wrap:wrap;gap:8px}.call-bar-actions .button{flex:1 1 auto}.call-incoming{left:12px;right:12px;bottom:12px}.call-incoming-actions{display:flex;gap:8px}.call-incoming-actions .button{flex:1 1 auto}}.call-screens{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;width:100%;flex:1 1 100%;min-width:0;order:9;margin-top:10px}.call-screen{position:relative;width:100%;background:#000;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden}.call-screen-video{display:block;width:100%;height:auto;max-height:52vh;aspect-ratio:16 / 9;background:#000;object-fit:contain;cursor:pointer}.call-screen-fs{position:absolute;top:8px;right:8px;opacity:.9}.call-screen-label{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:6px;background:#0000008c;color:#fff;font-size:12px}.call-screen:fullscreen{border:0;border-radius:0;display:flex;align-items:center;justify-content:center}.call-screen:fullscreen .call-screen-video{width:100vw;height:100vh;max-height:none;aspect-ratio:auto}@media (max-width: 720px){.call-screens{grid-template-columns:1fr}.call-screen-video{max-height:38vh}}@media (max-height: 700px){.call-screen-video{max-height:40vh}}.read-ticks{display:inline-flex;align-items:center;margin-left:3px;opacity:.75}.read-ticks.read{opacity:1;color:var(--ok)}.toast-host{position:fixed;top:16px;right:16px;z-index:200;display:flex;flex-direction:column;gap:8px;width:320px;max-width:calc(100vw - 24px);pointer-events:none}.toast{pointer-events:auto;cursor:pointer;padding:10px 12px;border-radius:12px;border:1px solid var(--border, rgba(255,255,255,.12));background:var(--panel, #17181c);color:var(--text, #f2f3f5);box-shadow:0 14px 34px #00000061;animation:fx-toast-in .16s ease-out}.toast:hover{filter:brightness(1.08)}.toast-title{font-size:13px;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-body{font-size:13px;line-height:1.35;opacity:.86;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.toast.fx-out{animation:fx-toast-out .2s ease-in forwards}@keyframes fx-toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes fx-toast-out{0%{opacity:1}to{opacity:0;transform:translateY(-10px)}}@media (max-width: 720px){.toast-host{top:10px;right:10px;left:10px;width:auto}}.auth-hint{margin:6px 0 0;font-size:12px;line-height:1.4;opacity:.65}.conv-avatar-wrap{position:relative;display:inline-flex;flex:0 0 auto}.conv-avatar-wrap .presence-dot{position:absolute;right:0;bottom:0;width:11px;height:11px}.sidebar-user{justify-content:flex-start}.sidebar-user-actions{margin-left:auto}.sidebar-user-avatar{width:34px;height:34px;border-radius:50%;flex:0 0 auto;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:var(--border-strong);color:#fff;font-weight:700;font-size:13px}.auth-consent{display:flex;align-items:flex-start;gap:8px;margin:2px 0 14px;font-size:13px;line-height:1.45;color:var(--muted, #8b98a9);cursor:pointer}.auth-consent input{margin:3px 0 0;flex:0 0 auto}.auth-consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}.auth-consent a:hover{color:var(--text, #e6edf6)}.settings-policy{margin-top:12px}.settings-policy a{color:inherit;text-decoration:underline;text-underline-offset:2px;opacity:.8}.settings-policy a:hover{opacity:1}.settings-danger{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.settings-danger-title{margin:0 0 6px;font-size:14px;font-weight:600;color:#ff8f8f}.settings-danger-text{margin:0 0 12px;font-size:13px;line-height:1.5;opacity:.7}.settings-danger-form{display:flex;flex-direction:column;gap:10px}.settings-danger-input{padding:9px 11px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:inherit;font:inherit}.settings-danger-input:focus{outline:none;border-color:#ff8c8c73}.settings-danger-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-danger-btn{padding:9px 14px;border-radius:9px;border:1px solid rgba(255,90,90,.45);background:#ff46461f;color:#ffb3b3;font:inherit;font-weight:600;cursor:pointer}.settings-danger-btn:hover{background:#ff464633}.settings-danger-btn:disabled{opacity:.55;cursor:default}.settings-danger-cancel{padding:9px 14px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:transparent;color:inherit;font:inherit;cursor:pointer}.settings-danger-cancel:disabled{opacity:.55;cursor:default}.settings-danger-error{margin:0;font-size:13px;line-height:1.45;color:#ff9b9b}.theme-current-preview{margin:8px 0 4px}.theme-backdrop{z-index:70}.theme-dialog{max-width:620px;max-height:calc(100vh - 48px);overflow-y:auto}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:4px 0 6px}.theme-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;color:var(--text);text-align:left}.theme-card:hover{border-color:var(--border-strong)}.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-card-name{font-size:13px;font-weight:600}.theme-card-check{position:absolute;top:8px;right:8px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:700}.theme-card-preview,.theme-mini{position:relative;display:flex;align-items:stretch;overflow:hidden;border-radius:10px;background:var(--bg-app);border:1px solid var(--border)}.theme-mini{width:200px;height:58px}.theme-card-preview{height:62px}.theme-mini-side{flex:0 0 auto;width:46px;background:var(--bg-sidebar);border-right:1px solid var(--border)}.theme-mini-chat{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px 9px}.theme-mini-bubble{height:11px;border-radius:7px;flex:0 0 auto}.theme-mini-bubble.in{background:var(--bubble-in);border:1px solid var(--border);width:78%;align-self:flex-start}.theme-mini-bubble.out{background:var(--bubble-out);width:62%;align-self:flex-end}.theme-card-preview[data-theme-mini=dark],.theme-mini[data-theme-mini=dark]{--bg-app: #0e1621;--bg-sidebar: #17212b;--bubble-in: #182533;--bubble-out: #2b5278;--border: #23303d;--text-faint: #6d7b88}.theme-card-preview[data-theme-mini=light],.theme-mini[data-theme-mini=light]{--bg-app: #e9edf2;--bg-sidebar: #ffffff;--bubble-in: #ffffff;--bubble-out: #eeffde;--border: #e3e9ef;--text-faint: #97a4b1}.theme-card-preview[data-theme-mini=ocean],.theme-mini[data-theme-mini=ocean]{--bg-app: #0a1a26;--bg-sidebar: #0e2436;--bubble-in: #14324b;--bubble-out: #1f7ab8;--border: #1d3d57;--text-faint: #6b93ad}.theme-card-preview[data-theme-mini=forest],.theme-mini[data-theme-mini=forest]{--bg-app: #0d1b14;--bg-sidebar: #12271b;--bubble-in: #1a3527;--bubble-out: #2f9e5f;--border: #213f2e;--text-faint: #73967f}.theme-card-preview[data-theme-mini=sunset],.theme-mini[data-theme-mini=sunset]{--bg-app: #211318;--bg-sidebar: #2c1a20;--bubble-in: #3f2a33;--bubble-out: #c4506b;--border: #4d3240;--text-faint: #a37e88}.theme-card-preview[data-theme-mini=midnight],.theme-mini[data-theme-mini=midnight]{--bg-app: #000000;--bg-sidebar: #0a0a0f;--bubble-in: #17171f;--bubble-out: #7c5cff;--border: #22222e;--text-faint: #6e6e86}.theme-card-preview[data-theme-mini=telegram],.theme-mini[data-theme-mini=telegram]{--bg-app: #0e1621;--bg-sidebar: #17212b;--bubble-in: #182533;--bubble-out: #2aabee;--border: #23303d;--text-faint: #6d7b88}.theme-card-preview[data-theme-mini=nord],.theme-mini[data-theme-mini=nord]{--bg-app: #e5e9f0;--bg-sidebar: #eceff4;--bubble-in: #ffffff;--bubble-out: #d8dee9;--border: #d3dae6;--text-faint: #8a96ab}.accent-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.accent-dot{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.accent-dot.active{border-color:var(--text-strong);box-shadow:0 0 0 2px var(--bg-panel),0 0 0 4px var(--text-strong)}.accent-custom{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);cursor:pointer;border:1px solid var(--border);border-radius:999px;padding:4px 10px 4px 4px}.accent-custom input[type=color]{width:26px;height:26px;border:none;background:none;padding:0;cursor:pointer}.settings-inline-actions{display:flex;justify-content:flex-end;margin-top:6px}.account-dialog{max-width:620px}.account-dialog .modal-title{margin-bottom:4px}.account-subtitle{margin:0 0 18px;color:var(--text-muted);font-size:13px}.account-section{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.account-section-title{margin:0 0 4px;color:var(--text-strong);font-size:15px}.account-section-copy{margin:0 0 12px;color:var(--text-muted);font-size:13px}.account-message{border-radius:var(--radius-sm);padding:9px 10px;font-size:13px;margin-bottom:12px}.account-message.error{background:var(--danger-soft);color:var(--danger)}.account-message.success{background:var(--accent-soft);color:var(--accent)}.session-list{display:flex;flex-direction:column;gap:8px}.session-row{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--bg-elevated)}.session-row-main{min-width:0}.session-name{font-size:13px;font-weight:700;word-break:break-word;color:var(--text-strong)}.session-meta{margin-top:3px;color:var(--text-muted);font-size:12px}.session-current{display:inline-block;margin-left:7px;color:var(--accent);font-size:11px;font-weight:700}.session-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.filepanel{border-bottom:1px solid var(--border);background:var(--bg-panel)}.filepanel-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 20px;border:none;background:transparent;cursor:pointer;color:var(--text)}.filepanel-title{font-size:13px;font-weight:700}.filepanel-toggle{font-size:12px;font-weight:600;color:var(--accent)}.filepanel-body{padding:0 20px 14px;display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.fp-upload{display:flex;flex-direction:column;gap:6px}.fp-file-input{font-size:13px;color:var(--text)}.fp-hint{font-size:12px;color:var(--text-muted)}.fp-msg{border-radius:var(--radius-sm);padding:8px 10px;font-size:12px}.fp-note{background:var(--accent-soft);color:var(--accent)}.fp-empty{font-size:13px;color:var(--text-muted);padding:4px 0}.fp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fp-file{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--bg-elevated)}.fp-file-main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.fp-file-info{min-width:0}.fp-file-name{font-size:14px;font-weight:600;word-break:break-word}.fp-file-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.fp-state{white-space:nowrap;text-transform:none;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.fp-state.ok{background:var(--accent-soft);color:var(--accent)}.fp-state.info{background:var(--bg-hover);color:var(--text)}.fp-state.wait{background:var(--accent-soft);color:var(--accent)}.fp-state.warn{background:var(--danger-soft);color:var(--danger)}.fp-expiry{margin-top:8px;font-size:12px;color:var(--text-muted)}.fp-warn{margin-top:8px;font-size:12px;color:var(--danger);background:var(--danger-soft);border-left:3px solid var(--danger);border-radius:var(--radius-sm);padding:6px 10px}.fp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.fp-muted{font-size:12px;color:var(--text-muted)}.sidebar-filter{width:100%;margin-top:8px;min-height:36px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text);font:inherit;font-size:13px;cursor:pointer}.sidebar-filter[aria-pressed=true]{background:var(--bg-hover)}.thread-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.thread-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.pin-summary{margin-left:8px;color:var(--text-muted);font-size:12px}.member-dialog{max-width:520px}.member-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.member-dialog-head .modal-title{margin:0}.member-list{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow-y:auto}.member-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}.member-name{min-width:0;display:flex;flex-direction:column;gap:2px;color:var(--text)}.member-name span{color:var(--text-muted);font-size:12px}.member-role{width:132px;min-height:38px;padding:7px 9px}.presence-summary{display:inline-flex;align-items:center;gap:6px;margin-left:8px;color:var(--text-muted);font-size:12px}.presence-dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong);flex:0 0 auto}.presence-dot.online{background:var(--ok);box-shadow:0 0 0 2px color-mix(in srgb,var(--ok) 16%,transparent)}.member-presence{display:inline-flex;align-items:center;gap:6px}.thread-search{display:flex;align-items:center;gap:10px;padding:8px 20px;border-bottom:1px solid var(--border);background:var(--bg-header)}.thread-search label{font-size:13px;font-weight:600;color:var(--text-muted);white-space:nowrap}.thread-search .input{max-width:360px;min-height:38px;padding:7px 10px}.thread-search .muted{font-size:12px;white-space:nowrap}.personal-tools{display:flex;flex-direction:column;gap:7px;margin-top:8px}.sidebar-resizer{position:relative;width:0;cursor:col-resize;touch-action:none;z-index:4}.sidebar-resizer:before{content:"";position:absolute;top:0;bottom:0;left:-4px;width:9px}.sidebar-resizer:after{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:transparent;transition:background .15s ease}.sidebar-resizer:hover:after,.sidebar-resizer:focus-visible:after,body.sidebar-resizing .sidebar-resizer:after{background:var(--accent)}.sidebar-resizer:focus-visible{outline:none}body.sidebar-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.sidebar-resizing iframe,body.sidebar-resizing video{pointer-events:none}.folder-tabs{display:flex;align-items:center;gap:6px;padding:0 10px 6px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:transparent transparent}.folder-tabs:hover{scrollbar-color:var(--border-strong) transparent}.folder-tabs::-webkit-scrollbar{height:4px}.folder-tabs::-webkit-scrollbar-track{background:transparent}.folder-tabs::-webkit-scrollbar-thumb{background:transparent;border-radius:2px}.folder-tabs:hover::-webkit-scrollbar-thumb{background:var(--border-strong)}.folder-tab{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;max-width:160px;padding:5px 11px;border:1px solid transparent;border-radius:14px;background:var(--bg-elevated);color:var(--text-muted);font:inherit;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.folder-tab:hover{color:var(--text)}.folder-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.folder-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:11px}.folder-tab-manage{padding:5px 8px;color:var(--text-muted)}.folder-dialog{max-width:520px;max-height:calc(100vh - 48px);overflow-y:auto}.folder-create{display:flex;gap:8px;align-items:center;margin-bottom:10px}.folder-create .input{flex:1;min-width:0}.folder-manage-list{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.folder-manage-row{display:flex;align-items:center;gap:6px;border-radius:var(--radius-sm);background:var(--bg-elevated)}.folder-manage-row.active{background:var(--accent-soft)}.folder-manage-pick{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:none;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.folder-manage-row.active .folder-manage-pick{color:var(--accent);font-weight:600}.folder-manage-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-manage-count{flex:0 0 auto;font-size:12px;color:var(--text-muted)}.folder-manage-remove{flex:0 0 auto;width:32px;height:32px;margin-right:6px;border:none;border-radius:50%;background:none;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.folder-manage-remove:hover{background:var(--danger-soft);color:var(--danger)}.folder-manage-remove:disabled{opacity:.5;cursor:not-allowed}.folder-section-title{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-muted)}.folder-chat-list{display:flex;flex-direction:column;gap:2px;margin-top:8px;max-height:40vh;overflow-y:auto}.folder-chat-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer}.folder-chat-row:hover{background:var(--bg-hover)}.folder-chat-row.active{color:var(--accent)}.folder-chat-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-menu-item.checked{display:flex;align-items:center;gap:8px;color:var(--accent)}.more-menu-item.checked:after{content:"";width:6px;height:10px;margin-left:auto;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.video-wrap{max-width:280px}.bubble-video{display:block;width:100%;max-width:100%;max-height:380px;border-radius:12px;background:#000}.video-poster{position:relative;display:block;width:280px;max-width:100%;max-height:380px;padding:0;border:none;border-radius:12px;overflow:hidden;background:var(--bg-elevated);cursor:pointer}.video-poster:disabled{cursor:default}.video-poster-img{display:block;width:100%;height:100%;object-fit:cover}.video-poster-blank{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--bg-elevated),var(--bg-hover))}.video-poster-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000038}.video-play,.video-progress{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#0000008c;color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.video-progress{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.video-poster:hover .video-play{background:var(--accent)}.video-badges{position:absolute;left:8px;bottom:8px;display:flex;gap:6px}.video-badge{padding:2px 7px;border-radius:10px;background:#0009;color:#fff;font-size:11px;font-variant-numeric:tabular-nums}.audio-card{display:flex;flex-direction:column;gap:8px;min-width:220px;max-width:280px;padding:4px 2px}.audio-card-head{display:flex;align-items:center;gap:10px}.audio-progress{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.audio-player{width:100%;height:34px}@media (max-width: 760px){.video-wrap,.video-poster{width:100%;max-width:100%}}.upload-card{display:flex;align-items:center;gap:10px;min-width:220px;max-width:280px;padding:2px}.upload-poster{width:56px;height:56px;flex:0 0 auto;border-radius:8px;object-fit:cover;opacity:.85}.upload-main{flex:1;min-width:0}.upload-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-stage{margin-top:2px;font-size:12px;opacity:.8;font-variant-numeric:tabular-nums}.upload-bar{margin-top:7px;height:4px;border-radius:2px;background:currentColor;opacity:.25;overflow:hidden}.upload-fill{display:block;height:100%;border-radius:2px;background:var(--accent);transition:width .2s ease}.bubble.mine .upload-fill{background:var(--bubble-out-text)}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;background:#000000eb}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));color:#fff}.viewer-meta{display:flex;flex-direction:column;min-width:0}.viewer-author{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-stamp{font-size:12px;opacity:.7}.viewer-actions{display:flex;align-items:center;gap:8px}.viewer-count{font-size:13px;opacity:.8;font-variant-numeric:tabular-nums}.viewer-btn{width:38px;height:38px;border:none;border-radius:50%;background:#ffffff1f;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.viewer-btn:hover{background:#fff3}.viewer-btn:disabled{opacity:.4;cursor:default}.viewer-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 16px 16px;touch-action:none;overflow:hidden}.viewer-image{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;transition:transform .12s ease;-webkit-user-select:none;user-select:none}.viewer-image.zoomed{cursor:grab}.viewer-video{max-width:100%;max-height:100%}.viewer-status{color:#fff;opacity:.8;font-variant-numeric:tabular-nums}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:none;border-radius:50%;background:#ffffff1f;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.viewer-nav:hover{background:#ffffff38}.viewer-nav.prev{left:14px}.viewer-nav.next{right:14px}.viewer-caption{padding:0 20px calc(18px + env(safe-area-inset-bottom));color:#fff;text-align:center;font-size:14px;opacity:.9}.bubble-image.clickable{cursor:zoom-in}.video-expand{position:absolute;top:8px;right:8px;z-index:2;width:30px;height:30px;border:none;border-radius:50%;background:#0000008c;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.video-expand:hover{background:#000000bf}.video-wrap{position:relative}.gallery-dialog{max-width:720px;max-height:calc(100vh - 48px);overflow-y:auto}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}.gallery-tile{position:relative;padding:0;border:none;border-radius:10px;overflow:hidden;aspect-ratio:1 / 1;background:var(--bg-elevated);cursor:pointer}.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block}.gallery-blank{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--bg-elevated),var(--bg-hover))}.gallery-blank.failed{opacity:.5}.gallery-video-mark{position:absolute;left:6px;bottom:6px;display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:9px;background:#0009;color:#fff;font-size:11px}.gallery-video-mark em{font-style:normal;font-variant-numeric:tabular-nums}.gallery-more{display:flex;justify-content:center;padding-top:14px}.pinned-dialog{max-width:520px;max-height:calc(100vh - 48px);overflow-y:auto}.pinned-list{display:flex;flex-direction:column;gap:4px}.pinned-row{display:flex;align-items:center;gap:6px;border-radius:var(--radius-sm);background:var(--bg-elevated)}.pinned-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:none;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.pinned-row-author{font-size:12px;font-weight:600;color:var(--accent)}.pinned-row-text{font-size:14px;color:var(--text-soft, var(--text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-row-remove{flex:0 0 auto;width:32px;height:32px;margin-right:6px;border:none;border-radius:50%;background:none;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.pinned-row-remove:hover{background:var(--danger-soft);color:var(--danger)}.pinned-bar{display:flex;align-items:center;gap:8px}.pinned-bar-main{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow:hidden}.pinned-bar-all{flex:0 0 auto;border:none;background:none;color:var(--accent);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.main.drag-over{outline:2px dashed var(--accent);outline-offset:-8px}.drop-hint{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#00000059;pointer-events:none}.drop-hint span{padding:14px 22px;border-radius:var(--radius);background:var(--bg-panel);color:var(--text);font-weight:600;box-shadow:var(--shadow)}@media (max-width: 760px){.viewer-nav{display:none}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}}.md-code{padding:1px 5px;border-radius:5px;background:#7f7f7f38;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.md-pre{margin:6px 0;padding:10px 12px;border-radius:10px;background:#7f7f7f2e;overflow-x:auto}.md-pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;white-space:pre}.md-quote{margin:4px 0;padding-left:10px;border-left:3px solid currentColor;opacity:.85}.md-link{color:inherit;text-decoration:underline}.bubble:not(.mine) .md-link{color:var(--accent)}.md-mention{font-weight:600;opacity:.85}.md-mention.known{color:var(--accent);cursor:default;opacity:1}.bubble.mine .md-mention.known{color:var(--bubble-out-text);text-decoration:underline}.conv-mention{flex:0 0 auto;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.conv-item.active .conv-mention{background:#ffffff3d;color:#fff}.mention-popup{margin:0 14px 6px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow);overflow:hidden;max-height:220px;overflow-y:auto}.mention-option{display:flex;align-items:baseline;gap:8px;width:100%;padding:8px 12px;border:none;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.mention-option.active,.mention-option:hover{background:var(--bg-hover)}.mention-name{font-weight:600}.mention-handle{color:var(--text-muted);font-size:12px}.link-card{display:flex;gap:10px;margin-top:8px;padding:8px;border-radius:10px;border-left:3px solid var(--accent);background:#7f7f7f24;color:inherit;text-decoration:none;max-width:320px}.bubble.mine .link-card{border-left-color:var(--bubble-out-text)}.link-card-image{width:64px;height:64px;flex:0 0 auto;border-radius:8px;object-fit:cover}.link-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.link-card-site{font-size:11px;text-transform:uppercase;letter-spacing:.03em;opacity:.7}.link-card-title{font-size:14px;font-weight:600;line-height:1.3}.link-card-text{font-size:13px;opacity:.85;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.bubble.queued{opacity:.72}.queued-mark{display:inline-flex;align-items:center;margin-right:4px}.day-group{display:flex;flex-direction:column;gap:4px}.messages.has-pinned .day-divider{top:calc(var(--pinned-bar-h, 40px) + 6px)}.pinned-bar{flex-direction:row;align-items:center}.day-divider{position:sticky;top:6px;z-index:2;display:flex;justify-content:center;margin:10px 0 8px;pointer-events:none}.day-divider span{padding:3px 12px;border-radius:14px;background:var(--bg-elevated);color:var(--text-muted);font-size:12px;font-weight:600;box-shadow:0 2px 10px #0000002e}:root[data-theme=light] .day-divider span{background:#ffffffeb;color:var(--text-muted)}.settings-row-sub{justify-content:flex-end;margin-top:-4px}.exceptions-dialog{max-width:560px;max-height:calc(100vh - 48px);overflow-y:auto}.exceptions-list{display:flex;flex-direction:column;gap:4px;margin-top:10px;max-height:48vh;overflow-y:auto}.exceptions-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg-elevated);flex-wrap:wrap}.exceptions-name{display:flex;align-items:center;gap:10px;min-width:0}.exceptions-avatar{width:32px;height:32px;flex:0 0 auto;border-radius:50%;object-fit:cover}.exceptions-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:13px}.exceptions-name-text{display:flex;flex-direction:column;min-width:0}.exceptions-display{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exceptions-handle{font-size:12px;color:var(--text-muted)}.exceptions-choice{display:inline-flex;gap:2px;padding:2px;border-radius:12px;background:var(--bg-input)}.exceptions-btn{border:none;background:none;color:var(--text-muted);font:inherit;font-size:12px;font-weight:600;padding:5px 10px;border-radius:10px;cursor:pointer;white-space:nowrap}.exceptions-btn:hover:not(:disabled){color:var(--text)}.exceptions-btn:disabled{opacity:.6;cursor:default}.exceptions-btn.active{background:var(--bg-panel);color:var(--text)}.exceptions-btn.allow.active{color:var(--ok)}.exceptions-btn.deny.active{color:var(--danger)}@media (max-width: 560px){.exceptions-row{justify-content:flex-start}.exceptions-choice{width:100%;justify-content:space-between}}.privacy-dialog{max-width:560px;max-height:calc(100vh - 48px);overflow-y:auto}.privacy-dialog .settings-row{margin-top:14px}.privacy-dialog .settings-hint{margin-top:4px}.settings-row-stack{flex-wrap:wrap;gap:8px}@media (max-width: 520px){.settings-row-stack{flex-direction:column;align-items:flex-start}.settings-row-stack .settings-seg{width:100%}.settings-row-stack .settings-seg-btn{flex:1}}.modal-backdrop.modal-nested{z-index:60}.modal-backdrop.modal-nested-2{z-index:70}.exceptions-choice .seg-btn{padding:5px 10px;font-size:12px}.exceptions-choice.mode-allow .seg-thumb{background:var(--ok)}.exceptions-choice.mode-deny .seg-thumb{background:var(--danger)}.exceptions-row.busy{opacity:.6}.conv-avatar-img{object-fit:cover}.conv-avatar-self{background:var(--accent);color:var(--on-accent)}.conv-avatar-self svg{width:20px;height:20px}.conv-item-title{display:flex;align-items:center;gap:5px}.conv-item-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-pin,.conv-mute{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--text-faint)}.conv-item.active .conv-pin,.conv-item.active .conv-mute{color:#ffffffd9}.msg-actions{position:relative;display:flex;align-items:center;gap:2px;margin-top:3px;opacity:0;transition:opacity .12s ease}.message-row:hover .msg-actions,.message-row:focus-within .msg-actions{opacity:1}.message-row.mine .msg-actions{justify-content:flex-end}.msg-act{width:30px;height:30px;flex:0 0 auto;border:none;background:transparent;color:var(--text-muted);border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.msg-act:hover{background:var(--bg-hover);color:var(--accent)}.msg-act svg{width:17px;height:17px}.msg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.msg-menu{position:fixed;z-index:41;min-width:168px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:5px;display:flex;flex-direction:column}.message-row.mine .msg-menu{right:0}.message-row:not(.mine) .msg-menu{left:0}.msg-menu-item{border:none;background:transparent;color:var(--text);text-align:left;padding:8px 10px;border-radius:7px;font-size:13px;cursor:pointer}.msg-menu-item:hover{background:var(--bg-hover)}.msg-picker{position:fixed;z-index:41;width:328px;max-width:90vw;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:8px}.message-row.mine .msg-picker{right:0}.message-row:not(.mine) .msg-picker{left:0}.msg-picker-quick{display:flex;flex-wrap:wrap;gap:3px;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid var(--border)}.reply-thumb{width:30px;height:30px;border-radius:6px;object-fit:cover;float:left;margin-right:7px}.reply-file-icon{display:inline-flex;align-items:center;margin-right:6px;color:var(--accent);vertical-align:middle}.bubble.mine .reply-file-icon{color:color-mix(in srgb,var(--bubble-out-text) 85%,transparent)}.reply-preview-text{overflow:hidden;text-overflow:ellipsis}.bubble-caption{margin-top:5px;white-space:pre-wrap;word-break:break-word;font-size:14px}.composer-wrap{position:relative}.composer-attachment{align-items:center}.composer-icon-btn svg{width:20px;height:20px}.composer-icon-btn.active{color:var(--accent);background:var(--accent-soft)}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.more-menu-wrap{position:relative;display:inline-flex}.more-menu{position:absolute;right:0;top:40px;z-index:50;min-width:194px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:5px;display:flex;flex-direction:column}.more-menu-item{border:none;background:transparent;color:var(--text);text-align:left;padding:8px 10px;border-radius:7px;font-size:13px;cursor:pointer}.more-menu-item:hover{background:var(--bg-hover)}.more-submenu{border-top:1px solid var(--border);margin-top:4px;padding-top:4px;display:flex;flex-direction:column}.settings-avatar{display:flex;align-items:center;gap:14px;margin-bottom:8px}.settings-avatar-img{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--bg-elevated);flex:0 0 auto}.settings-avatar-actions{display:flex;flex-wrap:wrap;gap:8px}.member-group-edit{display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:14px}.friend-dialog{max-width:520px}.friend-section-title{margin:14px 0 8px;font-size:13px;font-weight:700;color:var(--text-muted)}.friend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.friend-row-actions{display:flex;gap:6px}.comments-dialog{max-width:560px;max-height:calc(100vh - 48px);overflow-y:auto}.comment-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.comment-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px;background:var(--bg-elevated)}.comment-author{font-size:13px;font-weight:700;color:var(--text-strong)}.comment-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:3px}.comment-form{display:flex;gap:8px;align-items:flex-end}.forward-list{display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow-y:auto}.thread-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.thread-avatar,.thread-avatar-fallback{width:36px;height:36px;border-radius:50%;flex:0 0 auto;object-fit:cover}.thread-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:14px;text-transform:uppercase}.message-row:not(.mine){position:relative;padding-left:40px}.message-row:not(.mine)>.msg-avatar{position:absolute;left:0;top:0}.msg-avatar,.msg-avatar-fallback{width:30px;height:30px;border-radius:50%;flex:0 0 auto;object-fit:cover}.msg-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase}.bubble-sender{font-size:12px;font-weight:700;margin-bottom:2px;line-height:1.2}.cropper-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.cropper-modal{background:var(--bg-elevated);border-radius:14px;padding:18px;width:min(360px,92vw);display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 40px #00000059}.cropper-stage{position:relative;width:100%;aspect-ratio:1 / 1;overflow:hidden;border-radius:12px;background:#000;touch-action:none;cursor:grab}.cropper-image{position:absolute;top:0;left:0;transform-origin:0 0;-webkit-user-select:none;user-select:none;pointer-events:none}.cropper-frame{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;cursor:grab;touch-action:none;border-radius:12px}.cropper-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;aspect-ratio:1 / 1;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 9999px #00000080;pointer-events:none}.cropper-zoom{width:100%}.friend-list{display:flex;flex-direction:column;gap:2px}.friend-name{font-size:14px;font-weight:600;color:var(--text-strong)}.friend-actions{display:flex;gap:6px;align-items:center;margin-left:auto}.friend-count{font-size:12px;color:var(--text-muted);font-weight:500;margin-left:6px}.friend-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.friend-pending{font-size:12px;color:var(--text-muted);font-style:italic}.friend-add{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;position:relative}.friend-add-field{display:flex;gap:8px;align-items:center}.friend-suggest{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;margin-top:4px;max-height:220px;overflow-y:auto;box-shadow:0 8px 24px #00000040}.friend-suggest-item{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;padding:8px 12px;border:none;background:transparent;cursor:pointer}.friend-suggest-item:hover{background:var(--bg-hover)}.friend-suggest-name{font-size:14px;font-weight:600;color:var(--text-strong)}.friend-suggest-user{font-size:12px;color:var(--text-muted)}.friend-row.incoming{border-left:3px solid var(--accent);padding-left:8px;background:var(--bg-hover);border-radius:8px}.member-add{display:flex;flex-direction:column;gap:8px;margin-top:10px;position:relative}.member-add-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.invite-ttl{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--text-muted)}.invite-ttl .input{width:auto;min-width:130px}.member-chips{display:flex;flex-wrap:wrap;gap:6px}.member-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-hover);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:13px}.member-group-name{font-size:14px;font-weight:600;color:var(--text-strong)}.member-danger{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.invite-link{display:flex;align-items:center;gap:8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:13px;font-family:ui-monospace,monospace;word-break:break-all}.button.danger{background:var(--danger, #e5484d);color:#fff;border-color:transparent}.button.danger:hover{filter:brightness(.95)}.comments-head{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:10px}.comments-back{border:none;background:transparent;color:var(--accent);cursor:pointer;font-size:14px;padding:4px 6px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.comments-back:hover{background:var(--bg-hover)}.comments-parent{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:10px}.comments-parent-label{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.comments-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.new-kind-seg{display:flex;gap:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:4px}.new-kind-seg>button{flex:1;border:none;background:transparent;color:var(--text-muted);padding:8px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600}.new-kind-seg>button.active{background:var(--accent);color:var(--on-accent)}.msg-menu.up,.msg-picker.up{top:auto;bottom:34px}.comment-poll{border-left:2px solid var(--accent);padding:4px 0 4px 10px;margin:4px 0}.comment-poll-type{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.comment-poll-question{font-weight:600;margin:2px 0}.comment-poll-options{margin:4px 0 0;padding-left:16px}.comment-poll-option{margin:2px 0}.request-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:#2f6bff;color:#fff;font-size:11px;font-weight:700;line-height:1;vertical-align:middle}.confirm-dialog{max-width:420px}.modal-text{margin:0 0 4px;color:#8a8f98;font-size:14px}.settings-hint{margin:6px 0 0;color:#8a8f98;font-size:13px;line-height:1.4}@keyframes fx-pop-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes fx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fx-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: no-preference){.button,.composer-icon-btn,.composer-send,.emoji-tab,.settings-seg-btn,.friend-suggest-item,.member-chip,.sticker-cell,.gif-cell,.msg-act,.msg-menu-item,.conv-item{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease,opacity .16s ease}.button:not(:disabled):hover{transform:translateY(-1px)}.button:not(:disabled):active,.composer-icon-btn:active,.composer-send:active,.settings-seg-btn:active,.msg-act:active{transform:scale(.93)}.sticker-cell:hover,.gif-cell:hover{transform:scale(1.06)}.member-chip:hover{transform:translateY(-1px)}.modal,.cropper-modal{animation:fx-pop-in .18s ease both}.friend-suggest,.emoji-popover,.emoji-panel{animation:fx-fade-in .14s ease both}.message-row{animation:fx-msg-in .18s ease both}input[type=range]{transition:filter .16s ease}input[type=range]:active{filter:brightness(1.15)}}.comments-backdrop{align-items:stretch;justify-content:flex-end}.comments-dialog{width:min(600px,100%);max-width:600px;height:100vh;max-height:100vh;margin:0;border-radius:0;display:flex;flex-direction:column;padding:0;overflow:hidden}.comments-head{padding:12px 16px;margin:0;flex:0 0 auto}.comments-head-titles{display:flex;flex-direction:column;gap:1px}.comments-title{margin:0;font-size:16px}.comments-count{font-size:12px;color:var(--text-muted)}.comments-parent{margin:12px 16px 0;flex:0 0 auto}.comments-list{flex:1 1 auto;overflow-y:auto;padding:12px 16px;gap:2px}.comments-empty{text-align:center;padding:24px 0}.comment-composer{flex:0 0 auto;display:flex;gap:8px;align-items:flex-end;padding:10px 16px;border-top:1px solid var(--border);background:var(--bg-elevated)}.comment-composer .input{flex:1;resize:none}video.bubble-image{display:block;max-width:100%;border-radius:12px}.sticker-cell{width:96px;height:96px;padding:0}.sticker-cell img{width:100%;height:100%;object-fit:cover;border-radius:18%;display:block}.cropper-ring.rounded{border-radius:18%}.qr-dialog{max-width:360px}.qr-canvas-wrap{display:flex;justify-content:center;padding:8px 0 4px}.qr-canvas-wrap canvas{width:264px;height:264px;border-radius:14px;image-rendering:pixelated;background:#fff;box-shadow:var(--shadow, 0 10px 30px rgba(0, 0, 0, .25))}.qr-hint{color:var(--text-muted, #8a96a3);font-size:13px;text-align:center;margin:10px 0 14px}.qr-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.button,.settings-seg-btn,.composer-icon-btn,.composer-send,.msg-act,.conv-item,.member-chip,.friend-suggest-item,.msg-menu-item,.reaction-pick{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.button:not(:disabled):hover{transform:translateY(-1px)}.button:not(:disabled):active{transform:translateY(1px) scale(.97)}.settings-seg-btn.active{transform:translateY(-1px);box-shadow:0 2px 10px var(--accent-soft)}.settings-seg-btn:not(.active):active{transform:scale(.95)}.member-chip:hover{transform:translateY(-1px)}.reaction-pick:active{transform:scale(.9)}input[type=range]{accent-color:var(--accent)}input[type=range]::-webkit-slider-thumb{transition:transform .12s ease,box-shadow .12s ease}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.25);box-shadow:0 0 0 6px var(--accent-soft)}input[type=range]::-moz-range-thumb{transition:transform .12s ease}input[type=range]:active::-moz-range-thumb{transform:scale(1.25)}.message-row.mine .msg-menu,.message-row:not(.mine) .msg-menu,.message-row.mine .msg-picker,.message-row:not(.mine) .msg-picker{right:auto;bottom:auto}.msg-actions:has(.msg-menu),.msg-actions:has(.msg-picker){opacity:1}.msg-menu,.msg-picker{transform-origin:top center;animation:msgPopIn .14s ease-out}@keyframes msgPopIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.seg{position:relative;display:inline-flex;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px;isolation:isolate}.seg-thumb{position:absolute;top:3px;bottom:3px;left:3px;border-radius:999px;background:var(--accent, #2f81f7);box-shadow:0 2px 8px #0000002e;transition:transform .28s cubic-bezier(.22,.8,.2,1),width .28s cubic-bezier(.22,.8,.2,1);z-index:0;pointer-events:none}.seg-btn{position:relative;z-index:1;border:none;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;transition:color .2s ease,transform .12s ease}.seg-btn:hover{color:var(--text)}.seg-btn:active{transform:scale(.95)}.seg-btn.active{color:#fff}@media (prefers-reduced-motion: reduce){.seg-thumb{transition:none}.msg-menu,.msg-picker{animation:none}}.msg-overlay{z-index:70}.msg-menu,.msg-picker{z-index:71;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@media (max-width: 560px){.seg,.settings-seg,.new-kind-seg{max-width:100%}.seg-btn,.settings-seg-btn{flex:1 1 auto;padding-left:10px;padding-right:10px}}.thread-title-wrap{flex:1 1 auto}.modal-backdrop{height:100dvh;padding:calc(20px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain}.modal{margin:auto;max-height:100%;overflow-y:auto;overscroll-behavior:contain}.settings-dialog,.member-dialog,.friend-dialog,.qr-dialog,.poll-dialog,.account-dialog,.saved-dialog,.confirm-dialog,.cropper-modal{max-height:100%}.comments-dialog{height:100%;max-height:100%;margin:0}.comment-composer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}@media (max-width: 640px){.comments-dialog{width:100%;max-width:100%}}@media (max-width: 760px){.app-shell.has-active .main{animation:fx-pane-in-right .26s cubic-bezier(.22,.61,.36,1)}.app-shell:not(.has-active) .sidebar{animation:fx-pane-in-left .26s cubic-bezier(.22,.61,.36,1)}.sidebar-header,.thread-header{padding-top:calc(12px + env(safe-area-inset-top))}.composer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}}@keyframes fx-pane-in-right{0%{transform:translate(14%);opacity:.35}to{transform:translate(0);opacity:1}}@keyframes fx-pane-in-left{0%{transform:translate(-14%);opacity:.35}to{transform:translate(0);opacity:1}}@media (prefers-reduced-motion: reduce){.app-shell.has-active .main,.app-shell:not(.has-active) .sidebar{animation:none}}.invite-card{max-width:400px;text-align:center}.invite-avatar{width:96px;height:96px;margin:4px auto 14px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);font-size:38px;font-weight:700;color:var(--text-strong)}.invite-avatar img{width:100%;height:100%;object-fit:cover;display:block}.invite-title{font-size:21px;font-weight:700;color:var(--text-strong);margin-bottom:4px;word-break:break-word}.invite-kind{margin:0 0 20px;font-size:13px;color:var(--text-muted)}.invite-actions{display:flex;flex-direction:column;gap:10px}.invite-actions .button{width:100%;justify-content:center}.invite-hint{margin:16px 0 0;font-size:12px;line-height:1.45;color:var(--text-muted)}.modal-backdrop{padding-top:calc(20px + max(env(safe-area-inset-top),env(safe-area-inset-bottom)));padding-bottom:calc(20px + max(env(safe-area-inset-top),env(safe-area-inset-bottom)));padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}.comments-backdrop{padding:0}.auth-shell{height:100dvh;min-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-top:calc(24px + max(env(safe-area-inset-top),env(safe-area-inset-bottom)));padding-bottom:calc(24px + max(env(safe-area-inset-top),env(safe-area-inset-bottom)));padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}.auth-card{margin:auto}:root{--m3-spring-fast: linear(0, .054, .185, .352, .527, .69, .827, .934, 1.011, 1.06, 1.086, 1.095, 1.091, 1.079, 1.063, 1.047, 1.031, 1.018, 1.007, 1, .995, .992, .991, .991, .992, .994, .995, .997, 1);--m3-spring: linear(0, .05, .166, .31, .455, .589, .703, .796, .868, .921, .959, .984, 1, 1.01, 1.014, 1.015, 1.014, 1.013, 1.011, 1.008, 1.006, 1.005, 1.003, 1.002, 1.001, 1.001, 1);--m3-spring-bouncy: linear(0, .062, .218, .424, .643, .845, 1.011, 1.131, 1.203, 1.232, 1.226, 1.195, 1.149, 1.098, 1.049, 1.008, .976, .956, .947, .946, .952, .962, .974, .985, .996, 1.004, 1.009, 1.012, 1.013, 1.012, 1.01, 1.007, 1.004, 1.002, 1, .998, 1);--m3-effects: cubic-bezier(.31, .94, .34, 1);--m3-dur-fast: .35s;--m3-dur: .5s;--m3-dur-bouncy: .6s;--m3-shape-xs: 8px;--m3-shape-s: 12px;--m3-shape-m: 16px;--m3-shape-l: 20px;--m3-shape-xl: 28px;--m3-shape-full: 999px;--m3-shape-pill: 28px;--m3-primary-container: color-mix(in srgb, var(--accent) 26%, var(--bg-panel));--m3-on-primary-container: color-mix(in srgb, var(--accent) 30%, var(--text-strong));--m3-surface-container: color-mix(in srgb, var(--accent) 5%, var(--bg-elevated));--m3-surface-container-high: color-mix(in srgb, var(--accent) 9%, var(--bg-elevated));--m3-track: color-mix(in srgb, var(--accent) 28%, transparent);--m3-state-hover: color-mix(in srgb, var(--text) 8%, transparent);--m3-state-press: color-mix(in srgb, var(--text) 12%, transparent)}@keyframes m3-pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes m3-fade-in{0%{opacity:0}to{opacity:1}}@keyframes m3-rise-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes m3-dialog-in{0%{opacity:0;transform:translateY(28px) scale(.86)}to{opacity:1;transform:none}}@keyframes m3-menu-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}@keyframes m3-bubble-in{0%{opacity:0;transform:translateY(14px) scale(.72)}to{opacity:1;transform:none}}@keyframes m3-squash-a{0%{transform:scale(1)}35%{transform:scale(.86,.9)}to{transform:scale(1)}}@keyframes m3-squash-b{0%{transform:scale(1)}35%{transform:scale(.86,.9)}to{transform:scale(1)}}@keyframes m3-blob{0%{border-radius:50%;transform:scale(1) rotate(0)}25%{border-radius:42% 58% 55% 45%/48% 42% 58% 52%;transform:scale(1.18) rotate(40deg)}50%{border-radius:30%;transform:scale(.92) rotate(90deg)}75%{border-radius:58% 42% 40% 60%/55% 60% 40% 45%;transform:scale(1.14) rotate(140deg)}to{border-radius:50%;transform:scale(1) rotate(180deg)}}@keyframes m3-typing{0%,60%,to{transform:translateY(0) scale(.8);opacity:.45}30%{transform:translateY(-4px) scale(1);opacity:1}}@keyframes m3-wave-slide{to{transform:translate(var(--wave-shift, -22px))}}@keyframes m3-sweep{0%{transform:translate(-45%)}to{transform:translate(105%)}}.m3-loader{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--accent);vertical-align:middle}.m3-loader.contained{border-radius:50%;background:var(--m3-primary-container)}.m3-loader svg{display:block;overflow:visible}.m3-loading-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 16px;color:var(--text-muted);font-size:13px;animation:m3-fade-in .24s var(--m3-effects) both}.auth-shell>.m3-loading-block{padding:0}.m3-loading-label{letter-spacing:.01em}.m3-wavy{display:block;width:100%;color:var(--accent);overflow:hidden}.m3-wavy svg{display:block}.m3-wavy-wave{animation:m3-wave-slide .9s linear infinite}.m3-wavy-track{stroke:var(--m3-track)}.m3-wavy-stop{fill:currentColor}.m3-wavy-clip{transition:width .28s var(--m3-effects)}.m3-wavy.indeterminate .m3-wavy-sweep{animation:m3-sweep 1.5s cubic-bezier(.45,0,.3,1) infinite}.m3-wavy-circle{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--accent)}.m3-wavy-circle svg{display:block}.m3-wavy-circle .m3-wavy-track{stroke:var(--m3-track)}.m3-wavy-circle-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.voice-play .m3-wavy-circle{color:var(--on-accent)}.voice-play .m3-wavy-track{stroke:color-mix(in srgb,var(--on-accent) 32%,transparent)}.video-progress .m3-wavy-circle{color:#fff}.video-progress .m3-wavy-track{stroke:#ffffff52}.bubble.mine .m3-wavy{color:var(--bubble-out-text)}.bubble.mine .m3-wavy-track{stroke:color-mix(in srgb,var(--bubble-out-text) 32%,transparent)}.upload-wavy{margin-top:6px}.video-progress{width:64px;height:64px;background:#00000080}.voice-play .m3-wavy-circle{margin:-2px}.media-loading{display:flex;align-items:center;justify-content:center;min-height:96px}.viewer-loading{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(320px,70vw);opacity:1}.viewer-loading .m3-wavy{color:#fff}.viewer-loading .m3-wavy-track{stroke:#ffffff4d}.load-older .button,.gallery-dialog .button{gap:8px}.button{border-radius:var(--m3-shape-pill);transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),transform var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast),background-color .2s var(--m3-effects),border-color .2s var(--m3-effects),box-shadow .2s var(--m3-effects),color .2s var(--m3-effects),opacity .2s var(--m3-effects)}.button:not(:disabled):hover{transform:none}.button:not(:disabled):active{border-radius:var(--m3-shape-s);scale:.96;transition-duration:.12s}.button.ghost:not(:disabled):hover{background:var(--m3-state-hover)}.button.primary:not(:disabled):hover{box-shadow:0 6px 18px var(--accent-soft)}.button:not(:disabled):active,.composer-icon-btn:active,.composer-send:active,.msg-act:active,.settings-seg-btn:not(.active):active,.seg-btn:active,.reaction:active,.reaction-pick:active{transform:none}.new-conv-btn{min-height:52px;border-radius:var(--m3-shape-m);font-size:15px;letter-spacing:.01em}.new-conv-btn:not(:disabled):hover{border-radius:var(--m3-shape-xl)}.new-conv-btn:not(:disabled):active{border-radius:var(--m3-shape-s);scale:.97}.composer-icon-btn,.msg-act,.sidebar-tool{transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),transform var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast),background-color .2s var(--m3-effects),color .2s var(--m3-effects)}.composer-icon-btn:not(:disabled):active,.msg-act:active{scale:.86;transition-duration:.11s}.composer-icon-btn.active{border-radius:var(--m3-shape-s);background:var(--m3-primary-container);color:var(--m3-on-primary-container)}.composer-send{width:48px;height:48px;border-radius:50%;transition:border-radius var(--m3-dur) var(--m3-spring),transform var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast),background-color .2s var(--m3-effects),box-shadow .2s var(--m3-effects),opacity .2s var(--m3-effects)}.composer-send:not(:disabled):hover{border-radius:var(--m3-shape-m)}.composer-send:not(:disabled):active{border-radius:var(--m3-shape-s);scale:.9;transition-duration:.11s}.composer-action.is-send{border-radius:var(--m3-shape-m);animation:m3-squash-a .42s var(--m3-spring) both}.composer-action.is-mic{animation:m3-squash-b .42s var(--m3-spring) both}.composer-action:disabled{animation:none}.flip-card{display:grid;width:24px;height:24px;perspective:120px}.flip-face{grid-area:1 / 1;display:flex;align-items:center;justify-content:center;transition:transform .24s cubic-bezier(.3,0,.8,.15),opacity 1ms linear .24s}.flip-back,.composer-action.is-send .flip-front{transform:rotateY(90deg) scale(.7);opacity:0}.composer-action.is-send .flip-back,.flip-front{transform:none;opacity:1}.composer-action.is-send .flip-back,.composer-action.is-mic .flip-front{transition:transform .52s var(--m3-spring-bouncy) .24s,opacity 1ms linear .24s}.composer-action.is-mic .flip-back{transform:rotateY(-90deg) scale(.7)}.composer-input{transition:border-radius var(--m3-dur) var(--m3-spring),box-shadow .2s var(--m3-effects),background-color .2s var(--m3-effects)}.composer-input:focus{box-shadow:0 0 0 2px var(--accent-soft)}:root[data-theme=light] .composer-input,:root[data-theme=nord] .composer-input{background:var(--m3-surface-container-high)}.app-shell.has-active .main,.app-shell:not(.has-active) .sidebar{animation-duration:var(--m3-dur);animation-timing-function:var(--m3-spring)}.composer-recording,.composer-attachment{animation:m3-rise-in var(--m3-dur) var(--m3-spring) both}.rec-dot{width:12px;height:12px;animation:m3-blob 2.4s ease-in-out infinite}.rec-meter-bar{transition:height .16s var(--m3-spring-fast);border-radius:999px}.conv-item{border-radius:var(--m3-shape-m);transition:border-radius var(--m3-dur) var(--m3-spring),background-color .22s var(--m3-effects),transform var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast)}.conv-item:hover{background:var(--m3-state-hover)}.conv-item:active{scale:.98}.conv-item.active,.conv-item.active:hover{background:var(--m3-primary-container);color:var(--m3-on-primary-container);border-radius:var(--m3-shape-xl)}.conv-item.active .conv-item-title,.conv-item.active .conv-item-title-text{color:var(--m3-on-primary-container)}.conv-item.active .conv-item-sub,.conv-item.active .conv-pin,.conv-item.active .conv-mute{color:color-mix(in srgb,var(--m3-on-primary-container) 70%,transparent)}.conv-item.active .conv-badge,.conv-item.active .conv-mention{background:var(--accent);color:var(--on-accent)}.conv-avatar{transition:border-radius var(--m3-dur) var(--m3-spring),transform var(--m3-dur) var(--m3-spring),scale var(--m3-dur) var(--m3-spring)}.conv-item.active .conv-avatar{border-radius:34%}.conv-item:hover .conv-avatar{scale:1.04}.conv-badge,.folder-tab-badge,.request-badge,.presence-dot.online{animation:m3-pop-in var(--m3-dur) var(--m3-spring-bouncy) both}.folder-tab{border-radius:var(--m3-shape-xs);transition:border-radius var(--m3-dur) var(--m3-spring),background-color .22s var(--m3-effects),color .22s var(--m3-effects),transform var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast)}.folder-tab.active{border-radius:var(--m3-shape-pill);background:var(--m3-primary-container);color:var(--m3-on-primary-container);border-color:transparent}.folder-tab:active{scale:.94}.bubble{border-radius:var(--m3-shape-l) var(--m3-shape-l) var(--m3-shape-l) 6px}.bubble.mine{border-radius:var(--m3-shape-l) var(--m3-shape-l) 6px var(--m3-shape-l)}.message-row.msg-enter .bubble{transform-origin:bottom left;animation:m3-bubble-in var(--m3-dur-bouncy) var(--m3-spring-bouncy) both}.message-row.mine.msg-enter .bubble{transform-origin:bottom right}.message-row.msg-enter .msg-avatar,.message-row.msg-enter .msg-avatar-fallback{animation:m3-pop-in var(--m3-dur) var(--m3-spring-bouncy) both}.day-divider span{border-radius:var(--m3-shape-full);background:var(--m3-surface-container-high);animation:m3-fade-in .3s var(--m3-effects) both}.reaction{border-radius:var(--m3-shape-pill);animation:m3-pop-in var(--m3-dur) var(--m3-spring-bouncy) both;transition:transform var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast),background-color .2s var(--m3-effects),border-radius var(--m3-dur-fast) var(--m3-spring-fast)}.reaction:hover{scale:1.08}.reaction:active{scale:.88;border-radius:var(--m3-shape-xs)}.reaction-pick{transition:transform var(--m3-dur-fast) var(--m3-spring-bouncy),scale var(--m3-dur-fast) var(--m3-spring-bouncy)}.reaction-pick:hover{scale:1.3}.voice-play{transition:border-radius var(--m3-dur) var(--m3-spring),transform var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast),background-color .2s var(--m3-effects)}.voice-play.is-playing{border-radius:var(--m3-shape-s)}.voice-play:not(:disabled):active{scale:.88}.voice-bar{transition:background-color .18s var(--m3-effects),transform var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast)}.voice-bar.played{scale:1 1.08}.video-play{transition:transform var(--m3-dur) var(--m3-spring-bouncy),scale var(--m3-dur) var(--m3-spring-bouncy),border-radius var(--m3-dur) var(--m3-spring),background-color .2s var(--m3-effects)}.video-poster:hover .video-play{transform:translate(-50%,-50%) scale(1.12);border-radius:var(--m3-shape-m)}.bubble-image,.video-poster,.link-card{border-radius:var(--m3-shape-m);transition:transform var(--m3-dur) var(--m3-spring),scale var(--m3-dur) var(--m3-spring),filter .2s var(--m3-effects)}.bubble-image.clickable:hover{scale:1.015}.link-card:hover{filter:brightness(1.06)}.poll-bar{height:6px;border-radius:var(--m3-shape-full)}.poll-bar span{transition:width .7s var(--m3-spring)}.poll-choice{border-radius:var(--m3-shape-s);transition:border-radius var(--m3-dur) var(--m3-spring),background-color .2s var(--m3-effects),transform var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast)}.poll-choice.selected{border-radius:var(--m3-shape-l)}.poll-choice:active{scale:.98}.typing{display:inline-flex;align-items:center;gap:8px;animation:m3-fade-in .24s var(--m3-effects) both}.typing-dots{display:inline-flex;gap:3px;padding:6px 9px;border-radius:var(--m3-shape-full);background:var(--m3-surface-container-high)}.typing-dots i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:m3-typing 1.2s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}.pinned-bar{animation:m3-fade-in .24s var(--m3-effects) both}.banner{border-radius:var(--m3-shape-m);animation:m3-rise-in var(--m3-dur) var(--m3-spring) both}.modal-backdrop{animation:m3-fade-in .22s var(--m3-effects) both}.modal{border-radius:var(--m3-shape-xl);animation:m3-dialog-in var(--m3-dur) var(--m3-spring) both}.msg-menu,.more-menu,.msg-picker{border-radius:var(--m3-shape-m);animation:m3-menu-in var(--m3-dur-fast) var(--m3-spring-fast) both}.more-menu{transform-origin:top right}.msg-menu-item,.more-menu-item{border-radius:var(--m3-shape-s);transition:background-color .16s var(--m3-effects),border-radius var(--m3-dur-fast) var(--m3-spring-fast),transform var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast)}.msg-menu-item:active,.more-menu-item:active{scale:.97;border-radius:var(--m3-shape-full)}.toast{border-radius:var(--m3-shape-l);animation:m3-rise-in var(--m3-dur) var(--m3-spring-bouncy) both}.input{transition:border-color .2s var(--m3-effects),box-shadow .2s var(--m3-effects),border-radius var(--m3-dur) var(--m3-spring)}.input:focus{box-shadow:0 0 0 3px var(--accent-soft)}.seg-thumb{transition:transform var(--m3-dur) var(--m3-spring-bouncy),scale var(--m3-dur) var(--m3-spring-bouncy),width var(--m3-dur) var(--m3-spring)}.seg-btn:active{scale:.92}.auth-card{border-radius:var(--m3-shape-xl);animation:m3-dialog-in var(--m3-dur) var(--m3-spring) both}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root{--m3-secondary-container: color-mix(in srgb, var(--accent) 16%, var(--bg-elevated));--m3-on-secondary-container: var(--text-strong)}.sidebar{border-right-color:transparent}.thread-header{border-bottom-color:transparent;box-shadow:0 1px color-mix(in srgb,var(--border) 60%,transparent)}.brand{font-weight:800;letter-spacing:-.01em}.thread-title{font-size:18px;font-weight:800;letter-spacing:-.015em}.modal-title{font-size:24px;font-weight:800;letter-spacing:-.02em}.settings-section-title{font-size:16px;font-weight:800;letter-spacing:-.01em}.conv-item-title-text{font-weight:700}.tag{padding:3px 10px;background:var(--m3-secondary-container);color:var(--m3-on-secondary-container);font-weight:700}.button.ghost{border-color:transparent;background:var(--m3-secondary-container);color:var(--m3-on-secondary-container)}.button.ghost:not(:disabled):hover{background:color-mix(in srgb,var(--m3-secondary-container) 82%,var(--text))}.button.primary{box-shadow:none}.button.primary:not(:disabled):hover{background:var(--accent-hover);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--m3-shape-l)}.sidebar-filter,.sidebar-tool,.logout{border-color:transparent;border-radius:var(--m3-shape-pill);background:var(--m3-secondary-container);color:var(--m3-on-secondary-container);font-weight:600;transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast),background-color .2s var(--m3-effects)}.sidebar-filter{min-height:40px}.sidebar-tool{min-height:38px}.sidebar-filter:hover,.sidebar-tool:not(:disabled):hover,.logout:hover{background:color-mix(in srgb,var(--m3-secondary-container) 82%,var(--text))}.sidebar-filter:active,.sidebar-tool:not(:disabled):active,.logout:active{border-radius:var(--m3-shape-s);scale:.96}.sidebar-filter[aria-pressed=true]{border-radius:var(--m3-shape-s);background:var(--m3-primary-container);color:var(--m3-on-primary-container)}.input{border-color:transparent;border-radius:var(--m3-shape-m);padding:12px 16px;font-size:15px}.input:focus{border-color:var(--accent);border-radius:var(--m3-shape-l);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent);outline:none}:root[data-theme=light] .modal .input,:root[data-theme=nord] .modal .input{background:var(--m3-surface-container-high)}.modal{border-color:transparent;border-radius:32px}.settings-dialog .settings-section{margin-top:12px;padding:20px;border-top:none;border-radius:var(--m3-shape-l);background:var(--m3-surface-container)}.settings-dialog .settings-section:first-of-type{margin-top:8px;padding-top:20px}.auth-shell{position:relative;overflow:hidden;isolation:isolate;background:var(--bg-app)}.auth-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.m3-blob{display:block}.m3-blob svg{display:block;overflow:visible}.m3-blob path{fill:var(--m3-primary-container)}.auth-blob{position:absolute}.auth-blob.one{width:min(620px,90vw);height:min(620px,90vw);left:max(-160px,calc(50% - 620px));top:-120px;opacity:.85}.auth-blob.two{width:min(340px,60vw);height:min(340px,60vw);right:max(-80px,calc(50% - 560px));bottom:-60px}.auth-blob.two path{fill:color-mix(in srgb,#ff8a80 30%,var(--bg-panel))}.auth-card{border-color:transparent;border-radius:32px;background:color-mix(in srgb,var(--bg-panel) 92%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.auth-brand-name{font-size:24px;letter-spacing:-.02em}.auth-title{font-size:28px;font-weight:800;letter-spacing:-.025em}.empty-art{position:relative;display:grid;place-items:center;width:180px;height:180px;margin-bottom:18px}.empty-blob{position:absolute;top:0;right:0;bottom:0;left:0}.empty-icon{position:relative;width:56px;height:56px;color:var(--m3-on-primary-container)}.empty-title{font-size:clamp(26px,2.6vw,36px);font-weight:800;letter-spacing:-.03em;margin-bottom:10px}.empty-sub{font-size:16px}.thread-empty{display:grid;justify-items:center;gap:14px;margin:auto;padding:48px 16px;color:var(--text-muted);font-size:15px;text-align:center;animation:m3-fade-in .3s var(--m3-effects) both}.thread-empty-art{width:120px;height:120px}.thread-empty-art .m3-blob path{fill:var(--m3-surface-container-high)}.conv-avatar.shape-group,.invite-avatar.shape-group,.m3-avatar.shape-group{border-radius:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50.00 0.00L52.17 0.31L54.27 1.21L56.24 2.57L58.07 4.21L59.77 5.91L61.39 7.47L63.01 8.74L64.71 9.59L66.56 10.03L68.61 10.10L70.85 9.94L73.25 9.73L75.70 9.65L78.09 9.88L80.28 10.54L82.14 11.70L83.60 13.33L84.63 15.37L85.27 17.68L85.62 20.11L85.83 22.51L86.06 24.75L86.49 26.75L87.24 28.50L88.38 30.02L89.90 31.39L91.72 32.72L93.70 34.10L95.63 35.61L97.31 37.32L98.55 39.24L99.24 41.32L99.31 43.51L98.79 45.73L97.79 47.91L96.50 50.00L95.12 51.97L93.86 53.84L92.90 55.65L92.35 57.47L92.24 59.36L92.53 61.39L93.07 63.58L93.70 65.90L94.20 68.31L94.39 70.70L94.11 72.96L93.30 75.00L91.94 76.72L90.12 78.09L87.95 79.12L85.62 79.89L83.30 80.51L81.13 81.13L79.23 81.90L77.64 82.94L76.34 84.33L75.25 86.06L74.26 88.09L73.25 90.27L72.09 92.43L70.70 94.39L69.03 95.95L67.10 96.98L64.96 97.43L62.68 97.31L60.35 96.71L58.07 95.79L55.89 94.77L53.84 93.86L51.89 93.23L50.00 93.00L48.11 93.23L46.16 93.86L44.11 94.77L41.93 95.79L39.65 96.71L37.32 97.31L35.04 97.43L32.90 96.98L30.97 95.95L29.30 94.39L27.91 92.43L26.75 90.27L25.74 88.09L24.75 86.06L23.66 84.33L22.36 82.94L20.77 81.90L18.87 81.13L16.70 80.51L14.38 79.89L12.05 79.12L9.88 78.09L8.06 76.72L6.70 75.00L5.89 72.96L5.61 70.70L5.80 68.31L6.30 65.90L6.93 63.58L7.47 61.39L7.76 59.36L7.65 57.47L7.10 55.65L6.14 53.84L4.88 51.97L3.50 50.00L2.21 47.91L1.21 45.73L0.69 43.51L0.76 41.32L1.45 39.24L2.69 37.32L4.37 35.61L6.30 34.10L8.28 32.72L10.10 31.39L11.62 30.02L12.76 28.50L13.51 26.75L13.94 24.75L14.17 22.51L14.38 20.11L14.73 17.68L15.37 15.37L16.40 13.33L17.86 11.70L19.72 10.54L21.91 9.88L24.30 9.65L26.75 9.73L29.15 9.94L31.39 10.10L33.44 10.03L35.29 9.59L36.99 8.74L38.61 7.47L40.23 5.91L41.93 4.21L43.76 2.57L45.73 1.21L47.83 0.31Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50.00 0.00L52.17 0.31L54.27 1.21L56.24 2.57L58.07 4.21L59.77 5.91L61.39 7.47L63.01 8.74L64.71 9.59L66.56 10.03L68.61 10.10L70.85 9.94L73.25 9.73L75.70 9.65L78.09 9.88L80.28 10.54L82.14 11.70L83.60 13.33L84.63 15.37L85.27 17.68L85.62 20.11L85.83 22.51L86.06 24.75L86.49 26.75L87.24 28.50L88.38 30.02L89.90 31.39L91.72 32.72L93.70 34.10L95.63 35.61L97.31 37.32L98.55 39.24L99.24 41.32L99.31 43.51L98.79 45.73L97.79 47.91L96.50 50.00L95.12 51.97L93.86 53.84L92.90 55.65L92.35 57.47L92.24 59.36L92.53 61.39L93.07 63.58L93.70 65.90L94.20 68.31L94.39 70.70L94.11 72.96L93.30 75.00L91.94 76.72L90.12 78.09L87.95 79.12L85.62 79.89L83.30 80.51L81.13 81.13L79.23 81.90L77.64 82.94L76.34 84.33L75.25 86.06L74.26 88.09L73.25 90.27L72.09 92.43L70.70 94.39L69.03 95.95L67.10 96.98L64.96 97.43L62.68 97.31L60.35 96.71L58.07 95.79L55.89 94.77L53.84 93.86L51.89 93.23L50.00 93.00L48.11 93.23L46.16 93.86L44.11 94.77L41.93 95.79L39.65 96.71L37.32 97.31L35.04 97.43L32.90 96.98L30.97 95.95L29.30 94.39L27.91 92.43L26.75 90.27L25.74 88.09L24.75 86.06L23.66 84.33L22.36 82.94L20.77 81.90L18.87 81.13L16.70 80.51L14.38 79.89L12.05 79.12L9.88 78.09L8.06 76.72L6.70 75.00L5.89 72.96L5.61 70.70L5.80 68.31L6.30 65.90L6.93 63.58L7.47 61.39L7.76 59.36L7.65 57.47L7.10 55.65L6.14 53.84L4.88 51.97L3.50 50.00L2.21 47.91L1.21 45.73L0.69 43.51L0.76 41.32L1.45 39.24L2.69 37.32L4.37 35.61L6.30 34.10L8.28 32.72L10.10 31.39L11.62 30.02L12.76 28.50L13.51 26.75L13.94 24.75L14.17 22.51L14.38 20.11L14.73 17.68L15.37 15.37L16.40 13.33L17.86 11.70L19.72 10.54L21.91 9.88L24.30 9.65L26.75 9.73L29.15 9.94L31.39 10.10L33.44 10.03L35.29 9.59L36.99 8.74L38.61 7.47L40.23 5.91L41.93 4.21L43.76 2.57L45.73 1.21L47.83 0.31Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat}.conv-avatar.shape-channel,.invite-avatar.shape-channel,.m3-avatar.shape-channel{border-radius:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50.00 0.00L52.18 0.10L54.34 0.41L56.46 0.92L58.53 1.63L60.52 2.55L62.41 3.68L64.18 5.03L65.77 6.68L66.84 9.35L67.71 12.02L68.86 13.77L70.02 15.32L71.17 16.77L72.30 18.15L73.43 19.46L74.57 20.72L75.71 21.94L76.87 23.13L78.06 24.29L79.28 25.43L80.54 26.57L81.85 27.70L83.23 28.83L84.68 29.98L86.23 31.14L87.98 32.29L90.65 33.16L93.32 34.23L94.97 35.82L96.32 37.59L97.45 39.48L98.37 41.47L99.08 43.54L99.59 45.66L99.90 47.82L100.00 50.00L99.90 52.18L99.59 54.34L99.08 56.46L98.37 58.53L97.45 60.52L96.32 62.41L94.97 64.18L93.32 65.77L90.65 66.84L87.98 67.71L86.23 68.86L84.68 70.02L83.23 71.17L81.85 72.30L80.54 73.43L79.28 74.57L78.06 75.71L76.87 76.87L75.71 78.06L74.57 79.28L73.43 80.54L72.30 81.85L71.17 83.23L70.02 84.68L68.86 86.23L67.71 87.98L66.84 90.65L65.77 93.32L64.18 94.97L62.41 96.32L60.52 97.45L58.53 98.37L56.46 99.08L54.34 99.59L52.18 99.90L50.00 100.00L47.82 99.90L45.66 99.59L43.54 99.08L41.47 98.37L39.48 97.45L37.59 96.32L35.82 94.97L34.23 93.32L33.16 90.65L32.29 87.98L31.14 86.23L29.98 84.68L28.83 83.23L27.70 81.85L26.57 80.54L25.43 79.28L24.29 78.06L23.13 76.87L21.94 75.71L20.72 74.57L19.46 73.43L18.15 72.30L16.77 71.17L15.32 70.02L13.77 68.86L12.02 67.71L9.35 66.84L6.68 65.77L5.03 64.18L3.68 62.41L2.55 60.52L1.63 58.53L0.92 56.46L0.41 54.34L0.10 52.18L0.00 50.00L0.10 47.82L0.41 45.66L0.92 43.54L1.63 41.47L2.55 39.48L3.68 37.59L5.03 35.82L6.68 34.23L9.35 33.16L12.02 32.29L13.77 31.14L15.32 29.98L16.77 28.83L18.15 27.70L19.46 26.57L20.72 25.43L21.94 24.29L23.13 23.13L24.29 21.94L25.43 20.72L26.57 19.46L27.70 18.15L28.83 16.77L29.98 15.32L31.14 13.77L32.29 12.02L33.16 9.35L34.23 6.68L35.82 5.03L37.59 3.68L39.48 2.55L41.47 1.63L43.54 0.92L45.66 0.41L47.82 0.10Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50.00 0.00L52.18 0.10L54.34 0.41L56.46 0.92L58.53 1.63L60.52 2.55L62.41 3.68L64.18 5.03L65.77 6.68L66.84 9.35L67.71 12.02L68.86 13.77L70.02 15.32L71.17 16.77L72.30 18.15L73.43 19.46L74.57 20.72L75.71 21.94L76.87 23.13L78.06 24.29L79.28 25.43L80.54 26.57L81.85 27.70L83.23 28.83L84.68 29.98L86.23 31.14L87.98 32.29L90.65 33.16L93.32 34.23L94.97 35.82L96.32 37.59L97.45 39.48L98.37 41.47L99.08 43.54L99.59 45.66L99.90 47.82L100.00 50.00L99.90 52.18L99.59 54.34L99.08 56.46L98.37 58.53L97.45 60.52L96.32 62.41L94.97 64.18L93.32 65.77L90.65 66.84L87.98 67.71L86.23 68.86L84.68 70.02L83.23 71.17L81.85 72.30L80.54 73.43L79.28 74.57L78.06 75.71L76.87 76.87L75.71 78.06L74.57 79.28L73.43 80.54L72.30 81.85L71.17 83.23L70.02 84.68L68.86 86.23L67.71 87.98L66.84 90.65L65.77 93.32L64.18 94.97L62.41 96.32L60.52 97.45L58.53 98.37L56.46 99.08L54.34 99.59L52.18 99.90L50.00 100.00L47.82 99.90L45.66 99.59L43.54 99.08L41.47 98.37L39.48 97.45L37.59 96.32L35.82 94.97L34.23 93.32L33.16 90.65L32.29 87.98L31.14 86.23L29.98 84.68L28.83 83.23L27.70 81.85L26.57 80.54L25.43 79.28L24.29 78.06L23.13 76.87L21.94 75.71L20.72 74.57L19.46 73.43L18.15 72.30L16.77 71.17L15.32 70.02L13.77 68.86L12.02 67.71L9.35 66.84L6.68 65.77L5.03 64.18L3.68 62.41L2.55 60.52L1.63 58.53L0.92 56.46L0.41 54.34L0.10 52.18L0.00 50.00L0.10 47.82L0.41 45.66L0.92 43.54L1.63 41.47L2.55 39.48L3.68 37.59L5.03 35.82L6.68 34.23L9.35 33.16L12.02 32.29L13.77 31.14L15.32 29.98L16.77 28.83L18.15 27.70L19.46 26.57L20.72 25.43L21.94 24.29L23.13 23.13L24.29 21.94L25.43 20.72L26.57 19.46L27.70 18.15L28.83 16.77L29.98 15.32L31.14 13.77L32.29 12.02L33.16 9.35L34.23 6.68L35.82 5.03L37.59 3.68L39.48 2.55L41.47 1.63L43.54 0.92L45.66 0.41L47.82 0.10Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat}.conv-item .conv-avatar.shape-group,.conv-item .conv-avatar.shape-channel{transition:rotate var(--m3-dur) var(--m3-spring-bouncy),scale var(--m3-dur) var(--m3-spring)}.conv-item.active .conv-avatar.shape-group,.conv-item.active .conv-avatar.shape-channel{border-radius:0}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}:root{--m3-surface-container-low: color-mix(in srgb, var(--accent) 3%, var(--bg-panel));--m3-surface-container-highest: color-mix(in srgb, var(--accent) 14%, var(--bg-elevated));--m3-outline: color-mix(in srgb, var(--text) 38%, transparent);--m3-outline-variant: color-mix(in srgb, var(--text) 14%, transparent);--m3-tertiary: color-mix(in srgb, #ff8a80 70%, var(--accent));--m3-tertiary-container: color-mix(in srgb, var(--m3-tertiary) 24%, var(--bg-elevated));--m3-on-tertiary-container: color-mix(in srgb, var(--m3-tertiary) 55%, var(--text-strong));--m3-error-container: color-mix(in srgb, var(--danger) 18%, var(--bg-elevated));--m3-on-error-container: color-mix(in srgb, var(--danger) 65%, var(--text-strong));--m3-warning: #f0a53a;--m3-success: #3fbf6f}.m3-shape-icon{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;--tone-bg: var(--m3-primary-container);--tone-fg: var(--m3-on-primary-container)}.m3-shape-icon>svg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.m3-shape-icon>svg path{fill:var(--tone-bg);transition:fill .2s var(--m3-effects)}.m3-shape-icon-glyph{position:relative;display:grid;place-items:center;color:var(--tone-fg)}.tone-primary{--tone-bg: var(--m3-primary-container);--tone-fg: var(--m3-on-primary-container)}.tone-secondary{--tone-bg: var(--m3-secondary-container);--tone-fg: var(--m3-on-secondary-container)}.tone-tertiary{--tone-bg: var(--m3-tertiary-container);--tone-fg: var(--m3-on-tertiary-container)}.tone-error{--tone-bg: var(--m3-error-container);--tone-fg: var(--m3-on-error-container)}.tone-neutral{--tone-bg: var(--m3-surface-container-highest);--tone-fg: var(--text)}.tone-blue{--tone-bg: color-mix(in srgb, #4f8cff 26%, var(--bg-elevated));--tone-fg: color-mix(in srgb, #4f8cff 62%, var(--text-strong))}.tone-green{--tone-bg: color-mix(in srgb, #34b37a 26%, var(--bg-elevated));--tone-fg: color-mix(in srgb, #34b37a 62%, var(--text-strong))}.tone-orange{--tone-bg: color-mix(in srgb, #ff9f43 28%, var(--bg-elevated));--tone-fg: color-mix(in srgb, #ff9f43 62%, var(--text-strong))}.tone-pink{--tone-bg: color-mix(in srgb, #ff6b9a 26%, var(--bg-elevated));--tone-fg: color-mix(in srgb, #ff6b9a 62%, var(--text-strong))}.tone-violet{--tone-bg: color-mix(in srgb, #8b6cff 28%, var(--bg-elevated));--tone-fg: color-mix(in srgb, #8b6cff 62%, var(--text-strong))}.tone-teal{--tone-bg: color-mix(in srgb, #1fb5a8 26%, var(--bg-elevated));--tone-fg: color-mix(in srgb, #1fb5a8 62%, var(--text-strong))}@keyframes m3-sheet-in{0%{opacity:0;transform:translateY(26px) scale(.86);border-radius:64px}to{opacity:1;transform:none;border-radius:28px}}@keyframes m3-sheet-out{to{opacity:0;transform:translateY(18px) scale(.93);border-radius:52px}}@keyframes m3-scrim-out{to{opacity:0}}body.m3-sheet-open{overflow:hidden}.m3-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:color-mix(in srgb,#000 46%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:m3-fade-in .22s var(--m3-effects) both}.m3-scrim.closing{animation:m3-scrim-out .19s var(--m3-effects) both}.m3-sheet{position:relative;display:flex;flex-direction:column;width:min(560px,100%);max-height:min(88dvh,920px);overflow:hidden;border-radius:28px;background:var(--m3-surface-container-low);color:var(--text);box-shadow:0 24px 64px color-mix(in srgb,#000 40%,transparent);outline:none;animation:m3-sheet-in var(--m3-dur-bouncy) var(--m3-spring) both}.m3-sheet.size-sm{width:min(440px,100%)}.m3-sheet.size-lg{width:min(760px,100%)}.m3-sheet.size-xl{width:min(1020px,100%);height:min(88dvh,860px)}.m3-sheet.closing{animation:m3-sheet-out .19s cubic-bezier(.3,0,.8,.15) both;pointer-events:none}.m3-sheet-handle{display:none}.m3-sheet-header{display:flex;align-items:center;gap:14px;padding:20px 18px 10px 22px}.m3-sheet-titles{flex:1;min-width:0}.m3-sheet-title{margin:0;font-size:24px;font-weight:800;line-height:1.2;letter-spacing:-.02em;color:var(--text-strong)}.m3-sheet-subtitle{margin:3px 0 0;font-size:14px;color:var(--text-muted)}.m3-sheet-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:6px 22px 22px}.m3-sheet-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:12px 22px 20px}@keyframes m3-sheet-up{0%{transform:translateY(45%);opacity:.3;border-radius:56px 56px 0 0}to{transform:none;opacity:1;border-radius:28px 28px 0 0}}@keyframes m3-sheet-down{to{transform:translateY(60%);opacity:0}}@media (max-width: 720px){.m3-scrim{place-items:end center;padding:env(safe-area-inset-top) 0 0}.m3-sheet,.m3-sheet.size-sm,.m3-sheet.size-lg,.m3-sheet.size-xl{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);border-radius:28px 28px 0 0;padding-bottom:env(safe-area-inset-bottom);animation:m3-sheet-up .46s var(--m3-spring) both;transition:transform .22s var(--m3-spring)}.m3-sheet.size-xl{height:calc(100dvh - env(safe-area-inset-top) - 12px)}.m3-sheet.closing{animation:m3-sheet-down .22s cubic-bezier(.3,0,.8,.15) both}.m3-sheet-handle{display:flex;justify-content:center;padding:10px 0 0;cursor:grab;touch-action:none}.m3-sheet-handle span{width:36px;height:4px;border-radius:2px;background:var(--m3-outline)}.m3-sheet-header{padding:10px 14px 8px 18px}.m3-sheet-title{font-size:22px}.m3-sheet-body{padding:4px 16px 18px}.m3-sheet-actions{padding:10px 16px 16px}.m3-sheet-actions .m3-btn{flex:1 1 auto}}.m3-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 22px;border:1px solid transparent;border-radius:var(--m3-shape-pill);font:inherit;font-size:14.5px;font-weight:700;letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast),background-color .2s var(--m3-effects),box-shadow .2s var(--m3-effects),color .2s var(--m3-effects)}.m3-btn-icon{display:inline-grid;place-items:center;margin-left:-6px}.m3-btn.filled{background:var(--accent);color:var(--on-accent)}.m3-btn.filled:not(:disabled):hover{background:var(--accent-hover);box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--m3-shape-l)}.m3-btn.tonal{background:var(--m3-secondary-container);color:var(--m3-on-secondary-container)}.m3-btn.tonal:not(:disabled):hover{background:color-mix(in srgb,var(--m3-secondary-container) 82%,var(--text));border-radius:var(--m3-shape-l)}.m3-btn.outlined{background:transparent;border-color:var(--m3-outline);color:var(--accent)}.m3-btn.outlined:not(:disabled):hover{background:var(--m3-state-hover)}.m3-btn.text{background:transparent;color:var(--accent);padding:0 14px}.m3-btn.text:not(:disabled):hover{background:var(--m3-state-hover)}.m3-btn.danger{background:var(--danger);color:#fff}.m3-btn.danger:not(:disabled):hover{border-radius:var(--m3-shape-l);filter:brightness(1.08)}.m3-btn:not(:disabled):active{border-radius:var(--m3-shape-s);scale:.95;transition-duration:.11s}.m3-btn:disabled{opacity:.45;cursor:default}.m3-btn[aria-busy=true]{cursor:progress}.m3-icon-btn{display:inline-grid;place-items:center;flex:0 0 auto;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast),background-color .18s var(--m3-effects),color .18s var(--m3-effects)}.m3-icon-btn.size-s{width:32px;height:32px}.m3-icon-btn.size-l{width:52px;height:52px}.m3-icon-btn:not(:disabled):hover{background:var(--m3-state-hover);color:var(--text)}.m3-icon-btn.tonal{background:var(--m3-secondary-container);color:var(--m3-on-secondary-container)}.m3-icon-btn.tonal:not(:disabled):hover{background:color-mix(in srgb,var(--m3-secondary-container) 82%,var(--text))}.m3-icon-btn.filled{background:var(--accent);color:var(--on-accent)}.m3-icon-btn.outlined{border-color:var(--m3-outline)}.m3-icon-btn.selected{background:var(--m3-primary-container);color:var(--m3-on-primary-container);border-radius:var(--m3-shape-m)}.m3-icon-btn:not(:disabled):active{border-radius:var(--m3-shape-s);scale:.88;transition-duration:.1s}.m3-icon-btn:disabled{opacity:.4;cursor:default}.m3-list-section{margin-top:18px}.m3-list-section:first-child{margin-top:6px}.m3-list-label{padding:0 18px 8px;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--accent)}.m3-list-group{display:flex;flex-direction:column;gap:3px}.m3-list-item{position:relative;display:flex;align-items:center;gap:16px;width:100%;min-height:64px;padding:12px 16px;border:0;border-radius:6px;background:var(--m3-surface-container);color:var(--text);font:inherit;text-align:left;text-decoration:none;transition:border-radius var(--m3-dur) var(--m3-spring),background-color .2s var(--m3-effects),scale var(--m3-dur-fast) var(--m3-spring-fast)}.m3-list-group>.m3-list-item:first-child{border-top-left-radius:24px;border-top-right-radius:24px}.m3-list-group>.m3-list-item:last-child{border-bottom-left-radius:24px;border-bottom-right-radius:24px}.m3-list-item.interactive{cursor:pointer}.m3-list-item.interactive:not(:disabled):hover,.m3-list-item.interactive:focus-visible{background:var(--m3-surface-container-high);border-radius:18px}.m3-list-item.interactive:not(:disabled):active{scale:.985;border-radius:30px;transition-duration:.12s}.m3-list-item.selected,.m3-list-item.selected:hover{background:var(--m3-primary-container);color:var(--m3-on-primary-container);border-radius:30px}.m3-list-item:disabled{opacity:.5;cursor:default}.m3-list-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.m3-list-title{font-size:16px;font-weight:600;line-height:1.3;color:inherit;overflow-wrap:anywhere}.m3-list-subtitle{overflow:hidden;font-size:13.5px;line-height:1.35;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.m3-list-subtitle.multiline{white-space:normal}.m3-list-item.selected .m3-list-subtitle{color:color-mix(in srgb,currentColor 75%,transparent)}.m3-list-item.danger .m3-list-title{color:var(--danger)}.m3-list-trailing{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--text-muted);font-size:14px}.m3-list-chevron{display:inline-grid;place-items:center;color:var(--text-faint);transition:translate var(--m3-dur) var(--m3-spring)}.m3-list-item.interactive:hover .m3-list-chevron{translate:3px 0}.m3-switch{position:relative;flex:0 0 auto;width:52px;height:32px;padding:0;border:2px solid var(--m3-outline);border-radius:16px;background:var(--m3-surface-container-highest);cursor:pointer;transition:background-color .2s var(--m3-effects),border-color .2s var(--m3-effects)}.m3-switch-thumb{position:absolute;top:50%;left:4px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--m3-outline);color:var(--m3-surface-container-highest);translate:0 -50%;transition:left var(--m3-dur) var(--m3-spring-bouncy),width var(--m3-dur-fast) var(--m3-spring-fast),height var(--m3-dur-fast) var(--m3-spring-fast),background-color .2s var(--m3-effects),color .2s var(--m3-effects)}.m3-switch.on{border-color:var(--accent);background:var(--accent)}.m3-switch.on .m3-switch-thumb{left:22px;width:24px;height:24px;background:var(--on-accent);color:var(--accent)}.m3-switch:not(:disabled):active .m3-switch-thumb{width:28px;height:28px}.m3-switch:not(.on):not(:disabled):active .m3-switch-thumb{left:0}.m3-switch.on:not(:disabled):active .m3-switch-thumb{left:18px}.m3-switch:disabled{opacity:.4;cursor:default}.m3-switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.m3-chip-row{display:flex;flex-wrap:wrap;gap:8px}.m3-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--m3-outline-variant);border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:border-radius var(--m3-dur) var(--m3-spring),background-color .2s var(--m3-effects),scale var(--m3-dur-fast) var(--m3-spring-fast)}.m3-chip:hover{background:var(--m3-state-hover)}.m3-chip.selected{border-color:transparent;border-radius:17px;background:var(--m3-primary-container);color:var(--m3-on-primary-container)}.m3-chip:active{scale:.94}.m3-chip-icon{display:inline-grid;place-items:center;margin-left:-4px}.m3-banner{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:20px;background:var(--m3-primary-container);color:var(--m3-on-primary-container);animation:m3-rise-in var(--m3-dur) var(--m3-spring) both}.m3-banner.tone-warning{background:color-mix(in srgb,var(--m3-warning) 22%,var(--bg-elevated));color:color-mix(in srgb,var(--m3-warning) 45%,var(--text-strong))}.m3-banner.tone-error{background:var(--m3-error-container);color:var(--m3-on-error-container)}.m3-banner.tone-success{background:color-mix(in srgb,var(--m3-success) 20%,var(--bg-elevated));color:color-mix(in srgb,var(--m3-success) 45%,var(--text-strong))}.m3-banner-icon{display:grid;place-items:center;flex:0 0 auto}.m3-banner-text{flex:1;min-width:0}.m3-banner-title{font-weight:700}.m3-banner-body{font-size:14px;line-height:1.45;opacity:.92}.m3-banner-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}@media (max-width: 560px){.m3-banner{flex-wrap:wrap}.m3-banner-actions{width:100%;justify-content:flex-end}}.m3-field{margin-top:12px}.m3-field-box{position:relative;display:flex;align-items:center;border-radius:16px;background:var(--m3-surface-container-highest);transition:border-radius var(--m3-dur) var(--m3-spring),box-shadow .2s var(--m3-effects)}.m3-field-box:focus-within{border-radius:20px;box-shadow:0 0 0 2px var(--accent)}.m3-field.invalid .m3-field-box{box-shadow:0 0 0 2px var(--danger)}.m3-field-box input,.m3-field-box textarea{flex:1;min-width:0;width:100%;padding:26px 16px 9px;border:0;background:transparent;color:var(--text-strong);font:inherit;font-size:16px;outline:none;resize:vertical}.m3-field-box textarea{min-height:96px}.m3-field-box label{position:absolute;top:18px;left:16px;max-width:calc(100% - 32px);overflow:hidden;color:var(--text-muted);font-size:16px;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;transform-origin:left top;transition:transform .2s var(--m3-effects),color .2s var(--m3-effects)}.m3-field-box input:focus+label,.m3-field-box input:not(:placeholder-shown)+label,.m3-field-box textarea:focus+label,.m3-field-box textarea:not(:placeholder-shown)+label{transform:translateY(-10px) scale(.76);color:var(--accent)}.m3-field-trailing{display:flex;align-items:center;padding-right:8px}.m3-field-support{padding:6px 16px 0;font-size:12.5px;color:var(--text-muted)}.m3-field.invalid .m3-field-support{color:var(--danger)}.m3-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:118}.m3-menu{position:fixed;z-index:119;min-width:220px;max-width:min(340px,calc(100vw - 16px));max-height:min(70dvh,520px);overflow:auto;padding:6px;border-radius:20px;background:var(--m3-surface-container-high);box-shadow:0 16px 40px color-mix(in srgb,#000 34%,transparent);animation:m3-menu-in var(--m3-dur-fast) var(--m3-spring-fast) both}.m3-menu-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 14px;border:0;border-radius:14px;background:transparent;color:var(--text);font:inherit;font-size:15px;text-align:left;cursor:pointer;transition:background-color .15s var(--m3-effects),border-radius var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast)}.m3-menu-item:hover,.m3-menu-item:focus-visible{background:var(--m3-state-hover);outline:none}.m3-menu-item:active{scale:.97;border-radius:22px}.m3-menu-item.danger{color:var(--danger)}.m3-menu-item:disabled{opacity:.45;cursor:default}.m3-menu-icon{display:grid;place-items:center;color:var(--text-muted)}.m3-menu-item.danger .m3-menu-icon{color:var(--danger)}.m3-menu-label{flex:1}.m3-menu-hint{font-size:12.5px;color:var(--text-faint)}.m3-avatar{display:inline-grid;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:50%;color:#fff;font-weight:700;object-fit:cover;-webkit-user-select:none;user-select:none}.m3-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:11.5px;font-weight:800;animation:m3-pop-in var(--m3-dur) var(--m3-spring-bouncy) both}.m3-divider{height:1px;margin:12px 0;background:var(--m3-outline-variant)}@keyframes m3-page-in-forward{0%{opacity:0;transform:translate(42px)}to{opacity:1;transform:none}}@keyframes m3-page-in-back{0%{opacity:0;transform:translate(-42px)}to{opacity:1;transform:none}}.m3-page{animation:m3-page-in-forward var(--m3-dur) var(--m3-spring) both}.m3-page.back{animation-name:m3-page-in-back}.m3-note{margin:10px 4px 0;font-size:13px;line-height:1.5;color:var(--text-muted)}.m3-stack{display:flex;flex-direction:column;gap:12px}.m3-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.m3-code-block{padding:16px;border-radius:20px;background:var(--m3-surface-container-highest);color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;letter-spacing:.04em;line-height:1.7;text-align:center;word-break:break-all;-webkit-user-select:all;user-select:all}.settings-intro{margin:2px 4px 12px;font-size:14.5px;line-height:1.5;color:var(--text-muted)}.m3-list-item .settings-intro{margin:0 0 4px}.grow{flex:1;min-width:0}.m3-sheet-body>.m3-banner+*,.m3-sheet-body>*+.m3-banner,.m3-stack>.m3-banner{margin-top:10px}.m3-sheet-body>.m3-banner:first-child{margin-top:0;margin-bottom:12px}.bot-badge{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:1px 7px 1px 5px;border-radius:8px;background:var(--m3-tertiary-container);color:var(--m3-on-tertiary-container);font-size:10.5px;font-weight:800;letter-spacing:.06em;line-height:16px;vertical-align:2px;white-space:nowrap}.bubble.mine .bot-badge{background:color-mix(in srgb,var(--bubble-out-text) 18%,transparent);color:inherit}.m3-icon-btn.sidebar-header-btn,.sidebar-account-avatar{position:relative}.icon-badge{position:absolute;top:-3px;right:-5px;min-width:18px;height:18px;padding:0 5px;font-size:10.5px;box-shadow:0 0 0 2px var(--bg-sidebar);pointer-events:none}.m3-list-item.settings-form-item{flex-direction:column;align-items:stretch;gap:4px;padding:6px 16px 16px}.settings-form-item>.m3-field:first-child{margin-top:10px}.settings-form-actions{justify-content:flex-end;margin-top:12px}.settings-form-item>.m3-banner{margin:10px 0 0}.secret-box{display:flex;flex-direction:column;gap:12px;margin:12px 0}.secret-box .m3-code-block{font-size:17px;letter-spacing:.08em}.secret-box-actions{justify-content:center}.choice-sheet-footer{display:flex;justify-content:center;margin-top:14px}.exceptions-chips{flex-wrap:nowrap}.m3-list-item.busy{opacity:.6;pointer-events:none}@media (max-width: 480px){.exceptions-chips .m3-chip{padding:0 10px}}.m3-sheet.settings-sheet{width:min(1020px,100%)}.m3-sheet-body.settings-sheet-body{display:flex;padding:0;overflow:hidden}.settings-layout{display:flex;flex:1;min-width:0;min-height:0}.settings-rail{display:flex;flex-direction:column;gap:6px;width:300px;flex:0 0 auto;padding:18px 12px 18px 16px;overflow-y:auto;overscroll-behavior:contain;background:color-mix(in srgb,var(--accent) 2%,var(--bg-panel))}.settings-rail .m3-list-section{margin-top:12px}.settings-rail .m3-list-item{min-height:56px;padding:8px 14px}.settings-rail .m3-list-item .m3-list-title{font-size:15px}.settings-rail-profile{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:24px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-radius var(--m3-dur) var(--m3-spring),background-color .2s var(--m3-effects)}.settings-rail-profile:hover{background:var(--m3-state-hover);border-radius:18px}.settings-rail-profile.selected{background:var(--m3-primary-container);color:var(--m3-on-primary-container);border-radius:30px}.settings-rail-profile-text{display:flex;flex-direction:column;min-width:0}.settings-rail-name{overflow:hidden;font-size:16px;font-weight:800;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.settings-rail-handle{overflow:hidden;font-size:13px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.settings-content{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0}.settings-topbar{display:flex;align-items:center;gap:8px;padding:16px 16px 8px 22px}.settings-layout:not(.wide) .settings-topbar{padding-left:14px}.settings-topbar-title{flex:1;min-width:0;margin:0;overflow:hidden;font-size:26px;font-weight:800;line-height:1.2;letter-spacing:-.025em;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap}.settings-layout:not(.wide) .settings-topbar-title{padding-left:8px}.settings-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 22px 28px}.settings-page{max-width:680px;margin:0 auto}@media (max-width: 720px){.settings-topbar{padding:6px 10px 6px 12px}.settings-topbar-title{font-size:22px}.settings-scroll{padding:2px 14px 24px}}.settings-hero{position:relative;display:flex;flex-direction:column;align-items:center;padding:18px 12px 8px;text-align:center}.settings-hero-art{position:absolute;top:-6px;left:50%;width:220px;height:220px;translate:-50% 0;opacity:.55;pointer-events:none}.settings-hero-art .settings-hero-blob,.settings-hero-art svg{width:100%;height:100%}.settings-hero-avatar{position:relative;margin-top:14px;box-shadow:0 10px 30px color-mix(in srgb,#000 22%,transparent);animation:m3-pop-in var(--m3-dur-bouncy) var(--m3-spring-bouncy) both}.settings-hero-name{position:relative;margin:14px 0 0;font-size:26px;font-weight:800;letter-spacing:-.025em;color:var(--text-strong);overflow-wrap:anywhere}.settings-hero-handle{position:relative;margin:2px 0 0;font-size:14.5px;color:var(--text-muted)}.settings-hero-actions{position:relative;justify-content:center;margin-top:14px}.settings-avatar-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 16px;border-radius:28px;background:var(--m3-surface-container)}.settings-avatar-card .m3-row{justify-content:center}.settings-email-row{display:flex;align-items:center;gap:12px;margin-top:8px;padding:10px 6px 10px 14px;border-radius:16px;background:var(--m3-surface-container-highest);color:var(--text-strong);overflow-wrap:anywhere}.settings-email-row>svg{flex:0 0 auto;color:var(--text-muted)}.settings-about-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 12px 8px;text-align:center}.settings-about-hero .brand-logo{animation:m3-pop-in var(--m3-dur-bouncy) var(--m3-spring-bouncy) both}.settings-about-hero h3{margin:12px 0 0;font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--text-strong)}.settings-about-hero p{margin:0;font-size:14px;color:var(--text-muted)}.m3-list-item.settings-theme-grid-item,.m3-list-item.settings-accent-item{display:block;padding:14px}.m3-theme-grid{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));margin:0}.m3-theme-grid .theme-card{border:0;border-radius:20px;background:var(--m3-surface-container-highest);transition:border-radius var(--m3-dur) var(--m3-spring),scale var(--m3-dur-fast) var(--m3-spring-fast),box-shadow .2s var(--m3-effects)}.m3-theme-grid .theme-card:hover{border-radius:14px}.m3-theme-grid .theme-card:active{scale:.95}.m3-theme-grid .theme-card.active{border-radius:28px;box-shadow:0 0 0 3px var(--accent)}.m3-theme-grid .theme-card-preview{border-radius:14px}.settings-accent-item .accent-row{margin-top:4px}.settings-accent-item .accent-dot{width:36px;height:36px;display:inline-grid;place-items:center;color:#fff;transition:border-radius var(--m3-dur) var(--m3-spring),scale var(--m3-dur-fast) var(--m3-spring-fast)}.settings-accent-item .accent-dot.active{border-radius:12px;border-color:transparent}.settings-accent-item .accent-dot:active{scale:.9}.settings-accent-item .accent-custom{min-height:36px;border:0;background:var(--m3-surface-container-highest)}.settings-switch-row{margin-top:14px}.settings-switch-row>.m3-list-item{border-radius:24px}.bot-snippet{margin:12px 0 0;padding:14px 16px;max-height:320px;overflow:auto;border-radius:20px;background:var(--m3-surface-container-highest);color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;white-space:pre;-moz-tab-size:2;tab-size:2;-webkit-user-select:all;user-select:all}.bot-command-row{display:grid;grid-template-columns:minmax(90px,.7fr) 1.6fr auto;align-items:center;gap:8px}.bot-command-row .m3-field,.bot-command-row .m3-icon-btn{margin-top:8px}@media (max-width: 480px){.bot-command-row{grid-template-columns:1fr auto}.bot-command-row .m3-field:nth-child(2){grid-column:1 / -1;grid-row:2;margin-top:0}}.link-code{font-size:26px;font-weight:800;letter-spacing:.12em;animation:m3-pop-in var(--m3-dur) var(--m3-spring-bouncy) both}.link-wait{align-items:center;text-align:center}.link-wait .settings-intro{margin-bottom:0}.link-wait-row{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--text-muted)}.recovery-field input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em}.safety-digits{display:flex;flex-direction:column;gap:4px;font-size:20px;font-weight:700;letter-spacing:.1em;white-space:pre}.main-banner{margin:10px 14px 0;flex:0 0 auto}.main-banner+.main-banner{margin-top:8px}.sidebar-search{display:flex;align-items:center;gap:6px;margin:0 12px 10px;padding:0 6px 0 14px;min-height:46px;border-radius:23px;background:var(--m3-surface-container-highest);transition:border-radius var(--m3-dur) var(--m3-spring),box-shadow .2s var(--m3-effects),background-color .2s var(--m3-effects)}.sidebar-search:focus-within,.sidebar-search.open{border-radius:16px;background:var(--m3-surface-container-high);box-shadow:0 0 0 2px var(--accent)}.sidebar-search-icon{display:grid;place-items:center;flex:0 0 auto;color:var(--text-muted)}.sidebar-search-input{flex:1;min-width:0;height:44px;padding:0;border:0;background:transparent;color:var(--text-strong);font:inherit;font-size:16px;outline:none}.sidebar-search-input::placeholder{color:var(--text-muted)}.sidebar-search-input::-webkit-search-cancel-button{display:none}.sidebar-search-input:focus-visible{outline:none}.sidebar-account{display:flex;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 10px 6px 6px;border:0;border-radius:26px;background:transparent;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),background-color .18s var(--m3-effects),scale var(--m3-dur-fast) var(--m3-spring-fast)}.sidebar-account:hover{background:var(--m3-state-hover);border-radius:18px}.sidebar-account:active{scale:.97}.sidebar-account-avatar{display:inline-flex;flex:0 0 auto}.sidebar-account-avatar .icon-badge{top:-4px;right:-6px}.sidebar-account-text{display:flex;flex:1;flex-direction:column;min-width:0}.sidebar-account-text .sidebar-user-name,.sidebar-account-text .sidebar-user-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-text .sidebar-user-name{font-size:14px;font-weight:700}.global-search{display:flex;flex:1;flex-direction:column;min-height:0;animation:m3-fade-in .2s var(--m3-effects) both}.global-search-filters{flex-wrap:nowrap;margin:0 12px 6px;padding:0 0 8px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-padding-inline:12px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 55%,transparent) color-mix(in srgb,var(--text) 8%,transparent)}.global-search-filters::-webkit-scrollbar{height:6px}.global-search-filters::-webkit-scrollbar-track{border-radius:3px;background:color-mix(in srgb,var(--text) 8%,transparent)}.global-search-filters::-webkit-scrollbar-thumb{border-radius:3px;background:color-mix(in srgb,var(--accent) 55%,transparent)}.global-search-filters::-webkit-scrollbar-thumb:hover{background:var(--accent)}.global-search-filters .m3-chip{flex:0 0 auto}.global-search-progress{display:flex;flex-direction:column;gap:6px;padding:2px 16px 8px;font-size:12.5px;color:var(--text-muted)}.global-search-wavy{width:100%}.global-search-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 8px 16px}.global-search-heading{margin:12px 10px 6px;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--accent)}.search-row{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:0;border-radius:16px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-radius var(--m3-dur) var(--m3-spring),background-color .18s var(--m3-effects),scale var(--m3-dur-fast) var(--m3-spring-fast);animation:m3-rise-in var(--m3-dur) var(--m3-spring) both}.search-row:hover,.search-row:focus-visible{background:var(--m3-state-hover);border-radius:22px}.search-row:active{scale:.98}.search-row-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.search-row-title{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;font-size:14.5px;font-weight:700;color:var(--text-strong);white-space:nowrap}.search-row-title>.grow{overflow:hidden;text-overflow:ellipsis}.search-row-date{flex:0 0 auto;font-size:12px;font-weight:500;color:var(--text-muted)}.search-row-sub{display:-webkit-box;overflow:hidden;font-size:13px;line-height:1.4;color:var(--text-muted);-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow-wrap:anywhere}.search-row.message .search-row-sub{-webkit-line-clamp:2;line-clamp:2}.search-row-author{font-weight:600;color:var(--text)}.search-kind{display:inline-flex;margin-right:4px;vertical-align:-2px;color:var(--accent)}.search-row mark{padding:0 2px;border-radius:4px;background:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--text-strong)}.global-search-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 16px;color:var(--text-muted);text-align:center}.global-search-empty-art{position:relative;display:grid;place-items:center;width:140px;height:140px}.global-search-empty-art>svg:first-child,.global-search-empty-art>span:first-child{position:absolute;top:0;right:0;bottom:0;left:0}.global-search-empty-icon{position:relative;color:var(--m3-on-primary-container)}.global-search-wait{display:grid;place-items:center;padding:36px 0}.scheduled-chip{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px 0 10px;border:0;border-radius:16px;background:color-mix(in srgb,#ff9f43 24%,var(--bg-elevated));color:color-mix(in srgb,#ff9f43 62%,var(--text-strong));font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast);animation:m3-pop-in var(--m3-dur) var(--m3-spring-bouncy) both}.scheduled-chip:hover{border-radius:10px}.scheduled-chip:active{scale:.92}.scheduled-actions{flex-wrap:nowrap;gap:2px}@keyframes fx-spoiler-drift{0%{background-position:0 0,0 0}to{background-position:64px 48px,-48px 64px}}.md-spoiler{position:relative;border-radius:5px;cursor:pointer;transition:background-color .26s var(--m3-effects)}.md-spoiler:not(.revealed){background-color:color-mix(in srgb,currentColor 22%,transparent);background-image:radial-gradient(circle at 20% 30%,color-mix(in srgb,currentColor 70%,transparent) .6px,transparent 1.3px),radial-gradient(circle at 70% 60%,color-mix(in srgb,currentColor 55%,transparent) .6px,transparent 1.4px);background-size:7px 7px,9px 9px;animation:fx-spoiler-drift 3.2s linear infinite;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-spoiler:not(.revealed) .md-spoiler-text{visibility:hidden}.md-spoiler:not(.revealed):hover{background-color:color-mix(in srgb,currentColor 30%,transparent)}.md-spoiler.revealed{background-color:color-mix(in srgb,currentColor 8%,transparent);cursor:text}.md-spoiler:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.spoiler-wrap{position:relative;max-width:100%;overflow:hidden;border-radius:16px}.media-placeholder{position:relative;display:grid;place-items:center;max-width:100%;overflow:hidden;border-radius:12px;background:var(--m3-surface-container-high)}.media-placeholder-img{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;width:calc(100% + 24px);height:calc(100% + 24px);object-fit:cover;filter:blur(14px) saturate(1.15)}.media-spoiler{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;overflow:hidden;border-radius:inherit;background:color-mix(in srgb,var(--accent) 22%,#1d2230);cursor:pointer;transition:scale var(--m3-dur-fast) var(--m3-spring-fast)}.media-spoiler:active{scale:.97}.media-spoiler-poster{position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px;width:calc(100% + 32px);height:calc(100% + 32px);object-fit:cover;filter:blur(22px) saturate(1.2);transform:scale(1.05)}.media-spoiler-noise{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 25% 35%,rgba(255,255,255,.85) .7px,transparent 1.4px),radial-gradient(circle at 75% 65%,rgba(255,255,255,.6) .7px,transparent 1.5px),radial-gradient(circle at 50% 50%,rgba(255,255,255,.35) .8px,transparent 1.6px);background-size:9px 9px,13px 13px,17px 17px;animation:fx-spoiler-drift 4s linear infinite;mix-blend-mode:screen;opacity:.9}.media-spoiler-label{position:relative;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:18px;background:#00000073;color:#fff;font-size:13.5px;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast)}.media-spoiler:hover .media-spoiler-label{border-radius:10px}.gallery-tile.spoiler img{filter:blur(18px);transform:scale(1.15)}.gallery-spoiler{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,#000 30%,transparent);color:#fff}.gallery-spoiler>svg{position:relative;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.silent-marker{display:inline-flex;align-items:center;margin-right:3px;opacity:.7;vertical-align:-1px}.load-newer{padding-top:6px}.format-toolbar{display:flex;align-items:center;gap:4px;width:fit-content;max-width:calc(100% - 28px);margin:0 14px 6px;padding:4px;overflow-x:auto;border-radius:20px;background:var(--m3-surface-container-high);box-shadow:0 8px 22px color-mix(in srgb,#000 22%,transparent);scrollbar-width:none;transform-origin:bottom left;animation:m3-menu-in var(--m3-dur-fast) var(--m3-spring-fast) both}.format-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:38px;height:36px;padding:0 10px;border:0;border-radius:18px;background:transparent;color:var(--text);font:inherit;font-size:15px;cursor:pointer;white-space:nowrap;transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),background-color .15s var(--m3-effects),scale var(--m3-dur-fast) var(--m3-spring-fast)}.format-btn:hover{background:var(--m3-state-hover);border-radius:12px}.format-btn:active{scale:.9}.format-btn code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.format-btn.spoiler{background:var(--m3-secondary-container);color:var(--m3-on-secondary-container);font-size:13.5px;font-weight:700}.command-popup .mention-option{align-items:center}.command-popup .mention-name{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.mention-popup{border:0;border-radius:20px;padding:4px;background:var(--m3-surface-container-high);animation:m3-menu-in var(--m3-dur-fast) var(--m3-spring-fast) both;transform-origin:bottom left}.mention-option{border-radius:14px;min-height:40px;align-items:center}.map-view{position:relative;overflow:hidden;min-height:180px;border-radius:20px;background:color-mix(in srgb,var(--accent) 8%,#d9dee4);touch-action:none;user-select:none;-webkit-user-select:none;isolation:isolate}.map-view.interactive{cursor:grab}.map-view.interactive:active{cursor:grabbing}.map-tile{position:absolute;top:0;left:0;width:256px;height:256px;max-width:none;pointer-events:none;-webkit-user-select:none;user-select:none}:root:not([data-theme=light]):not([data-theme=nord]) .map-tile{filter:brightness(.82) contrast(1.05) saturate(.85)}.map-accuracy{position:absolute;top:50%;left:50%;translate:-50% -50%;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 60%,transparent);pointer-events:none}.map-pin{position:absolute;top:50%;left:50%;translate:-50% -92%;display:grid;place-items:center;color:var(--accent);filter:drop-shadow(0 3px 5px rgba(0,0,0,.35));pointer-events:none;animation:fx-pin-drop var(--m3-dur-bouncy) var(--m3-spring-bouncy) both}.map-pin svg path,.location-card-pin svg path{fill:currentColor;stroke:#fff;stroke-width:1.3}.map-pin svg circle,.location-card-pin svg circle{fill:#fff;stroke:none}@keyframes fx-pin-drop{0%{opacity:0;transform:translateY(-18px) scale(.6)}to{opacity:1;transform:none}}.map-view.interactive:active .map-pin{transform:translateY(-6px);transition:transform var(--m3-dur-fast) var(--m3-spring-fast)}.map-zoom{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:2px;overflow:hidden;border-radius:16px;box-shadow:0 4px 14px #00000038}.map-zoom button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;background:var(--m3-surface-container-high);color:var(--text-strong);cursor:pointer;transition:background-color .15s var(--m3-effects)}.map-zoom button:hover{background:var(--m3-surface-container-highest)}.map-minus{display:block;width:12px;height:2px;border-radius:1px;background:currentColor}.map-attribution{position:absolute;right:0;bottom:0;padding:1px 6px;border-top-left-radius:8px;background:#ffffffc7;color:#333;font-size:10px;text-decoration:none}.location-sheet-map{height:min(46dvh,340px)}.location-coords{margin:10px 4px 0;font-variant-numeric:tabular-nums}.location-wait{display:flex;flex-direction:column;align-items:center;gap:14px;padding:34px 0;color:var(--text-muted)}.location-card,.contact-card{display:flex;flex-direction:column;width:min(300px,100%);margin-top:2px;overflow:hidden;border-radius:18px;background:color-mix(in srgb,currentColor 7%,transparent)}.location-card-map{height:160px;min-height:0;border-radius:0}.location-card-placeholder{position:relative;display:grid;place-items:center;width:100%;height:132px;padding:0;border:0;overflow:hidden;background:color-mix(in srgb,var(--accent) 16%,var(--bg-elevated));color:var(--accent);font:inherit;cursor:pointer}.location-card-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(color-mix(in srgb,var(--accent) 18%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,transparent) 1px,transparent 1px),linear-gradient(28deg,transparent 47%,color-mix(in srgb,var(--accent) 30%,transparent) 48%,color-mix(in srgb,var(--accent) 30%,transparent) 52%,transparent 53%);background-size:22px 22px,22px 22px,100% 100%;transition:scale var(--m3-dur) var(--m3-spring)}.location-card-placeholder:hover .location-card-grid{scale:1.06}.location-card-pin{position:relative;display:grid;place-items:center;margin-top:-18px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.3));animation:fx-pin-drop var(--m3-dur-bouncy) var(--m3-spring-bouncy) both}.location-card-show{position:absolute;bottom:8px;left:50%;translate:-50% 0;padding:4px 12px;border-radius:12px;background:var(--m3-surface-container-high);color:var(--text-strong);font-size:12px;font-weight:700;white-space:nowrap}.location-card-body{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 10px 10px 12px}.location-card-text{display:flex;flex:1 1 140px;flex-direction:column;min-width:0}.location-card-title{font-weight:700;overflow-wrap:anywhere}.location-card-sub{font-size:12px;opacity:.72;font-variant-numeric:tabular-nums}.location-card-open.m3-btn,.contact-card .m3-btn{min-height:34px;padding:0 14px;font-size:13px}.bubble.mine .location-card .m3-btn.tonal,.bubble.mine .contact-card .m3-btn.tonal{background:color-mix(in srgb,var(--bubble-out-text) 16%,transparent);color:inherit}.bubble.mine .contact-card .m3-btn.text{color:inherit}.contact-card{padding:12px;gap:10px}.contact-card-head{display:flex;align-items:center;gap:12px}.contact-card-text{display:flex;flex:1;flex-direction:column;min-width:0}.contact-card-name{font-weight:700;overflow-wrap:anywhere}.contact-card-sub{font-size:12.5px;opacity:.75;overflow-wrap:anywhere}.contact-card-link{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none}.contact-card-link:hover{text-decoration:underline}.contact-card-icon{display:grid;place-items:center;align-self:flex-start;opacity:.6}.contact-card-actions{display:flex;flex-wrap:wrap;gap:6px}.contact-card-actions:empty{display:none}.schedule-quick{margin:2px 0 4px}.schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.schedule-fields input[type=date],.schedule-fields input[type=time]{min-height:24px;color-scheme:light dark}.schedule-fields .m3-field-box label{transform:translateY(-10px) scale(.76);color:var(--accent)}.schedule-summary{margin-top:14px;font-weight:600;color:var(--text)}.m3-list-item.group-edit{padding-top:16px}.group-edit-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.member-avatar{position:relative;display:inline-flex}.member-avatar .presence-dot{position:absolute;right:0;bottom:0;width:11px;height:11px;box-shadow:0 0 0 2px var(--m3-surface-container)}.role-chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:13px;background:var(--m3-surface-container-highest);color:var(--text-muted);font-size:12px;font-weight:700;white-space:nowrap;transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast)}.role-chip.role-owner{background:var(--m3-primary-container);color:var(--m3-on-primary-container);border-radius:8px}.role-chip.role-admin{background:var(--m3-secondary-container);color:var(--m3-on-secondary-container)}.role-chip.role-restricted{background:var(--m3-error-container);color:var(--m3-on-error-container)}.role-chip.busy{opacity:.5}.folder-chips{margin:6px 0 4px}.poll-add{margin-top:8px}.poll-add .m3-field{flex:1;margin-top:0}.comments-sheet .m3-sheet-body{display:flex;flex-direction:column;gap:4px}.comments-sheet .message-row{padding-left:0;padding-right:0}.cropper-sheet .m3-sheet-body{display:flex;flex-direction:column;align-items:center}.gallery-sheet .m3-sheet-body{padding-top:2px}.gallery-sheet .gallery-tile{border-radius:14px;transition:border-radius var(--m3-dur) var(--m3-spring),scale var(--m3-dur-fast) var(--m3-spring-fast)}.gallery-sheet .gallery-tile:hover{border-radius:22px}.gallery-sheet .gallery-tile:active{scale:.96}.auth-account{display:flex;align-items:center;gap:12px;width:100%;margin:4px 0 8px;padding:8px 8px 8px 10px;border:0;border-radius:20px;background:var(--m3-surface-container-high);color:var(--text);font:inherit;text-align:left}.auth-account.interactive{margin:0;cursor:pointer;background:transparent;transition:background-color .18s var(--m3-effects),border-radius var(--m3-dur) var(--m3-spring)}.auth-account.interactive:hover{background:var(--m3-state-hover);border-radius:14px}.auth-account-text{display:flex;flex:1;flex-direction:column;min-width:0}.auth-account-name{overflow:hidden;font-weight:700;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap}.auth-account-sub{font-size:13px;color:var(--text-muted)}.auth-others{display:flex;flex-direction:column;gap:2px;margin-top:14px;padding-top:12px;border-top:1px solid var(--m3-outline-variant)}.auth-others-label{padding:0 10px 4px;font-size:12.5px;font-weight:700;color:var(--accent)}@supports (-webkit-touch-callout: none){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select{font-size:max(16px,1em)}}button.thread-title-wrap{margin:-4px 0 -4px -6px;padding:4px 10px 4px 6px;border:0;border-radius:18px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .18s var(--m3-effects),border-radius var(--m3-dur) var(--m3-spring)}button.thread-title-wrap:hover{background:var(--m3-state-hover);border-radius:14px}@media (max-width: 520px){.thread-actions .scheduled-chip{display:none}}.auth-actions{display:flex;flex-direction:column;gap:10px}.auth-actions .button{margin:0}.bot-buttons{display:flex;flex-direction:column;gap:6px;margin-top:8px;min-width:min(300px,68vw)}.bot-buttons-row{display:flex;gap:6px}.bot-button{display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:38px;padding:6px 12px;border:0;border-radius:14px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text-strong);font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast),background-color .16s var(--m3-effects)}.bot-button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 26%,transparent);border-radius:20px}.bot-button:active:not(:disabled){scale:.95;border-radius:10px}.bot-button:disabled{opacity:.6;cursor:default}.bot-button.busy{opacity:1}.bot-button-text{min-width:0;line-height:1.25;text-align:center;overflow-wrap:anywhere}@keyframes fx-call-ring{0%{scale:.92;opacity:.9;border-radius:50%}to{scale:1.5;opacity:0;border-radius:38%}}@keyframes fx-call-in{0%{opacity:0;transform:translateY(-12px) scale(.94)}to{opacity:1;transform:none}}.call-card{position:relative;display:grid;justify-items:center;gap:14px;width:min(360px,calc(100% - 28px));margin:12px auto 4px;padding:26px 22px 22px;border-radius:32px;background:var(--m3-surface-container-high);box-shadow:0 16px 44px color-mix(in srgb,#000 26%,transparent);animation:fx-call-in var(--m3-dur) var(--m3-spring) both;flex:0 0 auto}.call-collapse{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .15s var(--m3-effects),border-radius var(--m3-dur-fast) var(--m3-spring-fast)}.call-collapse:hover{background:var(--m3-state-hover);border-radius:12px}.call-av-wrap{position:relative;display:grid;place-items:center;width:104px;height:104px;margin:10px 0 4px}.call-av-img{position:relative;font-size:34px}.call-ring{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:3px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:50%;opacity:0;pointer-events:none}.call-card.waiting .call-ring,.call-incoming .call-ring{animation:fx-call-ring 2.4s var(--m3-effects) infinite}.call-card.waiting .call-ring.second{animation-delay:1.2s}.call-card.live .call-ring:not(.second){opacity:.55;scale:1.02;border-color:color-mix(in srgb,var(--ok) 60%,transparent)}.call-card-text{text-align:center}.call-card-title{font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--text-strong);overflow-wrap:anywhere}.call-card-status{margin-top:2px;font-size:14px;color:var(--text-muted);font-variant-numeric:tabular-nums}.call-card .mic-indicator{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted)}.call-card-actions{display:flex;align-items:center;gap:14px;margin-top:4px}.call-btn{display:grid;place-items:center;width:56px;height:56px;padding:0;border:0;border-radius:50%;background:var(--m3-surface-container-highest);color:var(--text-strong);cursor:pointer;transition:border-radius var(--m3-dur) var(--m3-spring),scale var(--m3-dur-fast) var(--m3-spring-fast),background-color .18s var(--m3-effects),width var(--m3-dur) var(--m3-spring)}.call-btn:hover{border-radius:var(--m3-shape-m)}.call-btn:active{scale:.9;border-radius:var(--m3-shape-s)}.call-btn.off{background:var(--text-strong);color:var(--bg-panel);border-radius:var(--m3-shape-m)}.call-btn.on{background:var(--m3-primary-container);color:var(--m3-on-primary-container);border-radius:var(--m3-shape-m)}.call-btn.end{width:76px;border-radius:var(--m3-shape-l);background:#e5484d;color:#fff}.call-btn.end:hover{border-radius:28px;background:#d73f44}.call-btn.accept{background:#2fb36a;color:#fff}.call-end-icon{rotate:135deg}.call-btn.small{width:40px;height:40px}.call-btn.small.end{width:52px}.call-sound-btn{padding:8px 16px;border:0;border-radius:18px;background:var(--accent);color:var(--on-accent);font:inherit;font-weight:700;cursor:pointer}.call-card .call-screens,.call-mini .call-screens{width:100%;grid-column:1 / -1}.call-mini{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 14px 0;padding:6px 8px 6px 6px;border-radius:26px;background:var(--m3-surface-container-high);box-shadow:0 6px 18px color-mix(in srgb,#000 18%,transparent);animation:fx-call-in var(--m3-dur-fast) var(--m3-spring) both;flex:0 0 auto}.call-mini-main{display:flex;flex:1;align-items:center;gap:10px;min-width:0;padding:2px 8px 2px 2px;border:0;border-radius:22px;background:transparent;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer}.call-mini-main:hover{background:var(--m3-state-hover)}.call-mini-text{display:flex;flex:1;flex-direction:column;min-width:0}.call-mini-title{overflow:hidden;font-size:14px;font-weight:700;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap}.call-mini-status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-variant-numeric:tabular-nums}.call-live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}.call-live-dot.waiting{background:var(--accent);animation:m3-typing 1.2s ease-in-out infinite}.call-incoming{gap:14px;padding:12px 12px 12px 14px;border:0;border-radius:28px;background:var(--m3-surface-container-high);box-shadow:0 18px 44px color-mix(in srgb,#000 34%,transparent);animation:fx-call-in var(--m3-dur) var(--m3-spring-bouncy) both}.call-incoming-av{position:relative;display:grid;place-items:center;width:48px;height:48px}.call-incoming-av .call-ring{top:-6px;right:-6px;bottom:-6px;left:-6px}.call-incoming-text strong{color:var(--text-strong)}.call-incoming-text span{font-size:13px;color:var(--text-muted)}.call-incoming-actions{display:flex;gap:10px}@media (max-width: 520px){.call-card{gap:10px;padding:20px 16px 18px}.call-incoming-actions{margin-left:auto}}html{-webkit-tap-highlight-color:transparent}*,*:before,*:after{-webkit-tap-highlight-color:transparent}:focus:not(:focus-visible){outline:none}.m3-sheet:focus,.m3-sheet:focus-visible,.m3-menu:focus,[tabindex="-1"]:focus{outline:none}.m3-menu.with-header{min-width:260px;padding-top:6px}.m3-menu-header{padding:2px 2px 6px;margin-bottom:4px;border-bottom:1px solid var(--m3-outline-variant)}.ctx-reactions{display:flex;align-items:center;gap:2px}.ctx-reaction{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;font-size:20px;line-height:1;cursor:pointer;transition:scale var(--m3-dur-fast) var(--m3-spring-bouncy),background-color .15s var(--m3-effects)}.ctx-reaction:hover{scale:1.22;background:var(--m3-state-hover)}.ctx-reaction:active{scale:.9}.ctx-reaction.mine{background:var(--m3-primary-container)}.ctx-reaction.more{color:var(--text-muted);font-size:0}.message-row,.conv-item{-webkit-touch-callout:none}@media (hover: none){.message-row .bubble-text,.conv-item{-webkit-user-select:none;user-select:none}}.jump-down-dock{position:sticky;bottom:0;z-index:4;align-self:stretch;height:0;pointer-events:none}.m3-icon-btn.jump-down{position:absolute;right:0;bottom:12px;width:44px;height:44px;pointer-events:auto;box-shadow:0 4px 14px color-mix(in srgb,#000 28%,transparent);animation:m3-pop-in var(--m3-dur) var(--m3-spring-bouncy) both}@keyframes fx-msg-leave{0%{opacity:1;transform:none;max-height:600px}45%{opacity:0;transform:scale(.86);max-height:600px}to{opacity:0;transform:scale(.8);max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}}.message-row.msg-leaving{overflow:hidden;pointer-events:none;transform-origin:center;animation:fx-msg-leave .42s var(--m3-effects) forwards}.message-row.mine.msg-leaving{transform-origin:right center}:root[data-motion=reduced] .message-row.msg-leaving{animation-duration:1ms}.profile-sheet .m3-sheet-body{padding-top:0;display:flex;flex-direction:column;gap:14px}.profile-sheet .m3-list-section{margin-top:0}.profile-close{position:absolute;top:14px;right:14px;z-index:2}.profile-hero{position:relative;display:flex;flex-direction:column;align-items:center;padding:26px 8px 2px;text-align:center}.profile-hero-art{position:absolute;top:-2px;left:50%;width:190px;height:190px;translate:-50% 0;color:var(--m3-primary-container);opacity:.7;pointer-events:none;animation:m3-pop-in var(--m3-dur-bouncy) var(--m3-spring-bouncy) both}.profile-hero-art svg path{fill:currentColor}.profile-avatar{position:relative;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:inherit;animation:m3-pop-in var(--m3-dur-bouncy) var(--m3-spring-bouncy) 60ms both;transition:scale var(--m3-dur-fast) var(--m3-spring-fast)}.profile-avatar:disabled{cursor:default;opacity:1}.profile-avatar.has-photo{cursor:zoom-in}.profile-avatar.has-photo:hover{scale:1.05}.profile-avatar.has-photo:active{scale:.95}.profile-avatar:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.profile-avatar .m3-avatar{box-shadow:0 10px 28px color-mix(in srgb,#000 22%,transparent)}.profile-name{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:14px 0 2px;font-size:23px;font-weight:700;line-height:1.2;color:var(--text-strong);overflow-wrap:anywhere;animation:m3-rise-in var(--m3-dur) var(--m3-spring) 90ms both}.profile-sub{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;min-height:22px;margin:0;font-size:14px;color:var(--text-muted);animation:m3-rise-in var(--m3-dur) var(--m3-spring) .12s both}.profile-online{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600}.profile-online .presence-dot{position:static}.profile-sub-bot{display:inline-flex;align-items:center;gap:4px}.profile-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;animation:m3-rise-in var(--m3-dur) var(--m3-spring) .15s both}.profile-action{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:92px;padding:12px 14px 10px;border:0;border-radius:22px;background:var(--m3-surface-container-high);color:var(--text);font:inherit;cursor:pointer;transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),scale var(--m3-dur-fast) var(--m3-spring-fast),background-color .16s var(--m3-effects)}.profile-action:hover{border-radius:14px;background:color-mix(in srgb,var(--accent) 16%,var(--bg-elevated))}.profile-action:active{scale:.94}.profile-action:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.profile-action-icon{display:grid;place-items:center;color:var(--accent);transition:scale var(--m3-dur-fast) var(--m3-spring-bouncy)}.profile-action:hover .profile-action-icon{scale:1.14}.profile-action-label{font-size:13px;font-weight:600}.profile-text{display:block;white-space:pre-wrap;font-weight:500;font-size:15px;overflow-wrap:anywhere}.profile-sheet .m3-list-subtitle.multiline{white-space:pre-line;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.profile-channel .m3-list-trailing .m3-btn{white-space:nowrap}.profile-shared{display:flex;flex-direction:column;margin:2px -22px -22px;padding:0 22px 22px;border-top:1px solid var(--m3-outline-variant);background:var(--m3-surface-container);animation:m3-rise-in var(--m3-dur) var(--m3-spring) .18s both}.profile-tabs{position:sticky;top:0;z-index:1;display:flex;gap:2px;margin:0 -22px;padding:4px 14px 0;overflow-x:auto;scrollbar-width:none;background:var(--m3-surface-container);border-bottom:1px solid var(--m3-outline-variant)}.profile-tabs::-webkit-scrollbar{display:none}.profile-tab{position:relative;display:flex;flex-direction:column;align-items:center;flex:1 1 0;gap:4px;min-width:64px;padding:10px 6px 11px;border:0;border-radius:16px 16px 0 0;background:none;color:var(--text-muted);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .16s var(--m3-effects),background-color .16s var(--m3-effects)}.profile-tab:hover{background:var(--m3-state-hover);color:var(--text)}.profile-tab.active{color:var(--accent)}.profile-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.profile-tab-icon{position:relative;display:grid;place-items:center;width:52px;height:28px;border-radius:999px;transition:background-color .2s var(--m3-effects),width var(--m3-dur) var(--m3-spring-bouncy)}.profile-tab-icon>svg{transition:scale var(--m3-dur-fast) var(--m3-spring-bouncy)}.profile-tab:hover .profile-tab-icon{background:var(--m3-state-hover)}.profile-tab.active .profile-tab-icon{background:var(--m3-primary-container);color:var(--m3-on-primary-container)}.profile-tab.active .profile-tab-icon>svg{scale:1.1}.profile-tab-count{position:absolute;top:-5px;left:calc(50% + 8px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent, #fff);font-size:11px;font-weight:700;line-height:18px;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--m3-surface-container);animation:m3-pop-in var(--m3-dur-fast) var(--m3-spring-bouncy) both}.profile-tab:not(.active) .profile-tab-count{background:var(--m3-surface-container-highest);color:var(--text)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.profile-tabs-bar{position:absolute;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--accent);transition:left var(--m3-dur) var(--m3-spring-bouncy),width var(--m3-dur-fast) var(--m3-spring-fast)}.profile-panel{padding-top:14px;animation:m3-rise-in var(--m3-dur-fast) var(--m3-spring) both}.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.profile-tile-slot{aspect-ratio:1 / 1;min-width:0}.profile-tile-slot>.gallery-tile{display:block;width:100%;height:100%}.profile-grid .gallery-tile{border-radius:12px;transition:border-radius var(--m3-dur) var(--m3-spring),scale var(--m3-dur-fast) var(--m3-spring-fast);animation:m3-pop-in var(--m3-dur-fast) var(--m3-spring) both}.profile-grid .gallery-tile:hover{border-radius:22px}.profile-grid .gallery-tile:active{scale:.95}.profile-gif video,.profile-gif img{display:block;width:100%;height:100%;object-fit:cover}.profile-link-thumb{width:44px;height:44px;flex:0 0 auto;border-radius:14px;object-fit:cover}.profile-empty{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 0 8px;color:var(--text-muted);font-size:14px}.profile-empty-blob{width:84px;height:84px;color:var(--m3-primary-container)}.profile-empty-blob svg path{fill:currentColor}.profile-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 0 10px;color:var(--text-muted);font-size:14px}.profile-loading.inline{padding:12px 0 0}.profile-note{margin:12px 0 0;text-align:center;font-size:12.5px;color:var(--text-muted)}@media (max-width: 640px){.profile-shared{margin:2px -16px -18px;padding:0 16px 18px}.profile-tabs{margin:0 -16px;padding:4px 8px 0}.profile-action{flex:1 1 0;min-width:0}}.msg-avatar-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;overflow:hidden;background:var(--bg-elevated);color:#fff;font:inherit;cursor:pointer;transition:scale var(--m3-dur-fast) var(--m3-spring-fast)}.msg-avatar-btn.msg-avatar-fallback{font-size:12px;font-weight:600}.msg-avatar-btn img{display:block;width:100%;height:100%;object-fit:cover}.msg-avatar-btn:hover{scale:1.1}.msg-avatar-btn:active{scale:.92}.msg-avatar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bubble-sender-link{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.bubble-sender-link:hover{text-decoration:underline}.field-counter{display:flex;justify-content:space-between;gap:12px}.field-counter>span:last-child{flex:0 0 auto;font-variant-numeric:tabular-nums}.viewer{z-index:100}.avatar-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:72px 16px 32px;background:#000000e6;animation:m3-fade-in .22s var(--m3-effects) both}.avatar-lightbox.phase-leave{animation:m3-scrim-out .24s var(--m3-effects) both}.avatar-lightbox-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:6px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px 20px;color:#fff}.avatar-lightbox-bar .m3-icon-btn{color:#fff}.avatar-lightbox-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600}.avatar-lightbox-img{display:block;max-width:min(100%,720px);max-height:100%;border-radius:28px;box-shadow:0 24px 80px #00000080;cursor:default;transition:transform .42s var(--m3-spring),border-radius .42s var(--m3-spring),opacity .2s var(--m3-effects)}.avatar-lightbox.phase-enter .avatar-lightbox-img{transition:none}.avatar-lightbox.phase-leave .avatar-lightbox-img{transition:transform .26s var(--m3-effects),border-radius .26s var(--m3-effects),opacity .26s var(--m3-effects)}:root[data-motion=reduced] .profile-hero-art,:root[data-motion=reduced] .profile-avatar,:root[data-motion=reduced] .profile-name,:root[data-motion=reduced] .profile-sub,:root[data-motion=reduced] .profile-actions,:root[data-motion=reduced] .profile-shared,:root[data-motion=reduced] .profile-panel,:root[data-motion=reduced] .profile-grid .gallery-tile{animation:none}:root[data-motion=reduced] .profile-tabs-bar,:root[data-motion=reduced] .avatar-lightbox-img{transition:none}.invite-description{max-width:360px;margin:-6px auto 18px;padding:12px 16px;border-radius:20px;background:var(--m3-surface-container-high);color:var(--text);font-size:14px;line-height:1.45;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.call-peer-mic{position:absolute;left:50%;bottom:-12px;z-index:1;display:grid;place-items:center;width:34px;height:34px;translate:-50% 0;border-radius:50%;background:color-mix(in srgb,var(--ok) 70%,var(--bg-elevated));color:#fff;box-shadow:0 0 0 3px var(--m3-surface-container-high);transition:background-color .22s var(--m3-effects),color .22s var(--m3-effects),border-radius var(--m3-dur) var(--m3-spring);animation:m3-pop-in var(--m3-dur) var(--m3-spring-bouncy) both}.call-peer-mic.off{border-radius:12px;background:var(--danger);color:#fff}.call-peer-mic-icon{display:grid;place-items:center;animation:fx-mic-flip var(--m3-dur) var(--m3-spring-bouncy) both}@keyframes fx-mic-flip{0%{scale:.4;rotate:-40deg;opacity:0}to{scale:1;rotate:0deg;opacity:1}}.call-peer-mic.small{left:auto;right:-4px;bottom:-4px;width:20px;height:20px;translate:none;box-shadow:0 0 0 2px var(--m3-surface-container-high)}.call-peer-mic.small.off{border-radius:7px}.call-people{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 14px;margin:0;padding:0;list-style:none}.call-person{display:flex;flex-direction:column;align-items:center;gap:6px;width:64px;animation:m3-pop-in var(--m3-dur) var(--m3-spring-bouncy) both}.call-person-av{position:relative;display:grid}.call-person-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-muted)}.call-mini-muted{display:inline-grid;place-items:center;color:var(--danger)}:root[data-motion=reduced] .call-peer-mic,:root[data-motion=reduced] .call-peer-mic-icon,:root[data-motion=reduced] .call-person{animation:none}.call-av-wrap:has(.call-peer-mic){margin-bottom:14px}.call-mini.elsewhere{background:color-mix(in srgb,var(--ok) 14%,var(--m3-surface-container-high))}.sidebar>.call-mini{margin:2px 12px 8px}.call-mic-notice{display:flex;align-items:flex-start;gap:8px;width:100%;margin:0;padding:10px 12px;border-radius:var(--m3-shape-m);background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--text);font-size:13px;line-height:1.4;text-align:left}.call-mic-notice svg{flex:0 0 auto;margin-top:1px;color:var(--danger)}.call-mini .call-mic-notice{flex-basis:100%}.call-ongoing{display:flex;align-items:center;gap:12px;margin:10px 14px 0;padding:6px 8px 6px 6px;border-radius:26px;background:color-mix(in srgb,var(--ok) 12%,var(--m3-surface-container-high));animation:fx-call-in var(--m3-dur-fast) var(--m3-spring) both;flex:0 0 auto}.call-ongoing-text{display:flex;flex:1;flex-direction:column;min-width:0}.call-ongoing-title{font-size:14px;font-weight:700;color:var(--text-strong)}.call-ongoing-count{font-size:12.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.m3-list-item.bug-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;padding:12px}.bug-shot{position:relative;margin:0;aspect-ratio:1;overflow:hidden;border-radius:var(--m3-shape-m);background:var(--m3-surface-container-highest)}.bug-shot img{display:block;width:100%;height:100%;object-fit:cover}.bug-shot-remove{position:absolute;top:6px;right:6px}.bug-shot-add{display:grid;place-content:center;justify-items:center;gap:4px;aspect-ratio:1;border:2px dashed var(--m3-outline-variant);border-radius:var(--m3-shape-m);background:transparent;color:var(--text-muted);font:inherit;font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .15s var(--m3-effects),border-color .15s var(--m3-effects),color .15s var(--m3-effects)}.bug-shot-add:hover{border-color:var(--accent);background:var(--m3-state-hover);color:var(--accent)}.m3-list-item.bug-details{display:block;max-height:280px;margin:0;padding:12px 14px;overflow:auto;color:var(--text-muted);font:12px/1.5 ui-monospace,SF Mono,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.bug-privacy{font-size:13px}.staging{display:flex;gap:8px;padding:10px 14px 2px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;background:var(--bg-panel);animation:m3-rise-in var(--m3-dur) var(--m3-spring) both}.staging-tile{position:relative;flex:0 0 auto;width:96px;height:96px;overflow:hidden;border-radius:var(--m3-shape-m);background:var(--m3-surface-container-high);animation:m3-pop-in var(--m3-dur-fast) var(--m3-spring-fast) both}.staging-tile.file{width:156px}.staging-thumb{display:block;width:100%;height:100%;object-fit:cover;transition:filter .2s var(--m3-effects)}.staging-tile.spoiler .staging-thumb{filter:blur(8px) saturate(1.2);transform:scale(1.1)}.staging-veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}@keyframes fx-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.staging-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,color-mix(in srgb,var(--text) 12%,transparent) 50%,transparent 80%) var(--m3-surface-container-high);background-size:200% 100%;animation:fx-shimmer 1.2s linear infinite}:root[data-motion=reduced] .staging-skeleton{animation:none}.staging-file{display:grid;align-content:start;justify-items:start;gap:2px;height:100%;padding:10px 10px 0;color:var(--text-muted);font-size:11.5px}.staging-file-name{max-width:100%;overflow:hidden;color:var(--text);font-size:12.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.staging-video-mark,.staging-remove,.staging-action{display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#0000008c;color:#fff}.staging-video-mark{position:absolute;top:50%;left:50%;width:32px;height:32px;translate:-50% -50%;pointer-events:none}.staging-remove{position:absolute;top:5px;right:5px;width:26px;height:26px;cursor:pointer}.staging-actions{position:absolute;left:5px;bottom:5px;display:flex;gap:4px}.staging-action{width:28px;height:28px;cursor:pointer;transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),background-color .15s var(--m3-effects)}.staging-action.on{border-radius:9px;background:var(--accent);color:var(--on-accent)}.staging-add{display:grid;flex:0 0 auto;place-items:center;width:96px;height:96px;border:2px dashed var(--m3-outline-variant);border-radius:var(--m3-shape-m);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .15s var(--m3-effects),border-color .15s var(--m3-effects),color .15s var(--m3-effects)}.staging-add:hover:not(:disabled){border-color:var(--accent);background:var(--m3-state-hover);color:var(--accent)}@media (max-width: 520px){.staging{padding:8px 10px 2px}.staging-tile,.staging-add{width:84px;height:84px}.staging-tile.file{width:140px}}.photo-editor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bg-panel);animation:m3-fade-in .2s var(--m3-effects) both}.photo-editor-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px}.photo-editor-title{margin:0;overflow:hidden;color:var(--text-strong);font-size:17px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.photo-editor-stage{position:relative;flex:1;min-height:0;background:color-mix(in srgb,#000 60%,var(--bg-panel))}.photo-editor-canvas{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.photo-editor-canvas.draw{cursor:crosshair}.photo-editor-failed{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;padding:24px;color:var(--text-muted);text-align:center}.photo-editor-tools{display:grid;gap:10px;padding:12px 12px 14px}.photo-editor-row{display:flex;align-items:center;justify-content:safe center;gap:6px;min-height:40px;overflow-x:auto;scrollbar-width:none}.photo-editor-actions{gap:12px}.photo-editor-swatch{flex:0 0 auto;width:28px;height:28px;padding:0;border:2px solid var(--m3-outline-variant);border-radius:50%;cursor:pointer;transition:scale var(--m3-dur-fast) var(--m3-spring-fast)}.photo-editor-swatch.selected{border-color:var(--text-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 60%,transparent);scale:1.1}.photo-editor-brush{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:var(--m3-surface-container-highest);cursor:pointer}.photo-editor-brush.selected{background:var(--m3-secondary-container);box-shadow:inset 0 0 0 2px var(--accent)}.photo-editor-brush span{border-radius:50%;box-shadow:0 0 0 1px var(--m3-outline-variant)}.photo-editor-sep{flex:0 0 auto;width:1px;height:24px;background:var(--m3-outline-variant)}.album-grid{display:grid;gap:2px;width:280px;max-width:100%;margin-top:2px;overflow:hidden;border-radius:12px}.album-row{display:flex;gap:2px;height:140px}.album-row.n1{height:200px}.album-row.n3{height:94px}.album-tile{position:relative;flex:1 1 0;min-width:0;padding:0;overflow:hidden;border:0;background:var(--m3-surface-container-high);cursor:zoom-in}.album-img{display:block;width:100%;height:100%;object-fit:cover}.album-blur{filter:blur(10px);transform:scale(1.12)}.album-loader{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.album-play{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:36px;height:36px;translate:-50% -50%;border-radius:50%;background:#0000008c;color:#fff;pointer-events:none}.album-tile .media-spoiler{border-radius:0}.album-tile .media-spoiler-label{padding:6px 10px;font-size:12px}.album-tile.pending{cursor:default}.album-tile.pending .album-img{opacity:.6}.album-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--m3-surface-container-highest)}.album-progress{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:48px;height:48px;translate:-50% -50%;border-radius:50%;background:#00000080;pointer-events:none}.album-progress .m3-wavy-circle{color:#fff}.album-progress .m3-wavy-track{stroke:#ffffff52}.album-progress .m3-wavy-circle-label{font-size:11px}.emoji-popover{position:absolute;bottom:calc(100% + 8px);left:12px;z-index:40}.emoji-panel{--emoji-cell: 40px;--emoji-grid-height: 300px;position:relative;display:flex;flex-direction:column;gap:8px;width:372px;max-width:calc(100vw - 24px);max-height:min(480px,64vh);padding:10px 10px 16px;border-radius:28px;background:var(--m3-surface-container-high);box-shadow:0 18px 44px color-mix(in srgb,#000 30%,transparent);overflow:hidden;transform-origin:bottom left;animation:m3-menu-in var(--m3-dur) var(--m3-spring) both}.emoji-head{display:flex;flex:0 0 auto;align-items:center;gap:8px}.emoji-tabs{display:flex;flex:1;gap:4px;padding:4px;border-radius:999px;background:var(--m3-surface-container-highest)}.emoji-tab{flex:1;min-height:32px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .18s var(--m3-effects),color .18s var(--m3-effects),scale var(--m3-dur-fast) var(--m3-spring-fast)}.emoji-tab:hover{background:var(--m3-state-hover);color:var(--text)}.emoji-tab:active{scale:.95}.emoji-tab.active{background:var(--m3-primary-container);color:var(--m3-on-primary-container)}.emoji-close{display:grid;flex:0 0 auto;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:var(--m3-surface-container-highest);color:var(--text-muted);cursor:pointer;transition:border-radius var(--m3-dur-fast) var(--m3-spring-fast),color .15s var(--m3-effects)}.emoji-close:hover{border-radius:14px;color:var(--text-strong)}.emoji-search{display:flex;flex:0 0 auto;align-items:center;gap:8px;height:40px;padding:0 4px 0 14px;border-radius:999px;background:var(--m3-surface-container-highest);color:var(--text-muted);transition:box-shadow .15s var(--m3-effects)}.emoji-search:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.emoji-search input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:14px;outline:none}.emoji-search input::placeholder{color:var(--text-muted)}.emoji-search input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.emoji-search-clear{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.emoji-search-clear:hover{background:var(--m3-state-hover)}.emoji-nav{display:flex;flex:0 0 auto;gap:2px}.emoji-nav-btn{display:grid;flex:1 1 0;place-items:center;min-width:0;height:36px;padding:0;border:0;border-radius:12px;background:transparent;font-size:19px;line-height:1;cursor:pointer;filter:grayscale(.45);opacity:.66;transition:filter .15s var(--m3-effects),opacity .15s var(--m3-effects),background-color .15s var(--m3-effects),border-radius var(--m3-dur-fast) var(--m3-spring-fast)}.emoji-nav-btn:hover{filter:none;opacity:1;background:var(--m3-state-hover)}.emoji-nav-btn.active{filter:none;opacity:1;background:var(--m3-secondary-container);border-radius:18px}.emoji-tab-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 2px 6px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 45%,transparent) transparent}.emoji-grid{flex:0 1 var(--emoji-grid-height)}.emoji-group+.emoji-group{margin-top:6px}.emoji-group-title{position:sticky;top:0;z-index:1;padding:6px 6px 4px;background:var(--m3-surface-container-high);color:var(--accent);font-size:12.5px;font-weight:700;letter-spacing:.02em}.emoji-group-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--emoji-cell),1fr));gap:2px}.emoji-cell{display:grid;place-items:center;min-width:0;aspect-ratio:1;padding:0;border:0;border-radius:12px;background:transparent;font-size:24px;line-height:1;cursor:pointer;transition:scale var(--m3-dur-fast) var(--m3-spring-bouncy),background-color .12s var(--m3-effects),border-radius var(--m3-dur-fast) var(--m3-spring-fast)}.emoji-cell:hover{background:var(--m3-state-hover);border-radius:50%;scale:1.12}.emoji-cell:active{scale:.9}.emoji-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.emoji-empty,.emoji-error{padding:22px 8px;border-radius:16px;color:var(--text-muted);font-size:13px;text-align:center}.emoji-error{color:var(--danger)}.sticker-actions{margin-bottom:8px}.sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.sticker-cell{aspect-ratio:1;padding:4px;border:0;border-radius:18px;background:var(--m3-surface-container-highest);cursor:pointer;transition:border-radius var(--m3-dur) var(--m3-spring),scale var(--m3-dur-fast) var(--m3-spring-fast)}.sticker-cell:hover{border-radius:26px}.sticker-cell:active{scale:.94}.sticker-cell img{display:block;width:100%;height:100%;object-fit:contain}.gif-upload{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 12px;text-align:center}.gif-upload-hint{max-width:240px;color:var(--text-muted);font-size:12px;line-height:1.4}.msg-picker{display:flex;flex-direction:column;width:360px;padding:8px 8px 16px;border:0;border-radius:28px;background:var(--m3-surface-container-high);box-shadow:0 18px 44px color-mix(in srgb,#000 30%,transparent);overflow:hidden}.msg-picker-quick{display:grid;flex:0 0 auto;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;margin-bottom:6px;padding:2px 2px 8px;border-bottom:1px solid var(--m3-outline-variant)}.msg-picker .reaction-pick{display:grid;place-items:center;justify-self:center;width:100%;max-width:44px;aspect-ratio:1;padding:0;border:0;border-radius:50%;background:transparent;font-size:24px;line-height:1;cursor:pointer;transition:scale var(--m3-dur-fast) var(--m3-spring-bouncy),background-color .12s var(--m3-effects)}.msg-picker .reaction-pick:hover{scale:1.2;background:var(--m3-state-hover)}.msg-picker .emoji-panel{--emoji-grid-height: 240px;flex:1 1 auto;min-height:0;width:100%;max-width:none;max-height:none;padding:0;border-radius:0;background:transparent;box-shadow:none;animation:none}@media (max-width: 520px){.emoji-popover{right:8px;left:8px}.emoji-popover .emoji-panel{width:100%;max-width:none;max-height:58vh}.emoji-panel{--emoji-cell: 42px;--emoji-grid-height: 40vh}.msg-picker .emoji-panel{--emoji-grid-height: 34vh}}
