:root{--ground: #f7f5f2;--surface: #ffffff;--text: #23262a;--text-muted: #706c64;--border: #e7e1d6;--blue: #3e7cb1;--green: #5aa469;--teal: #2c6e8a;--page-backdrop: #ddd7c9}@media(prefers-color-scheme:dark){:root{--ground: #1b1d21;--surface: #232529;--text: #f0eee9;--text-muted: #9b978e;--border: #34363b;--blue: #6aa3d6;--green: #7bc28a;--teal: #4e9ab8;--page-backdrop: #101113}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--text);font-family:Manrope,system-ui,-apple-system,sans-serif}.splash{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem 1.5rem;text-align:center}.mark{width:96px;height:96px}.wordmark{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:800;font-size:2rem;letter-spacing:-.01em;margin:0}.tagline{color:var(--text-muted);font-size:1rem;max-width:32ch;margin:0}.cta{display:inline-block;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;font-size:.95rem;color:#fff;text-decoration:none;background:linear-gradient(135deg,var(--blue),var(--green));border:none;border-radius:999px;padding:.8rem 1.8rem;cursor:pointer}.cta:disabled{opacity:.55;cursor:not-allowed}.status{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--teal)}.chat-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85rem}.chat-app{display:flex;height:100%;max-width:1400px;margin:0 auto;overflow:hidden}@media(min-width:769px){body:has(.chat-app){background:var(--page-backdrop)}.chat-app{height:calc(100% - 2.5rem);margin:1.25rem auto;border-radius:14px;box-shadow:0 30px 80px #00000059}}.chat-settings-view,.chat-info-panel{flex:0 0 320px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.chat-info-panel{flex-basis:340px;border-right:none;border-left:1px solid var(--border)}.chat-sidebar{flex:0 0 380px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.chat-conversation{flex:1 1 auto}.chat-sidebar-topbar{flex:none;display:flex;align-items:center;gap:.55rem;padding:.85rem 1rem}.chat-brand-mark{flex:none;width:30px;height:30px;border-radius:8px}.chat-sidebar-title{flex:1;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:800;font-size:1.05rem;letter-spacing:-.01em}.icon-btn{flex:none;width:34px;height:34px;border-radius:50%;border:none;background:none;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s}.icon-btn:hover{background:var(--ground);color:var(--text)}.chat-settings-back-btn{flex:none;display:flex;align-items:center;gap:.35rem;border:none;background:none;color:var(--blue);font-weight:600;font-size:.9rem;cursor:pointer;padding:.7rem .9rem 0}.chat-back-btn{display:none}@media(max-width:768px){.chat-app{flex-direction:column}.chat-app[data-mobile-view=list] .chat-conversation,.chat-app[data-mobile-view=chat] .chat-sidebar,.chat-app[data-mobile-view=settings] .chat-sidebar,.chat-app[data-mobile-view=settings] .chat-conversation,.chat-app[data-mobile-view=chatInfo] .chat-sidebar,.chat-app[data-mobile-view=chatInfo] .chat-conversation{display:none}.chat-settings-view,.chat-sidebar,.chat-conversation,.chat-info-panel{flex-basis:100%}.chat-settings-view,.chat-info-panel{border:none}.chat-back-btn{display:flex;flex:none;align-items:center;border:none;background:none;color:var(--text);cursor:pointer;padding:0}}.avatar{flex:none;border-radius:50%;object-fit:cover}.avatar-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:700}.chat-own-profile{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-bottom:1px solid var(--border)}.chat-own-avatar-btn{flex:none;border:none;background:none;padding:0;border-radius:50%;cursor:pointer;line-height:0}.chat-own-profile-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.chat-own-profile-name{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:700;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-own-profile-actions{display:flex;flex-direction:column;gap:.1rem}.chat-own-profile-actions button{align-self:flex-start;border:none;background:none;color:var(--teal);font-size:.85rem;padding:.1rem 0;cursor:pointer;text-align:left}.backup-gate{height:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem}.backup-gate-panel{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center}.backup-gate-mark{width:64px;height:64px;border-radius:16px;margin-bottom:.3rem}.backup-gate-panel h2{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:800;font-size:1.3rem;margin:0}.backup-gate-sub{display:flex;align-items:center;gap:.35rem;margin:-.5rem 0 0;font-size:.78rem;color:var(--text-muted)}.backup-gate-hint{width:100%;margin:0;font-size:.88rem;line-height:1.5;color:var(--text-muted)}.backup-gate-panel form{width:100%;display:flex;flex-direction:column;gap:.7rem}.backup-gate-panel input{padding:.65rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.95rem;text-align:center}.backup-gate-panel form button{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--blue),var(--green));border:none;border-radius:999px;padding:.75rem 1.5rem;cursor:pointer}.backup-gate-panel form button:disabled{opacity:.6;cursor:not-allowed}.backup-gate-warning{width:100%;margin:0;font-size:.78rem;color:var(--text-muted)}.backup-gate-error{width:100%;margin:0;font-size:.85rem;color:#dc143c}.backup-panel{display:flex;flex-direction:column;gap:.6rem;padding:.9rem;border-bottom:1px solid var(--border)}.backup-panel h4{margin:0;font-size:.95rem}.backup-hint{margin:0;font-size:.8rem;line-height:1.45;color:var(--text-muted)}.backup-status,.backup-message{margin:0;font-size:.85rem;color:var(--text-muted)}.backup-status-error{margin:0;font-size:.85rem;color:#dc143c}.backup-panel input{width:100%;min-width:0;padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.9rem}.backup-actions{display:flex;flex-wrap:wrap;gap:.5rem}.backup-actions button{font-size:.85rem;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.45rem .9rem;cursor:pointer}.backup-actions button:disabled{color:var(--text-muted);cursor:not-allowed}.device-manager-panel{display:flex;flex-direction:column;gap:.6rem;padding:.9rem;border-bottom:1px solid var(--border)}.device-manager-panel h4{margin:0;font-size:.95rem}.device-manager-hint{margin:0;font-size:.8rem;line-height:1.45;color:var(--text-muted)}.device-manager-error{margin:0;font-size:.85rem;color:#dc143c}.device-manager-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.device-manager-list li{display:flex;align-items:center;gap:.5rem;font-size:.82rem}.device-manager-id{font-family:IBM Plex Mono,ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.device-manager-age{flex:none;color:var(--text-muted)}.device-manager-list button{flex:none;font-size:.8rem;border:1px solid var(--border);background:var(--surface);color:#dc143c;border-radius:6px;padding:.3rem .7rem;cursor:pointer}.device-manager-list button:disabled{color:var(--text-muted);cursor:not-allowed}.link-device-entry{padding:.9rem;border-bottom:1px solid var(--border)}.link-device-entry button{font-size:.88rem;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.5rem .9rem;cursor:pointer}.chat-signout-entry{padding:.9rem}.chat-signout-entry button{width:100%;font-size:.92rem;font-weight:600;border:1px solid var(--border);background:none;color:var(--text);border-radius:8px;padding:.6rem 1rem;cursor:pointer}.chat-signout-entry button:hover{color:#dc143c;border-color:#dc143c}.chat-bg-settings{padding:.8rem .9rem;border-bottom:1px solid var(--border)}.chat-bg-settings h4{margin:0 0 .2rem;font-size:.95rem}.chat-bg-settings .safety-hint{margin:0 0 .6rem;font-size:.8rem}.bg-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:.6rem}.bg-picker-swatch{display:flex;flex-direction:column;align-items:center;gap:.35rem;border:none;background:none;padding:0;cursor:pointer;color:var(--text-muted);font-size:.72rem;text-align:center}.bg-picker-swatch-preview{width:100%;aspect-ratio:1;border-radius:10px;border:2px solid var(--border);background-color:var(--ground);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.bg-picker-swatch-none{background-image:linear-gradient(45deg,transparent 45%,var(--border) 45%,var(--border) 55%,transparent 55%)}.bg-picker-swatch.selected .bg-picker-swatch-preview{border-color:var(--blue)}.bg-picker-swatch.selected{color:var(--text);font-weight:600}.link-device-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0009;padding:2rem}.link-device-panel{display:flex;flex-direction:column;gap:.9rem;width:min(420px,100%);max-height:100%;overflow-y:auto;background:var(--ground);border-radius:14px;box-shadow:0 20px 60px #0000004d;padding:1.1rem 1.2rem 1.4rem}.link-device-header{display:flex;align-items:center;justify-content:space-between}.link-device-header h3{margin:0;font-size:1rem}.link-device-header button{border:none;background:none;color:var(--text-muted);font-size:1.3rem;line-height:1;cursor:pointer;padding:0 .3rem}.link-device-hint{margin:0;font-size:.8rem;line-height:1.4;color:var(--text-muted)}.link-device-choices{display:flex;flex-direction:column;gap:.6rem}.link-device-choices button{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;font-size:.85rem;color:#fff;background:linear-gradient(135deg,var(--blue),var(--green));border:none;border-radius:10px;padding:.7rem 1rem;cursor:pointer;text-align:left}.link-device-step{display:flex;flex-direction:column;align-items:center;gap:.7rem}.link-device-qr-canvas{border-radius:10px;background:#fff;padding:.6rem}.link-device-video{width:100%;max-width:320px;aspect-ratio:1;border-radius:10px;background:#000;object-fit:cover}.link-device-waiting{margin:0;font-size:.8rem;color:var(--text-muted)}.link-device-error{margin:0;font-size:.8rem;color:#dc143c;text-align:center}.link-device-success{display:flex;flex-direction:column;align-items:center;gap:.7rem;font-size:.85rem}.link-device-success button{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;font-size:.8rem;color:#fff;background:linear-gradient(135deg,var(--blue),var(--green));border:none;border-radius:999px;padding:.4rem 1.2rem;cursor:pointer}.chat-header{flex:none;display:flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;background:var(--surface);border-bottom:1px solid var(--border)}.chat-header-identity{flex:1;min-width:0;display:flex;align-items:center;gap:.7rem;border:none;background:none;padding:.2rem;border-radius:8px;cursor:pointer;text-align:left}.chat-header-identity:hover{background:var(--ground)}.chat-header-identity-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.chat-header-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:700;font-size:.94rem;color:var(--text)}.chat-header-sub{display:flex;align-items:center;gap:.3rem;font-size:.74rem;color:var(--text-muted)}.chat-header-menu-anchor{position:relative}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:transparent}.dropdown-menu{position:absolute;top:42px;right:0;z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px #0000002e;padding:.35rem;display:flex;flex-direction:column;min-width:210px}.dropdown-menu button{font-family:Manrope,system-ui,sans-serif;display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--text);background:none;border:none;text-align:left;padding:.5rem .6rem;border-radius:7px;cursor:pointer}.dropdown-menu button:hover{background:var(--ground)}.dropdown-menu button svg{flex:none;color:var(--text-muted)}.dropdown-menu button.danger{color:#dc143c}.dropdown-menu button.danger svg{color:#dc143c}.chat-stale-banner{flex:none;padding:.6rem 1rem;background:color-mix(in srgb,orange 12%,transparent);border-bottom:1px solid color-mix(in srgb,orange 40%,transparent);color:color-mix(in srgb,orange 65%,var(--text));font-size:.8rem;line-height:1.4}.safety-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0009;padding:2rem}.safety-panel{display:flex;flex-direction:column;gap:.8rem;width:min(440px,100%);max-height:100%;overflow-y:auto;background:var(--ground);border-radius:14px;box-shadow:0 20px 60px #0000004d;padding:1.1rem 1.2rem 1.4rem}.safety-panel-header{display:flex;align-items:center;justify-content:space-between}.safety-panel-header h3{margin:0;font-size:1rem}.safety-panel-header button{border:none;background:none;color:var(--text-muted);font-size:1.3rem;line-height:1;cursor:pointer;padding:0 .3rem}.safety-hint{margin:0;font-size:.75rem;line-height:1.4;color:var(--text-muted)}.safety-loading,.safety-list-empty{font-size:.85rem;color:var(--text-muted)}.safety-error{font-size:.85rem;color:#dc143c}.safety-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.safety-list li{padding:.6rem .7rem;background:var(--surface);border:1px solid var(--border);border-radius:10px}.safety-list-who{display:flex;align-items:baseline;gap:.4rem;font-weight:600;font-size:.85rem}.safety-device-id{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:400;font-size:.7rem;color:var(--text-muted)}.safety-number{margin-top:.3rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.95rem;letter-spacing:.02em;word-break:break-all}.avatar-preset-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0009;padding:2rem}.avatar-preset-panel{display:flex;flex-direction:column;width:min(680px,100%);max-height:100%;background:var(--ground);border-radius:14px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.avatar-preset-header{flex:none;display:flex;gap:.5rem;align-items:center;padding:.9rem 1rem;border-bottom:1px solid var(--border)}.avatar-preset-header input{flex:1;min-width:0;padding:.5rem .8rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:.9rem}.avatar-preset-header button{flex:none;border:none;background:none;color:var(--text-muted);font-size:1.3rem;line-height:1;cursor:pointer;padding:0 .3rem}.avatar-preset-count{flex:none;padding:.4rem 1rem;font-size:.75rem;color:var(--text-muted)}.avatar-preset-loading,.avatar-preset-empty{padding:2rem;text-align:center;color:var(--text-muted);font-size:.9rem}.avatar-preset-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.6rem;padding:.5rem 1rem 1rem}.avatar-preset-grid button{display:flex;flex-direction:column;align-items:center;gap:.25rem;border:1px solid transparent;background:none;border-radius:10px;padding:.4rem;cursor:pointer}.avatar-preset-grid button:hover{border-color:var(--border);background:var(--surface)}.avatar-preset-grid img{width:64px;height:64px;border-radius:50%;object-fit:cover}.avatar-preset-grid span{font-size:.65rem;color:var(--text-muted);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.ios-share-icon{vertical-align:-.15em;color:var(--blue)}.chat-nudge-bar{flex:none;display:flex;align-items:center;gap:.6rem;padding:.55rem .9rem;background:color-mix(in srgb,var(--blue) 8%,var(--surface));border-bottom:1px solid var(--border);font-size:.78rem;color:var(--text-muted)}.chat-nudge-bar span{flex:1;min-width:0}.chat-nudge-action{flex:none;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;font-size:.78rem;color:#fff;background:linear-gradient(135deg,var(--blue),var(--green));border:none;border-radius:6px;padding:.3rem .65rem;cursor:pointer}.chat-nudge-dismiss{flex:none;border:none;background:none;color:var(--text-muted);display:flex;padding:.2rem;cursor:pointer}.chat-settings-row{flex:none;display:flex;align-items:center;gap:.7rem;padding:.8rem .9rem;border-bottom:1px solid var(--border);font-size:.85rem;color:var(--text-muted)}.chat-settings-row span{flex:1;min-width:0}.chat-settings-row button{flex:none;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;font-size:.82rem;color:#fff;background:linear-gradient(135deg,var(--blue),var(--green));border:none;border-radius:6px;padding:.4rem .8rem;cursor:pointer}.chat-new{display:flex;flex-direction:column;gap:.4rem;padding:.8rem 1rem;border-bottom:1px solid var(--border)}.chat-new input{width:100%;min-width:0;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.85rem;font-family:inherit}.chat-new button[type=submit]{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;font-size:.8rem;color:#fff;background:linear-gradient(135deg,var(--blue),var(--green));border:none;border-radius:6px;padding:.4rem .8rem;cursor:pointer}.chat-search-row{flex:none;padding:0 1rem .7rem}.chat-search-box{display:flex;align-items:center;gap:.5rem;background:var(--ground);border:1px solid var(--border);border-radius:10px;padding:.5rem .8rem;color:var(--text-muted)}.chat-search-box input{flex:1;min-width:0;border:none;background:none;color:var(--text);font-family:inherit;font-size:.85rem;outline:none}.chat-search-box input::placeholder{color:var(--text-muted)}.chat-search-clear{flex:none;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;padding:0}.chat-filter-row{flex:none;display:flex;gap:.5rem;padding:0 1rem .8rem}.chat-filter-chip{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:.75rem;font-weight:600;border:1px solid var(--border);background:none;color:var(--text-muted);padding:.35rem .8rem;border-radius:999px;cursor:pointer}.chat-filter-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}.chat-list{flex:1;overflow-y:auto;list-style:none;margin:0;padding:.2rem .4rem .6rem}.chat-list-empty{padding:.8rem;color:var(--text-muted);font-size:.85rem}.chat-list-item{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;padding:.55rem .6rem;border:none;border-radius:12px;background:none;color:var(--text);font-size:.9rem;cursor:pointer}.chat-list-item:hover{background:var(--ground)}.chat-list-item.active{background:color-mix(in srgb,var(--blue) 14%,transparent)}.chat-list-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.chat-list-item-line1{display:flex;align-items:baseline;gap:.4rem}.chat-list-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:.92rem}.chat-list-item-name.unread{font-weight:700}.chat-list-item-time{flex:none;font-size:.72rem;color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace}.chat-list-item-time.unread{color:var(--green);font-weight:600}.chat-list-item-line2{display:flex;align-items:center;gap:.35rem}.chat-list-item-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;color:var(--text-muted)}.chat-pin-btn{flex:none;border:none;background:none;padding:0;color:var(--text-muted);display:flex;cursor:pointer;opacity:0}.chat-list-item:hover .chat-pin-btn,.chat-list-item:focus-within .chat-pin-btn,.chat-pin-btn.on{opacity:.75}.chat-pin-btn.on{color:var(--blue)}.chat-list-unread-badge{flex:none;width:9px;height:9px;border-radius:50%;background:var(--green)}.chat-list-badge{flex:none;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .4rem;border-radius:999px;background:var(--border);color:var(--text-muted)}.chat-list-badge.invite{background:var(--green);color:#fff}.chat-list-badge.mention{flex:none;width:18px;height:18px;padding:0;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem}.chat-list-badge.declined{background:color-mix(in srgb,crimson 20%,transparent);color:#dc143c}.chat-member-list{flex:none;list-style:none;margin:0;padding:.5rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);font-size:.8rem;display:flex;flex-direction:column;gap:.3rem}.chat-member-list li{display:flex;align-items:center;gap:.5rem}.chat-member-sub{color:var(--text);font-family:IBM Plex Mono,ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-member-status{flex:none;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .4rem;border-radius:999px;background:var(--border);color:var(--text-muted)}.chat-member-status.active{background:var(--green);color:#fff}.chat-member-status.declined{background:color-mix(in srgb,crimson 20%,transparent);color:#dc143c}.chat-member-list button{margin-left:auto;flex:none;border:1px solid var(--border);background:none;color:var(--text-muted);font-size:.7rem;border-radius:6px;padding:.15rem .5rem;cursor:pointer}.chat-info-title{margin:0;padding:.9rem .9rem 0;font-size:1rem}.chat-info-avatar{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1rem .9rem;border-bottom:1px solid var(--border)}.chat-info-avatar-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.chat-info-avatar-actions button{font-size:.78rem;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.35rem .7rem;cursor:pointer}.chat-info-field{padding:.8rem .9rem;border-bottom:1px solid var(--border)}.chat-info-field label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:.35rem}.chat-info-field-row{display:flex;gap:.5rem}.chat-info-field-row input{flex:1;min-width:0;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.85rem}.chat-info-field-row button{flex:none;font-size:.78rem;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.35rem .7rem;cursor:pointer}.chat-info-field-row button:disabled{color:var(--text-muted);cursor:not-allowed}.chat-info-members{padding:.8rem .9rem}.chat-info-members h4{margin:0 0 .5rem;font-size:.85rem}.chat-info-members .chat-member-list{padding:0;background:none;border-bottom:none;margin-bottom:.7rem}.chat-info-add-member{display:flex;gap:.5rem}.chat-info-add-member input{flex:1;min-width:0;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.85rem}.chat-info-add-member button{flex:none;font-size:.78rem;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.35rem .7rem;cursor:pointer}.chat-info-add-member button:disabled{color:var(--text-muted);cursor:not-allowed}.chat-consent{flex:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);font-size:.85rem;color:var(--text-muted)}.chat-consent.declined{color:#dc143c}.chat-consent-actions{display:flex;gap:.5rem;flex:none}.chat-consent-actions button{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;font-size:.8rem;border:none;border-radius:6px;padding:.4rem .9rem;cursor:pointer}.chat-consent-actions .accept{color:#fff;background:linear-gradient(135deg,var(--blue),var(--green))}.chat-consent-actions .decline{color:var(--text-muted);background:none;border:1px solid var(--border)}.chat-conversation{display:flex;flex-direction:column;min-width:0}.chat-error{flex:none;padding:.6rem 1rem;background:color-mix(in srgb,crimson 12%,transparent);border-bottom:1px solid color-mix(in srgb,crimson 40%,transparent);color:#dc143c;font-size:.85rem}.chat-conversation-empty,.chat-messages-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.9rem}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:1rem;--chat-bg-light: none;--chat-bg-dark: none;background-image:var(--chat-bg-light);background-size:cover;background-position:center;background-attachment:local}@media(prefers-color-scheme:dark){.chat-messages{background-image:var(--chat-bg-dark)}}.chat-date-chip{align-self:center;background:var(--surface);color:var(--text-muted);font-size:.7rem;font-weight:600;padding:.3rem .8rem;border-radius:999px;margin:.4rem 0 .5rem;box-shadow:0 1px 3px #14140f14}.chat-bubble{display:flex;flex-direction:column;gap:.15rem;max-width:60%;padding:.55rem .8rem .4rem;border-radius:14px;font-size:.92rem;line-height:1.4;word-break:break-word;box-shadow:0 1px 3px #14140f14}.chat-bubble.mine{align-self:flex-end;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;border-bottom-right-radius:4px;cursor:pointer}.chat-bubble.theirs{align-self:flex-start;background:var(--surface);color:var(--text);border-bottom-left-radius:4px;cursor:pointer}.chat-bubble-quote{border-left:2px solid color-mix(in srgb,currentColor 40%,transparent);padding-left:.5rem;margin-bottom:.35rem;font-size:.82rem;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-bubble-meta{align-self:flex-end;display:flex;align-items:center;gap:.25rem;font-size:.66rem;opacity:.75;font-family:IBM Plex Mono,ui-monospace,monospace}.chat-compose{flex:none;padding:.7rem 1rem;background:var(--surface);border-top:1px solid var(--border)}.chat-reply-preview{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .7rem;margin-bottom:.5rem;border-radius:8px;background:var(--surface);border:1px solid var(--border);font-size:.8rem;color:var(--text-muted)}.chat-reply-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-reply-preview button{flex:none;border:none;background:none;color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;padding:0 .2rem}.chat-compose-row{display:flex;align-items:flex-end;gap:.5rem}.emoji{height:1.2em;width:1.2em;vertical-align:-.2em;object-fit:contain}.emoji-animated{display:inline-block}.chat-bubble a{color:inherit;text-decoration:underline;word-break:break-all}.link-preview{display:block;margin-top:.4rem}.link-preview img{display:block;max-width:220px;max-height:220px;border-radius:10px;object-fit:cover}.chat-emoji-anchor{position:relative;flex:none}.chat-attach-preview{display:flex;align-items:center;gap:.6rem;padding:.4rem .7rem;margin-bottom:.5rem;border-radius:8px;background:var(--surface);border:1px solid var(--border);font-size:.8rem;color:var(--text-muted)}.chat-attach-preview img{height:2.4rem;width:2.4rem;object-fit:cover;border-radius:6px}.chat-attach-preview button{margin-left:auto;flex:none;border:none;background:none;color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;padding:0 .2rem}.media-thumb{display:block;max-width:220px;max-height:220px;border-radius:10px;cursor:zoom-in;margin-bottom:.3rem}.media-thumb-loading,.media-thumb-error{font-size:.8rem;opacity:.75;padding:.3rem 0}.media-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#000000d9;cursor:zoom-out;padding:2rem}.media-lightbox img{max-width:100%;max-height:100%;border-radius:8px}.mention{font-weight:700;background:color-mix(in srgb,var(--blue) 22%,transparent);border-radius:4px;padding:0 .15rem}.chat-bubble.mentions-me{outline:2px solid var(--blue);outline-offset:2px}.chat-mention-autocomplete{list-style:none;margin:0 0 .5rem;padding:.3rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #0000002e;max-height:160px;overflow-y:auto}.chat-mention-autocomplete button{display:block;width:100%;text-align:left;border:none;background:none;color:var(--text);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;padding:.35rem .5rem;border-radius:6px;cursor:pointer}.chat-mention-autocomplete button:hover{background:var(--blue-soft, color-mix(in srgb, var(--blue) 12%, transparent))}.emoji-picker-popover{position:absolute;bottom:calc(100% + .5rem);left:0;z-index:10;box-shadow:0 8px 24px #0000002e;border-radius:10px;overflow:hidden}.chat-composer-field{flex:1;min-width:0;display:flex;align-items:flex-end;gap:.3rem;background:var(--ground);border:1px solid var(--border);border-radius:22px;padding:.3rem .5rem .3rem .7rem}.chat-composer-field .icon-btn{align-self:center}.chat-composer-field textarea{flex:1;min-width:0;border:none;background:none;color:var(--text);font-family:inherit;font-size:.9rem;line-height:1.35;outline:none;padding:.45rem 0;resize:none;max-height:40vh;overflow-y:auto}.chat-send-btn{flex:none;width:40px;height:40px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--blue),var(--green));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.chat-send-btn:disabled{opacity:.6;cursor:not-allowed}.chat-bubble-expiry{display:block;margin-top:.2rem;font-size:.68rem;color:var(--text-muted);opacity:.8}.consent-section{padding-top:1rem;border-top:1px solid var(--border)}.consent-section:first-of-type{padding-top:0;border-top:none}.consent-section-title{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-weight:600;font-size:.9rem}.consent-section-title label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.consent-section-title select{font-size:.8rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);padding:.2rem .4rem}.consent-hint{margin:.4rem 0 .6rem;font-size:.75rem;line-height:1.4;color:var(--text-muted)}.consent-member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.consent-member-list li{display:flex;align-items:center;gap:.5rem}.consent-check{flex:none}.consent-export-action{margin-top:.7rem;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.consent-export-action button{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;font-size:.8rem;color:#fff;background:linear-gradient(135deg,var(--blue),var(--green));border:none;border-radius:999px;padding:.45rem 1rem;cursor:pointer}.consent-export-action button:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed}.consent-export-status{font-size:.75rem;color:var(--text-muted)}.consent-export-error{font-size:.75rem;color:#dc143c;flex-basis:100%}
