@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600&family=Orbitron:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--navy:#1c1a17;--navy-light:#2a2724;--navy-lighter:#34302c;--charcoal:#141210;--cream:#f0e8d4;--cream-dim:#f0e8d499;--cream-muted:#f0e8d459;--teal:#6a8fa7;--teal-dim:#6a8fa780;--steel:#3d5a80;--error:#e85d5d;--success:#5dcc8a;--font-display:"Orbitron", monospace;--font-body:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;--bg-primary:#1c1a17;--bg-secondary:#141210;--bg-tertiary:#2a2724;--bg-hover:#f0e8d40a;--bg-active:#6a8fa71a;--text-primary:#f0e8d4;--text-secondary:#f0e8d499;--text-muted:#f0e8d459;--border-subtle:#f0e8d40f;--border-default:#f0e8d41a;--border-hover:#f0e8d433;--border-strong:#f0e8d440;--bubble-user-bg:#f0e8d408;--bubble-agent-bg:transparent;--bubble-border:#f0e8d40a;--input-bg:#2a2724;--input-border:#f0e8d414;--input-focus:#6a8fa780;--scrollbar-thumb:#f0e8d41a;--scrollbar-hover:#f0e8d433;--modal-bg:#1c1a17;--shadow-color:#0000004d;--overlay-bg:#0009}[data-theme=light]{--bg-primary:#faf7f2;--bg-secondary:#ede7dd;--bg-tertiary:#fff;--bg-hover:#1b1f3b0a;--bg-active:#6a8fa71f;--text-primary:#1b1f3b;--text-secondary:#1b1f3b99;--text-muted:#1b1f3b59;--border-subtle:#1b1f3b0f;--border-default:#1b1f3b1a;--border-hover:#1b1f3b26;--border-strong:#1b1f3b40;--bubble-user-bg:#6a8fa71f;--bubble-agent-bg:#fff;--bubble-border:#1b1f3b14;--input-bg:#fff;--input-border:#1b1f3b1f;--input-focus:#6a8fa799;--scrollbar-thumb:#1b1f3b1f;--scrollbar-hover:#1b1f3b33;--modal-bg:#fff;--shadow-color:#0000001a;--overlay-bg:#0000004d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg-secondary);color:var(--text-primary);-webkit-font-smoothing:antialiased;height:100vh;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex}.auth-page{background:var(--bg-secondary);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.auth-page:before{content:"";background:radial-gradient(circle, var(--cream) 1px, transparent 1px);opacity:.02;pointer-events:none;background-size:24px 24px;position:absolute;inset:0}.auth-card{background:var(--bg-primary);border:1px solid var(--border-subtle);z-index:1;border-radius:2px;width:100%;max-width:420px;padding:48px 40px;position:relative}.auth-brand{text-align:center;margin-bottom:36px}.auth-brand .logo{font-family:var(--font-display);letter-spacing:4px;color:var(--text-primary);text-transform:uppercase;font-size:28px;font-weight:700}.auth-brand .tagline{font-family:var(--font-mono);letter-spacing:2px;color:var(--teal);text-transform:uppercase;margin-top:8px;font-size:11px}.auth-card h1{font-family:var(--font-body);text-align:center;color:var(--text-secondary);letter-spacing:.5px;margin-bottom:24px;font-size:18px;font-weight:500}.auth-card form{flex-direction:column;gap:14px;display:flex}.auth-card input{background:var(--bg-secondary);border:1px solid var(--border-default);font-family:var(--font-body);color:var(--text-primary);border-radius:2px;outline:none;padding:12px 16px;font-size:14px;transition:border-color .2s}.auth-card input::placeholder{color:var(--text-muted)}.auth-card input:focus{border-color:var(--teal)}.auth-card button[type=submit]{background:var(--teal);color:var(--charcoal);font-family:var(--font-body);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:2px;margin-top:4px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .2s,transform .1s}.auth-card button[type=submit]:hover{background:#7da4b8}.auth-card button[type=submit]:active{transform:scale(.98)}.divider{text-align:center;color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin:20px 0;font-size:11px;position:relative}.divider:before,.divider:after{content:"";background:var(--border-default);width:38%;height:1px;position:absolute;top:50%}.divider:before{left:0}.divider:after{right:0}.google-btn{text-align:center;border:1px solid var(--border-default);font-family:var(--font-body);color:var(--text-secondary);border-radius:2px;padding:12px 16px;font-size:14px;text-decoration:none;transition:background .2s,border-color .2s;display:block}.google-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.microsoft-btn{text-align:center;background:var(--bg-secondary,#1a1a1a);border:1px solid var(--border-default);font-family:var(--font-body);color:var(--text-primary);border-radius:2px;margin-top:12px;padding:12px 16px;font-size:14px;text-decoration:none;transition:background .2s,border-color .2s;display:block}.microsoft-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.auth-divider{text-align:center;color:var(--text-secondary);margin:16px 0;font-size:13px}.auth-link{text-align:center;color:var(--text-muted);margin-top:20px;font-size:13px}.auth-link a{color:var(--teal);text-decoration:none;transition:color .15s}.auth-link a:hover{color:#7da4b8}.error{color:var(--error);text-align:center;font-size:13px;font-family:var(--font-mono);margin-bottom:12px}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg-primary);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:260px;min-width:260px;height:100vh;display:flex}.sidebar-header{justify-content:space-between;align-items:center;padding:16px 16px 12px;display:flex}.sidebar-brand{font-family:var(--font-display);letter-spacing:3px;color:var(--text-primary);text-transform:uppercase;font-size:16px;font-weight:600}.sidebar-toggle{border:1px solid var(--border-subtle);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:flex}.sidebar-toggle:hover{border-color:var(--border-hover);color:var(--text-secondary)}.sidebar-toggle svg{width:16px;height:16px}.new-chat-btn{border:1px solid var(--border-default);font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:10px;margin:4px 12px 8px;padding:10px 14px;font-size:14px;transition:background .2s,border-color .2s;display:flex}.new-chat-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.sidebar-nav-item{border:1px solid var(--border-default);font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border-radius:4px;align-items:center;gap:10px;width:calc(100% - 24px);margin:0 12px 4px;padding:10px 14px;font-size:14px;transition:background .2s,border-color .2s;display:flex}.sidebar-nav-item svg{flex-shrink:0;width:16px;height:16px}.sidebar-nav-item:hover{background:var(--bg-hover);border-color:var(--border-hover)}.conversation-list{flex:1;padding:0 8px;overflow-y:auto}.conversation-list::-webkit-scrollbar{width:4px}.conversation-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}.conversation-item{cursor:pointer;border-radius:2px;justify-content:space-between;align-items:center;padding:10px 12px;transition:background .15s;display:flex;position:relative}.conversation-item:hover{background:var(--bg-hover)}.conversation-item.active{background:var(--bg-active);border-left:2px solid var(--teal);padding-left:10px}.conversation-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.conversation-item.active .conversation-title{color:var(--text-primary)}.conversation-delete{opacity:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;transition:opacity .15s,color .15s}.conversation-item:hover .conversation-delete{opacity:1}.conversation-delete:hover{color:var(--error)}.conversation-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conversation-time{color:var(--text-muted);font-size:.7rem}.sidebar-section-label{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;padding:16px 26px 6px;font-size:11px;display:flex}.sidebar-section-label svg{flex-shrink:0;width:14px;height:14px}.sidebar-section-header{justify-content:space-between;align-items:center;padding:16px 16px 6px 26px;display:flex}.sidebar-section-add{border:1px solid var(--border-default);width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.sidebar-section-add:hover{border-color:var(--border-strong);color:var(--text-secondary)}.project-list{padding:0 8px}.project-item{cursor:pointer;border-radius:4px;align-items:center;gap:10px;padding:9px 12px;transition:background .15s;display:flex}.project-item svg{width:16px;height:16px}.project-item:hover{background:var(--bg-hover)}.project-icon{color:var(--teal);flex-shrink:0}.project-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.modal-overlay{background:var(--overlay-bg);z-index:200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--modal-bg);border:1px solid var(--border-default);border-radius:4px;width:100%;max-width:480px;max-height:90vh;padding:32px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{font-family:var(--font-body);color:var(--text-primary);font-size:18px;font-weight:500}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;transition:color .15s}.modal-close:hover{color:var(--text-primary)}.modal-icon{text-align:center;color:var(--text-muted);margin-bottom:20px}.modal-label{font-family:var(--font-body);color:var(--text-secondary);margin-top:16px;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.modal-input{background:var(--bg-secondary);border:1px solid var(--border-default);width:100%;font-family:var(--font-body);color:var(--text-primary);border-radius:2px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.modal-input:focus{border-color:var(--teal)}.modal-input::placeholder{color:var(--text-muted)}.modal-textarea{background:var(--bg-secondary);border:1px solid var(--border-default);width:100%;font-family:var(--font-body);color:var(--text-primary);resize:vertical;border-radius:2px;outline:none;min-height:80px;padding:10px 14px;font-size:14px;transition:border-color .2s}.modal-textarea:focus{border-color:var(--teal)}.modal-textarea::placeholder{color:var(--text-muted)}.modal-coming-soon{font-family:var(--font-mono);color:var(--text-muted);font-size:12px;font-style:italic}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.modal-btn-cancel{border:1px solid var(--border-default);font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:2px;padding:8px 20px;font-size:13px;transition:border-color .15s}.modal-btn-cancel:hover{border-color:var(--border-strong)}.modal-btn-create{background:var(--teal);font-family:var(--font-body);color:var(--charcoal);cursor:pointer;border:none;border-radius:2px;padding:8px 20px;font-size:13px;font-weight:600;transition:background .15s,opacity .15s}.modal-btn-create:hover:not(:disabled){background:#7da4b8}.modal-btn-create:disabled{opacity:.4;cursor:not-allowed}.project-page{background:var(--bg-secondary);flex:1;height:100vh;display:flex;overflow:hidden}.project-back-btn{color:var(--teal);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:20px;padding:0;font-size:13px;transition:color .15s;display:flex}.project-back-btn:hover{color:#7da4b8}.project-main{flex:1;max-width:720px;margin:0 auto;padding:40px;overflow-y:auto}.project-header{margin-bottom:32px}.project-title-row{align-items:center;gap:12px;display:flex}.project-folder-icon{color:var(--teal)}.project-header h1{font-family:var(--font-body);color:var(--text-primary);font-size:24px;font-weight:500}.project-meta{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.5px;margin-top:8px;font-size:11px}.project-input-area{margin-bottom:32px}.project-input-area .input-area{padding:0}.project-conversations h3{font-family:var(--font-body);color:var(--text-secondary);margin-bottom:12px;font-size:14px;font-weight:500}.project-empty{color:var(--text-muted);font-size:13px}.project-convo-item{cursor:pointer;border-radius:2px;justify-content:space-between;align-items:center;padding:10px 12px;transition:background .15s;display:flex}.project-convo-item:hover{background:var(--bg-hover)}.project-convo-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.project-convo-time{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;margin-left:12px;font-size:10px}.project-sidebar{border-left:1px solid var(--border-subtle);width:300px;min-width:300px;padding:40px 24px;overflow-y:auto}.project-panel{margin-bottom:24px}.project-panel-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.project-panel-header h4{font-family:var(--font-body);color:var(--text-primary);font-size:14px;font-weight:500}.project-panel-btn{border:1px solid var(--border-default);font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:2px;padding:4px 12px;font-size:12px;transition:border-color .15s}.project-panel-btn:hover{border-color:var(--border-strong)}.project-panel-text{color:var(--text-secondary);font-size:13px;line-height:1.5}.project-panel-text.coming-soon{font-family:var(--font-mono);color:var(--text-muted);font-size:12px;font-style:italic}.project-panel-textarea{background:var(--bg-secondary);border:1px solid var(--border-default);width:100%;font-family:var(--font-body);color:var(--text-primary);resize:vertical;border-radius:2px;outline:none;min-height:80px;margin-bottom:8px;padding:10px;font-size:13px}.project-panel-textarea:focus{border-color:var(--teal)}.project-panel-actions{justify-content:flex-end;gap:8px;display:flex}.project-loading{color:var(--text-muted);font-family:var(--font-mono);flex:1;justify-content:center;align-items:center;font-size:12px;display:flex}.breadcrumb{align-items:center;gap:8px;display:flex}.breadcrumb-btn{color:var(--teal);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;transition:color .15s;display:flex}.breadcrumb-btn:hover{color:#7da4b8}.breadcrumb-sep{color:var(--text-muted);font-size:14px}.breadcrumb-name{font-family:var(--font-display);letter-spacing:1px;color:var(--text-primary);font-size:14px;font-weight:500}.sidebar-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.user-profile{border-top:1px solid var(--border-subtle);padding:12px 16px;position:relative}.user-profile-info{align-items:center;gap:10px;margin-bottom:8px;display:flex}.user-avatar{background:var(--teal);width:32px;height:32px;color:var(--charcoal);font-family:var(--font-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.user-details{flex-direction:column;min-width:0;display:flex}.user-name{font-family:var(--font-body);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.user-email{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.user-profile-bottom{justify-content:space-between;align-items:center;display:flex}.user-menu-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:2px 6px;font-size:16px;transition:background .15s,color .15s}.user-menu-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.user-menu-popover{background:var(--bg-tertiary);border:1px solid var(--border-default);min-width:120px;box-shadow:0 4px 12px var(--shadow-color);z-index:10;border-radius:2px;padding:4px 0;position:absolute;bottom:100%;right:16px}.user-menu-item{width:100%;font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 16px;font-size:13px;transition:background .15s;display:block}.user-menu-item:hover{background:var(--bg-hover)}.empty-state-landing{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;padding:40px 24px;display:flex}.empty-state-hero{font-family:var(--font-display);letter-spacing:2px;color:var(--text-primary);text-align:center;margin-bottom:8px;font-size:28px;font-weight:500}.empty-state-landing .input-area{width:100%;max-width:600px;padding:0}.empty-state-landing .input-container{max-width:600px}.empty-state-landing .input-hint{display:none}.suggestion-chips{flex-wrap:wrap;justify-content:center;gap:10px;max-width:600px;display:flex}.suggestion-chip{border:1px solid var(--teal);font-family:var(--font-body);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:2px;padding:8px 16px;font-size:13px;transition:background .15s}.suggestion-chip:hover{background:#6a8fa733}.chat-layout{background:var(--bg-secondary);flex-direction:column;flex:1;min-width:0;height:100vh;display:flex}.chat-header{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.header-left{align-items:center;gap:16px;display:flex}.chat-header .brand{font-family:var(--font-display);letter-spacing:3px;color:var(--text-primary);text-transform:uppercase;font-size:16px;font-weight:600}.menu-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex}.menu-btn:hover{color:var(--text-primary)}.theme-toggle{border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;transition:border-color .2s,color .2s;display:flex}.theme-toggle:hover{border-color:var(--border-hover);color:var(--text-secondary)}.logout-btn{border:1px solid var(--border-default);font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:2px;padding:6px 16px;font-size:11px;transition:border-color .2s,color .2s}.logout-btn:hover{border-color:var(--border-strong);color:var(--text-secondary)}.status{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;display:flex}.status:before{content:"";border-radius:50%;width:6px;height:6px;display:inline-block}.status.connected:before{background:var(--success)}.status.disconnected:before{background:var(--error)}.status.connected{color:var(--success)}.status.disconnected{color:var(--error)}.message-list{flex-direction:column;flex:1;padding:32px 0;display:flex;overflow-y:auto}.message-list::-webkit-scrollbar{width:6px}.message-list::-webkit-scrollbar-track{background:0 0}.message-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.message-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:60px 24px;display:flex}.empty-state .empty-icon{border:1px solid var(--border-default);border-radius:2px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:24px;display:flex}.empty-state .empty-icon svg{width:24px;height:24px;stroke:var(--teal);fill:none;stroke-width:1.5px}.empty-state h3{font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px;font-size:14px;font-weight:500}.empty-state p{color:var(--text-muted);max-width:360px;font-size:14px;line-height:1.6}.loading-text{text-align:center;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;margin-top:60px;font-size:12px}.message-row{width:100%;max-width:720px;margin:0 auto;padding:20px 24px}.message-row+.message-row{border-top:1px solid var(--bubble-border)}.message-row.user{background:var(--bubble-user-bg)}.message-row .message-label{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:500}.message-row.user .message-label{color:var(--text-secondary)}.message-row.agent .message-label{color:var(--teal)}.message-row .message-content{color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;font-size:15px;line-height:1.7}.message-row.agent .message-content{color:var(--text-secondary)}.message-row .message-time{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.5px;margin-top:8px;font-size:10px}.input-area{background:var(--bg-secondary);flex-shrink:0;padding:16px 24px 24px}.input-container{max-width:720px;margin:0 auto;position:relative}.input-container textarea{background:var(--input-bg);border:1px solid var(--input-border);width:100%;min-height:52px;max-height:200px;font-family:var(--font-body);color:var(--text-primary);resize:none;border-radius:2px;outline:none;padding:14px 52px 14px 18px;font-size:15px;line-height:1.5;transition:border-color .2s}.input-container textarea::placeholder{color:var(--text-muted)}.input-container textarea:focus{border-color:var(--input-focus)}.input-container textarea:disabled{opacity:.5}.send-btn{background:var(--teal);cursor:pointer;border:none;border-radius:2px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,opacity .2s;display:flex;position:absolute;bottom:10px;right:10px}.send-btn:hover:not(:disabled){background:#7da4b8}.send-btn:disabled{opacity:.3;cursor:not-allowed}.send-btn svg{width:18px;height:18px;fill:var(--charcoal)}.input-hint{font-family:var(--font-mono);color:var(--text-muted);text-align:center;letter-spacing:.5px;margin-top:8px;font-size:10px}.typing-row{width:100%;max-width:720px;margin:0 auto;padding:12px 24px}.typing-indicator{align-items:center;gap:8px;display:flex}.typing-label{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);font-size:11px}.typing-dots{gap:4px;display:flex}.typing-dots .dot{background:var(--teal);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite both typing-pulse}.typing-dots .dot:first-child{animation-delay:0s}.typing-dots .dot:nth-child(2){animation-delay:.2s}.typing-dots .dot:nth-child(3){animation-delay:.4s}@keyframes typing-pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.sidebar-backdrop{display:none}@media (width<=640px){.auth-card{margin:16px;padding:36px 24px}.sidebar-backdrop{background:var(--overlay-bg);z-index:99;display:block;position:fixed;inset:0}.sidebar{z-index:100;box-shadow:4px 0 24px var(--shadow-color);position:fixed;top:0;left:0}.chat-layout,.app-layout,#root{height:100dvh}.message-row{padding-left:16px;padding-right:16px}.input-area{padding:8px 12px 12px;padding-bottom:max(12px, env(safe-area-inset-bottom))}.input-container textarea{min-height:44px;padding:10px 48px 10px 14px;font-size:16px}.send-btn{width:32px;height:32px;bottom:8px;right:8px}.chat-header{padding:10px 12px}.chat-header .brand{letter-spacing:2px;font-size:14px}.input-hint{display:none}.message-list{padding:16px 0}.empty-state{padding:40px 16px}.empty-state h3{font-size:12px}.empty-state p{font-size:13px}.empty-state-hero{letter-spacing:1px;font-size:20px}.suggestion-chips{gap:8px}.suggestion-chip{padding:6px 12px;font-size:12px}.project-page{flex-direction:column}.project-main{padding:20px 16px}.project-sidebar{border-left:none;border-top:1px solid var(--border-subtle);width:100%;min-width:100%;padding:20px 16px}.modal-content{margin:16px;padding:24px}}.agent-list{flex-direction:column;gap:1px;margin-bottom:12px;display:flex}.agent-item{cursor:pointer;color:var(--text-secondary);border-left:2px solid #0000;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex;position:relative}.agent-item:hover{background:var(--bg-hover);color:var(--text-primary)}.agent-item.active{background:var(--bg-active);color:var(--text-primary);border-left-color:var(--teal)}.agent-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.agent-color-dot.small{width:6px;height:6px}.agent-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.agent-default-badge{font-family:var(--font-mono);text-transform:uppercase;color:var(--text-muted);background:var(--bg-tertiary);letter-spacing:.5px;border-radius:8px;padding:1px 6px;font-size:9px}.agent-edit{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px;display:none}.agent-item:hover .agent-edit{align-items:center;display:flex}.agent-edit:hover{color:var(--text-primary);background:var(--bg-hover)}.active-agent-chip{background:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-primary);font-size:13px;font-family:var(--font-body);cursor:pointer;border-radius:16px;align-items:center;gap:8px;padding:4px 10px;transition:background .15s;display:inline-flex}.active-agent-chip:hover{background:var(--bg-hover);border-color:var(--border-hover)}.agent-chip-name{font-weight:500}.color-swatch-row{gap:10px;margin-bottom:16px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .1s,border-color .15s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--text-primary);box-shadow:0 0 0 1px var(--bg-primary)}.modal-btn-delete{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;margin-right:auto;padding:8px 16px;font-size:13px}.modal-btn-delete:hover:not(:disabled){color:#e85d5d;border-color:#e85d5d}.modal-btn-delete:disabled{opacity:.4;cursor:not-allowed}.delete-confirm{width:100%;color:var(--text-secondary);align-items:center;gap:10px;font-size:13px;display:flex}.modal-btn-delete-confirm{color:#fff;cursor:pointer;background:#e85d5d;border:none;border-radius:6px;padding:8px 16px;font-size:13px}.modal-btn-delete-confirm:hover{background:#d04c4c}.streaming-cursor{background:var(--text-secondary,#888);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:.8s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.agent-backend-toggle{border:1px solid var(--border-primary,#333);border-radius:8px;gap:0;margin-bottom:12px;display:flex;overflow:hidden}.agent-backend-pill{color:var(--text-secondary,#888);cursor:pointer;background:0 0;border:none;flex:1;padding:8px 16px;font-size:.85rem;transition:background .15s,color .15s}.agent-backend-pill.active{background:var(--accent,#6a8fa7);color:var(--bg-primary,#1b1f3b);font-weight:600}.agent-backend-pill:hover:not(.active){background:var(--bg-tertiary,#2a2e4a)}.agent-max-badge{text-transform:uppercase;letter-spacing:.5px;background:var(--bg-tertiary,#2a2e4a);color:var(--text-secondary,#888);border-radius:4px;flex-shrink:0;margin-left:6px;padding:1px 5px;font-size:.65rem;font-weight:600}
