@keyframes sd-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sd-blurIn{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur()}}@keyframes sd-slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}[data-sd-animate]{animation:var(--sd-animation,sd-fadeIn) var(--sd-duration,.15s) var(--sd-easing,ease) var(--sd-delay,0s) both}:root{color:#111217;font-synthesis:none;text-rendering:optimizelegibility;--bg:#fff;--surface:#fff;--surface-soft:#f7f7f9;--surface-hover:#f2f2f5;--text:#111217;--text-muted:#686b75;--text-subtle:#92959f;--border:#e4e5ea;--border-strong:#d7d8df;--action:#111217;--action-hover:#272930;--action-text:#fff;--accent:#8f2942;--accent-dark:#6f1d35;--accent-medium:#a83f5c;--accent-light:#c96f86;--accent-soft:#f9eef1;--accent-border:#e7c8d0;--success:#157347;--success-soft:#eaf8f0;--warning:#9a6700;--warning-soft:#fff7df;--danger:#b42318;--danger-soft:#fff0ee;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--shadow-sm:0 1px 2px #1112170d;--shadow-md:0 10px 30px #11121714;--shadow-lg:0 22px 60px #11121724;--transition-fast:.14s ease;--transition-normal:.18s ease;--content-width:1180px;--sidebar-width:304px;background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:#b4b6c0;outline:0;box-shadow:0 0 0 4px #8f29421a}input,textarea,select{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);border-radius:10px;padding:10px 12px}input,select{min-height:42px}textarea{resize:vertical;line-height:1.55}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-soft);color:var(--text-subtle);cursor:not-allowed}label{color:var(--text);font-size:.875rem;font-weight:650}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{color:var(--text);letter-spacing:-.025em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{border:1px solid var(--border);cursor:pointer;min-height:42px;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:620;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{background:var(--surface-soft);color:var(--text-subtle);cursor:not-allowed;transform:none}.button-primary{background:var(--action);border-color:var(--action);color:var(--action-text)}.button-primary:hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover)}.button-secondary{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.button-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.button-full{width:100%}.button-compact{min-height:38px;padding:7px 12px;font-size:.875rem}.icon-button{border:1px solid var(--border);width:42px;height:42px;color:var(--text);background:var(--surface);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);border-radius:10px;place-items:center;display:inline-grid}.icon-button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.icon-button:disabled{color:var(--text-subtle);background:var(--surface-soft);cursor:not-allowed}.icon-button.small{border-radius:9px;width:38px;height:38px}.eyebrow{color:var(--accent-dark);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:8px;font-size:.7rem;font-weight:740;display:inline-flex}.status-message{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);background:var(--surface-soft);align-items:flex-start;gap:10px;padding:12px 14px;line-height:1.5;display:flex}.status-message svg{flex:none;margin-top:2px}.status-success{color:var(--success);background:var(--success-soft);border-color:#ccebd8}.status-warning{color:var(--warning);background:var(--warning-soft);border-color:#f0dfae}.status-error{color:var(--danger);background:var(--danger-soft);border-color:#f0cbc7}.status-info{background:var(--accent-soft);border-color:var(--accent-border)}.status-info svg{color:var(--accent)}.session-loading{min-height:100vh;color:var(--text-muted);place-content:center;justify-items:center;gap:16px;display:grid}.loading-orb{background:linear-gradient(135deg, var(--accent-dark), var(--accent-light));border-radius:50%;width:38px;height:38px;animation:2.4s ease-in-out infinite float;box-shadow:0 8px 30px #8f294238}.loading-orb.small{flex:none;width:28px;height:28px}.state-loading{min-height:320px;color:var(--text-muted);place-content:center;justify-items:center;gap:12px;display:grid}.login-page{background:var(--bg);grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);min-height:100vh;display:grid}.login-intro{background:var(--surface-soft);border-right:1px solid var(--border);flex-direction:column;justify-content:space-between;gap:64px;min-height:100vh;padding:clamp(32px,6vw,80px);display:flex}.login-brand{align-items:center;gap:12px;font-size:.95rem;font-weight:720;display:flex}.brand-mark{border:1px solid var(--accent-border);width:40px;height:40px;color:var(--accent-dark);background:var(--accent-soft);letter-spacing:-.04em;border-radius:12px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.login-intro h1{max-width:700px;margin:6px 0 20px;font-size:clamp(2.5rem,5vw,4.8rem);font-weight:680;line-height:.98}.login-intro>div>p{max-width:610px;color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.7}.login-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:650px;margin:0;padding:0;list-style:none;display:grid}.login-benefits li{border-top:1px solid var(--border-strong);align-items:flex-start;gap:12px;padding-top:18px;display:flex}.login-benefits li>svg{color:var(--accent);flex:none}.login-benefits span{gap:5px;display:grid}.login-benefits small{color:var(--text-muted);line-height:1.45}.login-form-wrap{place-items:center;padding:32px;display:grid}.auth-form{gap:12px;width:min(420px,100%);display:grid}.auth-form header{margin-bottom:14px}.auth-form h2{margin:0 0 8px;font-size:clamp(1.8rem,3vw,2.35rem)}.auth-form header p,.auth-help{color:var(--text-muted);margin:0;line-height:1.55}.auth-form .status-message{margin:4px 0}.checkbox-row{color:var(--text-muted);align-items:center;gap:10px;margin:6px 0;font-weight:450;display:flex}.checkbox-row input{width:18px;min-height:18px;accent-color:var(--action)}.auth-help{text-align:center;font-size:.8rem}.auth-link{color:var(--accent-dark);text-underline-offset:3px;transition:color var(--transition-fast), text-decoration-color var(--transition-fast);font-weight:650;text-decoration:none}.auth-link:hover{color:var(--accent);text-decoration:underline}.auth-link:focus-visible{outline-offset:4px;border-radius:4px;outline:3px solid #8f294229}.auth-link-with-icon{justify-content:center;align-items:center;gap:6px;display:inline-flex}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);height:100vh;min-height:620px;display:grid;overflow:hidden}.workspace-sidebar{z-index:40;border-right:1px solid var(--border);background:var(--surface-soft);flex-direction:column;min-width:0;height:100vh;display:flex;position:relative;overflow:hidden}.workspace-sidebar-header{gap:11px;padding:15px 14px 13px;display:grid}.workspace-brand-row{justify-content:space-between;align-items:center;gap:12px;min-height:38px;display:flex}.workspace-brand{min-width:0;color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.workspace-brand-mark{border:1px solid var(--accent-border);width:32px;height:32px;color:var(--accent-dark);background:var(--accent-soft);border-radius:10px;flex:none;place-items:center;font-size:.76rem;font-weight:800;display:grid}.workspace-brand>span:last-child{align-items:baseline;gap:5px;font-size:.91rem;font-weight:730;display:flex}.workspace-brand small{color:var(--text-subtle);font-size:.68rem;font-weight:560}.workspace-sidebar-close{display:none}.workspace-search{min-width:0;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:0 9px;display:flex}.workspace-search:focus-within{border-color:var(--border);background:var(--surface)}.workspace-search>svg{flex:none}.workspace-search input{min-width:0;min-height:36px;box-shadow:none;background:0 0;border:0;padding:6px 0;font-size:.76rem}.workspace-search input:focus-visible{box-shadow:none}.workspace-project-navigation{scrollbar-width:thin;flex:1;min-height:0;padding:3px 10px 14px;overflow:hidden auto}.workspace-project-heading{min-height:40px;color:var(--text-subtle);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:3px 5px 3px 9px;font-size:.64rem;font-weight:740;display:flex}.workspace-project-heading .icon-button{background:0 0;border-color:#0000;width:30px;height:30px}.workspace-project-tree,.workspace-chat-list{margin:0;padding:0;list-style:none}.workspace-project-tree{gap:3px;display:grid}.workspace-project-group{min-width:0}.workspace-project-row{border-radius:9px;grid-template-columns:minmax(0,1fr) 62px;align-items:center;min-width:0;display:grid}.workspace-project-row:hover,.workspace-project-row.is-current{background:var(--surface-hover)}.workspace-project-row.is-current{color:var(--text)}.workspace-project-trigger{min-width:0;min-height:39px;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:15px 18px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 5px 7px 8px;display:grid}.workspace-project-trigger:hover{color:var(--text)}.workspace-project-trigger>span{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:660;overflow:hidden}.workspace-project-trigger>small{min-width:21px;color:var(--text-subtle);background:var(--surface);text-align:center;border-radius:999px;padding:2px 5px;font-size:.6rem}.workspace-project-chevron{transition:transform var(--transition-fast);flex:none}.workspace-project-trigger[aria-expanded=true] .workspace-project-chevron,.workspace-archived-trigger[aria-expanded=true] .workspace-project-chevron{transform:rotate(90deg)}.workspace-project-actions{justify-content:flex-end;align-items:center;gap:2px;width:62px;height:30px;display:flex;position:relative}.workspace-project-more,.workspace-project-new-conversation{width:30px;height:30px;color:var(--text-subtle);opacity:0;cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast), opacity var(--transition-fast);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.workspace-project-row:hover .workspace-project-more,.workspace-project-row:hover .workspace-project-new-conversation,.workspace-project-row:focus-within .workspace-project-more,.workspace-project-row:focus-within .workspace-project-new-conversation,.workspace-project-row.is-current .workspace-project-more,.workspace-project-row.is-current .workspace-project-new-conversation,.workspace-project-more[aria-expanded=true]{opacity:1}.workspace-project-more:hover,.workspace-project-more[aria-expanded=true],.workspace-project-new-conversation:hover:not(:disabled){color:var(--text);background:var(--surface)}.workspace-project-more:focus-visible,.workspace-project-new-conversation:focus-visible{outline:2px solid var(--accent);outline-offset:1px;opacity:1}.workspace-project-new-conversation:disabled{color:var(--text-subtle);cursor:not-allowed}.workspace-project-menu{z-index:30;border:1px solid var(--border);background:var(--surface);width:196px;box-shadow:var(--shadow-md);border-radius:10px;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.workspace-project-menu button,.workspace-project-menu a{width:100%;min-height:40px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:8px 9px;font-size:.72rem;text-decoration:none;display:flex}.workspace-project-menu button:hover:not(:disabled),.workspace-project-menu button:focus-visible,.workspace-project-menu a:hover,.workspace-project-menu a:focus-visible{background:var(--surface-hover);outline:0}.workspace-project-menu button:focus-visible,.workspace-project-menu a:focus-visible{box-shadow:inset 0 0 0 2px #8f294238}.workspace-project-menu button:disabled{color:var(--text-subtle);cursor:not-allowed}.workspace-project-menu-error{color:var(--danger);margin:4px 6px 3px;font-size:.65rem;line-height:1.4}.workspace-conversation-branch{border-left:1px solid var(--border-strong);margin:2px 0 7px 15px;padding:2px 0 2px 15px}.workspace-chat-list{gap:2px;display:grid}.workspace-chat-item{min-width:0;position:relative}.workspace-chat-link{min-width:0;min-height:43px;color:var(--text-muted);transition:color var(--transition-fast), background var(--transition-fast);border-radius:8px;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:8px;padding:7px 40px 7px 8px;text-decoration:none;display:grid}.workspace-chat-link>svg{color:var(--text-subtle);margin-top:2px}.workspace-chat-link>span{gap:2px;min-width:0;display:grid}.workspace-chat-link strong,.workspace-chat-link small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-chat-link strong{color:inherit;font-size:.73rem;font-weight:590}.workspace-chat-link small{color:var(--text-subtle);font-size:.59rem}.workspace-chat-link:hover{color:var(--text);background:var(--surface-hover)}.workspace-chat-link.is-active{color:var(--accent-dark);background:var(--accent-soft)}.workspace-chat-link.is-active>svg{color:var(--accent)}.workspace-chat-actions{z-index:12;position:absolute;top:5px;right:4px}.workspace-chat-more{width:33px;height:33px;color:var(--text-muted);opacity:0;cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), opacity var(--transition-fast);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.workspace-chat-item:hover .workspace-chat-more,.workspace-chat-item:focus-within .workspace-chat-more,.workspace-chat-more[aria-expanded=true]{opacity:1}.workspace-chat-more:hover,.workspace-chat-more[aria-expanded=true]{color:var(--text);background:var(--surface)}.workspace-chat-more:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.workspace-chat-menu{z-index:20;border:1px solid var(--border);background:var(--surface);width:184px;box-shadow:var(--shadow-md);border-radius:10px;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.workspace-chat-menu button{width:100%;min-height:40px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:8px 9px;font-size:.72rem;display:flex}.workspace-chat-menu button:hover,.workspace-chat-menu button:focus-visible{background:var(--surface-hover);outline:0}.workspace-chat-menu button:focus-visible{box-shadow:inset 0 0 0 2px #8f294238}.workspace-chat-menu button.is-danger{color:var(--danger)}.workspace-chat-menu button.is-danger:hover,.workspace-chat-menu button.is-danger:focus-visible{background:var(--danger-soft)}.workspace-chat-menu>span{background:var(--border);height:1px;margin:3px 5px}.workspace-chat-rename{grid-template-columns:minmax(0,1fr) 34px 34px;align-items:center;gap:4px;min-width:0;padding:4px;display:grid}.workspace-chat-rename input{min-width:0;min-height:36px;padding:6px 8px;font-size:.72rem}.workspace-chat-rename button{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.workspace-chat-rename button:hover,.workspace-chat-rename button:focus-visible{color:var(--text);background:var(--surface-hover);outline:0}.workspace-chat-rename button:last-child{color:var(--action-text);background:var(--action)}.workspace-chat-rename button:last-child:hover,.workspace-chat-rename button:last-child:focus-visible{color:var(--action-text);background:var(--action-hover)}.workspace-chat-confirmation{background:var(--warning-soft);border:1px solid #f0dfae;border-radius:9px;gap:8px;margin:4px 3px 8px;padding:9px;display:grid}.workspace-chat-confirmation p{gap:2px;margin:0;display:grid}.workspace-chat-confirmation strong{color:var(--text);font-size:.69rem}.workspace-chat-confirmation span{color:var(--text-muted);font-size:.62rem;line-height:1.4}.workspace-chat-confirmation>div{justify-content:flex-end;gap:5px;display:flex}.workspace-chat-confirmation button{border:1px solid var(--border);min-height:34px;color:var(--text);background:var(--surface);cursor:pointer;border-radius:7px;padding:6px 8px;font-size:.65rem}.workspace-chat-confirmation button:last-child{border-color:var(--action);color:var(--action-text);background:var(--action)}.workspace-chat-confirmation button:disabled,.workspace-chat-rename button:disabled{opacity:.56;cursor:not-allowed}.workspace-chat-action-error{color:var(--danger);margin:4px 6px 8px;font-size:.63rem;line-height:1.4}.conversation-delete-dialog-overlay{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1112176b;place-items:center;padding:24px;animation:.18s ease-out both dialog-backdrop-in;display:grid;position:fixed;inset:0}.conversation-delete-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(440px,100%);box-shadow:var(--shadow-lg);animation:.2s ease-out both dialog-surface-in;overflow:hidden}.conversation-delete-dialog-header{grid-template-columns:minmax(0,1fr) 40px;align-items:start;gap:16px;padding:24px 24px 12px;display:grid}.conversation-delete-dialog-header>div{gap:5px;min-width:0;padding-top:2px;display:grid}.conversation-delete-dialog-header h2{letter-spacing:-.015em;margin:0;font-size:1.12rem;line-height:1.3}.conversation-delete-dialog-header>div>span{color:var(--danger);font-size:.75rem;font-weight:620;line-height:1.35}.conversation-delete-dialog-close{width:40px;height:40px;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;display:grid}.conversation-delete-dialog-close:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.conversation-delete-dialog-close:disabled{color:var(--text-subtle);cursor:not-allowed}.conversation-delete-dialog-description{color:var(--text-muted);margin:0;padding:0 24px 24px;font-size:.91rem;line-height:1.6}.conversation-delete-dialog-description strong{color:var(--text);font-weight:650}.conversation-delete-dialog-error{border-left:3px solid var(--danger);color:var(--danger);background:var(--danger-soft);margin:-4px 24px 18px;padding:9px 11px;font-size:.78rem;line-height:1.45}.conversation-delete-dialog-actions{border-top:1px solid var(--border);background:#fbfbfc;justify-content:flex-end;gap:9px;padding:16px 24px 20px;display:flex}.conversation-delete-dialog-confirm{border-color:var(--danger);color:#fff;background:var(--danger)}.conversation-delete-dialog-confirm:hover:not(:disabled){background:#912018;border-color:#912018}.conversation-delete-dialog-confirm:disabled{border-color:var(--border);color:var(--text-subtle);background:var(--surface-soft)}@keyframes dialog-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-surface-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.workspace-chat-list.is-archived{margin-top:2px}.workspace-archived-group{border-top:1px solid var(--border);margin-top:4px;padding-top:4px;display:grid}.workspace-archived-trigger,.workspace-empty-chat{width:100%;min-height:34px;color:var(--text-subtle);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:6px 8px;font-size:.67rem;display:flex}.workspace-archived-trigger:hover,.workspace-empty-chat:hover{color:var(--text);background:var(--surface-hover)}.workspace-empty-chat:disabled{color:var(--text-subtle);cursor:not-allowed;opacity:.6}.workspace-archived-trigger small{margin-left:auto}.workspace-archived-trigger .workspace-project-chevron{margin-left:1px}.workspace-project-loading,.workspace-conversation-loading{gap:6px;padding:7px;display:grid}.workspace-project-loading span,.workspace-conversation-loading span{background:linear-gradient(90deg, var(--surface-hover), var(--surface), var(--surface-hover));background-size:200% 100%;border-radius:8px;height:34px;animation:1.2s infinite loading-shimmer}.workspace-navigation-message{border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center;border-radius:9px;margin:5px;padding:12px;font-size:.68rem;line-height:1.45}.workspace-navigation-message.compact{margin:2px 0;padding:8px}.workspace-profile-area{border-top:1px solid var(--border);background:var(--surface-soft);flex:none;padding:10px;position:relative}.workspace-profile-trigger{width:100%;min-width:0;min-height:51px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:7px 8px;display:grid}.workspace-profile-trigger:hover,.workspace-profile-trigger[aria-expanded=true]{background:var(--surface-hover)}.workspace-profile-trigger>span:nth-child(2){gap:2px;min-width:0;display:grid}.workspace-profile-trigger strong,.workspace-profile-trigger small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-profile-trigger strong{font-size:.75rem}.workspace-profile-trigger small{color:var(--text-subtle);font-size:.62rem}.workspace-user-avatar{border:1px solid var(--accent-border);width:34px;height:34px;color:var(--accent-dark);background:var(--accent-soft);border-radius:50%;place-items:center;font-size:.67rem;font-weight:760;display:grid}.workspace-profile-chevron{color:var(--text-subtle);transition:transform var(--transition-fast)}.workspace-profile-chevron.is-open{transform:rotate(-90deg)}.workspace-profile-menu{z-index:3;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);border-radius:13px;gap:2px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 4px);left:10px;right:10px;overflow:hidden}.workspace-profile-menu-header{border-bottom:1px solid var(--border);gap:3px;margin:2px 4px 6px;padding:7px 6px 11px;display:grid}.workspace-profile-menu-header strong{font-size:.78rem}.workspace-profile-menu-header span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.workspace-profile-menu a,.workspace-sign-out{min-height:37px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:8px 9px;font-size:.72rem;text-decoration:none;display:flex}.workspace-profile-menu a:hover,.workspace-sign-out:hover{color:var(--text);background:var(--surface-hover)}.workspace-sign-out{border-top:1px solid var(--border);border-radius:0 0 8px 8px;width:100%;margin-top:3px;padding-top:10px}.spin{animation:.9s linear infinite spin}.app-frame{min-width:0;height:100vh;position:relative;overflow:auto}.app-frame.is-workspace{overflow:hidden}.app-mobile-menu,.workspace-mobile-overlay{display:none}.user-avatar{width:36px;height:36px;color:var(--accent-dark);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:50%;place-items:center;font-size:.76rem;font-weight:750;display:grid}.user-avatar.small{width:32px;height:32px}.main-content{width:min(var(--content-width), calc(100% - 48px));margin:0 auto;padding:48px 0 72px}.main-content.is-workspace{width:100%;height:100vh;margin:0;padding:0;overflow:hidden}.page-stack{grid-template-columns:minmax(0,1fr);gap:28px;min-width:0;display:grid}.page-stack>*{min-width:0}.back-link{width:max-content;color:var(--text-muted);align-items:center;gap:7px;font-size:.84rem;font-weight:620;text-decoration:none;display:flex}.back-link:hover{color:var(--text)}@keyframes spin{to{transform:rotate(360deg)}}.projects-page{gap:32px}.projects-utility-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.toolbar{border:1px solid var(--border);background:var(--surface);max-width:620px;box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:10px;padding:0 12px;display:flex}.projects-utility-row .toolbar{width:100%}.toolbar svg{color:var(--text-muted)}.toolbar input{box-shadow:none;border:0;padding-inline:0}.toolbar input:focus-visible{box-shadow:none}.project-index{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.project-index-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:24px;padding:22px 24px 18px;display:flex}.project-index-heading h2{margin:4px 0 0;font-size:1.35rem}.project-page-range{color:var(--text-subtle);font-size:.76rem;font-weight:620}.project-list{display:grid}.project-row{border-bottom:1px solid var(--border);background:var(--surface);min-width:0;min-height:166px;transition:background-color var(--transition-fast);grid-template-columns:46px minmax(0,1fr) minmax(180px,auto) auto;align-items:center;gap:18px;padding:22px 24px;display:grid}.project-row:last-child{border-bottom:0}.project-row:hover{background:var(--surface-hover)}.project-row-icon{border:1px solid var(--accent-border);border-radius:var(--radius-md);width:44px;height:44px;color:var(--accent);background:var(--accent-soft);align-self:start;place-items:center;display:grid}.project-row-copy{gap:7px;min-width:0;display:grid}.project-row-title{align-items:center;gap:10px;min-width:0;display:flex}.project-row-title h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1.04rem;line-height:1.35;overflow:hidden}.project-row-copy>p{max-width:640px;color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.5;display:-webkit-box;overflow:hidden}.project-row-context{border-left:2px solid var(--border-strong);margin:4px 0 0;padding-left:12px}.project-row-context div{gap:2px;display:grid}.project-row-context dt{color:var(--text-subtle);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:720}.project-row-context dd{max-width:650px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;line-height:1.45;overflow:hidden}.project-row-meta{color:var(--text-muted);gap:9px;font-size:.75rem;display:grid}.project-row-meta span{align-items:center;gap:7px;display:flex}.project-row-meta svg{color:var(--text-subtle);flex:none}.project-manage-link{justify-content:center;min-width:128px}.project-manage-link svg{transition:transform var(--transition-fast)}.project-manage-link:hover svg{transform:translate(2px)}.project-pagination{border-top:1px solid var(--border);background:var(--surface-soft);justify-content:flex-end;align-items:center;gap:14px;min-height:66px;padding:12px 24px;display:flex}.project-pagination>span{min-width:74px;color:var(--text-muted);text-align:center;font-size:.78rem;font-weight:650}.project-pagination .button{min-height:40px}.project-list-skeleton{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.project-list-skeleton .project-row{min-height:142px}.status-chip{border:1px solid var(--border);width:max-content;color:var(--text-muted);background:var(--surface-soft);border-radius:999px;align-items:center;padding:4px 8px;font-size:.7rem;font-weight:650;display:inline-flex}.status-chip.is-active{color:var(--accent-dark);background:var(--accent-soft);border-color:var(--accent-border)}.create-project-layout{place-items:center;width:min(860px,100%);min-height:clamp(420px,64vh,620px);margin-inline:auto;padding-block:32px;display:grid}.create-project-form{gap:12px;width:100%}.projects-empty-state{border-block:1px solid var(--border);text-align:center;place-content:center;justify-items:center;gap:10px;min-height:clamp(320px,62vh,520px);padding:64px 24px;display:grid}.projects-empty-state h2{margin:6px 0 0}.projects-empty-state p{max-width:510px;color:var(--text-muted);margin:0 0 12px;line-height:1.55}.project-workspace-shell{background:var(--surface);flex-direction:column;width:100%;min-width:0;height:100%;display:flex;overflow:hidden}.project-workspace-tabs-bar{z-index:12;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;flex:0 0 62px;justify-content:center;align-items:center;min-height:62px;display:flex;position:relative}.project-workspace-tabs{background:var(--surface-soft);border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:min(306px,100% - 96px);padding:3px;display:grid}.project-workspace-tabs a{min-height:38px;color:var(--text-muted);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;font-size:.75rem;font-weight:670;text-decoration:none;display:flex}.project-workspace-tabs a:hover{color:var(--text)}.project-workspace-tabs a.is-active{color:var(--text);border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.project-workspace-tabs a.is-active svg{color:var(--accent)}.project-workspace-view{flex:1;min-width:0;min-height:0;overflow:hidden}@keyframes loading-shimmer{to{background-position:-200% 0}}.create-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);gap:22px;padding:24px;display:grid}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.section-heading h2{margin:0;font-size:1.35rem}.section-heading p{color:var(--text-muted);margin:5px 0 0;font-size:.85rem}.project-form{gap:10px;display:grid}.form-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-columns>div{gap:8px;display:grid}.form-actions{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.project-settings-page{width:min(1020px,100%);margin:0 auto}.project-settings-form{gap:20px;display:grid}.project-settings-form fieldset{border:0;gap:20px;min-width:0;margin:0;padding:0;display:grid}.settings-section{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:16px;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:32px;padding:24px;display:grid}.settings-section>header{align-items:flex-start;gap:12px;display:flex}.settings-section-icon{border:1px solid var(--accent-border);width:38px;height:38px;color:var(--accent-dark);background:var(--accent-soft);border-radius:11px;flex:none;place-items:center;display:grid}.settings-section h2{margin:0 0 7px;font-size:1.15rem}.settings-section header p{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.55}.settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:18px;display:grid}.settings-field{align-content:start;gap:7px;min-width:0;display:grid}.settings-field.full-width{grid-column:1/-1}.settings-field small{color:var(--text-muted);font-size:.7rem;line-height:1.45}.settings-save-bar{z-index:8;border:1px solid var(--border-strong);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;padding:13px 14px 13px 18px;display:flex;position:sticky;bottom:16px}.settings-save-bar>span{color:var(--text-muted);font-size:.76rem}.project-lifecycle{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.project-lifecycle>div:first-child{align-items:flex-start;gap:13px;display:flex}.lifecycle-icon{border:1px solid var(--border);width:40px;height:40px;color:var(--text-muted);background:var(--surface);border-radius:11px;flex:none;place-items:center;display:grid}.project-lifecycle h2{margin:0 0 6px;font-size:1.05rem}.project-lifecycle p{max-width:610px;color:var(--text-muted);margin:0;font-size:.79rem;line-height:1.55}.lifecycle-confirm{color:var(--warning);background:var(--warning-soft);border:1px solid #f0dfae;border-radius:12px;grid-template-columns:auto minmax(160px,1fr) auto auto;align-items:center;gap:9px;padding:10px;display:grid}.lifecycle-confirm p{color:inherit}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center;background:var(--surface-soft);place-content:center;justify-items:center;gap:10px;min-height:330px;padding:40px;display:grid}.empty-state.small{min-height:230px}.empty-state h2,.empty-state h3{margin:6px 0 0}.empty-state p{max-width:510px;color:var(--text-muted);margin:0 0 10px;line-height:1.55}.empty-icon{width:48px;height:48px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:14px;place-items:center;display:grid}.sources-page{align-content:start;gap:32px;width:100%;height:100%;padding:clamp(24px,4vw,48px);display:grid;overflow-y:auto}.source-upload-panel,.source-library,.sources-page>.status-message,.sources-page>.create-panel,.sources-page>.realtime-status{width:min(1060px,100%);margin-inline:auto}.realtime-status{color:var(--warning);background:var(--warning-soft);border:1px solid #f0dfae;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.78rem;display:flex}.realtime-status>span{flex:1}.realtime-status .button{min-height:40px;color:var(--text);background:var(--surface)}.source-upload-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);gap:20px;padding:24px;display:grid}.source-upload-panel .section-heading h2{font-size:1.15rem}.source-library{gap:20px;padding:2px 0 20px;display:grid}.source-upload-panel .section-heading>svg{color:var(--accent)}.file-dropzone{border:1px dashed var(--border-strong);min-height:150px;color:var(--text-muted);background:var(--surface-soft);transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);border-radius:14px;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex}.file-dropzone>svg{color:var(--accent);flex:none}.file-dropzone>div{gap:4px;display:grid}.file-dropzone strong{color:var(--text);font-size:.92rem}.file-dropzone span{font-size:.8rem}.file-dropzone.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 4px #8f294214}.file-dropzone.is-disabled{opacity:.66;pointer-events:none}.preparation-restoring{border:1px dashed var(--border);min-height:112px;color:var(--text-muted);background:var(--surface-soft);border-radius:14px;place-items:center;font-size:.84rem;display:grid}.source-upload-metadata{grid-template-columns:1fr .7fr 1.6fr;gap:14px;display:grid}.source-upload-metadata>div,.source-edit-form>div{gap:7px;display:grid}.source-upload-metadata label span{color:var(--text-subtle);font-size:.74rem;font-weight:450}.preparation-summary{border-top:1px solid var(--border);gap:13px;padding-top:18px;display:grid}.preparation-summary.is-ready .preparation-summary-heading strong{color:var(--success)}.preparation-summary.is-ready_with_observations .preparation-summary-heading strong{color:var(--warning)}.preparation-summary.is-intervention_required .preparation-summary-heading strong{color:var(--danger)}.preparation-summary.is-cancelled{color:var(--text-muted)}.preparation-summary-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.preparation-summary-heading>div{gap:4px;display:grid}.preparation-summary-heading strong{font-size:.92rem}.preparation-summary-heading>b{font-variant-numeric:tabular-nums;font-size:1rem}.upload-queue{border-top:1px solid var(--border);gap:0;display:grid}.preparation-item{border-bottom:1px solid var(--border);grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 0;display:grid}.preparation-item>svg:first-child{color:var(--text-muted)}.preparation-item.is-uploading>svg:first-child,.preparation-item.is-verifying>svg:first-child,.preparation-item.is-processing>svg:first-child{color:var(--accent-dark)}.preparation-item.is-ready>svg:first-child{color:var(--success)}.preparation-item.is-deferred>svg:first-child{color:var(--text-muted)}.preparation-item.is-ready_with_observations>svg:first-child{color:var(--warning)}.preparation-item.is-failed>svg:first-child,.preparation-item.is-unsupported>svg:first-child,.preparation-item.is-intervention_required>svg:first-child{color:var(--danger)}.preparation-item.is-cancelled{color:var(--text-muted)}.preparation-item-main{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;display:grid}.preparation-item-title,.preparation-item-stage{justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.preparation-item-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.83rem;overflow:hidden}.preparation-item-title span,.preparation-item-stage,.preparation-item-main small{color:var(--text-muted);font-size:.72rem}.preparation-item-stage b{color:var(--text);font-variant-numeric:tabular-nums;font-size:.7rem}.preparation-item-main small{line-height:1.45}.preparation-item-main .preparation-error{color:var(--danger)}.preparation-item-main .preparation-guidance{color:var(--warning);font-weight:620}.preparation-item-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.progress-track{background:var(--surface-hover);border-radius:999px;height:6px;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--accent);height:100%;transition:width var(--transition-normal);display:block}.preparation-item.is-ready .progress-track>span{background:var(--success)}.preparation-item.is-deferred .progress-track>span{background:var(--text-muted)}.preparation-item.is-ready_with_observations .progress-track>span{background:var(--warning)}.preparation-item.is-failed .progress-track>span,.preparation-item.is-unsupported .progress-track>span,.preparation-item.is-intervention_required .progress-track>span{background:var(--danger)}.upload-actions{justify-content:flex-end;gap:8px;padding-top:16px;display:flex}.source-library-heading,.source-filters{justify-content:space-between;align-items:center;gap:18px;display:flex}.source-library-heading h2{margin:0;font-size:1.45rem}.source-library-heading>span{color:var(--text-muted);font-size:.78rem}.source-search{flex:1;max-width:560px}.source-status-filter{align-items:center;gap:8px;min-width:210px;display:flex}.source-status-filter>svg{color:var(--text-muted);flex:none}.source-status-filter select{min-height:42px}.source-list{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:0;display:grid;overflow:hidden}.source-row{border-bottom:1px solid var(--border);background:var(--surface);min-height:104px;transition:background var(--transition-fast);grid-template-columns:48px minmax(240px,1fr) minmax(170px,.55fr) auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.source-list>.source-row:last-child{border-bottom:0}.source-row:hover{background:var(--surface-soft)}.source-file-icon{border:1px solid var(--accent-border);width:46px;height:52px;color:var(--accent);background:var(--accent-soft);border-radius:11px;place-content:center;justify-items:center;gap:1px;display:grid}.source-file-icon small{max-width:37px;color:var(--accent-dark);text-overflow:ellipsis;text-transform:uppercase;font-size:.58rem;font-weight:750;overflow:hidden}.source-summary{gap:5px;min-width:0;display:grid}.source-title-line{align-items:center;gap:9px;min-width:0;display:flex}.source-title-line h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.94rem;overflow:hidden}.source-title-line h3 a{text-decoration:none}.source-title-line h3 a:hover{color:var(--accent-dark);text-underline-offset:3px;text-decoration:underline}.source-filename{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.source-meta{color:var(--text-subtle);flex-wrap:wrap;align-items:center;gap:7px;font-size:.68rem;display:flex}.source-meta>span{align-items:center;gap:4px;display:inline-flex}.source-tag{border:1px solid var(--border);color:var(--text-muted);background:var(--surface-soft);border-radius:999px;padding:2px 6px}.source-status{border:1px solid var(--border);width:max-content;color:var(--text-muted);background:var(--surface-soft);border-radius:999px;flex:none;align-items:center;padding:3px 7px;font-size:.64rem;font-weight:680;display:inline-flex}.source-status.is-ready{color:var(--success);background:var(--success-soft);border-color:#ccebd8}.source-status.is-failed{color:var(--danger);background:var(--danger-soft);border-color:#f0cbc7}.source-status.is-partial{color:var(--warning);background:var(--warning-soft);border-color:#f0dfae}.source-status.is-deferred{color:var(--text-muted);border-color:var(--border);background:var(--surface-soft)}.source-status.is-processing,.source-status.is-uploading,.source-status.is-verifying{color:var(--accent-dark);border-color:var(--accent-border);background:var(--accent-soft)}.source-process{gap:8px;display:grid}.source-process>div:first-child{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:.69rem;display:flex}.source-process strong{color:var(--text);font-size:.68rem}.source-actions{gap:6px;display:flex}.source-delete-trigger{color:var(--danger)}.source-delete-trigger:hover:not(:disabled),.source-delete-trigger:focus-visible{color:var(--danger);background:var(--danger-soft);border-color:#f0cbc7}.source-delete-confirmation{border-top:1px solid var(--border);grid-column:1/-1;justify-content:space-between;align-items:center;gap:18px;padding-top:14px;display:flex}.source-delete-confirmation>div:first-child{gap:3px;min-width:0;display:grid}.source-delete-confirmation strong{font-size:.8rem}.source-delete-confirmation span{color:var(--text-muted);font-size:.72rem;line-height:1.45}.source-delete-confirmation-actions{flex:none;gap:8px;display:flex}.source-edit-form{grid-template-columns:1.4fr .8fr .6fr 1.2fr;gap:14px;display:grid}.source-edit-form .status-message,.source-edit-form .form-actions{grid-column:1/-1}.source-row-skeleton{background:var(--surface-soft);height:104px;position:relative;overflow:hidden}.source-row-skeleton:after{content:"";background:linear-gradient(100deg,#0000 20%,#fffc 50%,#0000 80%);animation:1.5s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.danger-outline{color:var(--danger);border-color:#f0cbc7}.danger-outline:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.danger-solid:hover:not(:disabled){background:#951f16;border-color:#951f16}.assistant-page{background:var(--surface);width:100%;min-width:0;height:100%;position:relative;overflow:hidden}.assistant-status{z-index:10;width:min(720px,100% - 32px);position:absolute;top:12px;left:50%;transform:translate(-50%)}.conversation-main{grid-template-rows:minmax(0,1fr) auto;width:100%;min-width:0;height:100%;display:grid;overflow:hidden}.conversation-archived-notice{border-top:1px solid var(--border);min-height:58px;color:var(--text-muted);background:var(--surface-soft);justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:.72rem;display:flex}.conversation-archived-notice svg{color:var(--text-subtle);flex:none}.conversation-archived-notice span{gap:2px;display:grid}.conversation-archived-notice strong{color:var(--text)}.conversation-thread{overflow-anchor:none;scroll-behavior:smooth;min-width:0;padding:clamp(28px,6vh,64px) clamp(18px,4vw,44px) 28px;overflow-y:auto}.conversation-thread.streaming{scroll-behavior:auto}.conversation-thread-content{min-height:100%}.conversation-virtual-history{width:100%;position:relative}.conversation-virtual-turn{width:100%;min-width:0;transform:translateY(var(--conversation-virtual-start));flex-direction:column;display:flex;position:absolute;top:0;left:0}.conversation-history-navigation{justify-items:center;gap:6px;width:min(820px,100%);min-height:40px;margin:0 auto 24px;display:grid}.conversation-history-navigation button,.conversation-latest-navigation button{border:1px solid var(--border);min-height:40px;color:var(--text-muted);background:var(--surface);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-size:.72rem;font-weight:600;display:inline-flex}.conversation-history-navigation button:hover:not(:disabled),.conversation-latest-navigation button:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-soft)}.conversation-history-navigation button:focus-visible,.conversation-latest-navigation button:focus-visible{outline-offset:2px;outline:3px solid #8f294233}.conversation-history-navigation button:disabled{opacity:.58;cursor:wait}.conversation-history-navigation small{max-width:560px;color:var(--danger);text-align:center;font-size:.68rem;line-height:1.45}.conversation-latest-navigation{z-index:4;pointer-events:none;grid-area:1/1;place-self:end center;margin-bottom:12px}.conversation-latest-navigation button{color:var(--text);box-shadow:var(--shadow-sm);pointer-events:auto}.chat-message{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;max-width:820px;margin:0 auto 22px;display:grid}.chat-message.user{grid-template-columns:minmax(0,1fr) 32px}.chat-message.user .chat-avatar{color:var(--text-muted);grid-area:1/2}.chat-message.user .chat-bubble{text-align:right;grid-area:1/1;justify-self:end;max-width:min(680px,90%);padding-top:4px}.chat-avatar{width:32px;height:32px;color:var(--accent-dark);place-items:center;display:grid}.chat-bubble{min-width:0}.chat-message.assistant .chat-bubble{padding-top:4px}.chat-author{color:var(--text);margin-bottom:5px;font-size:.72rem;display:block}.chat-message-content{color:#30323a;white-space:pre-wrap;font-size:.9rem;line-height:1.72}.chat-response-timeline{align-items:start;gap:8px;min-width:0;display:grid}.chat-tool-group{align-items:start;min-width:0;display:grid}.chat-tool-group>.chat-tool-activity,.chat-tool-group>.chat-tool-disclosure{margin-block:0}.chat-tool-group.multiple{border-left:1px solid var(--border);gap:2px;margin-left:7px;padding-left:13px}.chat-markdown{overflow-wrap:anywhere;white-space:normal;min-width:0}.chat-markdown>:first-child,.chat-markdown [data-streamdown]:first-child{margin-top:0}.chat-markdown>:last-child,.chat-markdown [data-streamdown]:last-child{margin-bottom:0}.chat-markdown p{margin:0 0 .8em}.chat-markdown [data-streamdown^=heading-]{color:var(--text);letter-spacing:-.01em;margin:1.1em 0 .4em;font-size:1rem;font-weight:680;line-height:1.4}.chat-markdown [data-streamdown=heading-3],.chat-markdown [data-streamdown=heading-4],.chat-markdown [data-streamdown=heading-5],.chat-markdown [data-streamdown=heading-6]{font-size:.94rem}.chat-markdown [data-streamdown=unordered-list],.chat-markdown [data-streamdown=ordered-list]{margin:.55em 0 .85em;padding-left:1.35rem;list-style-position:outside}.chat-markdown [data-streamdown=unordered-list]{list-style-type:disc}.chat-markdown [data-streamdown=ordered-list]{list-style-type:decimal}.chat-markdown [data-streamdown=list-item]{padding-left:.15rem}.chat-markdown [data-streamdown=list-item]+[data-streamdown=list-item]{margin-top:.3em}.chat-markdown [data-streamdown=list-item]::marker{color:var(--accent);font-weight:700}.chat-markdown [data-streamdown=strong]{color:var(--text);font-weight:680}.chat-markdown [data-streamdown=blockquote]{border-left:2px solid var(--accent-border);color:var(--text-muted);margin:.85em 0;padding-left:.85rem}.chat-markdown [data-streamdown=inline-code],.chat-markdown :not(pre)>code{color:var(--accent-dark);background:var(--accent-soft);border-radius:5px;padding:.12em .36em;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86em}.chat-markdown [data-streamdown=code-block]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);margin:.9em 0;overflow:hidden}.chat-markdown [data-streamdown=code-block-header]{border-bottom:1px solid var(--border);min-height:32px;color:var(--text-muted);background:var(--surface);align-items:center;padding:0 11px;font-size:.68rem;font-weight:650;display:flex}.chat-markdown [data-streamdown=code-block-body]{padding:12px;overflow-x:auto}.chat-markdown pre{white-space:pre;margin:0}.chat-markdown pre code{color:var(--text);background:0 0;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.6}.chat-markdown [data-streamdown=table-wrapper]{border:1px solid var(--border);border-radius:var(--radius-sm);max-width:100%;margin:.9em 0;overflow-x:auto}.chat-markdown [data-streamdown=table]{border-collapse:collapse;width:100%;min-width:360px;font-size:.82rem}.chat-markdown [data-streamdown=table-header-cell],.chat-markdown [data-streamdown=table-cell]{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 10px}.chat-markdown [data-streamdown=table-header-cell]{color:var(--text);background:var(--surface-soft);font-weight:680}.chat-markdown [data-streamdown=table-row]:last-child [data-streamdown=table-cell]{border-bottom:0}.chat-markdown [data-streamdown=horizontal-rule]{border:0;border-top:1px solid var(--border);margin:1em 0}.chat-markdown [data-streamdown=link]{color:var(--accent-dark);text-decoration:underline;-webkit-text-decoration-color:var(--accent-border);text-decoration-color:var(--accent-border);text-underline-offset:3px;font-weight:600}.chat-markdown [data-streamdown=link]:hover{text-decoration-color:currentColor}.chat-markdown [data-streamdown=link]:focus-visible{outline:2px solid var(--accent-light);outline-offset:3px;border-radius:3px}.chat-markdown [data-streamdown=image]{border-radius:var(--radius-sm);max-width:100%;height:auto}.chat-markdown input[type=checkbox]{accent-color:var(--accent)}.chat-tool-activity{min-height:32px;color:var(--text-muted);align-items:center;gap:7px;margin:0 0 7px;font-size:.72rem;display:flex}.chat-tool-activity.running svg{color:var(--accent)}.chat-tool-activity.completed svg{color:var(--success)}.chat-tool-activity.failed svg{color:var(--danger)}.chat-tool-metadata{color:var(--text-subtle);font-size:.64rem;font-weight:450}.chat-tool-disclosure{color:var(--text-muted);margin:0 0 10px;font-size:.72rem}.chat-tool-disclosure summary{border-radius:var(--radius-sm);cursor:pointer;width:fit-content;min-height:40px;transition:color var(--transition-fast), background-color var(--transition-fast);align-items:center;gap:7px;margin-left:-8px;padding:0 8px;list-style:none;display:flex}.chat-tool-disclosure summary::-webkit-details-marker{display:none}.chat-tool-disclosure summary:hover{color:var(--text);background:var(--surface-soft)}.chat-tool-disclosure summary:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}.chat-tool-disclosure summary>svg:first-child{color:var(--success)}.chat-tool-disclosure.failed summary>svg:first-child{color:var(--danger)}.chat-tool-chevron{color:var(--text-subtle);transition:transform var(--transition-fast)}.chat-tool-disclosure[open] .chat-tool-chevron{transform:rotate(180deg)}.chat-tool-details{border-left:1px solid var(--border);scrollbar-width:thin;max-height:min(52vh,460px);margin:2px 0 12px 7px;padding:4px 10px 4px 15px;display:grid;overflow-y:auto}.chat-tool-loading{min-height:42px;color:var(--text-subtle);align-items:center;gap:7px;display:flex}.chat-tool-error{color:var(--danger);margin:8px 0;line-height:1.5}.chat-tool-call{min-width:0;padding:8px 0 12px}.chat-tool-call+.chat-tool-call{border-top:1px solid var(--border)}.chat-tool-query{grid-template-columns:18px minmax(0,1fr);gap:7px;margin:0;display:grid}.chat-tool-query>svg{color:var(--text-subtle);margin-top:3px}.chat-tool-query>span{gap:2px;min-width:0;display:grid}.chat-tool-query small{color:var(--text-subtle);font-size:.65rem}.chat-tool-query strong{color:var(--text);overflow-wrap:anywhere;font-size:.73rem;font-weight:620;line-height:1.5}.chat-tool-observations{margin:10px 0 0 25px;padding:0;list-style:none;display:grid}.chat-tool-observations li{border-top:1px solid var(--border);min-width:0;padding:10px 0}.chat-tool-source{grid-template-columns:18px minmax(0,1fr);gap:7px;display:grid}.chat-tool-source>svg{color:var(--text-subtle);margin-top:2px}.chat-tool-source>span{flex-wrap:wrap;align-items:baseline;gap:3px 7px;min-width:0;display:flex}.chat-tool-source strong{color:var(--text-muted);overflow-wrap:anywhere;font-size:.69rem;font-weight:650}.chat-tool-source small{color:var(--text-subtle);font-size:.64rem}.chat-tool-observations li>p{color:#4f525c;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0 25px;font-size:.71rem;line-height:1.62}.chat-tool-empty{color:var(--text-subtle);margin:10px 0 0 25px;line-height:1.5}.chat-citations{border-top:1px solid var(--border);margin-top:16px;padding-top:10px}.chat-citations summary{width:fit-content;color:var(--text-muted);cursor:pointer;border-radius:6px;align-items:center;gap:7px;font-size:.72rem;list-style:none;display:flex}.chat-citations summary::-webkit-details-marker{display:none}.chat-citations summary:hover{color:var(--text)}.chat-citations summary:focus-visible{outline:2px solid var(--accent-light);outline-offset:4px}.citation-chevron{transition:transform var(--transition-fast)}.chat-citations[open] .citation-chevron{transform:rotate(180deg)}.chat-citations ol{gap:9px;margin:12px 0 0;padding:0;list-style:none;display:grid}.chat-citations li{color:var(--text-subtle);grid-template-columns:18px minmax(0,1fr);gap:7px;display:grid}.chat-citations li>svg{margin-top:2px}.chat-citations li>span{gap:2px;min-width:0;display:grid}.chat-citations li strong{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:600;overflow:hidden}.chat-citations li small{color:var(--text-subtle);font-size:.66rem}.chat-artifact{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 14px;display:grid}.chat-artifact-icon{color:var(--accent)}.chat-artifact-copy{gap:2px;min-width:0;display:grid}.chat-artifact-copy strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:650;overflow:hidden}.chat-artifact-copy small{color:var(--text-muted);font-size:.68rem}.chat-artifact-download{border-radius:var(--radius-sm);min-height:40px;color:var(--action-text);background:var(--action);transition:background-color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.72rem;font-weight:620;text-decoration:none;display:inline-flex}.chat-artifact-download:hover{background:var(--action-hover)}.chat-artifact-download:active{transform:translateY(1px)}.chat-artifact-download:focus-visible{outline-offset:2px;outline:3px solid #8f294233}.chat-message.failed .status-message{font-size:.76rem}.chat-message.failed .status-message>div{gap:3px;display:grid}.chat-message.failed .status-message small{opacity:.82;font-size:.68rem}.thinking-indicator{min-height:32px;color:var(--text-subtle);align-items:center;gap:5px;font-size:.72rem;display:flex}.thinking-indicator i{background:var(--accent-light);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite thinking}.thinking-indicator i:nth-child(2){animation-delay:.12s}.thinking-indicator i:nth-child(3){animation-delay:.24s}.thinking-indicator span{margin-left:5px}.assistant-composer-region{gap:8px;width:min(780px,100% - 32px);min-width:0;margin:0 auto 22px;display:grid}.assistant-followups{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;max-height:min(34vh,264px);box-shadow:var(--shadow-sm);overflow:hidden}.assistant-followup-list{min-height:0;max-height:inherit;scrollbar-width:thin;margin:0;padding:6px;list-style:none;overflow-y:auto}.assistant-followup{border-bottom:1px solid var(--border);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:48px;padding:4px 6px;display:grid}.assistant-followup:last-child{border-bottom:0}.assistant-followup-marker{width:24px;height:40px;color:var(--text-subtle);place-items:center;display:grid}.assistant-followup>p{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.76rem;line-height:1.45;overflow:hidden}.assistant-followup-actions{align-items:center;gap:2px;display:flex}.assistant-followup-steer,.assistant-followup-action{border-radius:var(--radius-sm);min-height:40px;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:.7rem;font-weight:600;display:inline-flex}.assistant-followup-steer:hover:not(:disabled),.assistant-followup-action:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.assistant-followup-icon-button{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-subtle);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);background:0 0;border:0;place-items:center;display:grid}.assistant-followup-icon-button:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.assistant-followup-icon-button.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.assistant-followup-steer:active:not(:disabled),.assistant-followup-action:active:not(:disabled),.assistant-followup-icon-button:active:not(:disabled){transform:translateY(1px)}.assistant-followup-steer:disabled,.assistant-followup-action:disabled,.assistant-followup-icon-button:disabled{opacity:.52;cursor:not-allowed}.assistant-followup-steer:focus-visible,.assistant-followup-action:focus-visible,.assistant-followup-icon-button:focus-visible{outline-offset:1px;outline:3px solid #8f294233}.assistant-followup-edit{grid-column:2/-1;gap:8px;min-width:0;padding-block:4px;display:grid}.assistant-followup-edit textarea{resize:vertical;min-height:62px}.assistant-followup-edit>div{justify-content:flex-end;gap:7px;display:flex}.assistant-followup-action{border:1px solid var(--border-strong);background:var(--surface)}.assistant-followup-action.primary{border-color:var(--action);color:var(--action-text);background:var(--action)}.assistant-followup-action.primary:hover:not(:disabled){border-color:var(--action-hover);color:var(--action-text);background:var(--action-hover)}.assistant-composer{background:var(--surface-soft);width:min(780px,100% - 32px);transition:background-color var(--transition-fast);border-radius:17px;gap:9px;margin:0 auto 22px;padding:12px;display:grid}.assistant-composer-region .assistant-composer{width:100%;margin:0}.assistant-composer:focus-within{background:var(--surface-hover)}.assistant-composer textarea{min-height:70px;box-shadow:none;background:0 0;border:0;padding:3px 4px}.assistant-composer textarea:focus-visible{box-shadow:none}.assistant-composer-footer{justify-content:space-between;align-items:center;gap:16px;padding-top:9px;display:flex}.assistant-composer-hint{color:var(--text-subtle);font-size:.67rem}.assistant-composer-actions{justify-content:flex-end;align-items:center;gap:8px;min-height:40px;margin-left:auto;display:flex}.assistant-send-button{width:40px;height:40px;color:var(--action-text);background:var(--action);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);border:0;border-radius:50%;flex:0 0 40px;place-items:center;margin-left:auto;display:grid}.assistant-send-button:hover:not(:disabled){background:var(--action-hover);transform:translateY(-1px)}.assistant-send-button:disabled{color:var(--text-subtle);background:var(--surface-hover);cursor:not-allowed}.assistant-send-button:focus-visible{outline-offset:2px;outline:3px solid #8f294233}.assistant-stop-button:not(:disabled){color:var(--action-text);background:var(--action)}.assistant-stop-button:active:not(:disabled){transform:translateY(1px)}.conversation-empty{text-align:center;place-content:center;justify-items:center;gap:9px;max-width:620px;min-height:100%;margin:0 auto;display:grid}.conversation-empty>span{width:48px;height:48px;color:var(--accent-dark);background:var(--accent-soft);border-radius:50%;place-items:center;display:grid}.conversation-empty>p{max-width:520px;color:var(--text-muted);gap:4px;margin:0;font-size:.84rem;line-height:1.55;display:grid}.conversation-empty>p strong{color:var(--text);font-size:.95rem}.conversation-empty>p small{color:var(--text-muted);font-size:.75rem}.conversation-empty>div{gap:7px;width:min(520px,100%);margin-top:10px;display:grid}.conversation-empty button{min-height:42px;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:9px 12px}.conversation-empty button:hover{color:var(--text);background:var(--surface-hover)}.conversation-loading{min-height:100%;color:var(--text-subtle);place-content:center;display:grid}@keyframes thinking{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.skeleton-card{background:var(--surface-soft);position:relative;overflow:hidden}.skeleton-card:after{content:"";background:linear-gradient(100deg,#0000 20%,#fffc 50%,#0000 80%);animation:1.5s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.button-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.button-ghost:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}@media (width<=980px){.login-page{grid-template-columns:1fr}.login-intro{border-right:0;border-bottom:1px solid var(--border);gap:48px;min-height:auto;padding-block:48px}.login-intro h1{font-size:clamp(2.3rem,8vw,4rem)}.login-form-wrap{min-height:620px}.project-row{grid-template-columns:46px minmax(0,1fr) auto;align-items:start}.project-row-meta{grid-column:2}.project-manage-link{grid-area:1/3/span 2;align-self:center}.source-row{grid-template-columns:48px minmax(220px,1fr) auto}.source-process{grid-column:2/3}.source-actions{grid-area:1/3/span 2}.source-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.app-shell{min-height:100vh;display:block}.workspace-sidebar{width:min(304px,100vw - 42px);height:100dvh;transition:transform var(--transition-normal);box-shadow:var(--shadow-lg);position:fixed;inset:0 auto 0 0;transform:translate(-101%)}.workspace-sidebar.is-open{transform:translate(0)}.workspace-sidebar-close{background:0 0;border-color:#0000;width:34px;height:34px;display:inline-grid}.workspace-mobile-overlay{z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#11121752;border:0;display:block;position:fixed;inset:0}.app-frame{height:100dvh}.app-mobile-menu{z-index:25;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;width:40px;height:40px;display:inline-grid;position:fixed;top:11px;left:12px}.project-workspace-tabs-bar{flex-basis:62px;min-height:62px}}@media (width<=720px){.main-content:not(.is-workspace){width:calc(100% - 32px);padding:78px 0 56px}.projects-utility-row{flex-direction:column;align-items:stretch}.projects-utility-row .toolbar{max-width:none}.projects-utility-row>.button{width:100%}.form-columns{grid-template-columns:1fr}.project-index-heading{align-items:flex-start;padding:18px}.project-page-range{padding-top:3px}.project-row{grid-template-columns:40px minmax(0,1fr);gap:14px;min-height:0;padding:18px}.project-row-icon{width:40px;height:40px}.project-row-copy,.project-row-meta{grid-column:2}.project-row-title{flex-direction:column;align-items:flex-start;gap:6px}.project-row-title h3,.project-row-context dd{white-space:normal}.project-row-meta{gap:7px;padding-top:2px}.project-manage-link{grid-area:auto/1/auto/-1;width:100%;margin-top:4px}.project-pagination{justify-content:space-between;gap:8px;padding-inline:14px}.project-pagination .button{padding-inline:10px}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.file-dropzone{text-align:center;flex-direction:column;align-items:stretch}.file-dropzone>svg{align-self:center}.source-upload-metadata,.source-edit-form{grid-template-columns:1fr}.preparation-item{grid-template-columns:22px minmax(0,1fr);align-items:start}.preparation-item-actions,.preparation-item>.icon-button{grid-column:1/-1;justify-self:stretch}.preparation-item-actions .button{flex:1}.preparation-item>.icon-button{justify-self:end}.upload-actions{flex-direction:column-reverse;align-items:stretch}.upload-actions .button{width:100%}.source-filters{flex-direction:column;align-items:stretch}.source-search,.source-status-filter{width:100%;max-width:none}.source-row{grid-template-columns:42px minmax(0,1fr);align-items:start}.source-file-icon{width:42px;height:48px}.source-process{grid-column:1/-1}.source-actions{border-top:1px solid var(--border);grid-area:auto/1/auto/-1;justify-content:flex-end;padding-top:4px}.source-delete-confirmation{flex-direction:column;align-items:stretch}.source-delete-confirmation-actions{width:100%}.source-delete-confirmation-actions .button{flex:1}.source-title-line{flex-direction:column;align-items:flex-start}.source-title-line h3{max-width:100%}.conversation-thread{padding:28px 18px 20px}}@media (width<=520px){.login-intro{padding:28px 20px 36px}.login-benefits{grid-template-columns:1fr}.login-form-wrap{min-height:560px;padding:28px 20px}.create-panel{padding:18px}.create-project-layout{min-height:auto;padding-block:20px}.sources-page{gap:24px;padding:18px 14px 28px}.realtime-status{flex-wrap:wrap;align-items:flex-start}.realtime-status>span{min-width:calc(100% - 30px);padding-top:2px}.realtime-status .button{width:100%}.source-upload-panel{padding:18px}.source-library{padding-top:4px}.source-library-heading{align-items:flex-start}.conversation-archived-notice{justify-content:flex-start;align-items:flex-start}.assistant-composer-region,.assistant-composer{width:calc(100% - 24px);margin-bottom:12px}.assistant-composer-region .assistant-composer{width:100%;margin-bottom:0}.assistant-composer-hint{display:none}.assistant-followups{max-height:min(38vh,280px)}.assistant-followup{grid-template-columns:20px minmax(0,1fr) auto;gap:5px;padding-inline:4px}.assistant-followup-marker{width:20px}.assistant-followup-steer{width:40px;padding:0}.assistant-followup-steer span{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.chat-message.user .chat-bubble{max-width:94%}.chat-tool-details{max-height:56vh;margin-left:0;padding-left:11px}.chat-tool-observations,.chat-tool-observations li>p{margin-left:0}.chat-artifact{grid-template-columns:28px minmax(0,1fr)}.chat-artifact-download{grid-column:1/-1;width:100%}.project-workspace-tabs{width:min(260px,100% - 112px)}.project-workspace-tabs a{gap:5px;font-size:.7rem}.conversation-delete-dialog-overlay{align-items:end;padding:16px}.conversation-delete-dialog-header{padding:20px 18px 16px}.conversation-delete-dialog-description{padding:0 18px 20px}.conversation-delete-dialog-error{margin-inline:18px}.conversation-delete-dialog-actions{grid-template-columns:1fr;padding:14px 18px 18px;display:grid}.conversation-delete-dialog-actions .button{width:100%}}@media (width<=780px){.settings-section{grid-template-columns:1fr;gap:22px;padding:20px}.settings-fields{grid-template-columns:1fr}.settings-field.full-width{grid-column:auto}.project-lifecycle{flex-direction:column;align-items:stretch}.lifecycle-confirm{grid-template-columns:auto minmax(0,1fr)}.lifecycle-confirm .button{grid-column:span 1}}@media (width<=520px){.settings-save-bar{flex-direction:column;align-items:stretch;bottom:8px}.settings-save-bar .button{width:100%}.project-lifecycle{padding:18px}.project-lifecycle>.button{width:100%}.lifecycle-confirm{grid-template-columns:1fr}.lifecycle-confirm svg{display:none}.lifecycle-confirm .button{width:100%}}@media (hover:none),(pointer:coarse){.workspace-chat-more{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
