.profile-avatar-trigger{width:2.65rem;height:2.65rem;border-radius:999px;border:1px solid var(--line-avatar);background:var(--gradient-profile-avatar);color:var(--text-on-accent);font-weight:700;display:inline-grid;place-items:center;padding:0;overflow:hidden}.profile-avatar-trigger img{width:100%;height:100%;object-fit:cover}.profile-avatar-panel{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--surface-muted);padding:var(--space-3);display:grid;gap:var(--space-3)}.profile-avatar-panel[aria-hidden=true]{display:none}.profile-avatar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.profile-avatar-content{display:grid;gap:var(--space-2)}.profile-avatar-preview{width:5rem;height:5rem;border-radius:999px;border:1px solid var(--line-avatar);background:var(--surface-input);overflow:hidden;display:grid;place-items:center}.profile-avatar-preview img{width:100%;height:100%;object-fit:cover}.profile-avatar-placeholder{color:var(--accent-ink);font-weight:700;font-size:1.1rem}.profile-avatar-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.profile-avatar-upload-label{display:inline-grid;place-items:center}.profile-avatar-feedback-success{border-color:var(--line-success);color:var(--text-success);background:var(--surface-success-soft)}.profile-avatar-feedback-error{border-color:var(--line-danger-soft);color:var(--danger);background:var(--surface-danger-soft)}:root,:root[data-theme=light]{color-scheme:light;font-family:IBM Plex Sans,Segoe UI,sans-serif;line-height:1.4;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--surface-canvas: #e5edf8;--surface-app: #f4f7fc;--surface-app-end: #edf2f9;--surface-bg-radial-a: #f7fbff;--surface-bg-radial-b: #d8e7ff;--surface-raised: #ffffff;--surface-input: #ffffff;--surface-muted: #eff4fb;--surface-hover: #f6f9ff;--surface-header-from: #f9fbff;--surface-header-to: #f1f6ff;--surface-panel: #f8fbff;--surface-panel-strong: #f4f8ff;--surface-chip: #dceaff;--surface-chip-strong: #f3f8ff;--surface-chip-soft: #edf4ff;--surface-media: #f6f9ff;--surface-bubble-incoming: #eef0f4;--surface-bubble-own: #006fe6;--surface-bubble-own-action: rgba(255, 255, 255, .2);--surface-bubble-deleted: #edf1f6;--surface-bubble-pending: #d7e9ff;--surface-composer: color-mix(in oklab, var(--surface-input) 90%, var(--surface-chip-soft));--surface-danger-soft: #ffe8e8;--surface-danger-faint: #fff5f5;--surface-success-soft: #ecfbf2;--surface-overlay: rgba(255, 255, 255, .86);--surface-scrim: rgba(10, 14, 24, .64);--surface-scrim-strong: rgba(10, 14, 24, .86);--surface-unread-badge: #d82943;--line-soft: #d8e0ec;--line-strong: #c4cfdd;--line-panel: #d6e3f8;--line-accent-soft: #b9d4ff;--line-accent-hover: #d9e6ff;--line-accent-focus: #8ab7ff;--line-accent-active: #9dc1ff;--line-accent-strong: #7caeff;--line-bubble-incoming: #dde2eb;--line-bubble-own: #b9d3ff;--line-bubble-own-action: rgba(255, 255, 255, .38);--line-bubble-highlight: #ffbf47;--line-chip: #bcd6ff;--line-chip-strong: #bfd6ff;--line-voice-hold: #bfd2f1;--line-voice-active: #8bb6ff;--line-spinner: #bfd7ff;--line-menu-hover: #d8e8ff;--line-avatar: #9fc3ff;--line-success: #8edab0;--line-danger-soft: #f2bbbb;--line-danger: #f1c6c6;--line-danger-strong: #ebadad;--line-danger-failed: #e3a5a5;--line-install-hint: #c8d7f0;--text-strong: #142238;--text-muted: #5b6f89;--text-subtle: #8393a8;--text-on-accent: #ffffff;--text-bubble-incoming: #142238;--text-bubble-incoming-muted: #5d6f86;--text-bubble-own: #ffffff;--text-bubble-own-muted: rgba(255, 255, 255, .84);--text-bubble-state: #6a7d94;--text-receipt-neutral: #ffffff;--text-success: #11713b;--text-success-strong: #0c8b43;--text-unread-badge: #ffffff;--accent: #2a86ff;--accent-strong: #1666da;--accent-soft: #e4efff;--accent-ink: #0f4eb0;--accent-gradient-start: #3a95ff;--accent-gradient-end: #1666da;--avatar-gradient-start: #5ea4ff;--avatar-gradient-end: #357ce3;--profile-avatar-gradient-start: #4b99ff;--profile-avatar-gradient-end: #2f79df;--status-online: #42c171;--status-busy: #f2a43a;--status-offline: #b5c0d2;--danger: #bb2f2f;--radius-sm: .65rem;--radius-md: .85rem;--radius-lg: 1.05rem;--radius-xl: 1.3rem;--shadow-soft: 0 16px 32px rgba(22, 40, 70, .08);--shadow-focus: 0 0 0 3px rgba(42, 134, 255, .25);--shadow-primary-hover: 0 10px 20px rgba(22, 102, 218, .23);--shadow-primary-hover-strong: 0 10px 20px rgba(22, 102, 218, .24);--shadow-accent-outline: 0 0 0 2px rgba(63, 134, 255, .2);--shadow-accent-outline-strong: 0 0 0 2px rgba(63, 134, 255, .23);--shadow-bubble-incoming: 0 .45rem 1.1rem rgba(20, 34, 56, .06);--shadow-bubble-own: 0 .5rem 1.2rem rgba(10, 132, 255, .22);--shadow-bubble-highlight: 0 0 0 2px var(--line-bubble-highlight), 0 .65rem 1.3rem rgba(255, 191, 71, .18);--shadow-dialog: 0 24px 46px rgba(20, 34, 56, .24);--shadow-media: 0 .9rem 2.4rem rgba(0, 0, 0, .35);--shadow-menu: 0 12px 26px rgba(22, 40, 70, .16);--shadow-install-hint: 0 14px 26px rgba(21, 45, 84, .16);--shadow-unread-badge: 0 .28rem .7rem rgba(216, 41, 67, .28);--gradient-body: radial-gradient(circle at 12% -8%, var(--surface-bg-radial-a) 0%, transparent 34%), radial-gradient(circle at 90% 0%, var(--surface-bg-radial-b) 0%, transparent 28%), linear-gradient(180deg, var(--surface-canvas) 0%, var(--surface-app) 36%, var(--surface-app-end) 100%);--gradient-primary: linear-gradient(180deg, var(--accent-gradient-start) 0%, var(--accent-gradient-end) 100%);--gradient-header: linear-gradient(180deg, var(--surface-header-from) 0%, var(--surface-header-to) 100%);--gradient-panel-secret: linear-gradient(180deg, var(--surface-panel) 0%, var(--surface-panel-strong) 100%);--gradient-avatar: linear-gradient(180deg, var(--avatar-gradient-start) 0%, var(--avatar-gradient-end) 100%);--gradient-profile-avatar: linear-gradient( 180deg, var(--profile-avatar-gradient-start) 0%, var(--profile-avatar-gradient-end) 100% );--gradient-install-hint: linear-gradient(180deg, var(--surface-input) 0%, var(--surface-chip-soft) 100%);--space-1: .45rem;--space-2: .7rem;--space-3: .95rem;--space-4: 1.2rem;--space-5: 1.5rem;--bubble-radius: 1.22rem;--bubble-corner-tight: .34rem;--bubble-media-radius: .94rem;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--visual-viewport-width: 100vw;--visual-viewport-left: 0px;--visual-viewport-top: 0px}:root[data-theme=dark]{color-scheme:dark;--surface-canvas: #0b1220;--surface-app: #101a2e;--surface-app-end: #162235;--surface-bg-radial-a: #1a2d4f;--surface-bg-radial-b: #1b3458;--surface-raised: #111c2f;--surface-input: #14233a;--surface-muted: #17253a;--surface-hover: #1b2e49;--surface-header-from: #1b2d47;--surface-header-to: #14233a;--surface-panel: #182a43;--surface-panel-strong: #14263d;--surface-chip: #1c3558;--surface-chip-strong: #1f3d65;--surface-chip-soft: #1a3356;--surface-media: #1a2c44;--surface-bubble-incoming: #273448;--surface-bubble-own: #006fe6;--surface-bubble-own-action: rgba(244, 249, 255, .2);--surface-bubble-deleted: #1f2b3c;--surface-bubble-pending: #173d69;--surface-composer: color-mix(in oklab, var(--surface-input) 90%, var(--surface-chip-soft));--surface-danger-soft: #3b1d24;--surface-danger-faint: #3f222a;--surface-success-soft: #14352b;--surface-overlay: rgba(11, 18, 32, .82);--surface-scrim: rgba(4, 8, 14, .72);--surface-scrim-strong: rgba(3, 6, 12, .9);--surface-unread-badge: #ff8aa0;--line-soft: #2c3d57;--line-strong: #39506d;--line-panel: #35527d;--line-accent-soft: #557cad;--line-accent-hover: #4f729f;--line-accent-focus: #72a2e5;--line-accent-active: #709de0;--line-accent-strong: #7caef4;--line-bubble-incoming: #3a4b63;--line-bubble-own: #5f86be;--line-bubble-own-action: rgba(244, 249, 255, .4);--line-bubble-highlight: #ffd166;--line-chip: #46678f;--line-chip-strong: #4f74a0;--line-voice-hold: #496a93;--line-voice-active: #77a7f0;--line-spinner: #5f87c3;--line-menu-hover: #5678a4;--line-avatar: #5d82b8;--line-success: #3b8b6f;--line-danger-soft: #8d4b56;--line-danger: #91505b;--line-danger-strong: #b26572;--line-danger-failed: #c27381;--line-install-hint: #4b6d9c;--text-strong: #e6eefb;--text-muted: #afc1dd;--text-subtle: #8ea6c8;--text-on-accent: #f4f9ff;--text-bubble-incoming: #eef5ff;--text-bubble-incoming-muted: #bfd0e8;--text-bubble-own: #ffffff;--text-bubble-own-muted: rgba(255, 255, 255, .86);--text-bubble-state: #a9bdd8;--text-receipt-neutral: #ffffff;--text-success: #7dd4af;--text-success-strong: #8de2bb;--text-unread-badge: #2b0710;--accent: #76a9ff;--accent-strong: #2f70ce;--accent-soft: #19365a;--accent-ink: #cde2ff;--accent-gradient-start: #74adff;--accent-gradient-end: #2f70ce;--avatar-gradient-start: #80b9ff;--avatar-gradient-end: #417fdd;--profile-avatar-gradient-start: #6ea9fa;--profile-avatar-gradient-end: #3b79ce;--status-online: #4dd886;--status-busy: #f7ba5e;--status-offline: #8394ad;--danger: #ff9cab;--shadow-soft: 0 16px 32px rgba(3, 8, 18, .38);--shadow-focus: 0 0 0 3px rgba(118, 169, 255, .35);--shadow-primary-hover: 0 10px 20px rgba(27, 64, 118, .45);--shadow-primary-hover-strong: 0 10px 20px rgba(27, 64, 118, .52);--shadow-accent-outline: 0 0 0 2px rgba(118, 169, 255, .38);--shadow-accent-outline-strong: 0 0 0 2px rgba(118, 169, 255, .48);--shadow-bubble-incoming: 0 .45rem 1.1rem rgba(3, 8, 18, .26);--shadow-bubble-own: 0 .5rem 1.2rem rgba(10, 132, 255, .28);--shadow-bubble-highlight: 0 0 0 2px var(--line-bubble-highlight), 0 .65rem 1.3rem rgba(255, 209, 102, .2);--shadow-dialog: 0 24px 46px rgba(3, 8, 16, .58);--shadow-media: 0 .9rem 2.4rem rgba(0, 0, 0, .52);--shadow-menu: 0 12px 26px rgba(2, 10, 22, .45);--shadow-install-hint: 0 14px 26px rgba(3, 10, 22, .45);--shadow-unread-badge: 0 .28rem .7rem rgba(255, 138, 160, .26)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--gradient-body);color:var(--text-strong)}button,input,textarea{font:inherit}button{cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:disabled,input:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.auth-page,.chat-page,.chat-shell{width:min(78rem,var(--visual-viewport-width, 100%));max-width:100%;margin:0 auto;height:min(100dvh,100svh);min-height:min(100dvh,100svh);padding-top:calc(1rem + var(--safe-top));padding-right:calc(1rem + var(--safe-right));padding-bottom:calc(1rem + var(--safe-bottom));padding-left:calc(1rem + var(--safe-left))}.auth-page{display:grid;place-items:center}.auth-card{width:min(28rem,100%);padding:1.15rem;display:grid;gap:.95rem;background:var(--surface-raised);border:1px solid var(--line-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.auth-eyebrow,.chat-header-eyebrow,.chat-shell-eyebrow{margin:0;color:var(--text-muted);font-size:.77rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.auth-title,.chat-header-title,.chat-shell-title{margin:.22rem 0 0;font-size:1.3rem;line-height:1.2;letter-spacing:-.01em}.auth-description{margin:0;color:var(--text-muted)}.auth-mode-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.auth-mode-button{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:.6rem .75rem;background:var(--surface-input);color:var(--text-muted);font-weight:600}.auth-mode-button:hover{background:var(--surface-hover)}.auth-mode-button-active{border-color:var(--line-accent-active);color:var(--accent-ink);background:var(--accent-soft)}.auth-form,.stack-form{display:grid;gap:.7rem}.auth-field,.chat-field{display:grid;gap:.34rem}.auth-field span,.chat-field span{color:var(--text-muted);font-size:.83rem;font-weight:500}.auth-field .auth-field-hint{font-size:.78rem;font-weight:400;line-height:1.35}.auth-field-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.auth-toggle{border:0;background:transparent;color:var(--accent-ink);font-size:.78rem;font-weight:600;padding:0;min-height:0}.auth-field input,.chat-field input,.chat-field select,.chat-field textarea,.stack-form textarea{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:.72rem .84rem;background:var(--surface-input);color:var(--text-strong);min-height:2.7rem}.chat-field textarea,.stack-form textarea{resize:vertical;min-height:4.2rem}.auth-remember{display:flex;align-items:flex-start;gap:.65rem;padding:.66rem .72rem;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-input)}.auth-remember input{width:1rem;height:1rem;min-width:1rem;margin:.16rem 0 0;accent-color:var(--accent)}.auth-remember-copy{display:grid;gap:.15rem;min-width:0}.auth-remember-label{color:var(--text-strong);font-size:.9rem;font-weight:600}.auth-remember-helper{color:var(--text-muted);font-size:.78rem;line-height:1.35}.auth-confirmation{display:grid;gap:.68rem;padding:.72rem 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.auth-confirmation-title{margin:0;color:var(--text-strong);font-size:.96rem;line-height:1.3}.auth-confirmation-body{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.45;overflow-wrap:anywhere}.auth-confirmation-meta{display:grid;gap:.42rem;margin:0;padding:0}.auth-confirmation-meta div{display:grid;grid-template-columns:minmax(5.6rem,auto) minmax(0,1fr);gap:.5rem;align-items:baseline}.auth-confirmation-meta dt{color:var(--text-muted);font-size:.76rem;font-weight:600}.auth-confirmation-meta dd{min-width:0;margin:0;color:var(--text-strong);font-size:.8rem;overflow-wrap:anywhere}.auth-confirmation-resend-row{display:flex;align-items:center;gap:.62rem;flex-wrap:wrap}.auth-resend-button{border:1px solid var(--line-accent-soft);border-radius:var(--radius-sm);min-height:2.35rem;padding:.48rem .72rem;background:var(--surface-input);color:var(--accent-ink);font-size:.84rem;font-weight:700}.auth-resend-button:hover{background:var(--surface-hover)}.auth-confirmation-resend-hint{min-width:0;color:var(--text-muted);font-size:.76rem;line-height:1.35;overflow-wrap:anywhere}.auth-disclaimer{display:grid;gap:.48rem;padding:.72rem 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.auth-disclaimer-title{margin:0;color:var(--text-strong);font-size:.92rem;line-height:1.3}.auth-disclaimer-body,.auth-disclaimer-version{margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.45;overflow-wrap:anywhere}.auth-disclaimer-body{white-space:pre-line}.auth-disclaimer-version{display:flex;flex-wrap:wrap;gap:.35rem}.auth-disclaimer-version code{color:var(--text-strong);font-family:inherit;font-size:.76rem}.auth-disclaimer-accept{display:flex;align-items:flex-start;gap:.58rem;color:var(--text-strong);font-size:.86rem;font-weight:600;line-height:1.35}.auth-disclaimer-accept input{width:1rem;height:1rem;min-width:1rem;margin:.12rem 0 0;accent-color:var(--accent)}.auth-error,.auth-status,.inline-error{margin:0;border-radius:var(--radius-sm);padding:.58rem .72rem;font-size:.9rem}.auth-error,.inline-error{border:1px solid var(--line-danger-soft);background:var(--surface-danger-soft);color:var(--danger)}.auth-status{border:1px solid var(--line-success);background:var(--surface-success-soft);color:var(--text-success)}.primary-button,.secondary-button,.danger-button,.auth-submit{border:1px solid transparent;border-radius:var(--radius-sm);min-height:2.7rem;padding:.58rem .86rem;font-weight:600}.primary-button,.auth-submit{background:var(--gradient-primary);color:var(--text-on-accent)}.primary-button:hover,.auth-submit:hover{transform:translateY(-1px);box-shadow:var(--shadow-primary-hover)}.secondary-button{border-color:var(--line-soft);background:var(--surface-input);color:var(--text-strong)}.secondary-button:hover{background:var(--surface-hover)}.danger-button{border-color:var(--line-danger);background:var(--surface-danger-soft);color:var(--danger)}.danger-button:hover{border-color:var(--line-danger-strong)}.icon-button{border:1px solid var(--line-soft);border-radius:.78rem;background:var(--surface-input);color:var(--text-strong);width:2.65rem;height:2.65rem;padding:0;display:inline-grid;place-items:center}.icon-button:hover{transform:translateY(-1px)}.icon-button svg{width:1.05rem;height:1.05rem}.icon-button-primary{background:var(--gradient-primary);border-color:transparent;color:var(--text-on-accent)}.icon-button-primary:hover{box-shadow:var(--shadow-primary-hover-strong)}.icon-button-ghost{background:var(--surface-hover)}.icon-button-danger{border-color:var(--line-danger);background:var(--surface-danger-soft);color:var(--danger)}.icon-button-active{border-color:var(--line-accent-focus);box-shadow:var(--shadow-accent-outline)}.chat-page,.chat-shell{display:grid;gap:.8rem;overflow:hidden;animation:chat-shell-enter .28s ease}.chat-shell-list{grid-template-rows:auto auto minmax(0,1fr);min-height:0}.chat-shell-thread{grid-template-rows:auto minmax(0,1fr);min-height:0}.chat-shell-list>*,.chat-shell-thread>*{min-width:0}.chat-header,.chat-shell-head{background:var(--gradient-header);border:1px solid var(--line-soft);border-radius:var(--radius-xl);padding:.82rem .92rem;display:flex;align-items:center;justify-content:space-between;gap:.72rem;box-shadow:var(--shadow-soft)}.chat-shell-heading{min-width:0}.chat-shell-heading-with-avatar{display:flex;align-items:center;gap:.6rem}.chat-shell-heading-copy{min-width:0}.chat-head-actions{display:inline-flex;align-items:center;gap:.45rem}.chat-shell-title,.chat-header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-section,.conversation-rail,.composer-lane{background:var(--surface-raised);border:1px solid var(--line-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.chat-section{padding:.86rem}.chat-section-title,.lane-title{margin:0;font-size:.95rem;letter-spacing:.01em}.section-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.64rem}.muted-line{margin:0;color:var(--text-muted)}.status-pill{margin:0;width:fit-content;border-radius:999px;border:1px solid var(--line-soft);padding:.24rem .62rem;color:var(--text-muted);background:var(--surface-input);font-size:.79rem;font-weight:500}.conversation-rail{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;overflow:hidden}.composer-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.composer-lane{padding:var(--space-3);flex-shrink:0}.composer-lane-inline{background:var(--surface-muted);border-radius:0;border-inline:0;box-shadow:none;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.start-chat-type-menu{margin-top:.65rem;display:grid;gap:.44rem;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-height .18s ease,opacity .14s ease}.start-chat-type-menu-open{max-height:18rem;opacity:1;pointer-events:auto}.chat-type-option{width:100%;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-strong);padding:.56rem .62rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.56rem;align-items:center;text-align:left}.chat-type-option:hover{background:var(--surface-hover);border-color:var(--line-accent-soft)}.chat-type-option-icon{width:1.7rem;height:1.7rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);display:inline-grid;place-items:center}.chat-type-option-icon svg{width:.95rem;height:.95rem}.chat-type-option-text{min-width:0;display:grid}.chat-type-option-label{font-weight:600;line-height:1.15}.chat-type-option-note{color:var(--text-subtle);font-size:.78rem}.create-panel{margin-top:.66rem;border:1px solid var(--line-panel);background:var(--surface-panel);border-radius:var(--radius-md);padding:.74rem}.create-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.62rem}.identifier-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.52rem}.identifier-editor-row input{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:.72rem .84rem;background:var(--surface-input);color:var(--text-strong);min-height:2.7rem}.identifier-chip-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.46rem}.identifier-chip-list li{display:inline-flex;align-items:center;gap:.34rem}.identifier-chip{border-radius:999px;background:var(--surface-chip);color:var(--accent-ink);border:1px solid var(--line-chip);padding:.2rem .58rem;font-size:.78rem;font-weight:600}.identifier-chip-remove{border:0;background:transparent;color:var(--text-muted);font-size:.76rem;line-height:1;padding:0;min-height:0}.create-panel-validation{margin:0;color:var(--text-muted);font-size:.82rem}.create-panel-validation-ready{color:var(--text-success-strong)}.create-panel-validation-error{color:var(--danger)}.create-panel-secret{background:var(--gradient-panel-secret)}.contacts-panel{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--surface-muted);padding:var(--space-3);display:grid;gap:var(--space-3);max-width:100%;min-width:0;min-height:0;overflow:clip}.contacts-panel[aria-hidden=true]{display:none}.contacts-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.contacts-panel-head .chat-shell-heading{min-width:0}.contacts-add-form{display:grid;grid-template-columns:minmax(0,1fr) 2.65rem;gap:.5rem;align-items:end;min-width:0}.contacts-lookup-field{min-width:0}.contacts-feedback{max-width:100%;width:auto;overflow-wrap:anywhere}.contacts-feedback-success{border-color:var(--line-success);color:var(--text-success);background:var(--surface-success-soft)}.contacts-feedback-error{border-color:var(--line-danger-soft);color:var(--danger);background:var(--surface-danger-soft)}.contacts-list{margin:0;padding:0;list-style:none;display:grid;gap:.52rem;max-height:min(45dvh,24rem);min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.contact-row{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-input);padding:.58rem;display:grid;grid-template-columns:2.32rem minmax(0,1fr) auto;align-items:center;gap:.62rem;max-width:100%;min-width:0}.contact-avatar{width:2.32rem;height:2.32rem;border-radius:999px;border:1px solid var(--line-avatar);background:var(--gradient-avatar);color:var(--text-on-accent);display:grid;place-items:center;overflow:hidden;font-size:.82rem;font-weight:800;flex:0 0 2.32rem}.contact-avatar img{width:100%;height:100%;object-fit:cover}.contact-content{min-width:0;display:grid;gap:.08rem}.contact-content>*{min-width:0}.contact-title{color:var(--text-strong);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-secondary,.contact-status{color:var(--text-subtle);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-status{color:var(--text-muted);display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.contact-actions{display:inline-flex;align-items:center;gap:.38rem;min-width:max-content;justify-content:flex-end}.contact-actions .icon-button{flex:0 0 2.65rem}.discovery-panel{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--surface-muted);padding:var(--space-3);display:grid;gap:var(--space-3);max-width:100%;min-width:0;min-height:0;overflow:clip}.discovery-panel[aria-hidden=true]{display:none}.discovery-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.discovery-search-form{display:grid;grid-template-columns:minmax(0,1fr) 2.65rem;gap:.5rem;align-items:end;min-width:0}.discovery-search-field{min-width:0}.discovery-feedback{max-width:100%;width:auto;overflow-wrap:anywhere}.discovery-feedback-success{border-color:var(--line-success);color:var(--text-success);background:var(--surface-success-soft)}.discovery-feedback-error{border-color:var(--line-danger-soft);color:var(--danger);background:var(--surface-danger-soft)}.discovery-list{margin:0;padding:0;list-style:none;display:grid;gap:.52rem;max-height:min(45dvh,24rem);min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.discovery-row{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-input);padding:.58rem;display:grid;grid-template-columns:2.32rem minmax(0,1fr) auto;align-items:center;gap:.62rem;max-width:100%;min-width:0}.discovery-avatar{width:2.32rem;height:2.32rem;border-radius:999px;border:1px solid var(--line-avatar);background:var(--gradient-avatar);color:var(--text-on-accent);display:grid;place-items:center;overflow:hidden;font-size:.82rem;font-weight:800;flex:0 0 2.32rem}.discovery-avatar-image{width:100%;height:100%;object-fit:cover}.discovery-content{min-width:0;display:grid;gap:.12rem}.discovery-content>*{min-width:0}.discovery-title-line{display:flex;align-items:center;gap:.36rem;min-width:0}.discovery-title{color:var(--text-strong);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discovery-kind-badge,.discovery-state-badge{border:1px solid var(--line-chip);border-radius:999px;background:var(--surface-chip);color:var(--accent-ink);padding:.16rem .46rem;font-size:.7rem;font-weight:700;line-height:1;white-space:nowrap}.discovery-kind-badge-channel{background:var(--surface-chip-soft)}.discovery-meta,.discovery-description{color:var(--text-subtle);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discovery-description{color:var(--text-muted);display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.discovery-actions{display:inline-flex;align-items:center;gap:.38rem;min-width:max-content;justify-content:flex-end}.discovery-action-button,.discovery-state-badge{min-height:2.38rem;display:inline-flex;align-items:center;justify-content:center;gap:.34rem}.discovery-action-button{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-strong);padding:.42rem .62rem;font-size:.82rem;font-weight:700;white-space:nowrap}.discovery-action-button:hover{border-color:var(--line-accent-soft);background:var(--surface-hover)}.discovery-action-button svg,.discovery-state-badge svg{width:.94rem;height:.94rem;flex:0 0 auto}.metadata-editor-panel{margin-bottom:.72rem;border:1px solid var(--line-panel);border-radius:var(--radius-md);background:var(--surface-panel);padding:.72rem;display:grid;gap:.58rem}.metadata-editor-head{display:grid;gap:.2rem}.metadata-editor-form{display:grid;gap:.56rem}.metadata-editor-validation{margin:0;font-size:.82rem;color:var(--text-muted)}.metadata-editor-validation-ready{color:var(--text-success-strong)}.metadata-editor-validation-error{color:var(--danger)}.metadata-editor-actions{display:flex;justify-content:flex-end;gap:.48rem}.metadata-editor-avatar-actions{display:flex;flex-wrap:wrap;gap:.45rem}.metadata-editor-success{margin:0;color:var(--text-success-strong);font-size:.84rem;font-weight:600}.manage-members-panel{margin-bottom:.72rem;border:1px solid var(--line-panel);border-radius:var(--radius-md);background:var(--surface-panel);padding:.72rem;display:grid;gap:.58rem}.manage-members-head{display:grid;gap:.2rem}.manage-members-list{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}.manage-members-list-item{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:.45rem .55rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;background:var(--surface-input)}.manage-members-entry-meta{min-width:0;display:grid;gap:.12rem}.manage-members-entry-id{font-size:.82rem;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manage-members-entry-role{font-size:.74rem;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em}.manage-members-entry-protected{font-size:.74rem;color:var(--text-subtle)}.manage-members-form{display:grid;gap:.56rem}.manage-members-actions{display:flex;justify-content:flex-end;gap:.48rem}.manage-members-success{margin:0;color:var(--text-success-strong);font-size:.84rem;font-weight:600}.direct-delete-panel,.lifecycle-panel{margin-bottom:.72rem;border:1px solid var(--line-panel);border-radius:var(--radius-md);background:var(--surface-panel);padding:.72rem;display:grid;gap:.58rem}.direct-delete-panel-head,.direct-delete-form,.lifecycle-panel-head,.lifecycle-form{display:grid;gap:.56rem}.direct-delete-confirmation-hint,.lifecycle-confirmation-hint{margin:0;color:var(--text-muted);font-size:.82rem}.direct-delete-actions,.lifecycle-actions{display:flex;justify-content:flex-end;gap:.48rem}.lifecycle-success,.lifecycle-closed-state{margin:0 0 .72rem;color:var(--text-success-strong);font-size:.84rem;font-weight:600}.lifecycle-closed-state{color:var(--text-muted)}.conversation-list-shell{padding:var(--space-3);min-height:0;display:grid;gap:.68rem;grid-template-rows:auto minmax(0,1fr);overflow:hidden;align-content:start}.conversation-list{margin:0;padding:0;list-style:none;display:grid;gap:.44rem;min-height:0;overflow:auto;align-content:start}.conversation-list-row,.conversation-card{width:100%;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;padding:.65rem .66rem;text-align:left;display:grid;grid-template-columns:2.15rem minmax(0,1fr);align-items:center;gap:.64rem;color:inherit;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.conversation-list-row:hover,.conversation-card:hover{background:var(--surface-hover);border-color:var(--line-accent-hover);transform:translate(2px)}.conversation-list-row:focus-within,.conversation-card:focus-visible{border-color:var(--line-accent-focus)}.conversation-item{width:100%;min-width:0;height:100%;border:0;background:transparent;padding:0;text-align:left;display:grid;align-items:center;color:inherit;cursor:pointer}.conversation-item:focus-visible{outline:2px solid var(--line-accent-focus);outline-offset:.18rem;border-radius:calc(var(--radius-md) - .18rem)}.conversation-item-active{border-color:var(--line-accent-active);background:var(--accent-soft)}.conversation-title{min-width:0;flex:1 1 auto;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-meta{flex:none;color:var(--text-subtle);font-size:.8rem;white-space:nowrap}.conversation-avatar{position:relative;width:2.15rem;height:2.15rem;border-radius:999px;background:var(--gradient-avatar);color:var(--text-on-accent);display:grid;place-items:center;font-weight:700;font-size:.86rem;overflow:visible}.conversation-avatar-button,.conversation-avatar-shell{width:2.15rem;height:2.15rem;border:0;border-radius:999px;background:transparent;padding:0;color:inherit;display:grid;place-items:center}.conversation-avatar-button{cursor:zoom-in}.conversation-avatar-button:focus-visible{outline:2px solid var(--line-accent-focus);outline-offset:.18rem}.conversation-avatar-thread{flex:none}.conversation-unread-badge{position:absolute;top:-.34rem;right:-.34rem;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:1.12rem;height:1.12rem;padding:0 .3rem;border:2px solid var(--surface-raised);border-radius:999px;background:var(--surface-unread-badge);box-shadow:var(--shadow-unread-badge);color:var(--text-unread-badge);font-size:.64rem;font-weight:800;line-height:1;letter-spacing:-.02em;pointer-events:none}.conversation-avatar-image{width:100%;height:100%;border-radius:inherit;object-fit:cover;display:block}.conversation-content{min-width:0;display:grid;gap:.1rem;overflow:hidden}.conversation-topline{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.conversation-type-badge{flex:none;display:inline-flex;align-items:center;gap:.2rem;color:var(--text-subtle);font-size:.72rem;white-space:nowrap}.conversation-type-badge svg{width:.84rem;height:.84rem}.conversation-preview{color:var(--text-subtle);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.realtime-dot{width:.68rem;height:.68rem;border-radius:999px;display:inline-block;border:1px solid transparent}.realtime-dot-online{background:var(--status-online)}.realtime-dot-busy{background:var(--status-busy)}.realtime-dot-offline{background:var(--status-offline)}.messenger-window{background:var(--surface-raised);border:1px solid var(--line-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);min-height:0;overflow:hidden;display:flex;flex-direction:column}.messenger-window>*{min-width:0}.messenger-search-panel{border-bottom:1px solid var(--line-soft);background:var(--surface-muted);padding:.65rem;flex-shrink:0}.messenger-timeline{position:relative;padding:.8rem;overflow:auto;display:grid;gap:.64rem;min-height:0;flex:1 1 auto;align-content:start}.messenger-timeline.message-selection-active{isolation:isolate}.message-selection-backdrop{position:absolute;inset:0;z-index:1;background:color-mix(in oklab,var(--surface-scrim) 42%,transparent);backdrop-filter:blur(1.6px);pointer-events:none}.message-list{margin:0;padding:0;list-style:none;display:grid;gap:.54rem}.message-list-virtualized{position:relative;display:block;width:100%;min-width:0;overflow:hidden}.message-row{display:flex;align-items:flex-start;min-width:0}.message-row-virtualized{position:absolute;top:0;left:0;width:100%;min-width:0;box-sizing:border-box;padding-bottom:.54rem;will-change:transform}.message-row-selected{z-index:3;flex-direction:column;align-items:flex-start;gap:.38rem}.message-row-selected.message-row-own{align-items:flex-end;justify-content:flex-start}.message-row-selection-dimmed{z-index:0;opacity:.42;filter:blur(.35px) saturate(.78);transition:opacity .14s ease,filter .14s ease}.message-row-own{justify-content:flex-end}.message-bubble{position:relative;width:fit-content;min-width:min(8rem,100%);max-width:min(86%,34rem);min-inline-size:0;border:1px solid var(--line-bubble-incoming);background:var(--surface-bubble-incoming);color:var(--text-bubble-incoming);border-radius:var(--bubble-radius) var(--bubble-radius) var(--bubble-radius) var(--bubble-corner-tight);box-shadow:var(--shadow-bubble-incoming);padding:.68rem .82rem;display:grid;gap:.45rem;overflow-wrap:anywhere;animation:bubble-enter .22s ease}.message-bubble:after{content:"";position:absolute;left:.22rem;bottom:.18rem;width:.78rem;height:.78rem;background:var(--surface-bubble-incoming);clip-path:polygon(0 100%,100% 28%,100% 100%);pointer-events:none}.message-bubble-incoming{margin-right:auto}.message-bubble-own{margin-left:auto;border-color:var(--line-bubble-own);background:var(--surface-bubble-own);color:var(--text-bubble-own);border-radius:var(--bubble-radius) var(--bubble-radius) var(--bubble-corner-tight) var(--bubble-radius);box-shadow:var(--shadow-bubble-own)}.message-bubble-own:after{right:.22rem;left:auto;background:var(--surface-bubble-own);clip-path:polygon(0 28%,100% 100%,0 100%)}.message-bubble-deleted{border-color:var(--line-soft);background:var(--surface-bubble-deleted);color:var(--text-muted);opacity:.9}.message-bubble-deleted:after{background:var(--surface-bubble-deleted)}.message-bubble-highlighted{border-color:var(--line-bubble-highlight);box-shadow:var(--shadow-bubble-highlight)}.message-bubble-action-revealable{touch-action:pan-y}.message-bubble-action-revealable:focus-visible{outline:2px solid var(--line-accent-focus);outline-offset:3px}.message-bubble-actions-active{z-index:1}.message-bubble-selected{box-shadow:var(--shadow-dialog)}.message-bubble-selection-dimmed{box-shadow:none}.message-meta{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;color:var(--text-bubble-incoming-muted);font-size:.78rem}.message-meta-author{font-weight:600}.message-meta-time{color:var(--text-bubble-incoming-muted);white-space:nowrap}.message-receipt-status{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.08rem;height:.72rem;color:var(--text-receipt-neutral);line-height:1;align-self:center}.message-receipt-status-ticks{position:relative;display:inline-block;width:1.08rem;height:.72rem}.message-receipt-status-tick{position:absolute;bottom:.2rem;width:.46rem;height:.24rem;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg);transform-origin:center}.message-receipt-status-tick-primary{left:.1rem}.message-receipt-status-tick-secondary{left:.42rem}.message-receipt-status-sent .message-receipt-status-tick-primary{left:.3rem}.message-state{margin:0;font-size:.74rem;color:var(--text-bubble-state);text-transform:uppercase;letter-spacing:.05em}.message-bubble-own .message-meta,.message-bubble-own .message-meta-time,.message-bubble-own .message-state{color:var(--text-bubble-own-muted)}.message-body{margin:0;color:inherit;white-space:pre-wrap;word-break:break-word}.message-reference-preview{width:100%;max-width:100%;min-width:0;border:0;border-left:2px solid var(--line-chip-strong);border-radius:.5rem;background:var(--surface-chip-soft);color:inherit;display:grid;gap:.12rem;padding:.36rem .5rem;text-align:left;font:inherit;box-sizing:border-box}.message-reference-preview-clickable{cursor:pointer}.message-reference-preview-clickable:hover,.message-reference-preview-clickable:focus-visible{border-left-color:var(--accent);outline:0}.message-reference-preview-meta{color:var(--text-bubble-incoming-muted);font-size:.72rem;font-weight:700;line-height:1.15}.message-reference-preview-body{color:inherit;display:-webkit-box;font-size:.82rem;line-height:1.28;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.message-bubble-own .message-reference-preview{border-left-color:var(--line-bubble-own-action);background:var(--surface-bubble-own-action)}.message-bubble-own .message-reference-preview-meta{color:var(--text-bubble-own-muted)}.composer-reference-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.42rem}.composer-reference-preview .message-reference-preview{min-height:2.4rem}.composer-reference-preview .icon-button{align-self:stretch;min-width:2.4rem}.forward-target-picker{max-width:min(28rem,calc(100vw - 2rem))}.forward-target-list{display:grid;gap:.45rem;max-height:min(24rem,54vh);overflow:auto}.forward-target-button{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--text-strong);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem;min-height:2.8rem;padding:.55rem .65rem;text-align:left}.forward-target-button:hover,.forward-target-button:focus-visible{border-color:var(--accent);outline:0}.forward-target-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.forward-target-kind{color:var(--text-muted);font-size:.75rem;font-weight:700;text-transform:capitalize}.message-attachment-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem}.message-attachment-pill{border-radius:999px;border:1px solid var(--line-chip-strong);background:var(--surface-chip-strong);color:var(--accent-ink);font-size:.74rem;padding:.24rem .48rem}.message-photo-attachment{border:1px solid var(--line-soft);border-radius:var(--bubble-media-radius);overflow:hidden;background:var(--surface-media);width:min(100%,16rem)}.message-photo-attachment-button{border:0;padding:0;margin:0;display:inline-flex;cursor:zoom-in;background:transparent}.message-photo-attachment img{display:block;width:100%;max-height:16rem;object-fit:cover}.message-bubble-own .message-attachment-pill,.message-bubble-own .voice-attachment-play,.message-bubble-own .icon-button-ghost,.message-bubble-own .icon-button-danger{border-color:var(--line-bubble-own-action);background:var(--surface-bubble-own-action);color:var(--text-bubble-own)}.voice-attachment-play{border:1px solid var(--line-chip-strong);border-radius:999px;background:var(--surface-chip-soft);color:var(--accent-ink);display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.3rem .6rem;font-size:.74rem;font-weight:600}.voice-attachment-play svg{width:.9rem;height:.9rem}.voice-attachment-audio{width:100%;max-width:100%}.voice-attachment-audio .audio-player-wrapper{padding:.55rem}.voice-attachment-audio-native{width:100%;display:block}.message-attachment-item-voice{width:100%}.notification-target-modal-scrim{position:fixed;inset:0;z-index:1250;background:var(--surface-scrim);display:flex;align-items:center;justify-content:center;padding-top:calc(1rem + var(--safe-top));padding-right:calc(1rem + var(--safe-right));padding-bottom:calc(1rem + var(--safe-bottom));padding-left:calc(1rem + var(--safe-left))}.notification-target-modal{width:min(100%,26rem);border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface-input);box-shadow:var(--shadow-dialog);padding:1rem;display:grid;gap:.7rem}.notification-target-modal-title{margin:0;font-size:1.1rem;line-height:1.25}.notification-target-modal-body{margin:0;color:var(--text-muted)}.notification-target-modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.media-lightbox{position:fixed;inset:0;z-index:1200;background:var(--surface-scrim-strong);display:flex;align-items:center;justify-content:center;padding-top:calc(1rem + var(--safe-top));padding-right:calc(1rem + var(--safe-right));padding-bottom:calc(1rem + var(--safe-bottom));padding-left:calc(1rem + var(--safe-left))}.media-lightbox-content{position:relative;max-width:min(96vw,60rem);max-height:min(92vh,60rem);width:100%;display:flex;align-items:center;justify-content:center}.media-lightbox-image{display:block;max-width:100%;max-height:92vh;width:auto;height:auto;border-radius:.75rem;box-shadow:var(--shadow-media)}.media-lightbox-close{position:absolute;top:.4rem;right:.4rem;background:var(--surface-overlay)}.avatar-preview-dialog{position:fixed;inset:0;z-index:1210;background:var(--surface-scrim-strong);display:flex;align-items:center;justify-content:center;padding-top:calc(1rem + var(--safe-top));padding-right:calc(1rem + var(--safe-right));padding-bottom:calc(1rem + var(--safe-bottom));padding-left:calc(1rem + var(--safe-left))}.avatar-preview-content{position:relative;width:min(88vw,30rem);max-width:100%;display:grid;place-items:center}.avatar-preview-image{width:min(82vw,calc(100vh - 7rem),28rem);height:min(82vw,calc(100vh - 7rem),28rem);border:1px solid var(--line-soft);border-radius:999px;background:var(--surface-raised);box-shadow:var(--shadow-media);object-fit:cover;display:block}@supports (height: 100dvh){.avatar-preview-image{width:min(82vw,calc(100dvh - 7rem),28rem);height:min(82vw,calc(100dvh - 7rem),28rem)}}.avatar-preview-close{position:absolute;top:.25rem;right:.25rem;background:var(--surface-overlay)}.message-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.42rem}.message-bubble-actions{max-width:100%;justify-self:end;align-items:center;border:1px solid var(--line-bubble-own-action);border-radius:999px;background:var(--surface-bubble-own-action);padding:.16rem}.message-bubble-actions .icon-button{flex:0 0 auto;min-width:2rem;min-height:2rem}.message-selection-menu{max-width:min(86%,34rem);align-self:flex-start;align-items:center;justify-content:center;flex-wrap:nowrap;border:1px solid var(--line-soft);border-radius:999px;background:var(--surface-overlay);box-shadow:var(--shadow-menu);padding:.2rem;backdrop-filter:blur(10px);box-sizing:border-box;z-index:4}.message-row-own .message-selection-menu{align-self:flex-end}.message-selection-menu .icon-button{flex:0 0 auto;min-width:2.12rem;min-height:2.12rem}.message-bubble-pending{border-style:dashed;background:var(--surface-bubble-pending)}.message-bubble-pending:after{background:var(--surface-bubble-pending)}.message-bubble-own.message-bubble-pending{background:var(--surface-bubble-own)}.message-bubble-own.message-bubble-pending:after{background:var(--surface-bubble-own)}.message-bubble-failed{border-color:var(--line-danger-failed);background:var(--surface-danger-faint);color:var(--text-strong)}.message-bubble-failed:after{background:var(--surface-danger-faint)}.pending-photo-preview{border:1px solid var(--line-soft);border-radius:var(--bubble-media-radius);overflow:hidden;background:var(--surface-media)}.pending-photo-preview img{display:block;width:100%;max-height:14rem;object-fit:cover}.pending-voice-preview{border:1px solid var(--line-soft);border-radius:var(--bubble-media-radius);padding:.4rem;background:var(--surface-media)}.pending-voice-preview audio{width:100%}.pending-photo-status{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.pending-photo-progress-label{font-size:.78rem;color:inherit;font-weight:600}.pending-photo-spinner{width:.85rem;height:.85rem;border-radius:999px;border:2px solid var(--line-spinner);border-top-color:var(--accent);animation:pending-spin .78s linear infinite}.pending-photo-error{margin:0;font-size:.78rem;color:var(--danger)}.messenger-composer{border-top:1px solid var(--line-strong);background:var(--surface-composer);padding-top:.62rem;padding-right:calc(.62rem + var(--safe-right));padding-bottom:calc(.62rem + var(--safe-bottom));padding-left:calc(.62rem + var(--safe-left))}.message-composer-input{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:.65rem .78rem;background:var(--surface-input);color:var(--text-strong);font-size:16px;line-height:1.35;min-height:2.7rem;max-width:100%;width:100%;resize:vertical}.composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.composer-media-menu-shell{position:relative;display:inline-flex}.composer-media-menu{position:absolute;right:0;bottom:calc(100% + .5rem);min-width:9.5rem;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-input);box-shadow:var(--shadow-menu);display:grid;gap:.1rem;padding:.35rem;z-index:8}.composer-media-menu-item{border:1px solid transparent;border-radius:.62rem;background:transparent;color:var(--text-strong);min-height:2.25rem;padding:.4rem .5rem;display:inline-flex;align-items:center;gap:.45rem;justify-content:flex-start;font-weight:600}.composer-media-menu-item:hover:not(:disabled){background:var(--surface-hover);border-color:var(--line-menu-hover)}.composer-media-menu-item:disabled{color:var(--text-subtle);background:var(--surface-panel)}.composer-media-menu-item svg{width:1rem;height:1rem}.composer-photo-input{display:none}.voice-recorder-panel{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface-panel);display:grid;gap:.55rem;padding:.6rem .7rem}.voice-recorder-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.voice-recorder-cancel{min-height:2.2rem;padding:.36rem .6rem}.voice-record-live{display:grid;gap:.45rem}.voice-record-hold{border:1px solid var(--line-voice-hold);border-radius:999px;min-height:2.75rem;background:var(--surface-input);color:var(--text-strong);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.45rem .8rem;font-weight:600}.voice-record-hold-active{border-color:var(--line-voice-active);background:var(--surface-chip-soft);color:var(--accent-ink)}.voice-record-hold svg{width:1rem;height:1rem}.voice-record-timer{margin:0;color:var(--accent-ink);font-variant-numeric:tabular-nums;font-weight:700;font-size:.92rem}.voice-preview-shell{display:grid;gap:.52rem}.voice-preview-shell audio{width:100%}.search-panel{display:grid;gap:.62rem}.search-panel-head{margin-bottom:0}.search-panel-form{gap:.58rem}.search-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.search-field-inline{gap:0}.search-field-inline input{min-height:2.5rem}.search-scope-toggle{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.88rem}.search-results-block{display:grid;gap:.55rem}.search-results-meta{font-size:.83rem;color:var(--text-muted)}.search-results-list{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.search-result-card{border:1px solid var(--line-soft);background:var(--surface-input);border-radius:var(--radius-md);padding:.7rem;display:grid;gap:.42rem}.search-result-header{display:flex;justify-content:space-between;gap:.5rem}.search-result-title{margin:0;font-weight:600}.search-result-snippet{margin:0;white-space:pre-wrap;word-break:break-word}.search-result-highlight{margin:0;font-size:.8rem;color:var(--text-subtle)}@keyframes chat-shell-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes bubble-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pending-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.notification-install-hint{position:fixed;right:calc(1rem + var(--safe-right));bottom:calc(1rem + var(--safe-bottom));width:min(24rem,calc(100vw - 2rem - var(--safe-left) - var(--safe-right)));z-index:25;display:grid;gap:.55rem;padding:.78rem .86rem;border-radius:var(--radius-md);border:1px solid var(--line-install-hint);background:var(--gradient-install-hint);box-shadow:var(--shadow-install-hint);pointer-events:none}.notification-install-hint-title{margin:0;font-size:.93rem;letter-spacing:.01em}.notification-install-hint-body{margin:0;color:var(--text-muted);font-size:.82rem}.notification-install-hint-steps{margin:0;padding-left:1.08rem;display:grid;gap:.35rem;color:var(--text-muted);font-size:.78rem}@media (min-width: 780px){.chat-page,.chat-shell{padding-top:calc(1.2rem + var(--safe-top));padding-right:calc(1.2rem + var(--safe-right));padding-bottom:calc(1.2rem + var(--safe-bottom));padding-left:calc(1.2rem + var(--safe-left))}.conversation-list-shell,.messenger-timeline,.messenger-composer,.composer-lane{padding:1rem}.message-bubble{max-width:min(80%,38rem)}}@media (max-width: 779px){.auth-page,.chat-page,.chat-shell{margin-block:0;margin-inline-start:max(0px,var(--visual-viewport-left, 0px));margin-inline-end:auto}}@media (min-width: 1080px){.chat-shell-list{grid-template-columns:minmax(0,32rem);justify-content:center}.chat-shell-thread{grid-template-columns:minmax(0,56rem);justify-content:center}}@media (max-width: 560px){.auth-page,.chat-page,.chat-shell{gap:.4rem;padding-top:calc(.72rem + var(--safe-top));padding-right:calc(.72rem + var(--safe-right));padding-bottom:calc(.72rem + var(--safe-bottom));padding-left:calc(.72rem + var(--safe-left))}.auth-confirmation-meta div{grid-template-columns:minmax(0,1fr);gap:.14rem}.auth-confirmation-resend-row{align-items:stretch}.auth-resend-button{width:100%}.chat-page,.chat-shell{padding-bottom:calc(.46rem + var(--safe-bottom))}.chat-header,.chat-shell-head,.chat-section,.messenger-window,.composer-lane{border-radius:1rem}.chat-header,.chat-shell-head{padding:.68rem .78rem}.chat-header-title,.chat-shell-title{font-size:1.12rem}.chat-shell-head{position:sticky;top:calc(.52rem + var(--safe-top));z-index:5;backdrop-filter:blur(5px)}.conversation-list-row,.conversation-card{grid-template-columns:1.95rem minmax(0,1fr);padding:.58rem;gap:.55rem}.conversation-avatar-button,.conversation-avatar-shell,.conversation-avatar{width:1.95rem;height:1.95rem;font-size:.78rem}.conversation-unread-badge{top:-.3rem;right:-.3rem;min-width:1rem;height:1rem;padding:0 .25rem;font-size:.6rem}.conversation-preview{font-size:.76rem}.messenger-search-panel,.messenger-timeline,.messenger-composer,.composer-lane{padding:.62rem}.messenger-composer{padding-top:.56rem;padding-right:calc(.62rem + var(--safe-right));padding-bottom:calc(.56rem + var(--safe-bottom));padding-left:calc(.62rem + var(--safe-left))}.composer-actions{justify-content:flex-end}.manage-members-actions,.metadata-editor-actions{flex-direction:column;align-items:stretch}.identifier-editor-row{grid-template-columns:minmax(0,1fr)}.contacts-panel,.discovery-panel{padding:.62rem}.contacts-add-form,.discovery-search-form{grid-template-columns:minmax(0,1fr) 2.65rem}.contact-row,.discovery-row{gap:.5rem;padding:.52rem;grid-template-columns:2.05rem minmax(0,1fr) auto}.contact-avatar,.discovery-avatar{width:2.05rem;height:2.05rem;font-size:.74rem;flex-basis:2.05rem}.contact-actions,.discovery-actions{gap:.28rem}.message-composer-input{min-height:2.55rem}.message-bubble{width:fit-content;min-width:min(7rem,100%);max-width:min(92%,100%)}.message-selection-menu{max-width:min(92%,100%)}.notification-install-hint{right:calc(.72rem + var(--safe-right));bottom:calc(.72rem + var(--safe-bottom))}}@media (max-width: 380px){.contact-row,.discovery-row{grid-template-columns:2.05rem minmax(0,1fr);align-items:start}.contact-actions,.discovery-actions{grid-column:2;justify-self:start;flex-wrap:wrap;max-width:100%}.discovery-action-button{min-width:min(9rem,100%)}}@media (orientation: landscape) and (max-height: 480px){.chat-page,.chat-shell{gap:.52rem;padding-top:calc(.45rem + var(--safe-top));padding-right:calc(.56rem + var(--safe-right));padding-bottom:calc(.45rem + var(--safe-bottom));padding-left:calc(.56rem + var(--safe-left))}.chat-header,.chat-shell-head{padding:.58rem .7rem}.conversation-list-shell,.messenger-search-panel,.messenger-timeline,.composer-lane{padding:.56rem}.messenger-composer{padding-top:.52rem;padding-right:calc(.56rem + var(--safe-right));padding-bottom:calc(.52rem + var(--safe-bottom));padding-left:calc(.56rem + var(--safe-left))}.chat-shell-head{position:sticky;top:calc(.36rem + var(--safe-top));z-index:6}.message-composer-input{min-height:2.35rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
