:root,:root[data-theme=dark]{--brand-primary: #6366f1;--brand-accent: #14b8a6;--brand-gradient: linear-gradient(135deg, #6366f1 0%, #7c3aed 48%, #14b8a6 100%);--ui-bg: #06070d;--ui-surface: rgba(14, 16, 28, .72);--ui-surface-2: rgba(255, 255, 255, .06);--ui-surface-glass: rgba(255, 255, 255, .08);--ui-border: rgba(255, 255, 255, .08);--ui-text: #f0f2f8;--ui-text-muted: #8b93a8;--ui-text-inverse: #ffffff;--ui-accent: #818cf8;--ui-accent-2: #14b8a6;--ui-accent-hover: #a5b4fc;--ui-accent-glow: rgba(99, 102, 241, .38);--ui-mesh-1: rgba(99, 102, 241, .22);--ui-mesh-2: rgba(124, 58, 237, .16);--ui-mesh-3: rgba(20, 184, 166, .14);--ui-bubble-mine: linear-gradient(145deg, #6366f1 0%, #7c3aed 52%, #14b8a6 100%);--ui-bubble-mine-border: rgba(129, 140, 248, .42);--ui-bubble-mine-glow: 0 4px 28px rgba(99, 102, 241, .32);--ui-bubble-mine-text: #ffffff;--ui-bubble-theirs: rgba(255, 255, 255, .085);--ui-bubble-theirs-text: #f0f2f8;--ui-presence-online: #34d399;--ui-presence-typing: #fbbf24;--ui-presence-call: #f472b6;--ui-danger: #f87171;--ui-success: #34d399;--ui-radius-sm: 6px;--ui-radius-md: 14px;--ui-radius-lg: 20px;--ui-radius-pill: 999px;--ui-radius-bubble-out: 20px 20px 20px 6px;--ui-radius-bubble-in: 20px 20px 6px 20px;--ui-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ui-font-display: "Inter", var(--ui-font);--ui-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ui-shadow-soft: 0 8px 32px rgba(0, 0, 0, .24);--ui-glass-blur: blur(12px) saturate(160%);--ui-ease-out: cubic-bezier(.16, 1, .3, 1);--ui-motion-spring: cubic-bezier(.34, 1.56, .64, 1);--ui-duration-fast: .15s;--ui-duration-normal: .3s;--ui-duration-theme: .4s;--ui-line-height: 1.45;--ui-input-bg: rgba(255, 255, 255, .06);--ui-input-border: rgba(255, 255, 255, .08);--ui-input-focus: color-mix(in srgb, var(--ui-accent-2) 50%, transparent);--bg: var(--ui-bg);--surface: var(--ui-surface);--surface-2: var(--ui-surface-2);--surface-glass: var(--ui-surface-glass);--border: var(--ui-border);--text: var(--ui-text);--muted: var(--ui-text-muted);--accent: var(--ui-accent);--accent-2: var(--ui-accent-2);--accent-hover: var(--ui-accent-hover);--accent-glow: var(--ui-accent-glow);--conexy-gradient: var(--brand-gradient);--conexy-mesh-1: var(--ui-mesh-1);--conexy-mesh-2: var(--ui-mesh-2);--conexy-mesh-3: var(--ui-mesh-3);--mine: var(--ui-bubble-mine);--mine-border: var(--ui-bubble-mine-border);--mine-glow: var(--ui-bubble-mine-glow);--mine-text: var(--ui-bubble-mine-text);--theirs: var(--ui-bubble-theirs);--theirs-text: var(--ui-bubble-theirs-text);--online: var(--ui-presence-online);--typing: var(--ui-presence-typing);--in-call: var(--ui-presence-call);--danger: var(--ui-danger);--radius: var(--ui-radius-lg);--radius-sm: var(--ui-radius-sm);--radius-lg: var(--ui-radius-lg);--radius-bubble-out: var(--ui-radius-bubble-out);--radius-bubble-in: var(--ui-radius-bubble-in);--radius-pill: var(--ui-radius-pill);--font: var(--ui-font);--font-display: var(--ui-font-display);--font-mono: var(--ui-font-mono);--shadow-soft: var(--ui-shadow-soft);--ease-out: var(--ui-ease-out);--motion-spring: var(--ui-motion-spring);--motion-duration-fast: var(--ui-duration-fast);--motion-duration-normal: var(--ui-duration-normal);--motion-duration-theme: var(--ui-duration-theme);--line-height: var(--ui-line-height);--glass-blur: var(--ui-glass-blur);--field-bg: var(--ui-input-bg);--list-bg: rgba(10, 12, 22, .78);--rail-bg: rgba(8, 9, 18, .88);--chat-bg: rgba(8, 10, 20, .42);--chat-empty-bg: rgba(8, 10, 20, .55);--composer-bar: rgba(12, 14, 26, .78);--composer-field: rgba(255, 255, 255, .07);--composer-border: rgba(255, 255, 255, .1);--composer-text: #f0f2f8;--composer-placeholder: rgba(139, 147, 168, .9);--composer-icon: rgba(139, 147, 168, .95);--voice-btn-bg: rgba(255, 255, 255, .18);--voice-wave-bg: rgba(255, 255, 255, .16);--voice-wave-fill: currentColor;--modal-bg: rgba(12, 14, 26, .88);--modal-border: rgba(255, 255, 255, .08)}:root[data-theme=light]{--ui-bg: #f4f6fc;--ui-surface: rgba(255, 255, 255, .82);--ui-surface-2: rgba(255, 255, 255, .65);--ui-surface-glass: rgba(255, 255, 255, .72);--ui-border: rgba(15, 23, 42, .08);--ui-text: #0f172a;--ui-text-muted: #64748b;--ui-accent: #6366f1;--ui-accent-2: #0d9488;--ui-accent-hover: #4f46e5;--ui-accent-glow: rgba(99, 102, 241, .18);--ui-mesh-1: rgba(99, 102, 241, .12);--ui-mesh-2: rgba(124, 58, 237, .09);--ui-mesh-3: rgba(13, 148, 136, .08);--ui-bubble-mine: linear-gradient(145deg, #6366f1 0%, #7c3aed 52%, #0d9488 100%);--ui-bubble-mine-border: rgba(99, 102, 241, .28);--ui-bubble-mine-glow: 0 4px 22px rgba(99, 102, 241, .16);--ui-bubble-theirs: rgba(255, 255, 255, .85);--ui-bubble-theirs-text: #0f172a;--ui-presence-online: #10b981;--ui-presence-typing: #d97706;--ui-presence-call: #db2777;--ui-danger: #dc2626;--ui-shadow-soft: 0 4px 24px rgba(15, 23, 42, .08);--ui-input-bg: rgba(255, 255, 255, .75);--ui-input-border: rgba(15, 23, 42, .08);--list-bg: rgba(255, 255, 255, .88);--rail-bg: rgba(255, 255, 255, .92);--chat-bg: rgba(244, 246, 252, .55);--chat-empty-bg: rgba(236, 240, 252, .75);--composer-bar: rgba(255, 255, 255, .92);--composer-field: rgba(15, 23, 42, .04);--composer-border: rgba(15, 23, 42, .08);--composer-text: #0f172a;--composer-placeholder: rgba(15, 23, 42, .42);--composer-icon: rgba(15, 23, 42, .48);--voice-btn-bg: rgba(15, 23, 42, .08);--voice-wave-bg: rgba(15, 23, 42, .14);--voice-wave-fill: var(--accent-2);--modal-bg: rgba(255, 255, 255, .94);--modal-border: rgba(15, 23, 42, .06)}@keyframes ui-avatar-ring-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.72}}@keyframes ui-bubble-enter{0%{opacity:0;transform:translateY(18px) scale(.88)}65%{opacity:1;transform:translateY(-3px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-family:var(--ui-font);font-weight:600;line-height:var(--ui-line-height);border-radius:var(--ui-radius-pill);transition:opacity var(--ui-duration-fast) ease,transform var(--ui-duration-fast) var(--ui-motion-spring),box-shadow var(--ui-duration-fast) ease,background var(--ui-duration-fast) ease}.ui-button:active:not(:disabled){transform:scale(.97)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--sm{min-height:34px;padding:6px 14px;font-size:13px}.ui-button--md{min-height:42px;padding:10px 20px;font-size:14px}.ui-button--lg{min-height:48px;padding:12px 24px;font-size:15px}.ui-button--full{width:100%}.ui-button--primary{background:var(--brand-gradient);color:var(--ui-text-inverse);box-shadow:0 10px 24px var(--ui-accent-glow)}.ui-button--primary:hover:not(:disabled){opacity:.94;transform:translateY(-1px)}.ui-button--secondary{background:var(--ui-surface-2);color:var(--ui-text);border:1px solid var(--ui-border);backdrop-filter:var(--ui-glass-blur);-webkit-backdrop-filter:var(--ui-glass-blur)}.ui-button--secondary:hover:not(:disabled){background:var(--ui-surface-glass)}.ui-button--ghost{background:transparent;color:var(--ui-text-muted);box-shadow:none}.ui-button--ghost:hover:not(:disabled){color:var(--ui-text);background:var(--ui-surface-2)}.ui-button--icon{width:42px;height:42px;min-height:42px;padding:0;border-radius:50%}.ui-button__spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.28);border-top-color:#fff;animation:ui-btn-spin .65s linear infinite}@keyframes ui-btn-spin{to{transform:rotate(360deg)}}.ui-avatar-wrap{position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;contain:layout style paint}.ui-avatar-wrap:before{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid transparent;opacity:0;transition:opacity .25s ease,border-color .25s ease;pointer-events:none;z-index:2}.ui-avatar-wrap--online:before{opacity:1;border-color:var(--ui-presence-online);box-shadow:0 0 0 1px color-mix(in srgb,var(--ui-presence-online) 35%,transparent)}.ui-avatar-wrap--typing:before{opacity:1;border-color:var(--ui-presence-typing);animation:ui-avatar-ring-pulse 1.4s ease-in-out infinite}.ui-avatar-wrap--call:before{opacity:1;border-color:var(--ui-presence-call);animation:ui-avatar-ring-pulse 1s ease-in-out infinite}.ui-avatar{border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--brand-gradient);color:var(--ui-text-inverse);font-weight:600;line-height:1;contain:strict;user-select:none}.ui-avatar img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.ui-bubble{position:relative;min-width:0;max-width:100%;padding:10px 16px 8px;font-size:16px;line-height:var(--ui-line-height);word-break:break-word;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.1);transition:box-shadow var(--ui-duration-normal) var(--ui-ease-out),transform var(--ui-duration-normal) var(--ui-motion-spring)}.ui-bubble--mine{background:var(--ui-bubble-mine);color:var(--ui-bubble-mine-text);border-color:var(--ui-bubble-mine-border);box-shadow:var(--ui-bubble-mine-glow);border-radius:var(--ui-radius-bubble-out)}.ui-bubble--theirs{background:var(--ui-bubble-theirs);color:var(--ui-bubble-theirs-text);border-color:var(--ui-border);backdrop-filter:var(--ui-glass-blur);-webkit-backdrop-filter:var(--ui-glass-blur);border-radius:var(--ui-radius-bubble-in)}.ui-bubble--media{padding:5px;max-width:min(296px,85vw);overflow:hidden}.ui-bubble--entering.ui-bubble--mine{animation:ui-bubble-enter .42s var(--ui-motion-spring) both;transform-origin:bottom right}.ui-bubble--entering.ui-bubble--theirs{animation:ui-bubble-enter .42s var(--ui-motion-spring) both;transform-origin:bottom left}.ui-bubble__text{white-space:pre-wrap}.ui-bubble__text code{font-family:var(--ui-font-mono);font-size:.88em;padding:1px 6px;border-radius:6px;background:#0000002e}.ui-bubble--theirs .ui-bubble__text code{background:#0f172a14}.ui-bubble__meta{align-self:flex-end;font-size:10.5px;line-height:1;margin-top:3px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;opacity:.64}.ui-field{display:flex;flex-direction:column;gap:4px;width:100%}.ui-field__label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:color-mix(in srgb,var(--ui-text) 72%,transparent)}.ui-input{width:100%;font-family:var(--ui-font);font-size:14px;line-height:var(--ui-line-height);color:var(--ui-text);background:var(--ui-input-bg);border:1px solid var(--ui-input-border);border-radius:var(--ui-radius-md);padding:10px 14px;outline:none;backdrop-filter:var(--ui-glass-blur);-webkit-backdrop-filter:var(--ui-glass-blur);box-shadow:inset 0 1px #ffffff0a;transition:border-color var(--ui-duration-fast) ease,background var(--ui-duration-fast) ease,box-shadow var(--ui-duration-fast) ease}.ui-input::placeholder{color:var(--ui-text-muted);opacity:.85}.ui-input:focus{border-color:var(--ui-input-focus);background:color-mix(in srgb,var(--ui-input-bg) 70%,var(--ui-surface-glass))}.ui-input--invalid,.ui-input[aria-invalid=true]{border-color:color-mix(in srgb,var(--ui-danger) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-danger) 12%,transparent)}.ui-field__hint{font-size:12px;line-height:1.35;color:var(--ui-text-muted)}.ui-field__hint--success{color:var(--ui-success)}.ui-field__hint--error{color:color-mix(in srgb,var(--ui-danger) 85%,white)}.ui-field__hint--checking{color:var(--ui-text-muted)}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden;background:var(--bg);transition:background-color var(--motion-duration-theme) ease,color var(--motion-duration-theme) ease;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{touch-action:manipulation;-webkit-tap-highlight-color:transparent}html.theme-crossfade *,html.theme-crossfade *:before,html.theme-crossfade *:after{transition:background-color var(--motion-duration-theme) ease,background var(--motion-duration-theme) ease,color var(--motion-duration-theme) ease,border-color var(--motion-duration-theme) ease,box-shadow var(--motion-duration-theme) ease!important}body{font-family:var(--font);background:var(--bg);color:var(--text);height:100%;min-height:100dvh;overflow:hidden;line-height:var(--line-height);-webkit-font-smoothing:antialiased;overscroll-behavior:none}#root{height:100%;min-height:100dvh;overflow:hidden}h1,h2,h3,.font-display{font-family:var(--font-display);letter-spacing:-.02em}code,pre,.mono{font-family:var(--font-mono);font-size:.92em}.app-loading{display:grid;place-items:center;height:100%;min-height:100dvh;background:radial-gradient(ellipse 80% 60% at 20% 10%,var(--conexy-mesh-1),transparent 55%),radial-gradient(ellipse 70% 50% at 85% 80%,var(--conexy-mesh-2),transparent 50%),var(--bg);color:var(--muted);font-size:14px;font-weight:500;gap:16px}.app-loading:before{content:"";width:40px;height:40px;border-radius:50%;border:3px solid rgba(127,127,127,.2);border-top-color:var(--accent);animation:app-spin .75s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}button,input{font:inherit;line-height:var(--line-height)}button{cursor:pointer;border:none;background:none}textarea{border-radius:var(--radius-lg);scrollbar-width:thin;scrollbar-color:rgba(127,127,127,.35) transparent;line-height:var(--line-height)}.btn{background:var(--conexy-gradient);color:#fff;border-radius:var(--radius-pill);padding:10px 20px;font-weight:600;transition:opacity .15s ease,transform .15s ease}.btn:hover:not(:disabled){opacity:.92}.btn:disabled{opacity:.5;cursor:not-allowed}.error{color:var(--danger);font-size:13px}.hint{color:var(--muted);font-size:13px}.avatar-wrap{position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;contain:layout style paint}.avatar-wrap:before{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid transparent;opacity:0;transition:opacity .25s ease,border-color .25s ease;pointer-events:none;z-index:2}.avatar-wrap.presence-online:before{opacity:1;border-color:var(--online);box-shadow:0 0 0 1px color-mix(in srgb,var(--online) 35%,transparent)}.avatar-wrap.presence-typing:before{opacity:1;border-color:var(--typing);animation:ui-avatar-ring-pulse 1.4s ease-in-out infinite}.avatar-wrap.presence-call:before{opacity:1;border-color:var(--in-call);animation:ui-avatar-ring-pulse 1s ease-in-out infinite}.avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--conexy-gradient);color:#fff;font-weight:600;line-height:1;contain:strict}.avatar img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center;display:block;flex-shrink:0}.bubble-media{max-width:280px;overflow:hidden;line-height:0;border-radius:var(--radius)}.bubble-image{display:block;width:auto;height:auto;max-width:280px;max-height:320px;object-fit:contain;border-radius:calc(var(--radius) - 2px)}
