.character-call{z-index:1;box-sizing:border-box;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.character-call--native-loading{pointer-events:none}.character-call--centered{justify-content:center;align-items:center;padding:24px}.character-call__loading,.character-call__error{color:#ffffffbf;text-align:center;max-width:320px;margin:0;font:15px/1.4 system-ui,sans-serif}.character-call__error{color:#f87171}.character-call__end{color:#fecaca;cursor:pointer;background:#f8717140;border:none;border-radius:12px;margin-top:20px;padding:10px 20px;font:600 15px system-ui,sans-serif}.character-call>.lk-room-container,.character-call__body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.character-call__grid{flex:1;grid-template-rows:1fr auto;grid-template-columns:1fr;min-width:0;min-height:0;display:grid}.character-call__remote{background:#000;grid-area:1/1;min-width:0;min-height:0;position:relative}.character-call__remote [data-avatar-video]{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.character-call__remote [data-avatar-video] video{object-fit:cover;width:100%;height:100%}.character-call__local{margin-top:max(12px, env(safe-area-inset-top,0px));margin-right:max(12px, env(safe-area-inset-right,0px));aspect-ratio:4/3;z-index:2;border-radius:12px;grid-area:1/1;place-self:start end;width:min(32vw,140px);overflow:hidden;box-shadow:0 4px 24px #00000080}.character-call__local [data-avatar-user-video]{border:none;width:100%;height:100%;position:relative;inset:auto}.character-call__local [data-avatar-user-video] video{object-fit:cover;width:100%;height:100%}.character-call__controls{grid-area:2/1;min-width:0}.character-call__controls [data-avatar-control-bar]{box-sizing:border-box;width:100%;padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));background:linear-gradient(#0000,#0000008c);position:relative;inset:auto}.character-call [data-lk-quality],.character-call .lk-connection-quality,.character-call .lk-toast-connection-state{display:none}.character-call--native-app,.character-call--native-app .character-call__body,.character-call--native-app .character-call__grid--native-shell,.character-call--native-app .lk-room-container{background:#000!important}.character-call__grid--native-shell{grid-template-rows:1fr;min-height:100%}.character-call--native-app .character-call__remote [data-avatar-video]{justify-content:center;align-items:center}.character-call--native-app .character-call__remote [data-avatar-video] video{object-fit:contain;object-position:center center;width:auto;max-width:100%;height:auto;max-height:100%}.character-call--native-app #root{background:#000;min-height:100dvh}[data-avatar-call]{--avatar-bg-connecting:#1a1a1a;--avatar-radius:16px;--avatar-control-bg:#ffffff1a;--avatar-control-bg-hover:#fff3;--avatar-control-size:48px;--avatar-end-call-bg:#ef4444;--avatar-end-call-bg-hover:#dc2626;--avatar-text-color:#fff;--avatar-text-secondary:#ffffffb3;--avatar-pip-size:120px;--avatar-pip-radius:12px;aspect-ratio:16/9;background:var(--avatar-bg-connecting);border-radius:var(--avatar-radius);isolation:isolate;flex-direction:column;width:100%;display:flex;position:relative;overflow:hidden}[data-avatar-call]:before{content:"";background-image:var(--avatar-image);filter:blur(20px)brightness(.5);z-index:-1;background-position:50%;background-size:cover;transition:opacity .3s;position:absolute;inset:0;transform:scale(1.1)}[data-avatar-call]:has([data-avatar-video][data-avatar-status=ready]):before{opacity:0;pointer-events:none}[data-avatar-video]{z-index:0;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative}[data-avatar-video] video{object-fit:cover;width:100%;height:100%}[data-avatar-video][data-avatar-status=ready]{background:0 0}[data-avatar-control-bar]{z-index:2;background:linear-gradient(#0000,#0006);justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;bottom:0;left:0;right:0}@media (width<=480px){[data-avatar-control-bar]{gap:8px;padding:16px}}[data-avatar-control]{width:var(--avatar-control-size);height:var(--avatar-control-size);background:var(--avatar-control-bg);color:var(--avatar-text-color);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s;display:flex}@media (width<=480px){[data-avatar-control]{width:40px;height:40px}[data-avatar-control] svg{width:18px;height:18px}}[data-avatar-control]:hover{background:var(--avatar-control-bg-hover)}[data-avatar-control]:focus-visible{outline:2px solid var(--avatar-text-color);outline-offset:2px}[data-avatar-control][data-avatar-enabled=false]{color:#fca5a5;background:#ef444433}[data-avatar-control=end-call]{background:var(--avatar-end-call-bg)}[data-avatar-control=end-call]:hover{background:var(--avatar-end-call-bg-hover)}[data-avatar-user-video]{width:var(--avatar-pip-size);aspect-ratio:4/3;border-radius:var(--avatar-pip-radius);background:var(--avatar-bg-connecting);z-index:1;border:2px solid #fff3;position:absolute;bottom:88px;right:24px;overflow:hidden}@media (width<=480px){[data-avatar-user-video]{border-radius:8px;width:80px;bottom:72px;right:12px}}[data-avatar-user-video] video{object-fit:cover;width:100%;height:100%}[data-avatar-user-video][data-avatar-mirror=true] video{transform:scaleX(-1)}[data-avatar-user-video][data-avatar-has-video=false]:before{content:"";background-color:var(--avatar-text-secondary);width:40%;height:40%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[data-avatar-user-video][data-avatar-camera-enabled=false]{display:none}[data-avatar-screen-share]{z-index:1;background:#000;position:absolute;inset:0}[data-avatar-screen-share] video{object-fit:contain;width:100%;height:100%}@keyframes avatar-pulse{0%,to{opacity:1}50%{opacity:.5}}[data-avatar-call]:has([data-avatar-video][data-avatar-status=connecting]):after{content:"";z-index:3;pointer-events:none;border:3px solid #fff3;border-top-color:#fffc;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite avatar-spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-avatar-call]:has([data-avatar-video][data-avatar-status=waiting]):after{content:"";z-index:3;pointer-events:none;border:3px solid #fff3;border-top-color:#fffc;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite avatar-spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes avatar-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}[data-avatar-video][data-avatar-status=connecting]:after,[data-avatar-video][data-avatar-status=waiting]:after{content:"";background:linear-gradient(90deg,#0000,#ffffff08,#0000) 0 0/200% 100%;animation:2s ease-in-out infinite avatar-pulse;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){[data-avatar-video][data-avatar-status=connecting]:after,[data-avatar-video][data-avatar-status=waiting]:after{animation:none}[data-avatar-call]:has([data-avatar-video][data-avatar-status=connecting]):after{animation:none}[data-avatar-call]:has([data-avatar-video][data-avatar-status=waiting]):after{animation:none}}:root{--ui-color-background:#050508;--ui-color-surface:#12121a;--ui-color-accent:#ff6e6e;--ui-color-text-primary:#f4f4f8;--ui-color-text-muted:#8b8b9e;--ui-color-modal-overlay:#0006;--ui-color-modal-border:#6ee7ff24;--ui-color-button-primary-hover:#ff8585;--ui-color-button-primary-pressed:#e85c5c;--ui-color-button-primary-disabled:#ff6e6e59;--ui-color-chat-bubble-user:#2a2a3e;--ui-color-chat-bubble-other:#1a1a28;--ui-color-chat-bubble-a-i:#6ee7ff14;--ui-color-chat-bubble-user-text:#f4f4f8;--ui-color-chat-bubble-other-text:#e0e0ec;--ui-color-chat-bubble-a-i-text:#c8f0ff;--ui-color-chat-input-background:#0d0d14;--ui-color-chat-input-border:#8b8b9e33;--ui-color-chat-input-text:#f4f4f8;--ui-color-chat-input-placeholder:#8b8b9e99;--ui-color-chat-header-background:#0a0a10;--ui-color-chat-header-border:#8b8b9e1a;--ui-color-chat-timestamp:#6b6b80;--ui-color-chat-send-button:#ff6e6e;--ui-color-chat-send-button-disabled:#ff6e6e4d;--ui-color-chat-typing-dot:#8b8b9e;--ui-color-chat-unread-badge:#ff6e6e;--ui-color-chat-unread-badge-text:#fff;--ui-color-chat-avatar-background:#2a2a3e;--ui-color-chat-avatar-text:#c0c0d4;--ui-color-chat-list-divider:#8b8b9e14;--ui-color-chat-list-hover:#ffffff08;--ui-color-chat-status-sent:#6b6b80;--ui-color-chat-status-delivered:#8b8b9e;--ui-color-chat-status-read:#6ee7ff;--ui-color-chat-online:#4ade80;--ui-font-heading-font-family:Inter, system-ui, sans-serif;--ui-font-heading-font-size:18px;--ui-font-heading-font-weight:600;--ui-font-heading-line-height:1.22;--ui-font-heading-letter-spacing:-.02em;--ui-font-body-font-family:Inter, system-ui, sans-serif;--ui-font-body-font-size:15px;--ui-font-body-font-weight:400;--ui-font-body-line-height:1.45;--ui-font-button-font-family:Inter, system-ui, sans-serif;--ui-font-button-font-size:15px;--ui-font-button-font-weight:600;--ui-font-button-line-height:1;--ui-font-chat-message-font-family:Inter, system-ui, sans-serif;--ui-font-chat-message-font-size:15px;--ui-font-chat-message-font-weight:400;--ui-font-chat-message-line-height:1.45;--ui-font-chat-timestamp-font-family:Inter, system-ui, sans-serif;--ui-font-chat-timestamp-font-size:11px;--ui-font-chat-timestamp-font-weight:400;--ui-font-chat-timestamp-line-height:1.2;--ui-font-chat-sender-font-family:Inter, system-ui, sans-serif;--ui-font-chat-sender-font-size:13px;--ui-font-chat-sender-font-weight:600;--ui-font-chat-sender-line-height:1.2;--ui-radius-md:12px;--ui-radius-lg:20px;--ui-radius-modal:16px;--ui-radius-chat-bubble:18px;--ui-radius-chat-input:24px;--ui-radius-chat-avatar:9999px;--ui-modal-max-width:340px;--ui-modal-padding:20px;--ui-chat-bubble-padding-h:14px;--ui-chat-bubble-padding-v:8px;--ui-chat-bubble-max-width:280px;--ui-chat-message-gap:2px;--ui-chat-input-height:44px;--ui-chat-avatar-size:36px;--ui-chat-unread-badge-size:20px}.ui-modal-title{font-family:var(--ui-font-heading-font-family);font-size:var(--ui-font-heading-font-size);font-weight:var(--ui-font-heading-font-weight);line-height:var(--ui-font-heading-line-height);letter-spacing:var(--ui-font-heading-letter-spacing);color:var(--ui-color-text-primary);text-align:center;margin:0 0 12px}.ui-modal-body{font-family:var(--ui-font-body-font-family);font-size:var(--ui-font-body-font-size);font-weight:var(--ui-font-body-font-weight);line-height:var(--ui-font-body-line-height);color:var(--ui-color-text-muted);text-align:center;margin:0 0 20px}.ui-modal-btn-base{font-family:var(--ui-font-button-font-family);font-size:var(--ui-font-button-font-size);font-weight:var(--ui-font-button-font-weight);line-height:var(--ui-font-button-line-height);border-radius:var(--ui-radius-md);cursor:pointer;padding:10px 16px}.ui-modal-btn-secondary{border:1px solid var(--ui-color-text-muted);color:var(--ui-color-text-primary);background:0 0}.ui-modal-btn-primary{background:var(--ui-color-accent);color:var(--ui-color-background);border:none}.ui-modal-btn-primary:hover:not(:disabled){background:var(--ui-color-button-primary-hover)}.ui-modal-btn-primary:active:not(:disabled){background:var(--ui-color-button-primary-pressed)}.ui-modal-btn-primary:disabled{background:var(--ui-color-button-primary-disabled);cursor:not-allowed}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--ui-color-background);--surface:var(--ui-color-surface);--accent:var(--ui-color-accent);--text:var(--ui-color-text-primary);--muted:var(--ui-color-text-muted);font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0}.app-shell{flex-direction:column;height:100vh;display:flex}.app-content{flex:1;overflow:hidden}.link-device-view{text-align:center;background:var(--ui-color-background);flex-direction:column;justify-content:center;align-items:center;gap:40px;height:100vh;padding:32px;display:flex}.link-device-brand{flex-direction:column;align-items:center;gap:8px;display:flex}.churbro-logo{animation:3s ease-in-out infinite glow-pulse}@keyframes glow-pulse{0%,to{filter:drop-shadow(0 0 20px #ffffff40)}50%{filter:drop-shadow(0 0 50px #ffffff8c)}}.link-device-app-name{color:var(--ui-color-text-primary);letter-spacing:-.5px;margin:0;font-size:36px;font-weight:800}.link-device-tagline{color:var(--ui-color-text-muted);margin:0;font-size:15px}.link-device-card{background:var(--ui-color-surface);border-radius:var(--ui-radius-lg);border:1px solid var(--ui-color-chat-input-border);flex-direction:column;align-items:center;gap:16px;width:100%;max-width:400px;padding:32px;display:flex}.link-device-title{color:var(--ui-color-text-primary);margin:0;font-size:20px;font-weight:700}.link-device-description{color:var(--ui-color-text-muted);max-width:320px;margin:0;font-size:14px;line-height:1.5}.link-device-description p{margin:0}.link-device-description p+p{margin-top:.5em}.link-device-qr{background:var(--ui-color-background);border-radius:var(--ui-radius-md);padding:24px}.link-device-hint{color:var(--ui-color-text-muted);margin-top:12px;font-size:13px}.link-device-hint-block{margin-top:8px}.link-device-loading{color:var(--ui-color-text-muted);font-size:14px}.link-device-error{color:#f87171;font-size:14px}.link-device-error button{border:1px solid var(--ui-color-accent);color:var(--ui-color-accent);cursor:pointer;background:0 0;border-radius:8px;margin-top:8px;padding:8px 16px;transition:background .2s}.link-device-error button:hover{background:#ff6e6e1a}.chat-layout{background:var(--ui-color-background);height:100vh;display:flex;overflow:hidden}.chat-sidebar{border-right:1px solid var(--ui-color-chat-list-divider);flex-direction:column;width:360px;min-width:360px;display:flex;overflow:hidden}.chat-main{flex-direction:column;flex:1;display:flex;overflow:hidden}@media (width<=768px){.chat-sidebar{width:100%;min-width:100%}.chat-sidebar-hidden,.chat-main-hidden{display:none}.chat-main{width:100%}}@media (width>=769px){.chat-sidebar-hidden,.chat-main-hidden{display:flex}}.conversation-list{flex-direction:column;height:100%;display:flex}.conversation-list-header{border-bottom:1px solid var(--ui-color-chat-header-border);background:var(--ui-color-chat-header-background);padding:16px 20px}.conversation-list-title{font-size:var(--ui-font-heading-font-size);font-weight:var(--ui-font-heading-font-weight);color:var(--ui-color-text-primary);margin:0}.conversation-list-items{flex:1;overflow-y:auto}.conversation-list-loading,.conversation-list-empty{color:var(--ui-color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.conversation-list-empty-icon{opacity:.4;font-size:36px}.conversation-list-empty-hint{opacity:.6;text-align:center;padding:0 24px;font-size:13px}.conversation-row{border:none;border-bottom:1px solid var(--ui-color-chat-list-divider);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:10px 16px;transition:background .15s;display:flex}.conversation-row:hover{background:var(--ui-color-chat-list-hover)}.conversation-row-content{flex:1;min-width:0}.conversation-row-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.conversation-row-name{color:var(--ui-color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.conversation-row-time{font-size:var(--ui-font-chat-timestamp-font-size);color:var(--ui-color-chat-timestamp);flex-shrink:0}.conversation-row-bottom{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.conversation-row-preview{color:var(--ui-color-text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.avatar-placeholder{background:var(--ui-color-chat-avatar-background);color:var(--ui-color-chat-avatar-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.avatar-img{object-fit:cover;flex-shrink:0}.unread-badge{min-width:var(--ui-chat-unread-badge-size);height:var(--ui-chat-unread-badge-size);color:var(--ui-color-chat-unread-badge-text);background:var(--ui-color-chat-unread-badge);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.chat-view{flex-direction:column;height:100%;display:flex}.chat-header{background:var(--ui-color-chat-header-background);border-bottom:1px solid var(--ui-color-chat-header-border);align-items:center;gap:10px;padding:10px 16px;display:flex}.chat-back-btn{color:var(--ui-color-text-primary);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px;display:none}@media (width<=768px){.chat-back-btn{display:block}}.chat-header-info{flex-direction:column;display:flex}.chat-header-title{color:var(--ui-color-text-primary);font-size:16px;font-weight:600}.chat-header-subtitle{color:var(--ui-color-text-muted);font-size:12px}.chat-messages{gap:var(--ui-chat-message-gap);flex-direction:column;flex:1;padding:8px 12px;display:flex;overflow-y:auto}.chat-loading{color:var(--ui-color-text-muted);flex:1;justify-content:center;align-items:center;display:flex}.chat-empty-state{height:100%;color:var(--ui-color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.chat-empty-icon{opacity:.3;font-size:48px}.message-row{display:flex}.message-row-mine{justify-content:flex-end}.message-row-other{justify-content:flex-start}.message-bubble-wrap{max-width:var(--ui-chat-bubble-max-width);flex-direction:column;display:flex}.message-sender{font-size:var(--ui-font-chat-sender-font-size);font-weight:var(--ui-font-chat-sender-font-weight);color:var(--ui-color-accent);margin-bottom:2px;padding-left:4px}.message-bubble{padding:var(--ui-chat-bubble-padding-v) var(--ui-chat-bubble-padding-h);border-radius:var(--ui-radius-chat-bubble);word-break:break-word}.bubble-mine{background:var(--ui-color-chat-bubble-user);color:var(--ui-color-chat-bubble-user-text)}.bubble-other{background:var(--ui-color-chat-bubble-other);color:var(--ui-color-chat-bubble-other-text)}.bubble-ai{background:var(--ui-color-chat-bubble-a-i);color:var(--ui-color-chat-bubble-a-i-text)}.message-body{font-size:var(--ui-font-chat-message-font-size);font-weight:var(--ui-font-chat-message-font-weight);line-height:var(--ui-font-chat-message-line-height)}.message-meta{justify-content:flex-end;align-items:center;gap:4px;margin-top:2px;display:flex}.message-time{font-size:var(--ui-font-chat-timestamp-font-size);color:var(--ui-color-chat-timestamp)}.msg-status{font-size:10px}.msg-status.sending,.msg-status.sent{color:var(--ui-color-chat-status-sent)}.msg-status.delivered{color:var(--ui-color-chat-status-delivered)}.msg-status.read{color:var(--ui-color-chat-status-read)}.typing-indicator{padding:calc(var(--ui-chat-bubble-padding-v) + 2px) var(--ui-chat-bubble-padding-h);background:var(--ui-color-chat-bubble-other);border-radius:var(--ui-radius-chat-bubble);align-items:center;gap:4px;display:inline-flex}.typing-dot{background:var(--ui-color-chat-typing-dot);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}.chat-input-bar{background:var(--ui-color-chat-header-background);border-top:1px solid var(--ui-color-chat-header-border);align-items:flex-end;gap:8px;padding:8px 12px;display:flex}.chat-input{resize:none;border:1px solid var(--ui-color-chat-input-border);border-radius:var(--ui-radius-chat-input);background:var(--ui-color-chat-input-background);color:var(--ui-color-chat-input-text);font-size:var(--ui-font-chat-message-font-size);font-family:var(--ui-font-chat-message-font-family);outline:none;flex:1;max-height:120px;padding:10px 14px;line-height:1.4}.chat-input::placeholder{color:var(--ui-color-chat-input-placeholder)}.chat-send-btn{background:var(--ui-color-chat-send-button);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;transition:opacity .15s;display:flex}.chat-send-btn:disabled{background:var(--ui-color-chat-send-button-disabled);cursor:default}.chat-ai-btn{border:1px solid var(--ui-color-accent);width:36px;height:36px;color:var(--ui-color-accent);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.auth-gate-loading{justify-content:center;align-items:center;height:100vh;display:flex}.spinner{border:3px solid var(--ui-color-surface);border-top-color:var(--ui-color-accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.new-conversation-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:20px;transition:background .2s}.new-conversation-btn:hover{background:var(--ui-color-surface)}.dialog-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-panel{background:var(--ui-color-background);border:1px solid var(--ui-color-surface);border-radius:var(--ui-radius-lg);flex-direction:column;width:90%;max-width:420px;max-height:80vh;display:flex;overflow:hidden}.dialog-header{border-bottom:1px solid var(--ui-color-surface);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.dialog-header h2{color:var(--ui-color-text);margin:0;font-size:18px;font-weight:600}.dialog-close{color:var(--ui-color-text-secondary);cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1}.dialog-search,.dialog-group-name{border-radius:var(--ui-radius-md);border:1px solid var(--ui-color-chat-input-border);background:var(--ui-color-chat-input-background);color:var(--ui-color-chat-input-text);outline:none;margin:12px 16px 0;padding:10px 14px;font-size:14px}.dialog-search::placeholder,.dialog-group-name::placeholder{color:var(--ui-color-chat-input-placeholder)}.dialog-error{border-radius:var(--ui-radius-sm);color:var(--ui-color-accent);background:#ff505026;margin:8px 16px 0;padding:8px 12px;font-size:13px}.dialog-contact-list{flex:1;padding:8px 0;overflow-y:auto}.dialog-empty{text-align:center;color:var(--ui-color-text-secondary);padding:32px 16px;font-size:14px}.dialog-contact-row{cursor:pointer;width:100%;color:var(--ui-color-text);background:0 0;border:none;align-items:center;gap:12px;padding:10px 20px;transition:background .15s;display:flex}.dialog-contact-row:hover{background:var(--ui-color-surface)}.dialog-contact-row.selected{background:#6ee7ff14}.dialog-contact-avatar{background:var(--ui-color-chat-avatar-background);width:36px;height:36px;color:var(--ui-color-chat-avatar-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.dialog-contact-name{text-align:left;flex:1;font-size:15px}.dialog-check{color:var(--ui-color-accent);font-size:18px}.dialog-footer{border-top:1px solid var(--ui-color-surface);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.dialog-cancel{border-radius:var(--ui-radius-md);border:1px solid var(--ui-color-surface);color:var(--ui-color-text-secondary);cursor:pointer;background:0 0;padding:8px 16px;font-size:14px}.dialog-create{border-radius:var(--ui-radius-md);background:var(--ui-color-accent);color:var(--ui-color-background);cursor:pointer;border:none;padding:8px 20px;font-size:14px;font-weight:600}.dialog-create:disabled{opacity:.4;cursor:not-allowed}.settings-page{max-width:480px;margin:0 auto;padding:24px 20px}.settings-header h1{color:var(--ui-color-text);margin:0 0 24px;font-size:22px;font-weight:700}.settings-section{margin-bottom:32px}.settings-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--ui-color-text-secondary);margin:0 0 12px;font-size:13px;font-weight:600}.settings-field{margin-bottom:16px}.settings-label{color:var(--ui-color-text-secondary);margin-bottom:6px;font-size:13px;display:block}.settings-input-row{gap:8px;display:flex}.settings-input{border-radius:var(--ui-radius-md);border:1px solid var(--ui-color-chat-input-border);background:var(--ui-color-chat-input-background);color:var(--ui-color-chat-input-text);outline:none;flex:1;padding:10px 14px;font-size:15px}.settings-save-btn{border-radius:var(--ui-radius-md);background:var(--ui-color-accent);color:var(--ui-color-background);cursor:pointer;white-space:nowrap;border:none;padding:8px 16px;font-size:14px;font-weight:600}.settings-save-btn:disabled{opacity:.4;cursor:not-allowed}.settings-value{color:var(--ui-color-text);font-size:15px}.settings-mono{opacity:.6;font-family:monospace;font-size:12px}.settings-admin-btn{border-radius:var(--ui-radius-md);border:1px solid var(--ui-color-accent);color:var(--ui-color-accent);cursor:pointer;background:0 0;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.settings-admin-btn:hover{background:color-mix(in srgb, var(--ui-color-accent) 12%, transparent)}.settings-admin-hint{color:var(--ui-color-text-secondary);margin:8px 0 0;font-size:12px}.settings-signout-btn{border-radius:var(--ui-radius-md);color:#ff6e6e;cursor:pointer;background:#ff505014;border:1px solid #ff50504d;padding:10px 20px;font-size:14px;font-weight:500;transition:background .2s}.settings-signout-btn:hover{background:#ff505026}.typing-label{color:var(--ui-color-text-secondary);margin-right:6px;font-size:12px}.app-nav{border-bottom:1px solid var(--ui-color-surface);background:var(--ui-color-background);display:flex}.app-nav-item{text-align:center;color:var(--ui-color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px;font-size:13px;font-weight:500;transition:color .2s,border-color .2s}.app-nav-item:hover{color:var(--ui-color-text)}.app-nav-item.active{color:var(--ui-color-accent);border-bottom-color:var(--ui-color-accent)}
