.chat-page{flex-direction:column;height:calc(100dvh - var(--app-content-top-offset) - var(--app-content-bottom-offset));gap:0}.chat-page,.chat-panel{display:flex;min-height:0}.chat-panel{flex:1;border-radius:var(--ds-radius-lg);overflow:hidden;border:1px solid var(--ds-border-default);background:var(--ds-surface-card)}.chat-sidebar-v2{width:300px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--ds-border-subtle);background:var(--ds-surface-card)}.chat-sidebar-v2-header{padding:var(--ds-space-6);display:flex;align-items:center;gap:var(--ds-space-4);border-bottom:1px solid var(--ds-border-subtle);flex-shrink:0}.chat-sidebar-v2-title{font-size:var(--fs-lg);font-weight:600;font-family:var(--font-syne);color:var(--ds-text-primary);flex:1;letter-spacing:-.008em}.chat-sidebar-v2-search{padding:10px 14px;flex-shrink:0}.chat-search-v2-wrap{position:relative}.chat-search-v2-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ds-text-tertiary);pointer-events:none}.chat-search-v2{width:100%;box-sizing:border-box;background:var(--ds-surface-input);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-full);padding:8px 14px 8px 34px;font-size:13px;color:var(--ds-text-primary);font-family:var(--ds-font-family-base);outline:none;transition:border-color var(--ds-transition-base)}.chat-search-v2::placeholder{color:var(--ds-text-tertiary)}.chat-search-v2:focus{border-color:var(--ds-border-default)}.chat-filter-tabs{display:flex;padding:0 14px;border-bottom:1px solid var(--ds-border-subtle);flex-shrink:0}.chat-filter-tab{padding:9px 12px;font-size:var(--fs-sm);font-weight:500;color:var(--ds-text-secondary);cursor:pointer;background:none;font-family:var(--ds-font-family-base);border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--ds-transition-base),border-color var(--ds-transition-base);white-space:nowrap;letter-spacing:.01em}.chat-filter-tab:hover{color:var(--ds-text-primary)}.chat-filter-tab-active{color:var(--ds-accent-primary);border-bottom-color:var(--ds-accent-primary)}.chat-contacts-list{flex:1;overflow-y:auto;padding:var(--ds-space-2) 0;list-style:none;margin:0}.chat-contacts-empty{flex-direction:column;gap:var(--ds-space-3);margin:var(--ds-space-6) var(--ds-space-5);padding:var(--ds-space-7) var(--ds-space-5);border:1px solid transparent;border-radius:8px;color:var(--ds-text-secondary);font-size:13px;text-align:center}.chat-contacts-empty,.chat-contacts-empty-icon{display:flex;align-items:center;justify-content:center;background:transparent}.chat-contacts-empty-icon{width:46px;height:46px;border-radius:50%;color:var(--ds-text-tertiary);border:1px solid color-mix(in srgb,var(--ds-border-default) 78%,transparent)}.chat-contacts-empty-icon svg{width:21px;height:21px;stroke-width:1.6}.chat-contacts-empty-requests{gap:12px;border:none;background:transparent}.chat-contacts-empty-requests .chat-contacts-empty-icon{width:46px;height:46px;border-radius:50%;background:transparent;color:var(--ds-text-tertiary);border-color:color-mix(in srgb,var(--ds-border-default) 78%,transparent)}.chat-contacts-empty-requests .chat-contacts-empty-icon svg{width:21px;height:21px;stroke-width:1.6}.chat-contact-row{display:flex;align-items:center;gap:var(--ds-space-5);padding:10px 14px;cursor:pointer;position:relative;transition:background var(--ds-transition-fast)}.chat-contact-row:hover{background:var(--ds-surface-input)}.chat-contact-row-active{background:var(--ds-accent-primary-dim,rgba(16,185,129,.08))}.chat-contact-row-active:before{content:none}.chat-contact-row-skeleton{cursor:default}.chat-contact-row-skeleton:hover{background:transparent}.chat-message-skeleton,.chat-skeleton-avatar,.chat-skeleton-line,.chat-thread-skeleton-avatar{position:relative;overflow:hidden;border:1px solid var(--ds-skeleton-border);background:var(--ds-skeleton-sheen),var(--ds-skeleton-wash),var(--ds-skeleton-base);background-size:260% 100%,auto,auto;animation:skeleton-shimmer var(--ds-skeleton-duration) ease-in-out infinite}.chat-message-skeleton:after,.chat-skeleton-avatar:after,.chat-skeleton-line:after,.chat-thread-skeleton-avatar:after{content:none}.chat-skeleton-avatar{width:46px;height:46px;border-radius:50%}.chat-skeleton-lines{flex:1;display:flex;flex-direction:column;gap:8px}.chat-skeleton-line{height:10px;border-radius:var(--ds-radius-full)}.chat-skeleton-line-name{width:62%}.chat-skeleton-line-preview{width:84%;opacity:.72}.chat-skeleton-compose{width:30px;height:30px;flex-shrink:0}.chat-skeleton-search{height:34px}.chat-skeleton-tabs{gap:var(--ds-space-5);align-items:center;height:39px}.chat-skeleton-tab{width:34px}.chat-skeleton-tabs .chat-skeleton-tab:nth-child(2){width:44px}.chat-skeleton-tabs .chat-skeleton-tab:nth-child(3){width:48px}.chat-skeleton-empty-icon{width:50px;height:50px}.chat-skeleton-empty-title{width:148px;height:16px;margin-top:4px}.chat-skeleton-empty-sub{width:236px;height:12px;opacity:.72}.chat-av-wrap{position:relative;flex-shrink:0}.chat-av-circle{width:46px;height:46px;border-radius:50%;font-size:var(--fs-md)}.chat-av-circle,.chat-av-circle-sm{background:var(--avatar-entity-tile-wash),var(--avatar-entity-tile-bg);border:1px solid var(--avatar-entity-tile-border);box-shadow:var(--avatar-entity-tile-shadow);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--White);flex-shrink:0;letter-spacing:-.02em;overflow:hidden}.chat-av-circle-sm{width:32px;height:32px;font-size:var(--fs-sm);border-radius:50%}.chat-av-circle-lg{width:40px;height:40px;font-size:15px}.chat-av-group{border-radius:var(--ds-radius-md)!important}.chat-av-img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.chat-av-circle--image{background:var(--avatar-user-tile-wash),var(--avatar-user-tile-bg)!important;border:1px solid var(--avatar-user-tile-border)!important;box-shadow:var(--avatar-user-tile-shadow)!important}.chat-avatar-system{letter-spacing:0}.chat-avatar-system.avatar-shell-bordered{border:1px solid color-mix(in srgb,var(--avatar-fallback-border,var(--avatar-fallback-bg,var(--main-card-border))) 82%,rgba(255,255,255,.18))}.chat-avatar-system .avatar-shell-initial{font-family:var(--font-syne)}.chat-av-circle-sm[data-av="0"],.chat-av-circle-sm[data-av="1"],.chat-av-circle-sm[data-av="2"],.chat-av-circle-sm[data-av="3"],.chat-av-circle-sm[data-av="4"],.chat-av-circle-sm[data-av="5"],.chat-av-circle-sm[data-av="6"],.chat-av-circle-sm[data-av="7"],.chat-av-circle[data-av="0"],.chat-av-circle[data-av="1"],.chat-av-circle[data-av="2"],.chat-av-circle[data-av="3"],.chat-av-circle[data-av="4"],.chat-av-circle[data-av="5"],.chat-av-circle[data-av="6"],.chat-av-circle[data-av="7"]{background:var(--avatar-entity-tile-wash),var(--avatar-entity-tile-bg)}.chat-av-online-dot{position:absolute;bottom:1px;right:1px;width:12px;height:12px;border-radius:50%;background:var(--ds-accent-primary);border:2px solid var(--ds-surface-card)}.chat-contact-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.chat-contact-row-top{display:flex;justify-content:space-between;align-items:center;gap:var(--ds-space-2)}.chat-contact-row-name{font-size:13px;font-weight:600;color:var(--ds-text-primary);white-space:nowrap;flex:0 1 auto;min-width:0;display:flex;align-items:center;gap:5px}.chat-contact-row-name-text{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-contact-company-mark{margin-left:1px}.chat-contact-row-time{font-size:11px;color:var(--ds-text-tertiary);flex-shrink:0}.chat-contact-row-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--ds-space-2)}.chat-contact-row-preview{font-size:var(--fs-sm);color:var(--ds-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;display:flex;align-items:center;gap:var(--ds-space-1)}.chat-enc-icon-inline{color:var(--ds-accent-primary);flex-shrink:0}.chat-unread-badge{flex-shrink:0;min-width:20px;height:20px;padding:0 var(--ds-space-2);background:var(--ds-accent-primary);color:#0a1a0d;border-radius:var(--ds-radius-full);font-size:var(--fs-xs);font-weight:700;display:flex;align-items:center;justify-content:center}.chat-unread-badge--muted{background:var(--ds-surface-elevated);border:1px solid var(--ds-border-default);color:var(--ds-text-secondary);font-weight:600}.chat-area-v2{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--ds-surface-card)}.chat-header-menu-wrap{position:relative}.chat-header-v2{justify-content:space-between;padding:var(--ds-space-5) var(--ds-space-7);border-bottom:1px solid var(--ds-border-subtle);flex-shrink:0;background:var(--ds-surface-card)}.chat-header-v2,.chat-header-v2-info{display:flex;align-items:center;gap:var(--ds-space-5)}.chat-header-v2-info{min-width:0;flex:1}.chat-header-v2-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.chat-header-v2-name{display:flex;align-items:center;gap:5px;font-size:15px;font-weight:700;color:var(--ds-text-primary);letter-spacing:-.01em}.chat-header-v2-name,.chat-header-v2-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-v2-sub{font-size:var(--fs-sm);color:var(--ds-text-secondary);line-height:1}.chat-header-v2-sub-online{color:var(--ds-accent-primary)}.chat-header-v2-skeleton{pointer-events:none}.chat-header-v2-skeleton .chat-header-back-btn{pointer-events:auto}.chat-header-skeleton-avatar{flex:0 0 46px}.chat-header-skeleton-name{width:min(210px,42vw);height:12px}.chat-header-skeleton-sub{width:min(130px,30vw);height:9px;opacity:.7}.chat-header-skeleton-actions{gap:var(--ds-space-2)}.chat-header-skeleton-action{width:36px;height:36px;border-radius:50%}.chat-header-v2-actions{gap:2px}.chat-header-v2-actions,.chat-icon-btn{display:flex;align-items:center;flex-shrink:0}.chat-icon-btn{width:36px;height:36px;border-radius:50%;border:2px solid transparent;background:transparent;justify-content:center;cursor:pointer;color:var(--ds-text-secondary);transition:background var(--ds-transition-fast),color var(--ds-transition-fast),border-color var(--ds-transition-fast)}.chat-icon-btn:hover{background:var(--ds-surface-input);color:var(--ds-text-primary)}.chat-icon-btn-enc,.chat-icon-btn-enc:hover{color:var(--ds-accent-primary)}.chat-icon-btn-enc:hover{background:var(--ds-accent-primary-dim)}.chat-icon-btn-open{background:var(--ds-surface-elevated);color:var(--ds-text-primary)}.chat-messages-v2{overflow-y:auto;padding:var(--ds-space-7);gap:2px;min-height:0}.chat-messages-v2,.chat-thread-loader{flex:1;display:flex;flex-direction:column}.chat-thread-loader{justify-content:flex-end;gap:14px;min-height:240px;padding:var(--ds-space-7) var(--ds-space-5) var(--ds-space-6)}.chat-thread-skeleton-row{display:flex;align-items:flex-end;gap:8px;width:100%}.chat-thread-skeleton-row-left{justify-content:flex-start}.chat-thread-skeleton-row-right{justify-content:flex-end}.chat-thread-skeleton-avatar{width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),color-mix(in srgb,var(--ds-surface-elevated) 74%,transparent);opacity:.72}.chat-thread-skeleton-avatar-muted{opacity:.5}.chat-message-skeleton{width:min(420px,58%);height:38px;border-radius:17px;background:linear-gradient(90deg,rgba(255,255,255,.055),rgba(255,255,255,.025)),color-mix(in srgb,var(--ds-surface-elevated) 78%,transparent);box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)}.chat-message-skeleton-left{border-bottom-left-radius:8px}.chat-message-skeleton-right{width:min(360px,48%);border-bottom-right-radius:8px;background:linear-gradient(90deg,rgba(76,175,126,.12),rgba(76,175,126,.075)),color-mix(in srgb,var(--ds-accent-primary-dim) 48%,transparent)}.chat-message-skeleton-short{width:min(260px,42%);height:34px;opacity:.72}.chat-thread-empty{flex:1;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ds-space-4);text-align:center;color:var(--ds-text-secondary)}.chat-thread-empty .chat-state-card{max-width:420px}.chat-thread-empty-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ds-text-tertiary);background:transparent;border:1px solid color-mix(in srgb,var(--ds-border-default) 78%,transparent)}.chat-thread-empty h4{margin:0;color:var(--ds-text-primary);font-family:var(--font-syne);font-size:var(--fs-lg);font-weight:700}.chat-thread-empty p{max-width:34ch;margin:0;font-size:var(--fs-sm);line-height:1.55}.chat-date-sep{display:flex;align-items:center;gap:var(--ds-space-5);margin:14px 0 10px}.chat-date-sep-line{flex:1;height:1px;background:var(--ds-border-subtle)}.chat-date-sep-label{font-size:11px;white-space:nowrap;padding:3px 12px;border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-full);letter-spacing:.02em}.chat-date-sep-label,.chat-system-event{color:var(--ds-text-tertiary);background:var(--ds-surface-elevated)}.chat-system-event{align-self:center;max-width:min(80%,520px);margin:var(--ds-space-2) auto var(--ds-space-3);padding:5px 10px;border:1px solid var(--ds-border-subtle);border-radius:8px;font-size:12px;line-height:1.35;text-align:center}.msg-row{display:flex;margin-bottom:2px}.msg-row-own{justify-content:flex-end}.msg-row-other{justify-content:flex-start;gap:var(--ds-space-3);align-items:flex-end}.msg-col{display:flex;flex-direction:column;max-width:66%}.msg-sender-label{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--ds-accent-primary);margin-bottom:4px;padding-left:14px}.msg-bubble{padding:10px 14px;word-break:break-word}.msg-bubble-own{background:rgba(16,185,129,.14);border:1px solid rgba(16,185,129,.2);border-radius:18px 18px 4px 18px}.msg-bubble-other{background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);border-radius:18px 18px 18px 4px}.msg-text{font-size:var(--fs-base);color:var(--ds-text-primary);line-height:1.5}.msg-bubble-deleted,.msg-bubble-deleted.msg-bubble-other,.msg-bubble-deleted.msg-bubble-own{background:transparent;border:1px dashed var(--ds-border-subtle)}.msg-deleted-tombstone{display:flex;align-items:center;gap:var(--ds-space-2);font-size:var(--fs-sm);font-style:italic;color:var(--ds-text-tertiary);line-height:1.5}.msg-deleted-tombstone svg{flex-shrink:0;opacity:.75}.msg-bubble-deleted .msg-meta{opacity:.7}.msg-meta{display:flex;align-items:center;justify-content:flex-end;gap:var(--ds-space-1);margin-top:5px}.msg-time{font-size:var(--fs-xs);color:var(--ds-text-tertiary);letter-spacing:.01em}.msg-read-check{color:var(--ds-accent-primary);flex-shrink:0}.msg-delivered-check,.msg-sent-check{color:var(--ds-text-tertiary)}.msg-sent-check{flex-shrink:0}.msg-failed-check{color:var(--ds-danger)}.msg-send-failure{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--ds-space-2);margin-top:var(--ds-space-1);padding-inline:var(--ds-space-1)}.msg-send-failure-text{min-width:0;overflow-wrap:anywhere}.msg-send-failure-btn,.msg-send-failure-text{font-size:var(--fs-sm);line-height:1.4;color:var(--ds-danger)}.msg-send-failure-btn{flex-shrink:0;padding:var(--ds-space-1) var(--ds-space-2);margin:calc(var(--ds-space-1) * -1) 0;border:0;border-radius:var(--ds-radius-sm);background:transparent;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.msg-send-failure-btn:hover:not(:disabled){background:var(--ds-danger-bg)}.msg-send-failure-btn:disabled{cursor:default;text-decoration:none;opacity:.7}.msg-avatar-placeholder{width:32px;height:32px;flex-shrink:0}.chat-empty-state{flex:1;flex-direction:column;gap:10px;text-align:center;padding:var(--ds-space-10);background:var(--ds-surface-card)}.chat-empty-icon,.chat-empty-state{display:flex;align-items:center;justify-content:center}.chat-empty-icon{width:50px;height:50px;border-radius:50%;background:transparent;border:1px solid color-mix(in srgb,var(--ds-border-default) 78%,transparent);color:var(--ds-text-tertiary)}.chat-empty-icon svg{width:24px;height:24px;stroke-width:1.6}.chat-empty-icon-sm{width:46px;height:46px}.chat-empty-icon-sm svg{width:21px;height:21px}.chat-empty-icon-loading{animation:chatEmptyIconPulse 1.4s ease-in-out infinite}@keyframes chatEmptyIconPulse{0%,to{opacity:.55}50%{opacity:1}}.chat-empty-title{font-size:clamp(16px,1.2vw,19px);font-weight:700;font-family:var(--font-syne);color:var(--ds-text-primary);margin:4px 0 0;letter-spacing:0;line-height:1.15}.chat-empty-title-sm{font-size:clamp(15px,1.1vw,17px);margin-top:3px}.chat-empty-sub{font-size:clamp(12px,.9vw,13px);color:var(--ds-text-secondary);margin:0;max-width:280px;line-height:1.55}.chat-empty-sub-sm{max-width:320px;font-size:clamp(12px,.9vw,13px)}.chat-empty-meta{color:var(--ds-text-tertiary);font-size:clamp(10px,.78vw,11px);line-height:1.4;margin:2px 0 0}.chat-empty-meta-sm{font-size:clamp(10px,.75vw,11px)}.chat-empty-meta kbd{display:inline-flex;align-items:center;min-height:16px;padding:0 5px;border:1px solid var(--ds-border-subtle);border-radius:5px;background:var(--ds-surface-input);color:var(--ds-text-secondary);font-family:var(--ds-font-family-base);font-size:.8em;font-weight:650}.chat-state-card{width:min(100%,560px);display:flex;flex-direction:column;align-items:center;gap:var(--ds-space-5);padding:var(--ds-space-10) var(--ds-space-9);border:1px solid transparent;border-radius:8px;background:transparent;text-align:center}.chat-state-card--compact{width:100%;align-items:flex-start;text-align:left;gap:var(--ds-space-3);padding:var(--ds-space-5)}.chat-requests-state .chat-state-card{margin:0 auto}.chat-state-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ds-text-tertiary);background:transparent;border:1px solid color-mix(in srgb,var(--ds-border-default) 78%,transparent);flex-shrink:0}.chat-state-icon svg{width:24px;height:24px;stroke-width:1.6}.chat-state-card--compact .chat-state-icon{width:46px;height:46px}.chat-state-card--error .chat-state-icon,.chat-state-card--warning .chat-state-icon{color:var(--ds-danger,#dc2626);background:color-mix(in srgb,var(--ds-danger,#dc2626) 10%,transparent);border-color:color-mix(in srgb,var(--ds-danger,#dc2626) 24%,var(--ds-border-subtle))}.chat-state-copy{display:grid;gap:8px;min-width:0}.chat-state-title{margin:0;color:var(--ds-text-primary);font-family:var(--font-syne);font-size:var(--fs-lg);font-weight:700}.chat-state-card--compact .chat-state-title{font-family:var(--ds-font-family-base);font-size:14px;font-weight:700}.chat-state-body{max-width:48ch;margin:0;color:var(--ds-text-secondary);font-size:var(--fs-sm);line-height:1.6}.chat-state-card--compact .chat-state-body{max-width:none;font-size:13px}.chat-state-action{border:1px solid var(--ds-border-subtle);border-radius:7px;background:var(--ds-surface-elevated);color:var(--ds-text-primary);cursor:pointer;font-size:12px;font-weight:650;padding:7px 10px}.chat-state-action:hover{border-color:var(--ds-border-default);background:var(--ds-surface-input)}.chat-state-meta{color:var(--ds-text-tertiary);font-size:12px;line-height:1.4}.chat-state-meta kbd{display:inline-flex;align-items:center;min-height:20px;padding:1px 7px;border:1px solid var(--ds-border-subtle);border-radius:5px;background:var(--ds-surface-input);color:var(--ds-text-secondary);font-family:var(--ds-font-family-base);font-size:11px;font-weight:650}.chat-composer{flex-shrink:0;padding:var(--ds-space-5) var(--ds-space-7);background:var(--ds-surface-card)}.chat-composer,.chat-connection-banner{border-top:1px solid var(--ds-border-subtle)}.chat-connection-banner{display:flex;align-items:center;gap:10px;padding:10px var(--ds-space-7);background:var(--ds-surface-elevated);color:var(--ds-text-secondary);font-size:12px}.chat-connection-banner svg{flex-shrink:0;color:var(--ds-accent-primary)}.chat-connection-banner div{display:flex;flex-wrap:wrap;gap:4px 8px;min-width:0}.chat-connection-banner strong{color:var(--ds-text-primary);font-weight:700}.chat-composer-inner{display:flex;align-items:flex-end;gap:var(--ds-space-2);background:var(--ds-surface-input);border:1px solid var(--ds-border-default);border-radius:24px;padding:var(--ds-space-2) var(--ds-space-2) var(--ds-space-2) var(--ds-space-6);transition:border-color var(--ds-transition-base)}.chat-composer-inner:focus-within{border-color:var(--ds-border-strong)}.chat-composer-textarea{flex:1;background:none;border:none;outline:none;resize:none;font-size:var(--fs-base);color:var(--ds-text-primary);font-family:var(--ds-font-family-base);line-height:1.5;min-height:24px;max-height:120px;overflow-y:auto;padding:var(--ds-space-1) 0;align-self:center}.chat-composer-textarea:focus,.chat-composer-textarea:focus-visible,.chat-composer-textarea:focus-within{outline:none!important;outline-color:transparent!important;box-shadow:none!important;border:none!important}.chat-composer-textarea::placeholder{color:var(--ds-text-tertiary)}.chat-composer-actions{gap:2px}.chat-composer-actions,.chat-composer-btn{display:flex;align-items:center;flex-shrink:0}.chat-composer-btn{width:36px;height:36px;border-radius:50%;border:none;background:transparent;justify-content:center;cursor:pointer;color:var(--ds-text-secondary);transition:background var(--ds-transition-fast),color var(--ds-transition-fast)}.chat-composer-btn:hover{background:rgba(255,255,255,.06);color:var(--ds-text-primary)}.chat-send-btn-v2{width:36px;height:36px;border-radius:50%;border:none;background:var(--Green-Gradient);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--White);flex-shrink:0;transition:opacity var(--ds-transition-fast),transform var(--ds-transition-fast)}.chat-send-btn-v2:hover{opacity:.88;transform:scale(1.06)}.chat-send-btn-v2:active{transform:scale(.96)}.chat-send-btn-v2:disabled{opacity:.3;cursor:not-allowed;transform:none}.chat-typing-v2{display:flex;align-items:center;gap:var(--ds-space-3);padding:6px 14px;background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);border-radius:18px 18px 18px 4px;width:fit-content;margin:var(--ds-space-1) 0}.chat-typing-dots{display:flex;gap:3px;align-items:center}.chat-typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--ds-text-secondary);animation:chatTypingBounce 1.2s ease-in-out infinite}.chat-typing-dots span:nth-child(2){animation-delay:.2s}.chat-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes chatTypingBounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}.chat-messages-wrap{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.chat-scroll-fab{position:absolute;bottom:16px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--ds-surface-card);border:1px solid var(--ds-border-default);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ds-text-secondary);box-shadow:var(--ds-shadow-md);z-index:10;transition:background var(--ds-transition-fast),border-color var(--ds-transition-fast),color var(--ds-transition-fast),transform var(--ds-transition-fast);animation:fabIn .2s ease-out both}.chat-scroll-fab:hover{background:var(--ds-surface-elevated);color:var(--ds-text-primary);border-color:var(--ds-border-strong);transform:scale(1.06)}@keyframes fabIn{0%{opacity:0;transform:scale(.75) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.chat-unread-divider{display:flex;align-items:center;gap:var(--ds-space-5);margin:var(--ds-space-5) 0 var(--ds-space-3)}.chat-unread-divider-line{flex:1;height:1px;background:rgba(16,185,129,.28)}.chat-unread-divider-label{font-size:var(--fs-xs);font-weight:700;color:var(--ds-accent-primary);white-space:nowrap;padding:3px 12px;background:var(--ds-accent-primary-dim);border:1px solid var(--ds-border-accent);border-radius:var(--ds-radius-full);letter-spacing:.06em;text-transform:uppercase}.msg-bubble,.msg-row{position:relative}.msg-bubble-actions{position:absolute;top:50%;transform:translateY(-50%);display:flex;gap:2px;opacity:0;transition:opacity var(--ds-transition-fast);pointer-events:none;z-index:5;background:var(--ds-surface-card);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-full);padding:3px 5px;box-shadow:var(--ds-shadow-md)}.msg-bubble-own .msg-bubble-actions{right:100%;margin-right:6px;left:auto}.msg-bubble-other .msg-bubble-actions{left:100%;margin-left:6px;right:auto}.msg-row:focus-within .msg-bubble-actions,.msg-row:hover .msg-bubble-actions{opacity:1;pointer-events:all}.msg-col{overflow:visible}.msg-action-btn{width:26px;height:26px;border-radius:50%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ds-text-secondary);transition:background var(--ds-transition-fast),color var(--ds-transition-fast)}.msg-action-btn:hover{background:var(--ds-surface-input);color:var(--ds-text-primary)}.msg-reply-quote{padding:var(--ds-space-2) var(--ds-space-4);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-xs);margin-bottom:7px;cursor:pointer}.msg-bubble-own .msg-reply-quote{background:rgba(0,0,0,.14)}.msg-bubble-other .msg-reply-quote{background:rgba(255,255,255,.05)}.msg-reply-quote-name{font-size:var(--fs-xs);font-weight:700;color:var(--ds-accent-primary);margin-bottom:2px;letter-spacing:.02em}.msg-reply-quote-text{font-size:11px;color:var(--ds-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px;line-height:1.4}.chat-reply-bar{display:flex;align-items:center;gap:var(--ds-space-4);padding:7px 12px;background:var(--ds-surface-elevated);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-sm);margin-bottom:8px;animation:replyBarIn .15s ease-out both}@keyframes replyBarIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-reply-bar-content{flex:1;min-width:0}.chat-reply-bar-name{font-size:11px;font-weight:700;color:var(--ds-accent-primary);margin-bottom:1px}.chat-reply-bar-text{font-size:var(--fs-sm);color:var(--ds-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-reply-bar-cancel{width:22px;height:22px;border-radius:50%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ds-text-tertiary);transition:background var(--ds-transition-fast),color var(--ds-transition-fast);flex-shrink:0}.chat-reply-bar-cancel:hover{background:rgba(255,255,255,.08);color:var(--ds-text-primary)}.chat-reply-bar-icon{color:var(--ds-accent-primary);flex-shrink:0}.chat-send-btn-v2[aria-label="Sending…"]{opacity:.6;cursor:default}.msg-avatar-spacer{width:32px;height:1px;flex-shrink:0}.msg-row-grouped{margin-bottom:1px!important}.msg-bubble-own.msg-bubble-grouped{border-radius:18px 4px 4px 18px}.msg-bubble-other.msg-bubble-grouped{border-radius:4px 18px 18px 4px}@keyframes msgSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.msg-animate{animation:msgSlideIn .22s ease-out both}.chat-header-v2-sub-typing{color:var(--ds-accent-primary)!important;display:flex;align-items:center;gap:5px}.chat-header-typing-dots{display:inline-flex;gap:2px;align-items:center}.chat-header-typing-dots span{width:4px;height:4px;border-radius:50%;background:currentColor;animation:chatTypingBounce 1.2s ease-in-out infinite;display:inline-block}.chat-header-typing-dots span:nth-child(2){animation-delay:.2s}.chat-header-typing-dots span:nth-child(3){animation-delay:.4s}.chat-typing-preview{display:flex;align-items:center;gap:5px;color:var(--ds-accent-primary);font-style:italic;font-size:var(--fs-sm)}.chat-typing-dots-sm{display:flex;gap:2px;align-items:center}.chat-typing-dots-sm span{width:4px;height:4px;border-radius:50%;background:var(--ds-accent-primary);animation:chatTypingBounce 1.2s ease-in-out infinite;display:inline-block}.chat-typing-dots-sm span:nth-child(2){animation-delay:.2s}.chat-typing-dots-sm span:nth-child(3){animation-delay:.4s}mark.chat-search-highlight{background:none;color:var(--ds-accent-primary);text-decoration:underline;text-decoration-color:var(--ds-accent-primary);text-decoration-thickness:2px;text-underline-offset:2px;font-style:normal;font-weight:600}.chat-contact-muted,.chat-contact-pin{color:var(--ds-text-secondary);flex-shrink:0}.chat-contact-pin{transform:rotate(45deg)}.msg-reaction-picker{position:absolute;bottom:calc(100% + 5px);top:auto;background:var(--ds-surface-card);border:1px solid var(--ds-border-default);border-radius:8px;padding:var(--ds-space-1) var(--ds-space-2);box-shadow:0 4px 20px rgba(0,0,0,.45);z-index:30;animation:pickerIn .15s ease-out both;white-space:nowrap}.msg-reaction-picker-expanded{width:268px;padding:var(--ds-space-3);white-space:normal}.msg-bubble-own .msg-reaction-picker{right:0;left:auto}.msg-bubble-other .msg-reaction-picker{left:0;right:auto}.msg-row-picker-open .msg-bubble-actions{opacity:1!important;pointer-events:all!important}@keyframes pickerIn{0%{opacity:0;transform:scale(.82) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.msg-reaction-quick-row{display:flex;gap:0}.msg-reaction-picker-btn{width:30px;height:30px;border-radius:7px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;font-size:var(--fs-md);cursor:pointer;line-height:1;transition:transform var(--ds-transition-fast),background var(--ds-transition-fast)}.msg-reaction-picker-btn:hover{transform:scale(1.3);background:var(--ds-surface-input)}.msg-reaction-more-btn{color:var(--ds-text-secondary)}.msg-reaction-expanded-panel{display:grid;gap:var(--ds-space-3);max-height:260px;overflow-y:auto;padding-top:var(--ds-space-2)}.msg-reaction-search{width:100%;border:1px solid var(--ds-border-subtle);border-radius:7px;background:var(--ds-surface-input);color:var(--ds-text-primary);font-size:12px;outline:none;padding:7px 9px}.msg-reaction-search::placeholder{color:var(--ds-text-tertiary)}.msg-reaction-section{display:grid;gap:4px}.msg-reaction-section-title{color:var(--ds-text-tertiary);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.msg-reaction-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.msg-reaction-empty{color:var(--ds-text-tertiary);font-size:12px;padding:var(--ds-space-4) 0;text-align:center}.msg-reactions{display:flex;flex-wrap:wrap;gap:var(--ds-space-1);margin-top:4px;padding:0 2px}.msg-row-own .msg-reactions{justify-content:flex-end}.msg-reaction-chip{display:inline-flex;align-items:center;gap:var(--ds-space-1);padding:3px 9px 3px 7px;background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-full);font-size:var(--fs-base);cursor:pointer;transition:background var(--ds-transition-fast),border-color var(--ds-transition-fast),transform var(--ds-transition-fast);color:var(--ds-text-secondary);line-height:1}.msg-reaction-chip:hover{background:var(--ds-surface-elevated);border-color:var(--ds-border-default);transform:scale(1.06)}.msg-reaction-chip-own{background:var(--ds-accent-primary-dim);border-color:var(--ds-border-accent);color:var(--ds-accent-primary)}.msg-reaction-count{font-size:11px;font-weight:600;letter-spacing:.01em}.chat-context-menu{position:fixed;background:var(--ds-surface-card);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-md);box-shadow:var(--ds-shadow-lg,0 8px 24px rgba(0,0,0,.4));padding:var(--ds-space-1);z-index:1000;min-width:168px;animation:contextMenuIn .13s ease-out both;transform-origin:top left}@keyframes contextMenuIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.chat-context-menu-item{display:flex;align-items:center;gap:var(--ds-space-4);padding:9px 12px;font-size:13px;color:var(--ds-text-primary);cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:var(--ds-font-family-base);border-radius:var(--ds-radius-sm);transition:background var(--ds-transition-fast)}.chat-context-menu-item:hover{background:var(--ds-surface-elevated)}.chat-context-menu-item-danger{color:#f87171}.chat-context-menu-item-danger:hover{background:rgba(248,113,113,.08)}.chat-context-menu-sep{height:1px;background:var(--ds-border-subtle);margin:3px 4px}.chat-modal-backdrop{--chat-modal-top-offset:clamp(116px,15dvh,172px);--chat-modal-bottom-gap:36px;position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:var(--chat-modal-top-offset) 16px var(--chat-modal-bottom-gap);overflow-y:auto;overscroll-behavior:contain;z-index:10000;animation:backdropIn .15s ease-out both}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.chat-modal{background:var(--ds-glass-modal-bg);border:var(--ds-glass-modal-border);border-radius:var(--ds-radius-xl);backdrop-filter:var(--ds-glass-modal-blur);-webkit-backdrop-filter:var(--ds-glass-modal-blur);width:min(420px,100%);max-height:min(660px,calc(100dvh - var(--chat-modal-top-offset) - var(--chat-modal-bottom-gap)));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.5);animation:modalIn .2s ease-out both}@keyframes modalIn{0%{opacity:0;transform:scale(.93) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.chat-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ds-space-4);padding:16px 20px 14px;border-bottom:1px solid var(--ds-border-subtle);flex-shrink:0}.chat-modal-header>div:first-child{min-width:0;flex:1}.chat-modal-title{font-size:15px;font-weight:600;font-family:var(--font-syne);color:var(--ds-text-primary);letter-spacing:-.006em;margin:0}.chat-modal-close{width:44px;height:44px;flex-shrink:0;border-radius:50%;border:1px solid var(--ds-border-default);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ds-text-secondary);transition:border-color var(--ds-transition-fast),background var(--ds-transition-fast),color var(--ds-transition-fast)}.chat-modal-close:hover{border-color:var(--ds-border-strong);background:var(--ds-border-subtle);color:var(--ds-text-primary)}.chat-modal-close:focus-visible{outline:none;border-color:var(--ds-border-focus);box-shadow:var(--ds-shadow-focus-ring)}.chat-modal-search-wrap{padding:var(--ds-space-5) var(--ds-space-6);border-bottom:1px solid var(--ds-border-subtle);flex-shrink:0;position:relative}.chat-modal-search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:var(--ds-text-tertiary);pointer-events:none}.chat-modal-search{width:100%;box-sizing:border-box;background:var(--ds-surface-input);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-full);padding:9px 14px 9px 36px;font-size:13px;color:var(--ds-text-primary);font-family:var(--ds-font-family-base);outline:none;transition:border-color var(--ds-transition-base)}.chat-modal-search:focus{border-color:var(--ds-border-default)}.chat-modal-search::placeholder{color:var(--ds-text-tertiary)}.chat-modal-list{flex:1;min-height:0;overflow-y:auto;padding:var(--ds-space-2) 0;list-style:none;margin:0}.chat-modal-empty{display:flex;align-items:center;justify-content:center;gap:var(--ds-space-3);min-height:84px;padding:var(--ds-space-6);color:var(--ds-text-tertiary);font-family:var(--ds-font-family-base);font-size:var(--fs-sm);line-height:1.4;text-align:center}.chat-modal-empty svg{flex-shrink:0;color:var(--ds-text-tertiary)}.chat-modal-empty--compact{min-height:56px;justify-content:flex-start;padding:var(--ds-space-4) var(--ds-space-6);text-align:left}.chat-modal-loading-dot{width:8px;height:8px;border-radius:50%;background:var(--ds-accent-primary);box-shadow:0 0 0 4px rgba(83,188,126,.12);flex-shrink:0;animation:chatLoadingPulse .9s ease-in-out infinite}@keyframes chatLoadingPulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}.chat-modal-contact-skeleton{display:flex;align-items:center;gap:var(--ds-space-5);padding:var(--ds-space-4) var(--ds-space-6)}.chat-modal-skeleton-action,.chat-modal-skeleton-avatar,.chat-modal-skeleton-line{display:block;border:1px solid var(--ds-skeleton-border);background:var(--ds-skeleton-sheen),var(--ds-skeleton-wash),var(--ds-skeleton-base);background-size:260% 100%,auto,auto;animation:skeleton-shimmer var(--ds-skeleton-duration) ease-in-out infinite}.chat-modal-skeleton-avatar{width:40px;height:40px;border-radius:50%;flex:0 0 auto}.chat-modal-skeleton-copy{min-width:0;flex:1;display:grid;gap:8px}.chat-modal-skeleton-line{height:11px;border-radius:999px}.chat-modal-skeleton-line-name{width:min(58%,180px)}.chat-modal-skeleton-line-sub{width:min(42%,132px);opacity:.72}.chat-modal-skeleton-action{width:20px;height:20px;border-radius:50%;flex:0 0 auto;opacity:.72}@media (prefers-reduced-motion:reduce){.chat-message-skeleton,.chat-modal-skeleton-action,.chat-modal-skeleton-avatar,.chat-modal-skeleton-line,.chat-skeleton-avatar,.chat-skeleton-line,.chat-thread-skeleton-avatar{animation:none}}.chat-modal-contact-row{display:flex;align-items:center;gap:var(--ds-space-5);padding:var(--ds-space-4) var(--ds-space-6);cursor:pointer;transition:background var(--ds-transition-fast)}.chat-modal-row-button{width:100%;border:none;background:transparent;color:inherit;font:inherit;text-align:left}.chat-modal-row-button:disabled{cursor:wait;opacity:.7}.chat-modal-row-button:focus-visible{outline:1px solid var(--ds-accent-primary);outline-offset:-2px}.chat-modal-contact-row:hover{background:var(--ds-surface-elevated)}.chat-modal-contact-info{flex:1;min-width:0}.chat-modal-contact-name{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--ds-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-modal-verified-icon{color:var(--ds-accent-primary);flex-shrink:0}.chat-header-encrypted-icon,.chat-header-muted-icon{color:var(--ds-text-tertiary);flex-shrink:0}.chat-modal-contact-sub{font-size:11px;color:var(--ds-text-tertiary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-voice-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--ds-border-default);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ds-text-secondary);flex-shrink:0;transition:background var(--ds-transition-fast),border-color var(--ds-transition-fast),color var(--ds-transition-fast),transform var(--ds-transition-fast)}.chat-voice-btn:hover{background:rgba(255,255,255,.06);border-color:var(--ds-accent-primary);color:var(--ds-accent-primary);transform:scale(1.06)}.chat-more-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--ds-surface-card);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-md);box-shadow:0 8px 32px rgba(0,0,0,.4);padding:var(--ds-space-1);z-index:200;min-width:188px;animation:contextMenuIn .13s ease-out both}.chat-more-menu-item{display:flex;align-items:center;gap:var(--ds-space-4);padding:9px 12px;font-size:13px;color:var(--ds-text-primary);cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:var(--ds-font-family-base);border-radius:var(--ds-radius-sm);transition:background var(--ds-transition-fast);letter-spacing:.01em}.chat-more-menu-item:hover{background:var(--ds-surface-elevated)}.chat-more-menu-item-danger{color:#f87171}.chat-more-menu-item-danger:hover{background:rgba(248,113,113,.08)}.chat-more-menu-sep{height:1px;background:var(--ds-border-subtle);margin:3px 4px}.chat-composer-picker-wrap{position:relative}.chat-emoji-picker{position:absolute;bottom:calc(100% + 10px);left:0;background:var(--ds-surface-card);border:1px solid var(--ds-border-default);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.4);padding:var(--ds-space-4);z-index:200;animation:pickerIn .15s ease-out both;width:304px;max-height:360px;overflow-y:auto}.chat-emoji-search{width:100%;border:1px solid var(--ds-border-subtle);border-radius:7px;background:var(--ds-surface-input);color:var(--ds-text-primary);font-size:13px;outline:none;padding:8px 10px;margin-bottom:var(--ds-space-3)}.chat-emoji-search::placeholder{color:var(--ds-text-tertiary)}.chat-emoji-section{display:grid;gap:5px}.chat-emoji-section+.chat-emoji-section{margin-top:var(--ds-space-3)}.chat-emoji-section-title{color:var(--ds-text-tertiary);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.chat-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:272px}.chat-emoji-btn{width:32px;height:32px;border-radius:var(--ds-radius-sm);border:none;background:transparent;display:flex;align-items:center;justify-content:center;font-size:var(--fs-lg);cursor:pointer;line-height:1;transition:transform var(--ds-transition-fast),background var(--ds-transition-fast)}.chat-emoji-btn:hover{background:var(--ds-surface-elevated);transform:scale(1.22)}.chat-emoji-empty{color:var(--ds-text-tertiary);font-size:13px;padding:var(--ds-space-6) 0 var(--ds-space-3);text-align:center}.chat-attach-menu{position:absolute;bottom:calc(100% + 10px);right:0;background:var(--ds-surface-card);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-md);box-shadow:0 8px 32px rgba(0,0,0,.4);padding:var(--ds-space-1);z-index:200;min-width:172px;animation:contextMenuIn .13s ease-out both}.chat-attach-item{display:flex;align-items:center;gap:var(--ds-space-4);padding:9px 12px;font-size:13px;color:var(--ds-text-primary);cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:var(--ds-font-family-base);border-radius:var(--ds-radius-sm);transition:background var(--ds-transition-fast)}.chat-attach-item:hover{background:var(--ds-surface-elevated)}.chat-attach-icon{width:28px;height:28px;border-radius:var(--ds-radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-attach-icon-photo{background:rgba(139,92,246,.18);color:#a78bfa}.chat-attach-icon-doc{background:rgba(59,130,246,.18);color:#60a5fa}.chat-attach-icon-loc{background:rgba(34,197,94,.18);color:var(--ds-accent-primary)}.chat-composer-btn-active{color:var(--ds-accent-primary)!important;background:rgba(16,185,129,.1)!important}.chat-modal-tabs{display:flex;border-bottom:1px solid var(--ds-border-subtle);flex-shrink:0}.chat-modal-tab{flex:1;padding:var(--ds-space-4);font-size:var(--fs-sm);font-weight:600;color:var(--ds-text-secondary);background:none;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:var(--ds-font-family-base);transition:color var(--ds-transition-base),border-color var(--ds-transition-base);letter-spacing:.02em;text-transform:uppercase}.chat-modal-tab:hover{color:var(--ds-text-primary)}.chat-modal-tab-active{color:var(--ds-accent-primary);border-bottom-color:var(--ds-accent-primary)}.chat-modal-group-form{padding:var(--ds-space-5) var(--ds-space-6);border-bottom:1px solid var(--ds-border-subtle);flex-shrink:0}.chat-modal-group-input{width:100%;box-sizing:border-box;background:var(--ds-surface-input);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);padding:9px 14px;font-size:13px;color:var(--ds-text-primary);font-family:var(--ds-font-family-base);outline:none;transition:border-color var(--ds-transition-base)}.chat-modal-group-input:focus{border-color:var(--ds-accent-primary)}.chat-modal-group-input--invalid{border-color:var(--Red-Tag-Text)}.chat-modal-group-error{display:block;margin-top:var(--ds-space-2);font-size:var(--fs-xs);color:var(--Red-Tag-Text)}.chat-modal-group-input::placeholder{color:var(--ds-text-tertiary)}.chat-modal-member-row{display:flex;align-items:center;gap:var(--ds-space-5);padding:var(--ds-space-4) var(--ds-space-6);cursor:pointer;transition:background var(--ds-transition-fast)}.chat-modal-member-row:hover{background:var(--ds-surface-elevated)}.chat-modal-member-row-disabled{cursor:wait;opacity:.62}.chat-modal-member-row-disabled:hover{background:transparent}.chat-modal-member-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--ds-border-default);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--ds-transition-fast),border-color var(--ds-transition-fast);margin-left:auto;color:transparent;font-size:11px;font-weight:700}.chat-modal-member-check-on{background:var(--ds-accent-primary);border-color:var(--ds-accent-primary);color:#0a1a0d}.chat-modal-footer{display:flex;align-items:stretch;gap:var(--ds-space-4);padding:var(--ds-space-5) var(--ds-space-6);border-top:1px solid var(--ds-border-subtle);flex-shrink:0}.chat-modal-footer .chat-request-btn{flex:0 0 auto;padding:var(--ds-space-4) var(--ds-space-5);border-radius:var(--ds-radius-md);font-size:13px}.chat-modal-create-btn{width:100%;padding:var(--ds-space-4);background:var(--Green-Gradient);color:var(--White);border:none;border-radius:var(--ds-radius-md);font-size:13px;font-weight:600;cursor:pointer;font-family:var(--ds-font-family-base);transition:opacity var(--ds-transition-fast);letter-spacing:.01em}.chat-modal-create-btn:hover{opacity:.88}.chat-modal-create-btn:disabled{opacity:.35;cursor:not-allowed}.chat-btn-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top:2px solid var(--White);animation:authSpin .8s linear infinite}.chat-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ds-surface-elevated);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-full);padding:var(--ds-space-3) var(--ds-space-6);font-size:var(--fs-sm);font-weight:500;color:var(--ds-text-primary);display:flex;align-items:center;box-shadow:0 4px 20px rgba(0,0,0,.4);z-index:9999;max-width:min(420px,calc(100vw - 32px));animation:toastIn .18s ease-out both;pointer-events:none}@keyframes toastIn{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (prefers-reduced-motion:reduce){.chat-toast{animation:none}}.chat-compose-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--ds-border-subtle);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ds-text-secondary);outline:none;box-shadow:none;transition:background var(--ds-transition-fast),border-color var(--ds-transition-fast),color var(--ds-transition-fast),transform var(--ds-transition-fast);flex-shrink:0}.chat-compose-btn:focus,.chat-compose-btn:focus-visible{outline:none;box-shadow:none}.chat-compose-btn:hover{background:var(--ds-bg-overlay);border-color:var(--ds-border-default);color:var(--ds-text-primary);transform:rotate(90deg)}.chat-auth-loading{align-items:center;justify-content:center;background:var(--ds-surface-card);border-radius:var(--ds-radius-lg);border:1px solid var(--ds-border-default)}.chat-auth-spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--ds-border-default);border-top-color:var(--ds-accent-primary);animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(1turn)}}.chat-auth-gate{flex-direction:column;gap:12px;text-align:center;background:var(--ds-surface-card);border-radius:var(--ds-radius-lg);border:1px solid var(--ds-border-default)}.chat-auth-gate,.chat-auth-icon{align-items:center;justify-content:center}.chat-auth-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(180deg,color-mix(in srgb,var(--ds-accent-primary) 18%,transparent),color-mix(in srgb,var(--ds-accent-primary) 7%,transparent));border:1px solid color-mix(in srgb,var(--ds-border-accent) 78%,transparent);display:flex;color:var(--ds-accent-primary);margin-bottom:4px;box-shadow:0 12px 34px color-mix(in srgb,var(--ds-accent-primary) 14%,transparent),inset 0 1px 0 rgba(255,255,255,.06)}.chat-auth-title{font-size:clamp(24px,2vw,30px);font-weight:600;font-family:var(--font-syne);color:var(--ds-text-primary);letter-spacing:0;margin:0;line-height:1.08}.chat-auth-sub{max-width:300px;font-size:var(--fs-sm);color:var(--ds-text-secondary);line-height:1.55;margin:0}.chat-auth-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:var(--ds-space-4) var(--ds-space-7);background:var(--Green-Gradient);color:var(--White);border:1px solid transparent;border-radius:var(--ds-radius-sm);font-size:var(--Button-Text-fontSize);font-weight:500;cursor:pointer;font-family:var(--font-inter);letter-spacing:.025em;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--ds-transition-base),border-color var(--ds-transition-base),color var(--ds-transition-base),transform var(--ds-transition-fast);margin-top:8px}.chat-auth-btn:hover{background:var(--ds-accent-green-btn-hover);transform:translateY(-1px)}.chat-auth-note{font-size:11px;color:var(--ds-text-tertiary);margin:0;line-height:1.5}.chat-in-search{display:flex;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-6);background:var(--ds-surface-card);border-bottom:1px solid var(--ds-border-subtle);flex-shrink:0;animation:searchBarIn .18s ease-out both}@keyframes searchBarIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.chat-in-search-icon{color:var(--ds-text-tertiary);flex-shrink:0}.chat-in-search-input{flex:1;background:none;border:none;outline:none;box-shadow:none;font-size:13px;color:var(--ds-text-primary);font-family:var(--ds-font-family-base);min-width:0}.chat-in-search-input:focus,.chat-in-search-input:focus-visible{outline:none;box-shadow:none;border:none}.chat-in-search-input::placeholder{color:var(--ds-text-tertiary)}.chat-in-search-count{font-size:11px;color:var(--ds-text-tertiary);white-space:nowrap;flex-shrink:0;min-width:48px;text-align:right}.chat-in-search-count--error{color:var(--ds-danger);white-space:normal;min-width:0;flex-shrink:1}.chat-in-search-nav{width:26px;height:26px;border-radius:50%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ds-text-secondary);flex-shrink:0;transition:background var(--ds-transition-fast),color var(--ds-transition-fast)}.chat-in-search-nav:hover:not(:disabled){background:var(--ds-surface-elevated);color:var(--ds-text-primary)}.chat-in-search-nav:disabled{opacity:.3;cursor:not-allowed}.chat-in-search-close{width:26px;height:26px;border-radius:50%;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ds-text-secondary);flex-shrink:0;transition:background var(--ds-transition-fast),color var(--ds-transition-fast)}.chat-in-search-close:hover{background:var(--ds-surface-elevated);color:var(--ds-text-primary)}.chat-members-modal{width:min(460px,100%);max-height:min(680px,calc(100dvh - var(--chat-modal-top-offset) - var(--chat-modal-bottom-gap)));display:flex;flex-direction:column}.chat-members-modal .chat-modal-header{padding:18px 22px 16px}.chat-members-modal .chat-modal-title{font-size:17px;line-height:1.2;letter-spacing:0}.chat-members-modal .chat-modal-subtitle{margin-top:4px;color:var(--ds-text-tertiary);font-size:12px;line-height:1.2}.chat-members-modal .chat-modal-close{width:36px;height:36px;border-radius:999px;background:rgba(255,255,255,.02)}.chat-members-modal .chat-modal-search-wrap{padding:14px 22px 16px;background:rgba(255,255,255,.012)}.chat-members-modal .chat-modal-search-icon{left:36px}.chat-members-modal .chat-modal-search{height:42px;border-radius:999px;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.09);padding-left:40px}.chat-members-modal .chat-modal-search:focus{border-color:rgba(16,185,129,.42);background:rgba(255,255,255,.07);box-shadow:0 0 0 3px rgba(16,185,129,.08)}.chat-members-modal .chat-modal-list{display:flex;flex-direction:column;gap:4px;padding:14px}.chat-members-subtitle{font-size:var(--fs-sm);color:var(--ds-text-secondary);margin:2px 0 0}.chat-members-list{flex:1;overflow-y:auto}.chat-members-modal .chat-members-loading-list .chat-modal-contact-skeleton{min-height:68px;padding:10px;border:1px solid rgba(255,255,255,.045);border-radius:12px;background:rgba(255,255,255,.018)}.chat-member-row{display:flex;align-items:center}.chat-members-modal .chat-modal-member-row{min-height:68px;gap:10px;padding:10px;border:1px solid transparent;border-radius:12px;cursor:default}.chat-members-modal .chat-modal-member-row:focus-within,.chat-members-modal .chat-modal-member-row:hover{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.055)}.chat-members-modal .chat-modal-member-identity{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;color:inherit;text-decoration:none}.chat-members-modal .chat-av-wrap{flex:0 0 auto}.chat-members-modal .chat-modal-contact-info{flex:1 1 auto;min-width:0}.chat-members-modal .chat-modal-contact-name{display:flex;align-items:center;gap:6px;min-width:0;color:var(--ds-text-primary);font-size:14px;font-weight:650;line-height:1.2}.chat-members-modal .chat-modal-contact-handle,.chat-members-modal .chat-modal-contact-name-text{display:inline-block;flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-members-modal .chat-modal-contact-sub{margin-top:3px;color:var(--ds-text-tertiary);font-size:12px;line-height:1.2}.chat-member-role-badge{display:inline-flex;align-items:center;flex:0 0 auto;height:18px;margin-left:2px;padding:0 7px;border-radius:var(--ds-radius-xs);border:1px solid rgba(16,185,129,.2);font-size:10px;font-weight:700;background:var(--ds-accent-primary-dim,rgba(16,185,129,.12));color:var(--ds-accent-primary);vertical-align:middle;letter-spacing:.01em;line-height:1}.chat-member-remove-btn{margin-left:auto;flex-shrink:0;width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--ds-text-tertiary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--ds-transition-fast),color var(--ds-transition-fast)}.chat-member-remove-btn:hover{background:rgba(248,113,113,.12);color:#f87171}.chat-members-empty{font-size:13px;color:var(--ds-text-tertiary);text-align:center;list-style:none;padding:var(--ds-space-5) var(--ds-space-6)}.chat-members-empty-pad{padding:var(--ds-space-6)}.chat-modal-footer .chat-modal-create-btn{display:flex;align-items:center;gap:var(--ds-space-2);justify-content:center;flex:1}.chat-members-modal .chat-modal-footer{padding:14px 22px 16px;border-top:1px solid var(--ds-border-subtle);background:rgba(255,255,255,.012)}.chat-members-modal .chat-modal-create-btn{min-height:44px;border-radius:10px;font-size:14px;font-weight:700}.chat-members-modal .chat-member-action-wrap{margin-left:auto}.chat-members-modal .chat-member-action-btn{width:32px;height:32px;border-radius:8px}mark.msg-text-highlight{background:rgba(250,204,21,.3);color:#fbbf24;border-radius:2px;padding:0 1px;font-style:normal}.chat-send-btn-v2:disabled{opacity:.28;cursor:default;transform:none!important}.chat-hidden-input{display:none}.chat-attach-preview{display:flex;align-items:center;gap:var(--ds-space-4);padding:8px 14px;border-bottom:1px solid var(--ds-border-default);background:var(--ds-surface-card)}.chat-attach-preview-thumb{width:48px;height:48px;border-radius:6px;object-fit:cover;flex-shrink:0;border:1px solid var(--ds-border-default)}.chat-attach-preview-file-icon{width:48px;height:48px;border-radius:6px;background:rgba(16,185,129,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ds-accent-primary)}.chat-attach-preview-info{flex:1;min-width:0}.chat-attach-preview-name{font-size:13px;font-weight:500;color:var(--ds-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-attach-preview-size{font-size:11px;color:var(--ds-text-secondary);margin-top:2px}.chat-attach-preview-clear{width:26px;height:26px;border-radius:50%;border:none;background:var(--ds-surface-elevated,#181a1e);color:var(--ds-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background var(--ds-transition-fast),color var(--ds-transition-fast)}.chat-attach-preview-clear:hover{background:rgba(248,113,113,.12);color:#f87171}.chat-attach-progress{margin-top:6px;height:3px;border-radius:var(--ds-radius-pill,999px);background:var(--ds-border-default);overflow:hidden}.chat-attach-progress-fill{height:100%;background:var(--ds-accent-primary);border-radius:inherit;transition:width var(--ds-transition-fast)}@media (prefers-reduced-motion:reduce){.chat-attach-progress-fill{transition:none}}.chat-attach-preview-retry{border:1px solid var(--ds-border-default);background:transparent;color:var(--ds-text-primary);font-size:var(--fs-xs);padding:var(--ds-space-2) var(--ds-space-4);border-radius:var(--ds-radius-sm,6px);cursor:pointer;flex-shrink:0}.chat-attach-preview-retry:hover{border-color:var(--ds-accent-primary);color:var(--ds-accent-primary)}.msg-attachment{margin-bottom:4px}.msg-attachment-open{display:block;padding:0;border:none;background:none;cursor:pointer;border-radius:8px;max-width:100%}.msg-attachment-open:focus-visible{outline:2px solid var(--ds-accent-primary);outline-offset:2px}.msg-attachment-media{width:100%;max-width:260px;max-height:300px;height:auto;border-radius:8px;display:block;object-fit:cover}.msg-lightbox{position:fixed;inset:0;z-index:10050;display:grid;grid-template-rows:auto 1fr;background:rgba(0,0,0,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:backdropIn .15s ease-out both}.msg-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-5);padding:calc(var(--ds-space-4) + env(safe-area-inset-top)) calc(var(--ds-space-5) + env(safe-area-inset-right)) var(--ds-space-4) calc(var(--ds-space-5) + env(safe-area-inset-left));background:linear-gradient(180deg,rgba(0,0,0,.55),transparent);min-width:0}.msg-lightbox-meta{display:flex;align-items:baseline;gap:var(--ds-space-4);flex:1 1 auto;min-width:0}.msg-lightbox-sender{font-size:var(--fs-sm);font-weight:600;color:var(--ds-text-primary);white-space:nowrap;flex-shrink:0}.msg-lightbox-filename{font-size:var(--fs-sm);color:var(--ds-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.msg-lightbox-time{font-size:var(--fs-xs);color:var(--ds-text-tertiary);white-space:nowrap}.msg-lightbox-actions{display:flex;align-items:center;gap:var(--ds-space-3);flex-shrink:0}.msg-lightbox-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--ds-radius-md,8px);border:1px solid var(--ds-border-subtle);background:rgba(255,255,255,.08);color:var(--ds-text-primary);cursor:pointer;text-decoration:none;transition:background var(--ds-transition-fast),border-color var(--ds-transition-fast)}.msg-lightbox-btn:hover{background:rgba(255,255,255,.16);border-color:var(--ds-border-default)}.msg-lightbox-btn:disabled{opacity:.4;cursor:default}.msg-lightbox-btn:disabled:hover{background:rgba(255,255,255,.08);border-color:var(--ds-border-subtle)}.msg-lightbox-btn:focus-visible{outline:2px solid var(--ds-accent-primary);outline-offset:2px}.msg-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:var(--ds-space-5) var(--ds-space-5) calc(var(--ds-space-6) + env(safe-area-inset-bottom));overflow:hidden;min-height:0;min-width:0}.msg-lightbox-stage.is-zoomed{overflow:auto;overscroll-behavior:contain;align-items:safe center;justify-content:safe center;cursor:zoom-out}.msg-lightbox-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--ds-radius-md,8px);cursor:zoom-in;opacity:0}.msg-lightbox-image.is-ready{opacity:1;animation:lightboxImageIn .2s ease-out both}.msg-lightbox-image.is-zoomed{max-width:none;max-height:none;cursor:zoom-out}@keyframes lightboxImageIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.msg-lightbox-status{position:absolute;display:flex;flex-direction:column;align-items:center;gap:var(--ds-space-4);color:var(--ds-text-secondary);font-size:var(--fs-sm)}.msg-lightbox-spinner{width:24px;height:24px;border-radius:50%;border:2px solid var(--ds-border-subtle);border-top-color:var(--ds-accent-primary);animation:authSpin .7s linear infinite}.msg-lightbox-status-link{color:var(--ds-accent-primary);text-decoration:underline}@media (max-width:640px){.msg-lightbox-time{display:none}.msg-lightbox-stage{padding:var(--ds-space-3) var(--ds-space-3) calc(var(--ds-space-5) + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.msg-lightbox,.msg-lightbox-image.is-ready{animation:none}.msg-lightbox-spinner{animation-duration:2s}}.msg-attachment-file{display:flex;align-items:center;gap:var(--ds-space-4);padding:var(--ds-space-3) var(--ds-space-4);border-radius:8px;background:rgba(255,255,255,.05);max-width:240px;border:1px solid var(--ds-border-default)}.msg-attachment-file-icon{width:36px;height:36px;border-radius:6px;background:rgba(16,185,129,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ds-accent-primary)}.msg-attachment-file-info{flex:1;min-width:0}.msg-attachment-file-name{font-size:var(--fs-sm);font-weight:500;color:var(--ds-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-attachment-file-size{font-size:var(--fs-xs);color:var(--ds-text-secondary);margin-top:2px}.msg-link{color:var(--ds-accent-primary);text-decoration:none;word-break:break-all}.msg-link:hover{text-decoration:underline}.msg-link-preview{display:flex;flex-direction:column;border:1px solid var(--ds-border-subtle);border-radius:6px;background:rgba(255,255,255,.04);overflow:hidden;text-decoration:none;margin-top:6px;margin-bottom:2px;transition:background var(--ds-transition-fast);max-width:300px}.msg-link-preview:hover{background:rgba(255,255,255,.08)}.msg-link-preview-img{width:100%;max-height:150px;object-fit:cover;display:block}.msg-link-preview-body{padding:var(--ds-space-3) var(--ds-space-4);display:flex;flex-direction:column;gap:3px}.msg-link-preview-domain{display:flex;align-items:center;gap:var(--ds-space-1);font-size:var(--fs-xs);font-weight:600;color:var(--ds-accent-primary);text-transform:uppercase;letter-spacing:.06em}.msg-link-preview-title{font-size:13px;font-weight:600;color:var(--ds-text-primary);line-height:1.3}.msg-link-preview-desc{font-size:11px;color:var(--ds-text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-header-back-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;color:var(--ds-text-secondary);border-radius:var(--ds-radius-md);cursor:pointer;flex-shrink:0;transition:background var(--ds-transition-fast),color var(--ds-transition-fast)}.chat-header-back-btn:hover{background:var(--ds-surface-hover);color:var(--ds-text-primary)}@media (max-width:991px){.chat-sidebar-v2{width:240px}}@media (max-width:767px){.chat-page{padding:0}.chat-panel{border-radius:0;border-left:none;border-right:none;border-bottom:none}.chat-sidebar-v2{width:100%;border-right:none}.chat-area-v2,.chat-panel-show-chat .chat-sidebar-v2{display:none}.chat-panel-show-chat .chat-area-v2{display:flex;width:100%}.chat-header-back-btn{display:flex}.chat-modal-backdrop{--chat-modal-top-offset:max(16px,env(safe-area-inset-top));--chat-modal-bottom-gap:max(16px,env(safe-area-inset-bottom));align-items:center}.chat-members-modal,.chat-modal,.chat-settings-modal{width:calc(100vw - 32px);max-height:calc(100dvh - var(--chat-modal-top-offset) - var(--chat-modal-bottom-gap))}.chat-modal-box{width:calc(100vw - 32px);max-height:calc(100dvh - 80px)}.msg-col{max-width:85%}.msg-link-preview{max-width:100%}.chat-composer{padding:var(--ds-space-3) var(--ds-space-4)}.chat-context-menu{min-width:160px}.chat-attach-menu,.chat-emoji-picker{bottom:44px;top:auto}}.chat-md{line-height:1.5;word-break:break-word}.chat-md>:first-child{margin-top:0}.chat-md>:last-child{margin-bottom:0}.chat-md-p{margin:0 0 var(--ds-space-1) 0}.chat-md-p:last-child{margin-bottom:0}.chat-code-block{margin:var(--ds-space-2) 0;border-radius:var(--ds-radius-md);overflow:hidden;border:1px solid var(--ds-border-subtle);background:rgba(0,0,0,.35)}.chat-code-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ds-space-2) var(--ds-space-5);background:rgba(0,0,0,.2);border-bottom:1px solid var(--ds-border-subtle)}.chat-code-lang{font-size:11px;font-weight:600;color:var(--ds-text-tertiary);text-transform:lowercase;font-family:var(--font-inter);letter-spacing:.02em}.chat-code-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--ds-radius-sm);background:transparent;color:var(--ds-text-tertiary);cursor:pointer;transition:color .15s ease,background .15s ease}.chat-code-copy-btn:hover{color:var(--ds-text-primary);background:rgba(255,255,255,.08)}.chat-code-pre{margin:0;padding:12px 14px;overflow-x:auto;-webkit-overflow-scrolling:touch}.chat-code-pre code{font-family:JetBrains Mono,Fira Code,SF Mono,Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.55;color:var(--ds-text-primary);white-space:pre;tab-size:2}.chat-code-inline{font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:.88em;padding:1px 6px;border-radius:var(--ds-radius-xs);background:rgba(255,255,255,.08);color:var(--ds-text-accent);word-break:break-all}.chat-code-inline,.chat-md-blockquote{border:1px solid var(--ds-border-subtle)}.chat-md-blockquote{margin:var(--ds-space-1) 0;padding:var(--ds-space-2) var(--ds-space-4);border-radius:var(--ds-radius-xs);color:var(--ds-text-secondary)}.chat-md-blockquote p{margin:0}.chat-md strong{font-weight:700;color:var(--ds-text-primary)}.chat-md em{font-style:italic}.chat-md del{text-decoration:line-through;color:var(--ds-text-tertiary)}.chat-md ol,.chat-md ul{margin:var(--ds-space-1) 0;padding-left:20px}.chat-md li{margin-bottom:2px}.chat-md-table-wrap{overflow-x:auto;margin:var(--ds-space-2) 0;-webkit-overflow-scrolling:touch}.chat-md-table{border-collapse:collapse;font-size:var(--fs-sm);width:100%}.chat-md-table td,.chat-md-table th{padding:var(--ds-space-1) var(--ds-space-4);border:1px solid var(--ds-border-subtle);text-align:left}.chat-md-table th{background:rgba(255,255,255,.04);font-weight:600;color:var(--ds-text-secondary)}.chat-md hr{border:none;border-top:1px solid var(--ds-border-subtle);margin:var(--ds-space-3) 0}.chat-md img{max-width:100%}.chat-md img,.rec-request-card{border-radius:var(--ds-radius-md)}.rec-request-card{display:flex;flex-direction:column;gap:var(--ds-space-4);padding:14px;border:1px solid rgba(16,185,129,.2);background:var(--ds-accent-primary-dim)}.rec-request-header{display:flex;align-items:center;gap:var(--ds-space-3)}.rec-request-icon,.rec-request-label{color:var(--ds-accent-primary)}.rec-request-label{font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.rec-request-note{font-size:var(--fs-base);line-height:1.5;color:var(--ds-text-primary);margin:0}.rec-request-cta{display:inline-flex;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-3) var(--ds-space-6);border-radius:var(--ds-radius-md);background:var(--ds-accent-primary);color:#000;font-size:13px;font-weight:700;font-family:var(--font-inter);text-decoration:none;cursor:pointer;transition:opacity .15s ease;align-self:flex-start}.rec-request-cta:hover{opacity:.85}.chat-contacts-empty-label{color:var(--ds-text-primary);font-size:13px;font-weight:700}.chat-contacts-empty-sub{max-width:24ch;font-size:12px;line-height:1.45;color:var(--ds-text-tertiary)}.chat-requests-panel{display:flex;flex-direction:column;min-height:100%;background:var(--ds-surface)}.chat-requests-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--ds-border-subtle)}.chat-requests-title{margin:0;color:var(--ds-text-primary);font-size:18px;font-weight:650}.chat-requests-sub{margin:4px 0 0;color:var(--ds-text-secondary);font-size:13px;line-height:1.4}.chat-requests-tabs{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--ds-border-subtle);border-radius:8px;background:var(--ds-surface-elevated)}.chat-requests-tab{border:0;border-radius:6px;background:transparent;color:var(--ds-text-secondary);cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px}.chat-requests-tab-active{background:var(--ds-surface);color:var(--ds-text-primary);box-shadow:0 0 0 1px var(--ds-border-subtle)}.chat-requests-empty{padding:28px 20px;color:var(--ds-text-secondary);font-size:14px}.chat-requests-state{padding:20px}.chat-requests-state-empty{flex:1;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:var(--ds-space-10);text-align:center}.chat-requests-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:8px 0}.chat-request-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:flex-start;padding:14px 20px;border-bottom:1px solid var(--ds-border-subtle)}.chat-request-row-highlight{background:color-mix(in srgb,var(--ds-accent-primary) 14%,transparent);box-shadow:inset 0 0 0 1px var(--ds-border-accent)}.chat-request-body{min-width:0}.chat-request-topline{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.chat-request-name{color:var(--ds-text-primary);font-size:14px;font-weight:650}.chat-request-headline,.chat-request-username{color:var(--ds-text-secondary);font-size:12px}.chat-request-headline{margin-top:3px}.chat-request-intro{margin:8px 0 0;color:var(--ds-text-primary);font-size:13px;line-height:1.45}.chat-request-actions{display:flex;align-items:center;gap:8px}.chat-request-btn{border:1px solid var(--ds-border-subtle);border-radius:7px;background:var(--ds-surface-elevated);color:var(--ds-text-primary);cursor:pointer;font-size:12px;font-weight:650;padding:7px 10px}.chat-request-field{display:flex;flex-direction:column;gap:var(--ds-space-3)}.chat-request-label{color:var(--ds-text-secondary);font-size:var(--fs-xs);font-weight:600}.chat-request-textarea{width:100%;min-height:120px;resize:vertical;padding:11px 13px;border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);background:var(--ds-surface-input);color:var(--ds-text-primary);font:inherit;font-size:var(--fs-sm);line-height:1.55}.chat-request-textarea::placeholder{color:var(--ds-text-tertiary)}.chat-request-textarea:focus-visible{outline:none;border-color:var(--ds-border-focus);box-shadow:var(--ds-shadow-focus-ring)}.chat-request-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-4)}.chat-request-hint{min-width:0;color:var(--ds-text-tertiary);font-size:var(--fs-xs);line-height:1.4}.chat-request-unresolved{margin:0;color:var(--ds-text-secondary);font-size:var(--fs-sm);line-height:1.5}.chat-request-count{flex:0 0 auto;color:var(--ds-text-tertiary);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.chat-request-btn-primary{background:var(--ds-primary);border-color:var(--ds-primary);color:var(--ds-on-primary)}.chat-request-btn-danger{border-color:color-mix(in srgb,var(--ds-danger,#dc2626) 35%,var(--ds-border-subtle));color:var(--ds-danger,#dc2626)}@media (max-width:640px){.chat-requests-header{flex-direction:column}.chat-request-row{grid-template-columns:auto minmax(0,1fr)}.chat-request-actions{grid-column:2;flex-wrap:wrap}}.chat-modal-section-label{padding:10px 16px 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ds-text-tertiary)}.chat-contact-row-meta{display:flex;align-items:center;gap:var(--ds-space-2);flex-shrink:0}.chat-modal-contact-row--gated{opacity:.45;cursor:pointer}.chat-modal-contact-row--gated:hover{opacity:.65;background:rgba(255,255,255,.02)}.chat-modal-karma-chip{color:var(--ds-text-tertiary);background:rgba(255,255,255,.05);padding:2px 8px;border-radius:var(--ds-radius-full,9999px)}.chat-modal-karma-chip,.chat-modal-status-chip{display:inline-flex;align-items:center;font-size:var(--fs-2xs);font-weight:600;flex-shrink:0}.chat-modal-status-chip{min-height:22px;padding:0 8px;border-radius:var(--ds-radius-sm,6px);border:1px solid var(--ds-border-subtle);background:var(--ds-surface-elevated);color:var(--ds-text-secondary)}.chat-karma-gate-tooltip{display:flex;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-2) var(--ds-space-4);margin:-2px var(--ds-space-4) var(--ds-space-1);background:rgba(248,113,113,.06);border:1px solid rgba(248,113,113,.12);border-radius:var(--ds-radius-sm);font-size:var(--fs-2xs);color:#f87171;animation:chatGateTooltipIn .12s ease}@keyframes chatGateTooltipIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.chat-group-karma-section{display:flex;flex-direction:column;gap:var(--ds-space-2);padding:var(--ds-space-3) var(--ds-space-5);border-top:1px solid var(--ds-border-default)}.chat-group-karma-toggle{display:flex;align-items:center;gap:var(--ds-space-3)}.chat-group-karma-toggle-label{display:flex;align-items:center;gap:var(--ds-space-1);font-size:var(--fs-sm);color:var(--ds-text-secondary);flex:1}.chat-group-karma-tip-wrap{display:inline-flex;cursor:help}.chat-group-karma-tip-icon{color:var(--ds-text-tertiary);opacity:.6;transition:opacity var(--ds-transition-fast)}.chat-group-karma-tip-wrap:hover .chat-group-karma-tip-icon{opacity:1}.chat-group-karma-pill{font-size:var(--fs-xs);font-weight:700;font-family:var(--font-inter);color:var(--ds-accent-primary);background:rgba(16,185,129,.1);padding:1px 8px;border-radius:var(--ds-radius-full,9999px);line-height:1.6}.chat-member-karma-chip{font-size:var(--fs-2xs);font-weight:600;color:var(--ds-text-tertiary);flex-shrink:0;padding:1px 6px;border-radius:var(--ds-radius-full,9999px);background:rgba(255,255,255,.05)}.chat-member-karma-chip--pass{color:var(--ds-accent-primary,#10b981);background:rgba(16,185,129,.12)}.chat-member-karma-chip--warn{color:#f87171;background:rgba(248,113,113,.12)}.chat-group-karma-range{width:100%;height:12px;appearance:none;background:transparent;outline:none;cursor:pointer;margin:0}.chat-group-karma-range::-webkit-slider-runnable-track{height:3px;border-radius:9999px;background:rgba(255,255,255,.08)}.chat-group-karma-range::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--ds-accent-primary);border:none;box-shadow:0 0 4px rgba(16,185,129,.4);cursor:grab;margin-top:-4.5px}.chat-group-karma-range::-moz-range-track{height:3px;border-radius:9999px;background:rgba(255,255,255,.08)}.chat-group-karma-range::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--ds-accent-primary);border:none;box-shadow:0 0 4px rgba(16,185,129,.4);cursor:grab}.chat-member-role-badge--owner{background:rgba(251,191,36,.12);color:#fbbf24;border-color:rgba(251,191,36,.2)}.chat-member-action-wrap{position:relative;flex-shrink:0}.chat-member-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ds-radius-sm);background:transparent;border:none;color:var(--ds-text-tertiary);cursor:pointer;transition:all var(--ds-transition-fast)}.chat-member-action-btn:hover{background:rgba(255,255,255,.06);color:var(--ds-text-primary)}.chat-member-action-menu{position:absolute;top:100%;right:0;z-index:100;min-width:180px;padding:var(--ds-space-1) 0;background:var(--ds-surface-card);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-md);box-shadow:var(--ds-shadow-md,0 4px 12px rgba(0,0,0,.3));animation:chatMenuIn .1s ease}@keyframes chatMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chat-member-action-menu-item{display:flex;align-items:center;gap:var(--ds-space-3);width:100%;padding:var(--ds-space-3) var(--ds-space-4);background:transparent;border:none;color:var(--ds-text-secondary);font-size:var(--fs-sm);cursor:pointer;text-align:left;transition:background var(--ds-transition-fast)}.chat-member-action-menu-item:hover{background:rgba(255,255,255,.04);color:var(--ds-text-primary)}.chat-member-action-menu-item--danger{color:#f87171}.chat-member-action-menu-item--danger:hover{background:rgba(248,113,113,.06);color:#f87171}.chat-settings-modal{max-height:min(680px,calc(100dvh - var(--chat-modal-top-offset) - var(--chat-modal-bottom-gap)))}.chat-settings-content{display:flex;flex-direction:column;gap:var(--ds-space-3);padding:var(--ds-space-5);overflow-y:auto}.chat-settings-section-title{margin-top:var(--ds-space-2);color:var(--ds-text-primary);font-size:13px;font-weight:700}.chat-settings-section-title:first-child{margin-top:0}.chat-settings-field{display:flex;flex-direction:column;gap:var(--ds-space-2);padding:var(--ds-space-4);border:1px solid var(--ds-border-subtle);border-radius:8px;background:color-mix(in srgb,var(--ds-surface-elevated) 72%,transparent)}.chat-settings-label{font-size:var(--fs-xs);font-weight:600;color:var(--ds-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.chat-settings-value{font-size:var(--fs-sm);color:var(--ds-text-secondary)}.chat-settings-avatar-row{display:flex;align-items:center;gap:var(--ds-space-3)}.chat-settings-avatar-preview{width:56px;height:56px;border-radius:var(--ds-radius-md);background:var(--avatar-user-tile-wash),var(--avatar-user-tile-bg);border:1px solid var(--avatar-user-tile-border);box-shadow:var(--avatar-user-tile-shadow);color:var(--ds-text-tertiary);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.chat-settings-avatar-preview img{width:100%;height:100%;object-fit:cover;display:block}.chat-settings-avatar-actions{display:flex;flex-direction:column;gap:var(--ds-space-2);min-width:0}.chat-settings-avatar-buttons{display:flex;flex-wrap:wrap;gap:var(--ds-space-2)}.chat-settings-avatar-buttons .chat-settings-btn-cancel{display:inline-flex;align-items:center;gap:var(--ds-space-1)}.chat-settings-avatar-input{display:none}.chat-settings-error{font-size:var(--fs-xs);color:var(--ds-text-tertiary)}.chat-settings-input-row{display:flex;gap:var(--ds-space-2);align-items:center}.chat-settings-input-row .chat-modal-group-input{flex:1}.chat-settings-save-btn{min-height:38px;padding:0 var(--ds-space-5);background:var(--Green-Gradient);color:var(--White);border:none;border-radius:var(--ds-radius-md);font-size:var(--fs-sm);font-weight:700;cursor:pointer;flex-shrink:0;box-shadow:0 10px 24px rgba(16,185,129,.16);transition:opacity var(--ds-transition-fast),transform var(--ds-transition-fast),box-shadow var(--ds-transition-fast)}.chat-settings-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 30px rgba(16,185,129,.22)}.chat-settings-save-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.chat-settings-karma-section{display:flex;flex-direction:column;gap:var(--ds-space-2)}.chat-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);padding:var(--ds-space-4) var(--ds-space-5) var(--ds-space-5);border-top:1px solid var(--ds-border-subtle);background:linear-gradient(180deg,color-mix(in srgb,var(--ds-surface-card) 76%,transparent),color-mix(in srgb,var(--ds-surface-card) 92%,transparent));flex-shrink:0}.chat-settings-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--ds-space-2);width:100%;margin-left:auto}.chat-settings-empty{font-size:var(--fs-sm);color:var(--ds-text-tertiary);text-align:center;padding:var(--ds-space-8) var(--ds-space-4)}.chat-settings-danger-zone{margin-top:var(--ds-space-4);padding-top:var(--ds-space-4);border-top:1px solid var(--ds-border-default)}.chat-settings-confirm{display:flex;flex-direction:column;gap:var(--ds-space-3)}.chat-settings-confirm-text{font-size:var(--fs-sm);color:var(--ds-text-secondary)}.chat-settings-confirm-actions{display:flex;gap:var(--ds-space-2)}.chat-settings-btn-cancel{min-height:38px;padding:0 var(--ds-space-4);background:rgba(255,255,255,.03);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-md);color:var(--ds-text-secondary);font-size:var(--fs-sm);cursor:pointer;transition:all var(--ds-transition-fast)}.chat-settings-btn-cancel:hover{border-color:var(--ds-border-focus);color:var(--ds-text-primary)}.chat-settings-btn-cancel:disabled{opacity:.45;cursor:not-allowed}.chat-settings-btn-danger{display:inline-flex;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-2) var(--ds-space-4);background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.2);border-radius:var(--ds-radius-sm);color:#f87171;font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:all var(--ds-transition-fast)}.chat-settings-btn-danger:hover{background:rgba(248,113,113,.15)}.chat-invite-section{display:flex;flex-direction:column;gap:var(--ds-space-4)}.chat-invite-link-display{display:flex;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-4);background:var(--ds-surface-input);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-md)}.chat-invite-link-icon{color:var(--ds-accent-primary);flex-shrink:0}.chat-invite-link-url{flex:1;font-family:var(--font-inter);font-size:var(--fs-sm);color:var(--ds-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-invite-copy-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ds-radius-sm);background:transparent;border:1px solid var(--ds-border-default);color:var(--ds-text-tertiary);cursor:pointer;flex-shrink:0;transition:all var(--ds-transition-fast)}.chat-invite-copy-btn:hover{border-color:var(--ds-accent-primary);color:var(--ds-accent-primary)}.chat-invite-meta{display:flex;flex-direction:column;gap:var(--ds-space-1)}.chat-invite-expiry,.chat-invite-karma-note{font-size:var(--fs-xs);color:var(--ds-text-tertiary)}.chat-invite-karma-note{display:flex;align-items:center;gap:var(--ds-space-1)}.chat-invite-revoke-btn{width:fit-content}.chat-invite-expired-notice{font-size:var(--fs-sm);color:#f87171;margin:0}.chat-invite-generate{display:flex;flex-direction:column;gap:var(--ds-space-3)}.chat-invite-expiry-options{display:flex;gap:var(--ds-space-2)}.chat-invite-expiry-btn{padding:var(--ds-space-2) var(--ds-space-3);background:transparent;border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-sm);color:var(--ds-text-secondary);font-size:var(--fs-xs);cursor:pointer;transition:all var(--ds-transition-fast)}.chat-invite-expiry-btn:hover{border-color:var(--ds-border-focus);color:var(--ds-text-primary)}.chat-invite-expiry-btn--active{border-color:var(--ds-accent-primary);background:rgba(16,185,129,.08);color:var(--ds-accent-primary)}.chat-modal-subtitle{font-size:var(--fs-sm);color:var(--ds-text-secondary);line-height:1.45;margin-top:4px}.chat-join-page{display:flex;align-items:center;justify-content:center;min-height:80dvh;padding:var(--ds-space-8)}.chat-join-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:400px;gap:var(--ds-space-5);padding:var(--ds-space-10);background:var(--ds-surface-card);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-lg,16px)}.chat-join-icon-wrap{width:64px;height:64px;border-radius:50%;background:rgba(16,185,129,.1);display:flex;align-items:center;justify-content:center;color:var(--ds-accent-primary)}.chat-join-icon-wrap--error{background:rgba(248,113,113,.1);color:#f87171}.chat-join-icon-wrap--success{background:rgba(16,185,129,.15);color:var(--ds-accent-primary)}.chat-join-title{font-family:var(--font-syne);font-size:var(--fs-xl);font-weight:600;color:var(--ds-text-primary);margin:0}.chat-join-desc{font-size:var(--fs-sm);color:var(--ds-text-secondary);line-height:1.6;margin:0}.chat-join-required-value{color:#f87171}.chat-join-meta{display:flex;flex-direction:column;gap:var(--ds-space-2);width:100%}.chat-join-meta-item{display:flex;align-items:center;justify-content:center;gap:var(--ds-space-2);font-size:var(--fs-xs);color:var(--ds-text-tertiary)}.chat-join-meta-item--pass{color:var(--ds-accent-primary)}.chat-join-progress{width:100%;display:flex;flex-direction:column;gap:var(--ds-space-2);padding:var(--ds-space-4);background:rgba(255,255,255,.02);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-md)}.chat-join-progress-labels{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--ds-text-tertiary)}.chat-join-progress-labels strong{color:var(--ds-text-primary)}.chat-join-progress-track{width:100%;height:6px;border-radius:9999px;background:rgba(255,255,255,.08);overflow:hidden}.chat-join-progress-fill{height:100%;border-radius:9999px;background:var(--Green-Gradient,linear-gradient(90deg,#10B981,#0D9668));transition:width .4s ease}.chat-join-go-btn{display:flex;align-items:center;justify-content:center;gap:var(--ds-space-2);width:100%;padding:var(--ds-space-3) var(--ds-space-6);border-radius:var(--ds-radius-md);background:var(--ds-accent-primary);color:#000;font-size:var(--fs-sm);font-weight:600;font-family:var(--font-inter);text-decoration:none;border:none;cursor:pointer;transition:opacity var(--ds-transition-fast)}.chat-join-go-btn:hover{opacity:.85}.chat-join-earn-btn{display:flex;align-items:center;justify-content:center;gap:var(--ds-space-2);width:100%;padding:var(--ds-space-3) var(--ds-space-6);border-radius:var(--ds-radius-md);background:var(--ds-accent-primary);color:#000;font-size:var(--fs-sm);font-weight:600;font-family:var(--font-inter);text-decoration:none;transition:opacity var(--ds-transition-fast)}.chat-join-earn-btn:hover{opacity:.85}.chat-join-back-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--ds-space-3) var(--ds-space-6);border-radius:var(--ds-radius-md);background:transparent;border:1px solid var(--ds-border-default);color:var(--ds-text-secondary);font-size:var(--fs-sm);text-decoration:none;transition:all var(--ds-transition-fast)}.chat-join-back-btn:hover{border-color:var(--ds-border-focus);color:var(--ds-text-primary)}.chat-join-back-link{font-size:var(--fs-xs);color:var(--ds-text-tertiary);text-decoration:none;transition:color var(--ds-transition-fast)}.chat-join-back-link:hover{color:var(--ds-text-secondary)}.chat-invite-bar{display:flex;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-4) var(--ds-space-5);background:rgba(255,255,255,.02);border-bottom:1px solid var(--ds-border-default)}.chat-invite-bar-label{white-space:nowrap;flex-shrink:0}.chat-invite-bar-label,.chat-invite-bar-url{font-size:var(--fs-sm);color:var(--ds-text-secondary)}.chat-invite-bar-url{flex:1;min-width:0;background:transparent;border:none;outline:none;font-family:var(--font-inter);cursor:text;padding:var(--ds-space-1) 0;letter-spacing:.02em}.chat-invite-bar-url:focus-visible{outline:2px solid var(--ds-border-focus);outline-offset:-2px;border-radius:var(--ds-radius-sm)}.chat-invite-bar-url:focus{color:var(--ds-text-primary)}.chat-invite-bar-select{background:var(--ds-surface-input);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-sm);color:var(--ds-text-secondary);font-size:var(--fs-sm);padding:var(--ds-space-2) var(--ds-space-3);cursor:pointer;outline:none;flex-shrink:0}.chat-invite-bar-select:focus{border-color:var(--ds-border-focus)}.chat-invite-bar-action{margin-left:auto;padding:var(--ds-space-2) var(--ds-space-4);background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);border-radius:var(--ds-radius-sm);color:var(--ds-accent-primary);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;cursor:pointer;flex-shrink:0;transition:background var(--ds-transition-fast)}.chat-invite-bar-action:hover{background:rgba(16,185,129,.18)}.chat-invite-bar-revoke{background:none;border:none;border-left:1px solid var(--ds-border-default);color:var(--ds-text-tertiary);font-size:var(--fs-sm);cursor:pointer;padding:0 0 0 var(--ds-space-3);margin-left:var(--ds-space-1);white-space:nowrap;flex-shrink:0;transition:color var(--ds-transition-fast)}.chat-invite-bar-revoke:hover{color:#f87171}.chat-group-invites{display:flex;flex-direction:column;gap:var(--ds-space-3);margin:var(--ds-space-4) var(--ds-space-5) 0;padding:var(--ds-space-4);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);background:rgba(255,255,255,.026)}.chat-group-invites-head{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3)}.chat-group-invites-title{color:var(--ds-text-primary);font-size:13px;font-weight:700}.chat-group-invites-count{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-sm);background:rgba(255,255,255,.035);color:var(--ds-text-tertiary);font-size:11px;font-weight:600;white-space:nowrap}.chat-group-invites-list{display:flex;flex-direction:column;gap:var(--ds-space-2);margin:0;padding:0;list-style:none}.chat-group-invite-row{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-4);padding:var(--ds-space-3) 0}.chat-group-invite-row+.chat-group-invite-row{border-top:1px solid var(--ds-border-subtle)}.chat-group-invite-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.chat-group-invite-name{color:var(--ds-text-primary);font-size:13px;font-weight:650}.chat-group-invite-meta,.chat-group-invite-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-group-invite-meta{color:var(--ds-text-tertiary);font-size:11px}.chat-group-invite-actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--ds-space-2)}@media (max-width:640px){.chat-group-invite-row{align-items:flex-start;flex-direction:column;gap:var(--ds-space-3)}.chat-group-invite-actions{width:100%}.chat-group-invite-actions .chat-request-btn{flex:1}}.chat-notice-banner{display:flex;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-5);background:var(--ds-surface-elevated);border-bottom:1px solid var(--ds-border-subtle);color:var(--ds-text-secondary);font-size:12px}.chat-notice-banner-copy{flex:1}.chat-safety-number-code{display:block;padding:var(--ds-space-4) var(--ds-space-5);border-radius:var(--ds-radius-sm);background:var(--ds-surface-elevated);color:var(--ds-text-primary);font-size:12px;line-height:1.6;word-break:normal;overflow-wrap:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em}.chat-safety-number-help{margin:var(--ds-space-4) 0 0;font-size:var(--fs-sm);line-height:1.5;color:var(--ds-text-secondary)}@media (max-width:768px){.chat-emoji-search,.chat-in-search-input,.chat-invite-bar-select,.chat-invite-bar-url,.chat-modal-group-input,.chat-modal-search,.chat-request-textarea,.chat-search-v2,.chat-settings-avatar-input,.msg-reaction-search{font-size:16px}}@media (max-width:767px){.chat-attach-preview-clear,.chat-compose-btn,.chat-emoji-btn,.chat-icon-btn,.chat-members-modal .chat-modal-close,.chat-modal-close,.chat-reply-bar-cancel,.chat-scroll-fab,.chat-send-btn-v2,.chat-voice-btn{width:var(--ds-touch-target);height:var(--ds-touch-target)}.chat-attach-item,.chat-context-menu-item,.chat-filter-tab,.chat-modal-row-button,.chat-request-btn,.chat-state-action,.msg-send-failure-btn{min-height:var(--ds-touch-target)}.chat-in-search-close,.chat-in-search-nav,.chat-invite-copy-btn,.chat-member-action-btn,.chat-member-remove-btn{width:var(--ds-touch-target);height:var(--ds-touch-target)}.chat-code-copy-btn{width:var(--ds-touch-target);height:32px}.chat-in-search{flex-wrap:wrap;gap:var(--ds-space-2);padding-inline:var(--ds-space-4)}.chat-in-search-input{flex:1 1 96px}.chat-search-v2{min-height:var(--ds-touch-target)}.chat-filter-tabs{padding-inline:var(--ds-space-4)}.chat-filter-tab{flex:1 1 0;min-width:0;padding-inline:var(--ds-space-2)}.msg-bubble-actions{top:auto;bottom:calc(100% + var(--ds-space-1));transform:none;gap:var(--ds-space-1);padding:var(--ds-space-1)}.msg-bubble-own .msg-bubble-actions{right:0;left:auto;margin-right:0}.msg-bubble-other .msg-bubble-actions{left:0;right:auto;margin-left:0}.msg-action-btn,.msg-reaction-picker-btn{width:var(--ds-touch-target);height:var(--ds-touch-target)}.msg-reaction-picker{bottom:calc(100% + var(--ds-touch-target) + var(--ds-space-4))}.msg-reaction-chip{min-height:32px}.msg-reaction-picker-expanded{width:min(268px,calc(100vw - var(--ds-space-9)));max-width:calc(100vw - var(--ds-space-9))}.chat-context-menu{max-width:calc(100vw - var(--ds-space-7))}.msg-attachment-file{max-width:100%}.chat-contact-row-preview,.chat-md,.msg-reply-quote-text,.msg-text{overflow-wrap:anywhere}.chat-composer,.chat-header-v2,.chat-sidebar-v2-header,.chat-sidebar-v2-search{padding-left:max(var(--app-content-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--app-content-gutter),env(safe-area-inset-right,0px))}.chat-composer{padding-bottom:max(var(--ds-space-5),calc(env(safe-area-inset-bottom, 0px) - var(--app-content-bottom-offset) + var(--ds-space-5)))}.chat-messages-v2{padding:var(--ds-space-4) max(var(--app-content-gutter),env(safe-area-inset-right,0px)) var(--ds-space-4) max(var(--app-content-gutter),env(safe-area-inset-left,0px))}.chat-contacts-list{padding-bottom:calc(var(--ds-space-4) + env(safe-area-inset-bottom, 0px))}.chat-contacts-list,.chat-modal-list{overscroll-behavior:contain}.chat-scroll-fab{right:max(var(--ds-space-5),env(safe-area-inset-right,0px))}}