:root{color-scheme:dark light;--bg-canvas: #0B0E11;--bg-rail: #101419;--bg-surface: #141A21;--bg-elevated: #1B232C;--bg-hover: #212B36;--bg-input: #0F141A;--border-subtle: #202934;--border-strong: #2E3A48;--text-primary: #E8EEF4;--text-secondary: #8C9AA8;--text-muted: #5F6D7A;--accent: #00E5FF;--accent-hover: #26ECFF;--accent-text: #041318;--accent-muted: #0C2A33;--bubble-out: #0A3842;--bubble-out-border: #125866;--bubble-in: #182028;--bubble-in-border: #25303C;--verified: #00D084;--verified-muted: #0B2E22;--danger: #FF4D5A;--danger-muted: #331318;--warning: #FFB020;--scrollbar-track: #101419;--scrollbar-thumb: #2A3542;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}[data-theme=light]{color-scheme:light;--bg-canvas: #F3F6F9;--bg-rail: #E9EEF3;--bg-surface: #FFFFFF;--bg-elevated: #F0F4F8;--bg-hover: #E3E9F0;--bg-input: #F7F9FB;--border-subtle: #D5DEE7;--border-strong: #B8C5D3;--text-primary: #0E141B;--text-secondary: #4B5B6B;--text-muted: #708090;--accent: #0088A3;--accent-hover: #006E85;--accent-text: #FFFFFF;--accent-muted: #DCF3F7;--bubble-out: #006E85;--bubble-out-border: #00586B;--bubble-in: #FFFFFF;--bubble-in-border: #D5DEE7;--verified: #008A55;--verified-muted: #DCF5EA;--danger: #D92D3A;--danger-muted: #FDE8EA;--scrollbar-track: #E9EEF3;--scrollbar-thumb: #B8C5D3}*,*:before,*:after{box-sizing:border-box}html,body,#root{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;background-color:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none}@supports not (scrollbar-color: auto){*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{position:absolute;clip-path:inset(50%);overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;white-space:nowrap}dialog.cg-dialog{border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--bg-surface);color:var(--text-primary);padding:0;width:min(460px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;box-shadow:0 18px 48px #0000008c}dialog.cg-dialog[open]{display:flex;flex-direction:column}dialog.cg-dialog:modal{overscroll-behavior:contain}dialog.cg-dialog::backdrop{background-color:#06090dc7;overflow:hidden;overscroll-behavior:contain}.app-shell{position:fixed;top:0;left:0;right:0;display:grid;grid-template-columns:340px 1fr;height:var(--vvh, 100%);width:100%;background-color:var(--bg-canvas);overflow:hidden}.sidebar{display:flex;flex-direction:column;background-color:var(--bg-rail);border-inline-end:1px solid var(--border-subtle);min-width:0;min-height:0;height:100%;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border-subtle);background-color:var(--bg-surface);gap:10px;flex-shrink:0}.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}.brand-icon{width:34px;height:34px;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-strong);flex-shrink:0}.brand-title{font-size:.95rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary);margin:0}.brand-subtitle{font-family:var(--font-mono);font-size:.68rem;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background-color:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);transition:background-color .12s ease,color .12s ease,border-color .12s ease;flex-shrink:0}.icon-btn:hover{background-color:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.icon-btn.accent{background-color:var(--accent);color:var(--accent-text);border-color:var(--accent)}.icon-btn.accent:hover{background-color:var(--accent-hover)}.sidebar-search{padding:10px 12px;border-bottom:1px solid var(--border-subtle);display:flex;gap:8px;align-items:center}.search-input-wrap{position:relative;flex:1;display:flex;align-items:center}.search-input-wrap svg{position:absolute;inset-inline-start:10px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;height:38px;padding-inline-start:34px;padding-inline-end:12px;background-color:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary)}.search-input::placeholder{color:var(--text-muted)}.chat-list{flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.chat-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);text-align:start;border:1px solid transparent;transition:background-color .1s ease,border-color .1s ease}.chat-item:hover{background-color:var(--bg-elevated)}.chat-item.active{background-color:var(--bg-elevated);border-color:var(--accent)}.avatar{width:42px;height:42px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;color:#061014;flex-shrink:0;font-family:var(--font-mono);position:relative}.avatar.sm{width:34px;height:34px;font-size:.8rem}.online-dot{position:absolute;bottom:-2px;right:-2px;width:11px;height:11px;border-radius:var(--radius-full);background-color:var(--verified);border:2px solid var(--bg-rail)}.chat-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.chat-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-item-name{font-weight:600;font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:5px}.chat-item-time{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);flex-shrink:0}.chat-item-preview{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.unread-badge{min-width:20px;height:20px;padding-inline:6px;border-radius:var(--radius-full);background-color:var(--accent);color:var(--accent-text);font-family:var(--font-mono);font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-footer{padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--border-subtle);background-color:var(--bg-surface);display:flex;align-items:center;justify-content:space-between;gap:8px}.user-pill{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-align:start;padding:4px 6px;border-radius:var(--radius-sm)}.user-pill:hover{background-color:var(--bg-elevated)}.chat-pane{display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;overflow:hidden;background-color:#0b0e1173;background-image:url(/chat-bg.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-blend-mode:darken}[data-theme=light] .chat-pane{background-color:#f3f6f9d9;background-blend-mode:lighten}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;padding-top:calc(12px + env(safe-area-inset-top,0px));background-color:var(--bg-surface);border-bottom:1px solid var(--border-subtle);gap:12px;min-height:64px;flex-shrink:0}.chat-header-left{display:flex;align-items:center;gap:12px;min-width:0}.back-btn{display:none}.chat-header-meta{min-width:0}.chat-header-title{margin:0;font-size:.98rem;font-weight:700;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-sub{font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary);display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge-e2ee{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:.68rem;font-weight:600;padding:2px 7px;border-radius:var(--radius-xs);background-color:var(--accent-muted);color:var(--accent);border:1px solid var(--accent);text-transform:uppercase;letter-spacing:.04em}.badge-verified{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:.68rem;font-weight:600;padding:2px 7px;border-radius:var(--radius-xs);background-color:var(--verified-muted);color:var(--verified);border:1px solid var(--verified);text-transform:uppercase}.health-pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding-inline:10px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border-subtle);background-color:var(--bg-elevated);flex-shrink:0}.health-pill.ok{border-color:var(--verified);background-color:var(--verified-muted);color:var(--verified)}.health-pill.bad{border-color:var(--danger);background-color:var(--danger-muted);color:var(--danger)}.health-dot{width:9px;height:9px;border-radius:var(--radius-full);flex-shrink:0}.health-dot.ok{background-color:var(--verified)}.health-dot.bad{background-color:var(--danger)}.tamper-banner{background-color:var(--danger-muted);border:1px solid var(--danger);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px;font-size:.82rem;color:var(--text-primary)}.tamper-banner-actions{display:flex;flex-wrap:wrap;gap:8px}.messages-scroll{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:10px}.e2ee-banner{align-self:center;max-width:520px;background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 16px;text-align:center;font-size:.78rem;color:var(--text-secondary);margin-block:8px 16px;display:flex;flex-direction:column;align-items:center;gap:6px}.msg-row{display:flex;flex-direction:column;max-width:min(72%,580px);gap:3px}.msg-row.out{align-self:flex-end;align-items:flex-end}.msg-row.in{align-self:flex-start;align-items:flex-start}.msg-sender-label{font-family:var(--font-mono);font-size:.7rem;color:var(--accent);padding-inline:4px}.msg-bubble{position:relative;padding:10px 13px;border-radius:var(--radius-md);font-size:.92rem;line-height:1.45;word-break:break-word;border:1px solid transparent}.msg-row.out .msg-bubble{background-color:var(--bubble-out);border-color:var(--bubble-out-border);color:#ecf6f8;border-bottom-right-radius:2px}.msg-row.in .msg-bubble{background-color:var(--bubble-in);border-color:var(--bubble-in-border);color:var(--text-primary);border-bottom-left-radius:2px}.msg-reply-quote{border-inline-start:3px solid var(--accent);background-color:#00000038;padding:5px 8px;border-radius:var(--radius-xs);margin-bottom:6px;font-size:.78rem}.msg-reply-author{font-weight:600;color:var(--accent);font-size:.72rem}.msg-image{max-width:100%;max-height:320px;border-radius:var(--radius-sm);display:block;margin-bottom:6px;border:1px solid var(--border-strong)}.msg-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;word-break:break-all}.msg-link:hover{color:var(--accent-hover)}.link-preview-card{display:flex;flex-direction:column;margin-top:8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--bg-surface);overflow:hidden;text-decoration:none;color:inherit;transition:border-color .12s ease,background-color .12s ease}.link-preview-card:hover{border-color:var(--accent);background-color:var(--bg-elevated)}.link-preview-img{width:100%;max-height:170px;object-fit:cover;display:block;border-bottom:1px solid var(--border-subtle)}.link-preview-body{padding:9px 11px;display:flex;flex-direction:column;gap:4px}.link-preview-site{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:.7rem;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.link-preview-title{font-size:.84rem;font-weight:600;color:var(--text-primary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-preview-desc{font-size:.76rem;color:var(--text-secondary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.yt-preview-card{display:flex;flex-direction:column;margin-top:8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--bg-surface);overflow:hidden;width:min(320px,100%)}.yt-thumb-btn{position:relative;display:block;width:100%;aspect-ratio:16 / 9;background-color:#000;overflow:hidden;border-bottom:1px solid var(--border-subtle)}.yt-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.yt-play-badge{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:var(--radius-full);background-color:var(--accent);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;border:2px solid #0B0E11}.yt-embed-wrap{width:100%;aspect-ratio:16 / 9;background-color:#000;border-bottom:1px solid var(--border-subtle)}.yt-embed-wrap iframe{width:100%;height:100%;border:0;display:block}.msg-meta{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.66rem;color:var(--text-muted);padding-inline:2px}.msg-actions{display:none;gap:4px;margin-top:2px}.msg-row:hover .msg-actions,.msg-row:focus-within .msg-actions{display:flex}.msg-action-chip{font-size:.72rem;padding:2px 6px;border-radius:var(--radius-xs);background-color:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary)}.msg-action-chip:hover{background-color:var(--bg-hover);color:var(--text-primary)}.reactions-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.reaction-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--radius-full);background-color:var(--bg-surface);border:1px solid var(--border-subtle);font-size:.75rem}.reaction-pill.mine{border-color:var(--accent);background-color:var(--accent-muted)}.composer-wrap{background-color:var(--bg-surface);border-top:1px solid var(--border-subtle);padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}.reply-banner{display:flex;align-items:center;justify-content:space-between;background-color:var(--bg-elevated);border-inline-start:3px solid var(--accent);padding:6px 10px;border-radius:var(--radius-xs);font-size:.8rem}.composer-form{display:flex;align-items:flex-end;gap:8px}.composer-textarea{flex:1;min-height:44px;max-height:140px;resize:none;background-color:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 12px;font-size:max(1rem,.94rem);line-height:1.4;color:var(--text-primary)}.composer-textarea::placeholder{color:var(--text-muted)}.send-btn{height:44px;padding-inline:16px;border-radius:var(--radius-sm);background-color:var(--accent);color:var(--accent-text);font-weight:700;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0}.send-btn:hover:not(:disabled){background-color:var(--accent-hover)}.send-btn:disabled{opacity:.45;cursor:not-allowed}.auth-screen{position:fixed;top:0;left:0;right:0;height:var(--vvh, 100%);display:flex;flex-direction:column;align-items:center;justify-content:safe center;padding:20px;padding-top:calc(20px + env(safe-area-inset-top,0px));padding-bottom:calc(32px + env(safe-area-inset-bottom,0px));background-color:#0b0e1159;background-image:url(/login-bg.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-blend-mode:darken;overflow-y:auto;-webkit-overflow-scrolling:touch}.auth-card{width:min(440px,100%);margin-block:auto;flex-shrink:0;background-color:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:28px 24px;display:flex;flex-direction:column;gap:20px}.auth-logo-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.auth-logo-img{width:180px;height:180px;border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--border-strong)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.field input,.field select{width:100%;min-height:46px;padding:10px 12px;background-color:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:max(1rem,.94rem);color:var(--text-primary)}.field input:user-invalid{border-color:var(--danger)}.btn-primary{width:100%;min-height:46px;border-radius:var(--radius-sm);background-color:var(--accent);color:var(--accent-text);font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover)}.btn-secondary{min-height:42px;padding-inline:14px;border-radius:var(--radius-sm);background-color:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-primary);font-weight:600;font-size:.86rem;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-secondary:hover{background-color:var(--bg-hover)}.btn-danger{min-height:42px;padding-inline:14px;border-radius:var(--radius-sm);background-color:var(--danger-muted);border:1px solid var(--danger);color:var(--danger);font-weight:600;font-size:.86rem}.error-banner{background-color:var(--danger-muted);border:1px solid var(--danger);color:var(--danger);padding:10px 12px;border-radius:var(--radius-sm);font-size:.84rem}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border-subtle)}.dialog-header h2{margin:0;font-size:1rem;font-weight:700}.dialog-body{padding:18px;overflow-y:auto}.safety-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px;background-color:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.92rem;text-align:center;letter-spacing:.08em;color:var(--accent)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;gap:12px;color:var(--text-secondary)}@media(max-width:768px){.app-shell{grid-template-columns:1fr}.app-shell[data-mobile-view=chat] .sidebar,.app-shell[data-mobile-view=list] .chat-pane{display:none}.back-btn{display:inline-flex}.chat-header{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top,0px));gap:8px;min-height:auto}.chat-header-left{gap:8px}.health-pill{padding-inline:8px;font-size:.65rem}@media(max-width:430px){.chat-header .health-pill span:last-child{display:none}.chat-header .health-pill{padding-inline:8px;width:32px;justify-content:center}}.msg-row{max-width:86%}}
