.search-results{display:flex;flex-direction:column;gap:8px;width:100%}.search-queries-card{background:#e8f5e8;margin:2px auto 2px 0;padding:6px 10px;border-radius:6px;max-width:70%;box-shadow:0 1px 2px #0000001a;border-left:3px solid #4caf50;font-size:.95em}.search-queries-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px;margin:-4px;border-radius:4px;transition:background-color .2s}.search-queries-header:hover{background-color:#4caf501a}.search-queries-title{display:flex;align-items:center;gap:8px;flex:1}.search-icon{font-size:1.2em}.expand-button{background:none;border:none;color:#2e7d32;font-size:.8em;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.expand-button:hover{background-color:#4caf5026}.search-queries-content{margin-top:8px;padding-top:8px;border-top:1px solid rgba(46,125,50,.2)}.original-query{color:#555;margin:4px 0;font-size:.9em}.optimized-queries{margin:8px 0}.queries-label{font-weight:500;color:#333;margin-bottom:4px}.optimized-queries ol{margin:4px 0;padding-left:24px}.optimized-queries li{color:#2e7d32;margin:2px 0}.meta-info{color:#666;font-size:.8em;margin:2px 0}.error-info{color:#d32f2f;font-size:.8em;margin:4px 0;font-weight:500}.search-results-container{background:#f0f7ff;margin:2px auto 2px 0;padding:6px 10px;border-radius:6px;max-width:50%;box-shadow:0 1px 2px #0000001a;border-left:3px solid #1976d2;font-size:.85em}.search-results-container--live{box-shadow:0 0 0 1px #1976d21f,0 4px 18px #1976d224}.search-results-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px;margin:-4px;border-radius:4px;transition:background-color .2s}.search-results-header:hover{background-color:#1976d21a}.search-results-title{display:flex;align-items:center;gap:8px;flex:1}.results-icon{font-size:1.2em}.results-label{font-weight:600;color:#1565c0}.results-live-indicator{width:10px;height:10px;border-radius:999px;background:#1976d2;box-shadow:0 0 #1976d273;animation:search-live-pulse 1.4s ease-out infinite;margin-right:8px}.search-results-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin:8px 0 4px;padding-top:8px;border-top:1px solid rgba(25,118,210,.2)}.search-result-card{background:#f0f7ff;padding:4px 8px;border-radius:4px;min-width:120px;max-width:250px;flex:1 1 auto;box-shadow:0 1px 2px #0000001a;border-left:2px solid #1976d2;font-size:.8em;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .3s,background-color .3s;word-wrap:break-word;overflow-wrap:break-word}.search-result-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px #00000026}.search-result-card.crawl-pending{border-left-color:#1976d2;background:#e3f2fd;animation:crawl-pending-pulse 1.8s ease-in-out infinite}.search-result-card.crawl-success{border-left-color:#4caf50;background:#e8f5e9}.search-result-card.crawl-failed{border-left-color:#f44336;background:#ffebee}.search-result-card.crawl-skipped{border-left-color:#ff9800;background:#fff8e1}.search-result-content{display:flex;align-items:center;gap:4px;margin-bottom:4px}.link-icon{font-size:.9em;flex-shrink:0;transition:filter .3s}.crawl-control-button{margin-top:6px;border:1px solid rgba(21,101,192,.4);background:#1565c014;color:#0d47a1;border-radius:4px;padding:2px 8px;font-size:.75em;font-weight:600;cursor:pointer}.crawl-control-button:hover{background:#1565c029}.crawl-mode-info{margin-top:6px;color:#546e7a;font-size:.72em;line-height:1.25}.crawl-mode-value{font-weight:700;text-transform:lowercase}.crawl-success .engine-badge{background:#4caf5026;color:#2e7d32;border-color:#4caf5040}.crawl-failed .engine-badge{background:#f4433626;color:#c62828;border-color:#f4433640}.crawl-skipped .engine-badge{background:#ff980026;color:#e65100;border-color:#ff980040}.crawl-success .link-icon{filter:hue-rotate(90deg) brightness(.8)}.crawl-failed .link-icon{filter:hue-rotate(-30deg) saturate(1.5)}.result-text{color:#1976d2;font-size:.9em;line-height:1.2;flex:1;overflow:hidden;transition:color .3s}.crawl-success .result-text{color:#2e7d32}.crawl-failed .result-text{color:#c62828}.crawl-success .crawl-mode-info{color:#2e7d32}.crawl-failed .crawl-mode-info{color:#c62828}@keyframes search-live-pulse{0%{transform:scale(.95);box-shadow:0 0 #1976d273}70%{transform:scale(1);box-shadow:0 0 0 10px #1976d200}to{transform:scale(.95);box-shadow:0 0 #1976d200}}@keyframes crawl-pending-pulse{0%,to{transform:translateY(0);box-shadow:0 1px 2px #00000014}50%{transform:translateY(-1px);box-shadow:0 4px 10px #1976d22e}}.search-summary{background:#f5f5f5;margin:4px auto 4px 0;padding:4px 8px;border-radius:4px;text-align:center;max-width:60%;font-size:.8em;color:#666}.takeover-overlay{position:fixed;inset:0;z-index:1200;background:#030a16e0;display:flex;align-items:stretch;justify-content:stretch}.takeover-shell{width:100%;height:100%;display:flex;flex-direction:column;background:#0b1729}.takeover-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.16);color:#e3edff}.takeover-title{font-size:.95rem;font-weight:600;max-width:calc(100% - 100px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.takeover-close-button{border:1px solid rgba(227,237,255,.35);background:#e3edff17;color:#e3edff;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer}.takeover-close-button:hover{background:#e3edff2e}.takeover-body{flex:1;min-height:0;background:#000}.takeover-frame{width:100%;height:100%;border:0;display:block}.takeover-status{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#d9e5ff;font-size:.95rem}.takeover-status-error{color:#ff9b9b}.search-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.search-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;width:95vw;max-width:1200px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.search-dialog-content{padding:0;display:flex;flex-direction:column;height:100%}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.dialog-header h2{margin:0;font-size:1.5rem;color:#111827;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close-button-icon{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s;flex-shrink:0;margin-left:16px}.close-button-icon:hover{color:#111827}.search-meta-section{padding:20px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.meta-item{margin-bottom:12px;font-size:.875rem;line-height:1.5}.meta-item:last-child{margin-bottom:0}.meta-item strong{color:#374151;margin-right:8px}.meta-link{color:#2563eb;text-decoration:none;word-break:break-all}.meta-link:hover{text-decoration:underline}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge.status-success{background:#d1fae5;color:#065f46}.status-badge.status-failed{background:#fee2e2;color:#991b1b}.status-badge.status-pending{background:#dbeafe;color:#1e40af}.status-error{color:#991b1b;font-size:.75rem}.search-content-section{padding:24px;flex:1;overflow-y:auto}.search-content-section h3{margin:0 0 16px;font-size:1.125rem;color:#111827}.content-text{font-size:.95rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;line-height:1.7;color:#374151}.content-text p{margin:.75em 0}.content-text p:first-child{margin-top:0}.content-text p:last-child{margin-bottom:0}.content-text h1,.content-text h2,.content-text h3,.content-text h4{margin-top:1.5em;margin-bottom:.5em;color:#111827}.content-text code{background:#f3f4f6;padding:2px 6px;border-radius:3px;font-size:.9em}.content-text pre{background:#1f2937;color:#f9fafb;padding:16px;border-radius:6px;overflow-x:auto}.content-text pre code{background:none;padding:0;color:inherit}.no-content{color:#6b7280;font-style:italic;padding:24px;text-align:center}.dialog-footer{padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;display:flex;justify-content:flex-end}.close-button{padding:8px 16px;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.close-button:hover{background:#1d4ed8}.close-button:active{transform:translateY(1px)}.loading-document{padding:20px;text-align:center;color:#6b7280;font-style:italic;font-size:.9rem}.hierarchy-section{margin-top:24px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e5e7eb}.hierarchy-section h3{font-size:1.1em;margin-bottom:12px;color:#1976d2;border-bottom:2px solid #e3f2fd;padding-bottom:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;border-radius:8px;transition:all .2s ease;cursor:pointer;border:none;font-family:system-ui,sans-serif}.button-sm{padding:6px 12px;font-size:.875rem}.button-md{padding:10px 20px;font-size:1rem}.button-lg{padding:14px 28px;font-size:1.125rem}.button-primary{background:#2563eb;color:#fff}.button-primary:hover:not(:disabled){background:#1d4ed8}.button-secondary{background:#f3f4f6;color:#374151}.button-secondary:hover:not(:disabled){background:#e5e7eb}.button-danger{background:#ef4444;color:#fff}.button-danger:hover:not(:disabled){background:#dc2626}.button-ghost{background:transparent;color:#374151;border:1px solid #e5e7eb}.button-ghost:hover:not(:disabled){background:#f9fafb}.button:disabled{opacity:.5;cursor:not-allowed}.button-loading{position:relative;color:transparent}.spinner{position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.input-wrapper{display:flex;flex-direction:column;gap:4px}.input-label{font-size:.875rem;font-weight:500;color:#374151}.input{padding:10px 14px;font-size:1rem;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease;font-family:system-ui,sans-serif}.input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.input-error{border-color:#ef4444}.input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.input-error-text{font-size:.875rem;color:#ef4444}.input-helper-text{font-size:.875rem;color:#6b7280}.panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e5e7eb}.panel-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.panel-actions{display:flex;align-items:center;gap:8px}.panel-content{padding:24px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px}.spinner-large{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}.loading-state p{color:#6b7280;font-size:.875rem;margin:0}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px}.error-icon{font-size:3rem}.error-state p{color:#ef4444;font-size:.875rem;margin:0;text-align:center}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1400;animation:fadeIn .2s ease}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;overflow:auto;animation:scaleIn .2s ease}.modal-sm{width:400px;max-width:90vw}.modal-md{width:600px;max-width:90vw}.modal-lg{width:800px;max-width:90vw}.modal-xl{width:1200px;max-width:95vw}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:4px 8px;line-height:1;transition:color .2s ease}.modal-close:hover{color:#111827}.modal-body{padding:24px}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.message{padding:16px;margin-bottom:16px;border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000001a}.message-user{background:#eff6ff;margin-left:40px}.message-assistant{background:#f9fafb;margin-left:0;margin-right:0;width:100%;box-sizing:border-box}.message-search{background:#fef3c7;border-left:4px solid #f59e0b}.message-router{background:#e0e7ff;border-left:4px solid #6366f1;margin-right:40px}.message-tool{background:#f0fdf4;border-left:4px solid #22c55e;margin-left:20px;margin-right:20px;font-size:.9em}.message-collapsed{padding:12px 16px}.message-header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.875rem}.message-header-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s;padding:4px 8px;margin:-4px -8px;border-radius:6px}.message-router .message-header-clickable:hover{background-color:#6366f11a}.message-search .message-header-clickable:hover{background-color:#f59e0b1a}.message-header strong{color:#111827}.message-header-title{display:inline-flex;align-items:center;gap:8px}.message-lifecycle-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.message-lifecycle-routing{background:#dbeafe;color:#1d4ed8}.message-lifecycle-blocked{background:#fef3c7;color:#92400e}.message-lifecycle-failed{background:#fee2e2;color:#b91c1c}.message-router .collapse-icon{display:inline-block;font-size:.75rem;color:#6366f1;transition:transform .2s}.message-search .collapse-icon{display:inline-block;font-size:.75rem;color:#f59e0b;transition:transform .2s}.message-time{color:#6b7280;font-size:.75rem}.message-content{color:#374151;line-height:1.6}.message-content pre{background:#f3f4f6;padding:12px;border-radius:6px;overflow-x:auto;font-size:.875rem}.message-content code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:.875rem}.message-media{margin-top:12px}.runtime-tool-diagnostics{margin-top:12px;display:flex;flex-direction:column;gap:8px}.runtime-tool-panel{border:1px solid #dbe4f0;border-radius:10px;background:#f8fbff;overflow:hidden}.runtime-tool-panel summary{cursor:pointer;list-style:none;padding:10px 12px;font-size:.875rem;font-weight:600;color:#1f2937}.runtime-tool-panel summary::-webkit-details-marker{display:none}.runtime-tool-panel[open] summary{border-bottom:1px solid #dbe4f0}.runtime-tool-grid{display:grid;grid-template-columns:minmax(110px,140px) 1fr;gap:8px 12px;padding:12px;margin:0;font-size:.875rem}.runtime-tool-grid dt{color:#64748b;font-weight:600}.runtime-tool-grid dd{margin:0;color:#1f2937}.runtime-tool-subtitle{padding:0 12px 8px;color:#64748b;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.runtime-tool-pre{margin:0 12px 12px;padding:10px 12px;border-radius:8px;background:#eef4fb;overflow-x:auto;font-size:.8125rem;color:#1f2937}.runtime-tool-result{padding:12px;color:#1f2937;font-size:.9rem;line-height:1.5}.runtime-tool-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8125rem}.runtime-tool-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em}.runtime-tool-status-applied{background:#dcfce7;color:#166534}.runtime-tool-status-pending-approval,.runtime-tool-status-pending{background:#fef3c7;color:#92400e}.runtime-tool-status-denied,.runtime-tool-status-cancelled,.runtime-tool-status-failed{background:#fee2e2;color:#991b1b}.message-metadata{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;font-size:.875rem;color:#6b7280}.message-metadata ul{margin:4px 0;padding-left:20px}.streaming-indicator{display:inline-block;width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 1.5s ease-in-out infinite;margin-left:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.runtime-approval-actions{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #dbe4f0}.runtime-approval-btn{padding:6px 14px;border:none;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.runtime-approval-btn:disabled{opacity:.5;cursor:not-allowed}.runtime-approval-btn-approve{background:#dcfce7;color:#166534}.runtime-approval-btn-approve:hover:not(:disabled){background:#bbf7d0}.runtime-approval-btn-deny{background:#fee2e2;color:#991b1b}.runtime-approval-btn-deny:hover:not(:disabled){background:#fecaca}.message-thinking{margin-bottom:8px;border:1px solid #e2e8f0;border-radius:8px;background:#f1f5f9;overflow:hidden}.message-thinking-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:none;background:transparent;cursor:pointer;font-size:12px;color:#64748b;text-align:left}.message-thinking-toggle:hover{background:#e2e8f0}.message-thinking-icon{font-size:10px}.message-thinking-label{font-weight:500;font-style:italic}.message-thinking-content{padding:8px 12px;border-top:1px solid #e2e8f0;font-size:12px;color:#475569;line-height:1.5;max-height:300px;overflow-y:auto}.message-thinking-content p{margin:0 0 6px}.message-thinking-content p:last-child{margin-bottom:0}.streaming-indicator.thinking-active{display:inline-block;margin-top:4px;color:#64748b}.inline-approval-actions{display:flex;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border, #e5e7eb)}.inline-approval-resolved{display:inline-block;margin-top:8px;font-size:13px;font-weight:500;color:var(--color-text-secondary, #6b7280)}.inline-approval-approved{color:var(--color-success-600, #16a34a)}.inline-approval-denied{color:var(--color-error-600, #dc2626)}.message-tool-calls{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.message-tool-calls-horizontal{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:6px}.message-tool-calls-horizontal .message-tool-call{min-width:120px;flex:0 1 auto}.message-timeline{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.message-timeline-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:6px}.message-timeline-row .message-tool-call{min-width:120px;flex:0 1 auto}.message-timeline-text{flex:1 1 100%;width:100%}.message-timeline-text p:first-child{margin-top:0}.message-timeline-text p:last-child{margin-bottom:0}.message-tool-thinking{border-color:#cbd5e1!important;background:#f1f5f9!important}.message-tool-thinking .message-tool-call-toggle{color:#475569!important}.message-tool-call{border:1px solid #c7d2fe;border-radius:8px;background:#eef2ff;overflow:hidden}.message-tool-call.status-ok{border-color:#c7d2fe;background:#eef2ff}.message-tool-call.status-failed{border-color:#fecaca;background:#fef2f2}.message-tool-call.status-pending{border-color:#fde68a;background:#fffbeb}.message-tool-call.message-tool-result.status-ok{background:#e0e7ff}.message-tool-call-kind{opacity:.55;font-weight:400;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.message-tool-call-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:none;background:transparent;cursor:pointer;font-size:12px;color:#4338ca;text-align:left}.message-tool-call.status-failed .message-tool-call-toggle{color:#b91c1c}.message-tool-call.status-pending .message-tool-call-toggle{color:#92400e}.message-tool-call-toggle:hover{background:#0000000a}.message-tool-call-icon{font-size:10px}.message-tool-call-label{display:flex;align-items:center;gap:6px;font-weight:500}.message-tool-call-status{display:inline-block;min-width:14px}.message-tool-call-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.message-tool-call-pending{font-style:italic;font-weight:400;opacity:.8}.message-tool-call-content{padding:8px 12px;border-top:1px solid rgba(0,0,0,.08);font-size:12px;color:#1e293b;max-height:360px;overflow-y:auto}.message-tool-call-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:4px 0 2px}.message-tool-call-section-label:first-child{margin-top:0}.message-tool-call-block{margin:0 0 6px;padding:6px 8px;background:#ffffffb3;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.message-branch-controls{display:inline-flex;align-items:center;gap:6px;margin-left:12px;opacity:0;transition:opacity .15s ease}.message:hover .message-branch-controls,.message-branch-controls:focus-within{opacity:1}.message-branch-arrows{display:inline-flex;align-items:center;gap:2px;opacity:1}.branch-arrow{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:1px solid #d1d5db;border-radius:4px;color:#4b5563;font-size:12px;line-height:1;cursor:pointer;transition:background .15s,color .15s}.branch-arrow:hover:not(:disabled){background:#f3f4f6;color:#111827}.branch-arrow:disabled{opacity:.35;cursor:not-allowed}.branch-counter{font-size:11px;color:#6b7280;font-variant-numeric:tabular-nums;padding:0 2px}.message-action-button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:1px solid transparent;border-radius:4px;color:#6b7280;font-size:13px;line-height:1;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.message-action-button:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;color:#111827}.message-action-button:disabled{opacity:.4;cursor:not-allowed}.message-edit-overlay{display:flex;flex-direction:column;gap:8px}.message-edit-textarea{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.9375rem;line-height:1.5;color:#111827;background:#fff;resize:vertical;min-height:60px}.message-edit-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.message-edit-actions{display:flex;justify-content:flex-end;gap:8px}.message-edit-cancel,.message-edit-save{padding:6px 12px;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.message-edit-cancel{background:#fff;border:1px solid #d1d5db;color:#374151}.message-edit-cancel:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.message-edit-save{background:#6366f1;border:1px solid #6366f1;color:#fff}.message-edit-save:hover:not(:disabled){background:#4f46e5;border-color:#4f46e5}.message-edit-cancel:disabled,.message-edit-save:disabled{opacity:.5;cursor:not-allowed}.citation-wrap{position:relative;display:inline}.citation-chip{display:inline-flex;align-items:center;justify-content:center;min-width:1.1em;padding:0 4px;margin:0 1px;font-size:.7em;line-height:1.4;font-weight:600;color:#4f46e5;background:#6366f11f;border:1px solid rgba(99,102,241,.35);border-radius:4px;cursor:pointer;vertical-align:super}.citation-chip:hover{background:#6366f138}.citation-web{color:#0d9488;background:#14b8a61f;border-color:#14b8a659}.citation-web:hover{background:#14b8a638}.citation-popover{position:absolute;z-index:50;top:1.6em;left:0;display:block;width:min(420px,70vw);max-height:320px;overflow:auto;padding:8px 10px;font-size:.8rem;line-height:1.4;color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 6px 24px #00000029;white-space:pre-wrap;word-break:break-word}.citation-popover-head{display:flex;align-items:center;gap:6px;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #eef0f2;font-size:.72rem;color:#6b7280}.citation-popover-head code{color:#4f46e5}.citation-popover-close{margin-left:auto;border:none;background:none;cursor:pointer;font-size:1rem;line-height:1;color:#9ca3af}.citation-popover-close:hover{color:#4b5563}.citation-popover-body{display:block}.citation-error{color:#dc2626}.citation-chip.citation-unverified{color:#b45309;background:#f59e0b26;border-color:#f59e0b80;border-style:dashed}.citation-chip.citation-unverified:hover{background:#f59e0b47}.citation-warn{margin-left:2px;font-size:.85em}.websearch-call{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.websearch-query-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe;font-size:.82rem;font-weight:500}.websearch-engine-chip,.websearch-cat-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:500;line-height:1.4}.websearch-engine-chip{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.websearch-engine-chip.sm{font-size:.66rem;padding:1px 6px}.websearch-cat-chip{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.websearch-results{display:flex;flex-direction:column;gap:8px}.websearch-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.websearch-count{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.websearch-empty{font-size:.85rem;color:#9ca3af;font-style:italic}.websearch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.websearch-item{padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#fcfcfd}.websearch-item-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.websearch-title{font-size:.9rem;font-weight:600;color:#1d4ed8;text-decoration:none}.websearch-title:hover{text-decoration:underline}.websearch-host{font-size:.72rem;color:#9ca3af}.websearch-snippet{margin-top:3px;font-size:.82rem;color:#4b5563;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.websearch-item-engines{margin-left:auto;display:inline-flex;flex-wrap:wrap;gap:4px;align-self:center}.crawl-call{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.crawl-url-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 9px;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;font-size:.8rem;font-weight:500;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crawl-url-chip:hover{background:#dbeafe}.crawl-mode-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#f3e8ff;color:#7e22ce;border:1px solid #e9d5ff;font-size:.72rem;font-weight:500}.crawl-mode-chip.sm{font-size:.66rem;padding:1px 6px}.crawl-results{display:flex;flex-direction:column;gap:10px}.crawl-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.crawl-count{font-size:.75rem;font-weight:600;color:#15803d;text-transform:uppercase;letter-spacing:.03em}.crawl-fail-count{font-size:.75rem;font-weight:600;color:#b91c1c;text-transform:uppercase;letter-spacing:.03em}.crawl-item{border:1px solid #e5e7eb;border-radius:8px;background:#fcfcfd;overflow:hidden}.crawl-item.failed{border-color:#fecaca;background:#fef2f2}.crawl-item-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 10px}.crawl-status-chip{font-size:.78rem;font-weight:700}.crawl-status-chip.ok{color:#16a34a}.crawl-status-chip.failed{color:#dc2626}.crawl-title{font-size:.9rem;font-weight:600;color:#1d4ed8;text-decoration:none}.crawl-title:hover{text-decoration:underline}.crawl-host{font-size:.72rem;color:#9ca3af}.crawl-code{font-size:.7rem;color:#9ca3af;font-family:ui-monospace,monospace}.crawl-error{padding:0 10px 8px;font-size:.8rem;color:#b91c1c}.crawl-content{max-height:320px;overflow-y:auto;padding:8px 12px;border-top:1px solid #eef2f7;font-size:.84rem;line-height:1.5;color:#374151}.crawl-content :first-child{margin-top:0}.crawl-content img{max-width:100%;height:auto}.crawl-content pre{background:#f3f4f6;padding:8px;border-radius:6px;overflow-x:auto}.crawl-content a{color:#1d4ed8}.crawl-truncated{margin-top:6px;font-size:.72rem;font-style:italic;color:#9ca3af}.crawl-content-toggle{margin-left:auto;background:none;border:1px solid #e5e7eb;border-radius:6px;padding:1px 8px;font-size:.72rem;color:#6b7280;cursor:pointer;white-space:nowrap}.crawl-content-toggle:hover{background:#f3f4f6;color:#374151}.dbsearch-call{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dbsearch-query-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe;font-size:.82rem;font-weight:500}.dbsearch-target-chip{display:inline-flex;padding:2px 8px;border-radius:999px;background:#ecfeff;color:#0e7490;border:1px solid #a5f3fc;font-size:.72rem;font-weight:600}.dbsearch-mode-chip{display:inline-flex;padding:2px 8px;border-radius:999px;background:#f3e8ff;color:#7e22ce;border:1px solid #e9d5ff;font-size:.72rem;font-weight:500}.dbsearch-tags-chip{display:inline-flex;padding:2px 8px;border-radius:999px;background:#fef9c3;color:#854d0e;border:1px solid #fde68a;font-size:.72rem;font-weight:600}.dbsearch-validation-chip{display:inline-flex;padding:2px 8px;border-radius:999px;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;font-size:.72rem;font-weight:600}.dbsearch-skipped{margin-top:4px;font-size:.75rem;color:#9ca3af}.dbsearch-skipped>summary{cursor:pointer;color:#6b7280;-webkit-user-select:none;user-select:none}.dbsearch-skipped-row{display:flex;gap:6px;align-items:baseline;padding:2px 0 2px 12px;opacity:.7}.dbsearch-skipped-preview{color:#9ca3af;text-decoration:line-through;text-decoration-color:#9ca3af80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dbsearch-topk{font-size:.72rem;color:#6b7280}.dbsearch-results{display:flex;flex-direction:column;gap:10px}.dbsearch-summary{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.dbsearch-collection{font-size:.72rem;color:#9ca3af;font-family:ui-monospace,monospace}.dbsearch-cache{font-size:.68rem;font-weight:600;color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;padding:1px 7px;border-radius:999px}.dbsearch-group{border:1px solid #e5e7eb;border-radius:8px;background:#fcfcfd;padding:8px 10px}.dbsearch-group-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px}.dbsearch-query{font-size:.85rem;font-weight:600;color:#312e81}.dbsearch-count{margin-left:auto;font-size:.7rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.dbsearch-error{margin-left:auto;font-size:.78rem;color:#b91c1c}.dbsearch-note{font-size:.78rem;color:#9ca3af;font-style:italic;margin-bottom:6px}.dbsearch-row{padding:6px 0;border-top:1px solid #f1f3f7}.dbsearch-row:first-of-type{border-top:none}.dbsearch-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dbsearch-score{font-size:.68rem;font-weight:700;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;padding:0 6px;border-radius:999px}.dbsearch-score-sparse{color:#b45309;background:#fffbeb;border-color:#fde68a}.dbsearch-id{font-size:.68rem;color:#6b7280;font-family:ui-monospace,monospace;background:#f3f4f6;border:1px solid #e5e7eb;padding:0 6px;border-radius:4px}.dbsearch-xref{font-size:.66rem;color:#92400e;background:#fffbeb;border:1px solid #fde68a;padding:0 6px;border-radius:999px}.dbsearch-text{margin-top:4px;font-size:.82rem;color:#374151;line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.dbsearch-text.expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.dbsearch-text-toggle{margin-top:2px;border:none;background:transparent;padding:0;font-size:.72rem;font-weight:600;color:#4f46e5;cursor:pointer}.dbsearch-text-toggle:hover{text-decoration:underline}.mermaid-diagram{margin:12px 0;border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden}.mermaid-toolbar{display:flex;justify-content:flex-end;min-height:0}.mermaid-toggle{border:none;background:transparent;color:#6b7280;font-size:.72rem;padding:4px 8px;cursor:pointer;border-bottom-left-radius:6px}.mermaid-toggle:hover{background:#6366f11a;color:#4f46e5}.mermaid-svg{display:flex;justify-content:center;padding:12px;overflow-x:auto}.mermaid-svg svg{max-width:100%;height:auto}.mermaid-source{margin:0;background:#f3f4f6;padding:12px;overflow-x:auto;font-size:.8125rem}[data-theme=dark] .mermaid-diagram{border-color:#374151;background:#1f2937}[data-theme=dark] .mermaid-source{background:#111827;color:#e5e7eb}.message-input{padding:16px;background:#fff;border-top:1px solid #e5e7eb}.media-preview{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.media-item{position:relative;display:flex;align-items:center;gap:8px;padding:8px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.media-item img{width:60px;height:60px;object-fit:cover;border-radius:6px}.media-info{display:flex;flex-direction:column;gap:2px;flex:1}.media-name{font-size:.875rem;color:#374151;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-status{font-size:.75rem;color:#6b7280}.media-error{font-size:.75rem;color:#ef4444}.media-uploading{opacity:.6}.media-remove{background:none;border:none;cursor:pointer;color:#6b7280;font-size:1.25rem;padding:4px;line-height:1;transition:color .2s}.media-remove:hover{color:#ef4444}.input-row{display:flex;align-items:flex-end;gap:12px}.upload-button-container{position:relative}.upload-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;transition:background .2s;font-size:1.25rem}.upload-button:hover{background:#e5e7eb}.upload-menu{position:absolute;bottom:calc(100% + 8px);left:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:180px;padding:4px;z-index:1000;animation:slideUp .15s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.upload-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:none;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;color:#374151;text-align:left;transition:background .15s}.upload-menu-item:hover{background:#f3f4f6}.upload-menu-item:active{background:#e5e7eb}.text-input{flex:1;padding:10px 14px;font-size:1rem;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s;font-family:system-ui,sans-serif;resize:none;overflow-y:auto;min-height:40px;max-height:200px;line-height:1.4}.text-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.text-input:disabled{background:#f9fafb;cursor:not-allowed}.message-input-options{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.message-input-toggle{display:flex;align-items:flex-start;gap:10px;color:#374151;font-size:.875rem}.message-input-toggle input{margin-top:2px}.message-input-toggle span{display:flex;flex-direction:column;gap:2px}.message-input-toggle small{color:#6b7280;line-height:1.4}.chat-transcript{flex:1;overflow-y:auto;padding:20px;background:#fafafa}.chat-transcript-empty{display:flex;align-items:center;justify-content:center}.empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;color:#6b7280}.empty-icon{font-size:4rem;opacity:.5}.empty-state p{font-size:1.125rem;margin:0}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.sandbox-mounts-panel{display:flex;flex-direction:column;gap:12px;font-size:13px}.sandbox-mounts-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary, #6b7280)}.sandbox-mounts-status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-neutral-400, #a1a1aa)}.sandbox-mounts-status.online:before{background:var(--color-success-500, #22c55e)}.sandbox-mounts-status.offline:before{background:var(--color-error-500, #ef4444)}.sandbox-mounts-empty{color:var(--color-text-tertiary, #9ca3af);font-style:italic;margin:0}.sandbox-mounts-list{display:flex;flex-direction:column;gap:8px}.sandbox-mount-card{border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:8px 10px;background:var(--color-surface, #ffffff);display:flex;flex-direction:column;gap:4px}.sandbox-mount-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.sandbox-mount-name{font-weight:600;font-family:var(--font-mono, monospace);color:var(--color-text, #111827)}.sandbox-mount-mode{font-size:11px;padding:1px 6px;border-radius:4px;background:var(--color-background-tertiary, #f3f4f6);color:var(--color-text-secondary, #6b7280);text-transform:uppercase}.sandbox-mount-mode.ro{background:var(--color-neutral-200, #e4e4e7);color:var(--color-neutral-600, #52525b)}.sandbox-mount-mode.rw{background:var(--color-primary-100, #dbeafe);color:var(--color-primary-700, #1d4ed8)}.sandbox-mount-paths{display:flex;flex-direction:column;gap:2px;font-family:var(--font-mono, monospace);font-size:11px;color:var(--color-text-secondary, #6b7280);word-break:break-all}.sandbox-mount-paths .arrow{color:var(--color-text-tertiary, #9ca3af)}.sandbox-mount-actions{display:flex;justify-content:flex-end;margin-top:4px}.sandbox-mount-form{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--color-border, #e5e7eb);padding-top:10px}.sandbox-mount-form-row{display:flex;gap:6px;align-items:center}.sandbox-mount-form-row label{font-size:11px;color:var(--color-text-secondary, #6b7280);min-width:56px}.sandbox-mount-form-row input,.sandbox-mount-form-row select{flex:1;background:var(--color-background-secondary, #f9fafb);border:1px solid var(--color-border-strong, #d1d5db);border-radius:6px;color:var(--color-text, #111827);padding:6px 10px;font-size:12px;font-family:var(--font-mono, monospace)}.sandbox-mount-form-row input::placeholder{color:var(--color-text-tertiary, #9ca3af)}.sandbox-mount-form-row input:focus,.sandbox-mount-form-row select:focus{outline:none;border-color:var(--color-primary-500, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.sandbox-mount-form-actions{display:flex;justify-content:flex-end;gap:6px}.sandbox-mount-pending-list{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--color-border, #e5e7eb);padding-top:8px}.sandbox-mount-pending-card{border:1px dashed var(--color-border-strong, #d1d5db);border-radius:6px;padding:6px 8px;display:flex;flex-direction:column;gap:4px}.sandbox-mount-pending-meta{font-size:11px;color:var(--color-text-secondary, #6b7280);font-family:var(--font-mono, monospace);word-break:break-all}.sandbox-mount-pending-actions{display:flex;gap:6px;justify-content:flex-end}.sandbox-mount-pending-status{font-size:10px;text-transform:uppercase;padding:1px 6px;border-radius:4px;background:var(--color-background-tertiary, #f3f4f6);color:var(--color-text-secondary, #6b7280);align-self:flex-start}.sandbox-mount-pending-status.pending{background:var(--color-warning-50, #fefce8);color:var(--color-warning-700, #a16207)}.sandbox-mount-pending-status.approved{background:var(--color-success-50, #f0fdf4);color:var(--color-success-700, #15803d)}.sandbox-mount-pending-status.denied{background:var(--color-error-50, #fef2f2);color:var(--color-error-700, #b91c1c)}.sandbox-mount-error{color:var(--color-error-600, #dc2626);font-size:12px;margin:0}.sandbox-mount-help{font-size:11px;color:var(--color-text-tertiary, #9ca3af);margin:0;line-height:1.4}.runtime-approval-panel{margin-bottom:16px;border:1px solid #dbe4f0}.runtime-approval-panel .panel-content{padding:18px 20px}.runtime-approval-section+.runtime-approval-section{margin-top:18px;padding-top:18px;border-top:1px solid #e5e7eb}.runtime-approval-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.runtime-approval-section-header h3{margin:0;font-size:.95rem;color:#111827}.runtime-approval-section-header span{font-size:.8rem;color:#6b7280}.runtime-approval-list{display:flex;flex-direction:column;gap:12px}.runtime-approval-card{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#f8fafc}.runtime-approval-card-pending{border-color:#f59e0b;background:#fffbeb}.runtime-approval-card-approved{border-color:#10b981;background:#ecfdf5}.runtime-approval-card-denied{border-color:#ef4444;background:#fef2f2}.runtime-approval-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.runtime-approval-card-header strong{display:block;color:#111827}.runtime-approval-card-header time{color:#6b7280;font-size:.75rem;white-space:nowrap}.runtime-approval-status{display:inline-block;margin-top:4px;font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.runtime-approval-reason{margin:10px 0 0;color:#374151;line-height:1.5}.runtime-approval-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.8rem;color:#6b7280}.runtime-approval-actions{margin-top:12px;display:flex;gap:8px}.runtime-approval-empty,.runtime-approval-error{margin:0;color:#6b7280;font-size:.9rem}.runtime-approval-error{color:#b91c1c}.runtime-event-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.runtime-event-item{border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;background:#fff}.runtime-event-summary{display:flex;gap:10px;color:#111827}.runtime-event-summary strong{color:#2563eb}.runtime-event-meta{margin-top:6px;display:flex;justify-content:space-between;gap:12px;color:#6b7280;font-size:.8rem}@media(max-width:720px){.runtime-approval-card-header,.runtime-event-meta{flex-direction:column;align-items:flex-start}}.chat-with-report{display:flex;flex:1;min-height:0;overflow:hidden}.chat-with-report-main{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}.research-report-panel{flex:0 0 380px;max-width:42%;display:flex;flex-direction:column;min-height:0;border-left:1px solid rgba(226,232,240,.9);background:#f8fafcfa}.research-report-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(226,232,240,.8)}.research-report-title{font-size:13px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:8px}.research-report-live{font-size:10px;font-weight:600;color:#16a34a;animation:research-report-pulse 1.6s ease-in-out infinite}@keyframes research-report-pulse{0%,to{opacity:1}50%{opacity:.35}}.research-report-collapse{border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:14px;line-height:1;padding:2px 6px;border-radius:6px}.research-report-collapse:hover{background:#e2e8f0cc;color:#475569}.research-report-stats{display:flex;flex-wrap:wrap;gap:4px;padding:6px 12px;font-size:11px;color:#64748b;border-bottom:1px solid rgba(226,232,240,.6)}.research-report-tabs{display:flex;gap:2px;padding:6px 8px 0}.research-report-tabs button{border:none;background:transparent;color:#64748b;cursor:pointer;font-size:12px;padding:6px 10px;border-radius:6px 6px 0 0;border-bottom:2px solid transparent}.research-report-tabs button:hover{color:#334155}.research-report-tabs button.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:600}.research-report-body{flex:1;min-height:0;overflow-y:auto;padding:12px 14px}.research-report-empty{font-size:12px;color:#94a3b8;font-style:italic;padding:8px 2px}.research-report-markdown{font-size:13px;line-height:1.5;color:#1e293b;word-wrap:break-word;overflow-wrap:anywhere}.research-report-markdown h1{font-size:16px;margin:12px 0 6px}.research-report-markdown h2{font-size:14px;margin:12px 0 6px}.research-report-markdown h3{font-size:13px;margin:10px 0 4px;font-weight:600}.research-report-markdown p{margin:6px 0}.research-report-markdown ul,.research-report-markdown ol{margin:6px 0;padding-left:20px}.research-report-markdown li{margin:3px 0}.research-report-markdown code{background:#e2e8f099;padding:1px 4px;border-radius:4px;font-size:12px}.research-report-markdown pre{background:#0f172a0a;padding:8px;border-radius:6px;overflow-x:auto}.research-report-markdown a{color:#2563eb}.research-report-markdown table{border-collapse:collapse;font-size:12px}.research-report-markdown th,.research-report-markdown td{border:1px solid rgba(203,213,225,.9);padding:4px 6px}.research-report-findings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.research-report-findings li{border:1px solid rgba(226,232,240,.9);border-radius:8px;padding:8px 10px;background:#fff}.research-finding-claim{font-size:12.5px;color:#1e293b;font-weight:500}.research-finding-evidence{font-size:11.5px;color:#475569;margin-top:4px;font-style:italic}.research-finding-cite{margin-top:4px}.research-finding-source{font-size:11px;color:#2563eb;text-decoration:none}a.research-finding-source:hover{text-decoration:underline}.research-report-sources{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.research-report-sources li{font-size:12px;border-bottom:1px solid rgba(226,232,240,.6);padding-bottom:6px}.research-source-head{display:flex;align-items:baseline;gap:6px}.research-source-links{list-style:none;margin:3px 0 0;padding:0 0 0 4px;display:flex;flex-direction:column;gap:2px}.research-source-links li{border:none;padding:0}.research-source-links a{font-size:11.5px;color:#2563eb;text-decoration:none;overflow-wrap:anywhere}.research-source-links a:hover{text-decoration:underline}.research-source-tag{flex:0 0 auto;font-size:10px;font-family:ui-monospace,monospace;color:#64748b;background:#e2e8f099;padding:1px 5px;border-radius:4px}.research-report-sources .research-finding-source{flex:1;min-width:0;overflow-wrap:anywhere}.research-source-kind{flex:0 0 auto;font-size:10px;color:#94a3b8}.research-report-reopen{flex:0 0 30px;border:none;border-left:1px solid rgba(226,232,240,.9);background:#f8fafcfa;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:14px;color:#475569}.research-report-reopen:hover{background:#f1f5f9}.research-report-reopen.expanded{display:none}.research-report-reopen-icon{font-size:14px}.research-report-reopen-label{writing-mode:vertical-rl;font-size:11px;font-weight:600;letter-spacing:.5px}@media(max-width:768px){.research-report-panel{position:fixed;top:0;right:0;bottom:0;flex:none;width:85vw;max-width:360px;z-index:1000;animation:research-report-slide-in .28s ease}.research-report-reopen.expanded{display:flex;right:min(85vw,360px)}}@keyframes research-report-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.token-usage{display:flex;flex-direction:column;gap:8px}.token-usage-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.token-usage-sub{font-weight:500;text-transform:none;letter-spacing:0;color:#9ca3af}.token-usage-empty{font-size:.8rem;color:#9ca3af}.token-usage-bar-track{position:relative;height:18px;border-radius:9px;background:#eef2f7;overflow:hidden}.token-usage-bar-fill{height:100%;background:#4f46e5;transition:width .3s ease}.token-usage-bar-fill[data-level=mid]{background:#d97706}.token-usage-bar-fill[data-level=high]{background:#dc2626}.token-usage-bar-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:#1f2937}.token-usage-rows{display:flex;flex-direction:column;gap:2px}.token-usage-row{display:flex;justify-content:space-between;font-size:.8rem;color:#4b5563}.token-usage-row b{color:#111827;font-variant-numeric:tabular-nums}.token-usage-row-total{margin-top:2px;padding-top:4px;border-top:1px solid #e5e7eb}[data-theme=dark] .token-usage-bar-track{background:#1f2937}[data-theme=dark] .token-usage-bar-label{color:#f3f4f6}[data-theme=dark] .token-usage-row{color:#9ca3af}[data-theme=dark] .token-usage-row b{color:#f3f4f6}[data-theme=dark] .token-usage-row-total{border-top-color:#374151}.files-shell{height:100%;display:flex;flex-direction:column;overflow:hidden}.files-toolbar{padding:14px 16px 10px;border-bottom:1px solid rgba(226,232,240,.9);background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.files-toolbar-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.files-title{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.files-actions{display:flex;align-items:center;gap:8px}.files-btn{border:1px solid rgba(148,163,184,.35);background:#f8fafce6;color:#0f172a;border-radius:12px;padding:10px 12px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .05s ease}.files-btn:hover{background:#3b82f61a}.files-btn:active{transform:translateY(1px)}.files-btn.primary{background:linear-gradient(135deg,#2563eb26,#818cf81f);border-color:#2563eb59;color:#1e40af}.files-search{margin-top:10px;display:flex;gap:10px;align-items:center}.files-search input{flex:1;border:1px solid rgba(148,163,184,.35);background:#f8fafce6;border-radius:14px;padding:10px 12px;font-size:.95rem;outline:none}.files-search input:focus{border-color:#2563eb80;box-shadow:0 0 0 3px #2563eb1f}.files-filters{margin-top:10px;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.files-chip{border:1px solid rgba(148,163,184,.3);background:#f8fafce6;color:#334155;border-radius:999px;padding:8px 10px;font-size:.85rem;white-space:nowrap;cursor:pointer}.files-chip.active{background:#2563eb1f;border-color:#2563eb59;color:#1e40af;font-weight:700}.files-body{flex:1;overflow:auto;padding:14px 16px 80px;background:radial-gradient(1200px 700px at 20% 0%,rgba(37,99,235,.06),transparent 55%),radial-gradient(900px 600px at 90% 20%,rgba(129,140,248,.07),transparent 55%),#fff}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.file-card{border:1px solid rgba(226,232,240,.9);background:#ffffffd9;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.file-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0f172a1a;border-color:#94a3b88c}.file-thumb{position:relative;width:100%;aspect-ratio:1 / 1;background:#f1f5f9d9;display:flex;align-items:center;justify-content:center}.file-thumb img{width:100%;height:100%;object-fit:cover;display:block}.file-badge{position:absolute;top:10px;left:10px;font-size:.72rem;padding:4px 8px;border-radius:999px;background:#0f172ab3;color:#fffffff2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.file-star{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#ffffffd9;display:grid;place-items:center;font-size:.9rem;cursor:pointer}.file-meta{padding:10px 10px 12px;display:flex;flex-direction:column;gap:6px}.file-name{font-size:.9rem;font-weight:650;color:#0f172a;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.file-sub{font-size:.78rem;color:#64748b;display:flex;justify-content:space-between;gap:8px}.files-empty{color:#64748b;font-size:.95rem;text-align:center;padding:40px 10px}.file-modal-overlay{position:fixed;inset:0;background:#0206178c;z-index:2000;display:flex;align-items:flex-end;justify-content:center}.file-modal{width:min(860px,100%);max-height:92vh;background:#fffffffa;border-radius:22px 22px 0 0;border:1px solid rgba(226,232,240,.9);overflow:hidden;display:flex;flex-direction:column}.file-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid rgba(226,232,240,.9)}.file-modal-title{min-width:0;display:flex;flex-direction:column}.file-modal-title strong{font-size:.98rem;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-modal-title span{font-size:.8rem;color:#64748b}.file-modal-actions{display:flex;gap:8px;align-items:center}.file-modal-body{flex:1;overflow:auto;padding:14px}.file-view{border:1px solid rgba(226,232,240,.9);border-radius:16px;overflow:hidden;background:#f8fafce6}.file-view img,.file-view video{width:100%;height:auto;display:block}.file-view audio{width:100%}.file-view pre{margin:0;padding:14px;font-size:.85rem;line-height:1.4;overflow:auto}.file-modal-footer{padding:12px 14px 16px;border-top:1px solid rgba(226,232,240,.9);display:flex;gap:8px;flex-wrap:wrap}.files-fab{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:18px;border:1px solid rgba(37,99,235,.35);background:linear-gradient(135deg,#2563eb2e,#818cf829);color:#1e40af;font-size:22px;font-weight:800;cursor:pointer;box-shadow:0 16px 30px #0f172a29}.search-agent-results{display:flex;flex-direction:column;gap:8px;width:100%;margin:4px 0}.search-optimization-bubble{background:#e8f5e8;padding:6px 10px;border-radius:6px;text-align:left;margin:2px auto 2px 0;max-width:70%;box-shadow:0 1px 2px #0000001a;border-left:3px solid #4caf50;font-size:.95em}.search-optimization-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.search-optimization-title{display:flex;align-items:center;gap:8px;flex:1}.search-icon{color:#4caf50;font-size:1.2em}.search-label{font-weight:600;color:#2e7d32}.search-expand-button{background:none;border:none;color:#2e7d32;cursor:pointer;font-size:.9em;padding:4px 8px;border-radius:50%;transition:background-color .2s}.search-expand-button:hover{background-color:#2e7d321a}.search-optimization-content{margin-top:8px;display:flex;flex-direction:column;gap:4px}.search-original-query{color:#555;margin:2px 0;font-style:italic;font-size:.95em}.search-optimized-queries{margin:6px 0 2px}.search-queries-list{margin:4px 0;padding-left:24px}.search-queries-list li{color:#2e7d32;margin:1px 0;font-size:.95em}.search-meta-item{color:#666;font-size:.8em;margin:2px 0}.search-meta-label{font-weight:500;color:#333}.search-error{color:#d32f2f;font-size:.8em;margin:2px 0}.search-results-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;width:100%;box-sizing:border-box}.search-results-row--collapsed{position:relative;overflow:hidden}.search-results-row--collapsed:after{content:"";position:absolute;pointer-events:none;left:0;right:0;bottom:0;height:28px;background:linear-gradient(to bottom,#fff0,#f0f7fff2)}.search-result-bubble{background:#f0f7ff;padding:6px 10px;border-radius:6px;text-align:left;min-width:150px;max-width:250px;flex:0 1 auto;box-shadow:0 1px 2px #0000001a;border-left:3px solid #1976d2;font-size:.9em;cursor:pointer;word-wrap:break-word;overflow-wrap:break-word;transition:transform .2s,box-shadow .2s}.search-result-bubble--success{background:#e6f9ed;border-left-color:#2e7d32}.search-result-bubble--success .search-result-icon,.search-result-bubble--success .search-result-text{color:#2e7d32}.search-result-bubble--failed{background:#fdecea;border-left-color:#c62828}.search-result-bubble--failed .search-result-icon,.search-result-bubble--failed .search-result-text{color:#c62828}.search-result-bubble:hover{transform:translateY(-2px);box-shadow:0 2px 4px #00000026}.search-result-content{display:flex;align-items:center;gap:6px;margin-bottom:4px}.search-result-icon{color:#1976d2;font-size:1em;flex-shrink:0}.search-result-text{color:#1976d2;flex:1;font-size:.85em;line-height:1.2;overflow:hidden}.result-engines{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.engine-badge{display:inline-block;background:#1976d226;color:#1565c0;font-size:.7em;padding:1px 5px;border-radius:3px;font-weight:500;border:1px solid rgba(25,118,210,.25)}.search-result-bubble--success .engine-badge{background:#4caf5026;color:#2e7d32;border-color:#4caf5040}.search-result-bubble--failed .engine-badge{background:#f4433626;color:#c62828;border-color:#f4433640}.search-result-status{margin:8px 0;font-weight:600;font-size:.9em}.search-result-status.success{color:#2e7d32}.search-result-status.failed{color:#c62828}.search-result-status.pending{color:#888}.search-result-error{margin-top:8px;color:#c62828;font-size:.85em;word-break:break-word}.search-show-more-container{display:flex;justify-content:center;margin:8px 0;width:100%}.search-show-more-button{background:#f0f7ff;border:1px solid #1976d2;color:#1976d2;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.85em;font-weight:500;transition:background-color .2s,transform .1s}.search-show-more-button:hover{background:#e3f2fd;transform:translateY(-1px)}.search-show-more-button:active{transform:translateY(0)}.search-results-summary{background:#f5f5f5;padding:4px 8px;border-radius:4px;text-align:center;margin:4px auto 4px 0;max-width:60%;font-size:.8em;color:#666}.search-result-popup-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.search-result-popup{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000026;width:95vw;max-width:1200px;max-height:90vh;overflow-y:auto}.search-result-popup-content{padding:24px}.search-result-url{font-size:1.1em;color:#1976d2;word-break:break-all;margin-bottom:8px;text-decoration:underline;display:block}.search-result-title{font-size:1em;color:#888;margin-bottom:12px}.search-result-popup-text{margin:16px 0}.search-result-markdown{font-size:1em;background:#f5f5f5;border-radius:4px;padding:12px;margin-top:4px;max-width:100%;overflow-x:auto;max-height:60vh;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word}.search-result-engines{color:#666;font-size:.8em;margin-top:8px;font-style:italic}.search-result-close{margin-top:18px;padding:8px 16px;background-color:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1em;transition:background-color .2s}.search-result-close:hover{background-color:#1565c0}@media(max-width:768px){.search-optimization-bubble{max-width:90%}.search-result-bubble{min-width:120px;max-width:200px}.search-results-summary{max-width:80%}}.transcribe-panel{display:flex;flex-direction:column;height:100%;padding:24px;overflow:hidden;gap:20px}.transcribe-header h2{margin:0 0 4px;font-size:1.5rem;font-weight:600}.transcribe-subtitle{margin:0;color:#64748b;font-size:.875rem}.transcribe-controls{display:flex;align-items:center;gap:16px}.transcribe-actions{display:flex;align-items:center;gap:12px}.transcribe-or{color:#94a3b8;font-size:.875rem}.transcribe-window-picker{display:flex;align-items:center;gap:8px;color:#475569;font-size:.875rem}.transcribe-window-picker select{border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e293b;padding:8px 10px;font-size:.875rem}.transcribe-btn{padding:10px 20px;border-radius:10px;border:1px solid transparent;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.record-btn{background:#ef4444;color:#fff}.record-btn:hover{background:#dc2626}.rolling-btn{background:#0f766e;color:#fff}.rolling-btn:hover{background:#0d5f58}.record-dot{width:10px;height:10px;border-radius:50%;background:#fff;display:inline-block}.stop-btn{background:#475569;color:#fff}.stop-btn:hover{background:#334155}.upload-btn{background:#f1f5f9;color:#334155;border-color:#e2e8f0}.upload-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.transcribe-go-btn{background:#3b82f6;color:#fff}.transcribe-go-btn:hover:not(:disabled){background:#2563eb}.transcribe-go-btn:disabled{opacity:.6;cursor:not-allowed}.reset-btn{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.reset-btn:hover:not(:disabled){background:#e2e8f0}.reset-btn:disabled{opacity:.5;cursor:not-allowed}.transcribe-recording{display:flex;align-items:center;gap:16px}.recording-indicator{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.recording-pulse{width:12px;height:12px;border-radius:50%;background:#ef4444;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.recording-time{font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums;color:#dc2626}.transcribe-live-note{color:#475569;font-size:.875rem}.transcribe-ready{display:flex;flex-direction:column;gap:12px;width:100%;max-width:600px}.transcribe-audio{width:100%;height:40px;border-radius:8px}.transcribe-ready-actions{display:flex;gap:8px}.transcribe-error{padding:10px 14px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;font-size:.875rem}.transcribe-compare-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;overflow:hidden}.transcribe-results{flex:1;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:16px}.transcribe-results h3{margin:0 0 12px;font-size:1.1rem;font-weight:600}.transcribe-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.transcribe-section-legend{display:flex;flex-wrap:wrap;gap:8px}.transcribe-run-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;flex-shrink:0}.transcribe-run-tab{border:1px solid #cbd5e1;background:#f8fafc;color:#475569;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease}.transcribe-run-tab:hover{background:#eef2ff;border-color:#93c5fd;color:#1d4ed8}.transcribe-run-tab-active{background:#dbeafe;border-color:#60a5fa;color:#1d4ed8}.transcribe-legend-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border:1px solid transparent}.transcribe-legend-committed{background:#dcfce7;color:#166534;border-color:#86efac}.transcribe-legend-vibevoice{background:#fef3c7;color:#92400e;border-color:#fcd34d}.transcribe-legend-qwen{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.transcribe-section-caption{color:#64748b;font-size:.8rem}.transcribe-section-divider{height:2px;margin:4px 0 18px;background:linear-gradient(90deg,transparent,#94a3b8,transparent)}.transcribe-rolling-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;color:#64748b;font-size:.8rem;flex-shrink:0}.transcribe-results-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.transcribe-results-scroll-offline,.transcribe-window-block{display:flex;flex-direction:column}.transcribe-window-spacer{height:1px;margin:18px 0 14px;background:linear-gradient(90deg,transparent,#cbd5e1,transparent)}.transcribe-rolling-text{font-size:.95rem;line-height:1.6;color:#1e293b}.transcribe-segments{display:flex;flex-direction:column;gap:2px}.transcribe-segment{display:flex;flex-direction:column;border-left:3px solid transparent;padding-left:10px}.transcribe-segment-committed{border-left-color:#16a34a}.transcribe-segment-vibevoice{border-left-color:#d97706}.transcribe-segment-qwen{border-left-color:#2563eb}.segment-speaker{font-weight:600;font-size:.8rem;color:#3b82f6;text-transform:uppercase;letter-spacing:.03em;margin-top:12px;margin-bottom:4px;padding-bottom:2px;border-bottom:1px solid #e2e8f0}.segment-row{display:flex;gap:12px;padding:4px 0;line-height:1.5}.segment-time{flex-shrink:0;font-size:.75rem;color:#94a3b8;font-variant-numeric:tabular-nums;padding-top:2px;min-width:100px}.segment-source-badge{flex-shrink:0;align-self:flex-start;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border:1px solid transparent;margin-top:1px}.transcribe-segment-committed .segment-source-badge{background:#dcfce7;color:#166534;border-color:#86efac}.transcribe-segment-vibevoice .segment-source-badge{background:#fef3c7;color:#92400e;border-color:#fcd34d}.transcribe-segment-qwen .segment-source-badge{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.segment-content{font-size:.9rem;color:#1e293b}.transcribe-markdown-shell{display:flex;flex-direction:column;margin:0;padding:0;min-height:0}.transcribe-markdown-content-shell{min-width:0}.transcribe-validation-card{margin-bottom:16px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}.transcribe-validation-title{font-size:.85rem;font-weight:700;color:#0f172a;margin-bottom:8px}.transcribe-validation-meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:.8rem;color:#475569}.transcribe-validation-error{margin-top:8px;font-size:.8rem;color:#b91c1c}.transcribe-validation-segment-scores{margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0}.transcribe-validation-segment-title{display:block;margin-bottom:8px;font-size:.75rem;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.03em}.transcribe-validation-segment-row{display:grid;grid-template-columns:120px 170px minmax(0,1fr);gap:10px;align-items:start;padding:6px 0}.transcribe-validation-segment-time{color:#64748b;font-size:.72rem;font-variant-numeric:tabular-nums}.transcribe-validation-segment-score{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem;font-weight:700;color:#475569}.transcribe-validation-segment-score-group{display:grid;grid-template-columns:repeat(3,auto auto);gap:2px 6px;align-items:baseline}.transcribe-validation-segment-score-label{font-size:.68rem;font-weight:700;color:#94a3b8;text-transform:uppercase}.transcribe-validation-segment-text{font-size:.78rem;line-height:1.45;color:#475569;white-space:pre-wrap;word-break:break-word}.transcribe-validation-segment-note{margin-top:8px;font-size:.75rem;color:#64748b}.transcribe-markdown{font-size:inherit}.transcribe-markdown ul,.transcribe-markdown ol{list-style:none;padding-left:0;margin-left:0}.transcribe-markdown li{margin-left:0;padding-left:0}.transcribe-markdown li::marker{content:""}.transcribe-markdown p,.transcribe-markdown li{line-height:1.55}.transcribe-loading{display:flex;align-items:center;gap:12px;color:#64748b;font-size:.875rem}.transcribe-spinner{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}[data-theme=dark] .transcribe-subtitle{color:#94a3b8}[data-theme=dark] .upload-btn{background:#1e293b;color:#e2e8f0;border-color:#334155}[data-theme=dark] .upload-btn:hover{background:#334155}[data-theme=dark] .transcribe-window-picker{color:#94a3b8}[data-theme=dark] .transcribe-window-picker select{background:#0f172a;color:#e2e8f0;border-color:#334155}[data-theme=dark] .rolling-btn{background:#115e59}[data-theme=dark] .rolling-btn:hover{background:#134e4a}[data-theme=dark] .reset-btn{background:#1e293b;color:#94a3b8;border-color:#334155}[data-theme=dark] .reset-btn:hover:not(:disabled){background:#334155}[data-theme=dark] .recording-indicator{background:#450a0a;border-color:#7f1d1d}[data-theme=dark] .transcribe-live-note{color:#94a3b8}[data-theme=dark] .transcribe-error{background:#450a0a;color:#fca5a5;border-color:#7f1d1d}[data-theme=dark] .transcribe-rolling-meta{color:#94a3b8}[data-theme=dark] .transcribe-results{background:#020617;border-color:#1e293b}[data-theme=dark] .transcribe-window-spacer{background:linear-gradient(90deg,transparent,#334155,transparent)}[data-theme=dark] .transcribe-section-caption{color:#94a3b8}[data-theme=dark] .transcribe-section-divider{background:linear-gradient(90deg,transparent,#475569,transparent)}[data-theme=dark] .transcribe-run-tab{background:#0f172a;color:#cbd5e1;border-color:#334155}[data-theme=dark] .transcribe-run-tab:hover{background:#172554;color:#93c5fd;border-color:#1d4ed8}[data-theme=dark] .transcribe-run-tab-active{background:#172554;color:#93c5fd;border-color:#60a5fa}[data-theme=dark] .transcribe-legend-committed{background:#052e16;color:#86efac;border-color:#166534}[data-theme=dark] .transcribe-legend-vibevoice{background:#451a03;color:#fcd34d;border-color:#92400e}[data-theme=dark] .transcribe-legend-qwen{background:#172554;color:#93c5fd;border-color:#1d4ed8}[data-theme=dark] .segment-speaker{color:#60a5fa;border-bottom-color:#334155}[data-theme=dark] .segment-time{color:#64748b}[data-theme=dark] .transcribe-segment-committed{border-left-color:#22c55e}[data-theme=dark] .transcribe-segment-vibevoice{border-left-color:#f59e0b}[data-theme=dark] .transcribe-segment-qwen{border-left-color:#60a5fa}[data-theme=dark] .transcribe-segment-committed .segment-source-badge{background:#052e16;color:#86efac;border-color:#166534}[data-theme=dark] .transcribe-segment-vibevoice .segment-source-badge{background:#451a03;color:#fcd34d;border-color:#92400e}[data-theme=dark] .transcribe-segment-qwen .segment-source-badge{background:#172554;color:#93c5fd;border-color:#1d4ed8}[data-theme=dark] .segment-content,[data-theme=dark] .transcribe-rolling-text{color:#e2e8f0}[data-theme=dark] .transcribe-validation-card{background:#0f172a;border-color:#334155}[data-theme=dark] .transcribe-validation-title{color:#e2e8f0}[data-theme=dark] .transcribe-validation-meta{color:#94a3b8}[data-theme=dark] .transcribe-validation-segment-scores{border-top-color:#334155}[data-theme=dark] .transcribe-validation-segment-title{color:#cbd5e1}[data-theme=dark] .transcribe-validation-segment-time{color:#94a3b8}[data-theme=dark] .transcribe-validation-segment-score{color:#cbd5e1}[data-theme=dark] .transcribe-validation-segment-score-label{color:#64748b}[data-theme=dark] .transcribe-validation-segment-text,[data-theme=dark] .transcribe-validation-segment-note{color:#94a3b8}[data-theme=dark] .transcribe-validation-error{color:#fca5a5}@media(max-width:1024px){.transcribe-compare-grid{grid-template-columns:minmax(0,1fr)}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(180deg,#f8fafc,#e2e8f0);padding:20px}.auth-card{background:#fffffffa;border-radius:16px;padding:40px;width:100%;max-width:440px;box-shadow:0 8px 32px #0f172a1f;border:1px solid rgba(226,232,240,.8)}.auth-title{margin:0 0 8px;font-size:2rem;font-weight:700;color:#0f172a;text-align:center}.auth-subtitle{margin:0 0 32px;font-size:1rem;color:#64748b;text-align:center}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:12px 16px;margin-bottom:24px;color:#dc2626;font-size:.9rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-field{display:flex;flex-direction:column;gap:8px}.auth-field label{font-size:.9rem;font-weight:600;color:#475569}.auth-field input{width:100%;padding:12px 16px;border:1px solid rgba(203,213,225,.9);border-radius:12px;font-size:1rem;color:#1f2937;background:#fff;box-sizing:border-box;transition:all .2s ease}.auth-field input:focus{outline:none;border-color:#3b82f699;box-shadow:0 0 0 3px #3b82f61a}.auth-field input:disabled{background:#f8fafc80;cursor:not-allowed;opacity:.6}.auth-submit{width:100%;padding:14px;margin-top:8px;border:none;border-radius:12px;background:linear-gradient(135deg,#38bdf8,#6366f1);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #6366f14d}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #6366f166}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 4px 12px #6366f133}.auth-footer{margin-top:24px;text-align:center;font-size:.9rem;color:#64748b;display:flex;align-items:center;justify-content:center;gap:6px}.auth-link{color:#2563eb;text-decoration:none;font-weight:600;transition:color .2s ease}.auth-link:hover{color:#1d4ed8;text-decoration:underline}@media(max-width:500px){.auth-card{padding:32px 24px}.auth-title{font-size:1.75rem}.auth-subtitle{font-size:.95rem;margin-bottom:24px}}:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-neutral-50: #fafafa;--color-neutral-100: #f4f4f5;--color-neutral-200: #e4e4e7;--color-neutral-300: #d4d4d8;--color-neutral-400: #a1a1aa;--color-neutral-500: #71717a;--color-neutral-600: #52525b;--color-neutral-700: #3f3f46;--color-neutral-800: #27272a;--color-neutral-900: #18181b;--color-success-50: #f0fdf4;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-error-50: #fef2f2;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-warning-50: #fefce8;--color-warning-500: #eab308;--color-warning-600: #ca8a04;--color-warning-700: #a16207;--color-info-50: #eff6ff;--color-info-500: #3b82f6;--color-info-600: #2563eb;--color-background: #ffffff;--color-background-secondary: #f9fafb;--color-background-tertiary: #f3f4f6;--color-surface: #ffffff;--color-surface-hover: #f9fafb;--color-border: #e5e7eb;--color-border-strong: #d1d5db;--color-text: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-inverse: #ffffff;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-overlay: 1200;--z-modal: 1300;--z-popover: 1400;--z-tooltip: 1500;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px}[data-theme=dark]{--color-background: #0f172a;--color-background-secondary: #1e293b;--color-background-tertiary: #334155;--color-surface: #1e293b;--color-surface-hover: #334155;--color-border: #334155;--color-border-strong: #475569;--color-text: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-inverse: #0f172a;--color-primary-500: #60a5fa;--color-primary-600: #3b82f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{line-height:var(--line-height-normal);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-background)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}button{cursor:pointer;background:none;border:none;padding:0}a{color:inherit;text-decoration:inherit}ul,ol{list-style:none}#root{isolation:isolate}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.m-0{margin:0}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-center{text-align:center}.text-primary{color:var(--color-primary-600)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-error{color:var(--color-error-600)}.text-success{color:var(--color-success-600)}.border{border:1px solid var(--color-border)}.border-t{border-top:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.bg-white{background-color:var(--color-background)}.bg-secondary{background-color:var(--color-background-secondary)}.bg-surface{background-color:var(--color-surface)}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer{cursor:pointer}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}@media(max-width:768px){.md\:hidden{display:none}}@media(min-width:768px){.md\:flex{display:flex}.md\:block{display:block}}html,body,#root{height:100%;width:100%}#root{display:flex;flex-direction:column}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-background-secondary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}*{scrollbar-width:thin;scrollbar-color:var(--color-neutral-400) var(--color-background-secondary)}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}::selection{background-color:var(--color-primary-200);color:var(--color-text)}[data-theme=dark] ::selection{background-color:var(--color-primary-700);color:var(--color-text-inverse)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn var(--transition-base)}.slide-up{animation:slideUp var(--transition-base)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary-600);border-radius:50%;animation:spin .6s linear infinite}.spinner-large{width:40px;height:40px;border-width:3px}.markdown-content{line-height:var(--line-height-relaxed);color:var(--color-text)}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin-top:var(--space-6);margin-bottom:var(--space-3);font-weight:var(--font-weight-semibold);color:var(--color-text)}.markdown-content h1{font-size:var(--font-size-2xl)}.markdown-content h2{font-size:var(--font-size-xl)}.markdown-content h3{font-size:var(--font-size-lg)}.markdown-content p{margin-bottom:var(--space-4)}.markdown-content code{padding:2px 6px;background:var(--color-background-tertiary);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em}.markdown-content pre{padding:var(--space-4);margin:var(--space-4) 0;background:var(--color-background-tertiary);border-radius:var(--radius-md);overflow-x:auto}.markdown-content pre code{padding:0;background:none}.markdown-content ul,.markdown-content ol{margin-left:var(--space-6);margin-bottom:var(--space-4);list-style:revert}.markdown-content li{margin-bottom:var(--space-2)}.markdown-content a{color:var(--color-primary-600);text-decoration:underline}.markdown-content a:hover{color:var(--color-primary-700)}.markdown-content blockquote{margin:var(--space-4) 0;padding-left:var(--space-4);border-left:3px solid var(--color-border-strong);color:var(--color-text-secondary);font-style:italic}.markdown-content table{width:100%;border-collapse:collapse;margin:var(--space-4) 0}.markdown-content th,.markdown-content td{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);text-align:left}.markdown-content th{background:var(--color-background-secondary);font-weight:var(--font-weight-semibold)}@media(max-width:768px){:root{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;color:#1f2933;background-color:#fff}a{font-weight:500;color:#2563eb;text-decoration:none}a:hover{color:#1d4ed8}body{margin:0;padding:0;min-width:320px;min-height:100vh;min-height:100dvh;display:flex;background:#fff;overflow:hidden;position:fixed;width:100%;height:100vh;height:100dvh}#root{width:100%;height:100%}.app-shell{flex:1;display:flex;width:100%;height:100%;box-sizing:border-box;overflow:hidden}.splash,.error{margin:auto;font-size:1.2rem;color:#475569}.error{color:#dc2626}.header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:12px 16px;background:#fffffffa;border-bottom:1px solid rgba(226,232,240,.8);box-shadow:0 2px 8px #94a3b81a}.header-left{display:flex;align-items:center;gap:12px;min-width:0}.header-center{display:flex;justify-content:center;min-width:0;overflow:hidden}.header-right{display:flex;justify-content:flex-end}.menu-button{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:8px;color:#475569;border-radius:8px;transition:background .2s}.menu-button:hover{background:#3b82f61a}.header h1{margin:0;font-size:1.5rem;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{margin:4px 0 0;font-size:.85rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layout{flex:1;display:flex;overflow:hidden;position:relative;min-height:0;width:100%;height:100%}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:998}.sidebar-overlay.active{display:block}.sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:#fffffffa;border-right:1px solid rgba(226,232,240,.8);overflow:hidden;transition:transform .3s ease;z-index:999}.sidebar-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:16px}.nav-tabs{display:flex;flex-direction:column;gap:8px;padding-bottom:16px;border-bottom:1px solid rgba(226,232,240,.9)}.nav-tabs button{width:100%;padding:12px 16px;border-radius:12px;border:1px solid transparent;background:#f8fafce6;color:#475569;text-align:left;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-tabs button:hover{border-color:#3b82f659;background:#3b82f61f}.nav-tabs button.active{border-color:#2563eb8c;background:linear-gradient(135deg,#3b82f62e,#818cf824);color:#1e40af;font-weight:600}.chat-list{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.chat-list h2{margin:0 0 8px;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:600}.chat-list-scroll{flex:1;overflow-y:auto;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.chat-list button{width:100%;padding:12px 14px;border-radius:12px;border:1px solid transparent;background:#f8fafce6;color:inherit;text-align:left;display:flex;flex-direction:column;gap:4px;transition:all .2s ease;cursor:pointer;font-size:.9rem}.chat-list button:hover{border-color:#3b82f659;background:#3b82f61f}.chat-list button.active{border-color:#2563eb8c;background:linear-gradient(135deg,#3b82f62e,#818cf824);color:#1e40af;font-weight:500}.chat-list small{font-size:.75rem;color:#94a3b8}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fffffffa;border-left:1px solid rgba(226,232,240,.8);min-width:0;width:100%;position:relative}.chat-transcript{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:100px 20px 20px;min-height:0;width:100%;box-sizing:border-box}.message{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:14px;max-width:75%;box-shadow:0 1px 4px #0f172a1f;border:1px solid rgba(148,163,184,.16)}.message-user{align-self:flex-end;background:#f5f5f5;border-left:4px solid #607d8b;color:#1f2937}.message-assistant{align-self:stretch;background:#e3f2fd;border-right:4px solid #1976d2;color:#1f2937;max-width:100%}.message-router{align-self:center;background:#f5f5f5;border-left:4px solid #888;max-width:360px;font-size:.92rem;color:#374151}.message-search{align-self:stretch;max-width:100%;background:transparent;border:none;box-shadow:none;padding:0}.message-metadata{display:flex;gap:12px;font-size:.78rem;color:#6b7280;text-transform:uppercase;letter-spacing:.08em}.message-role{font-weight:600;color:#4b5563}.message-content{line-height:1.55;font-size:.98rem;color:#1f2937}.message-content .markdown-content{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.35;word-break:break-word}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content pre,.markdown-content blockquote{margin:.2em 0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin:.6em 0 .25em;font-weight:600;line-height:1.2}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child,.markdown-content h4:first-child,.markdown-content h5:first-child,.markdown-content h6:first-child{margin-top:0}.markdown-content h1:last-child,.markdown-content h2:last-child,.markdown-content h3:last-child,.markdown-content h4:last-child,.markdown-content h5:last-child,.markdown-content h6:last-child{margin-bottom:0}.markdown-content ul,.markdown-content ol{padding-left:1.6em}.markdown-content li{margin:.25em 0;line-height:1.45}.markdown-content code{background:#f3f4f6;color:#db2777;padding:.1em .3em;border-radius:4px;font-family:Source Code Pro,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em}.markdown-content pre{background:#f3f4f6;border:1px solid #e2e8f0;padding:.85em;border-radius:8px;overflow-x:auto;font-size:.9em}.markdown-content pre code{background:transparent;color:inherit;padding:0;font-size:.9em}.markdown-content blockquote{border-left:4px solid #64748b;background:#f1f5f9;padding:.6em 1em;border-radius:0 6px 6px 0;color:#475569;font-style:italic}.markdown-content>*:first-child{margin-top:0!important}.markdown-content>*:last-child{margin-bottom:0!important}.media-preview{display:flex;flex-direction:column;gap:8px;margin-top:8px}.media-preview-image{border:none;background:transparent;padding:0;cursor:pointer;align-self:flex-start;border-radius:10px;overflow:hidden;transition:transform .15s ease}.media-preview-image:hover{transform:scale(1.01)}.media-preview-image img{max-width:220px;border-radius:10px;display:block}.media-preview-video{display:flex;flex-direction:column;gap:4px}.media-preview-video video{max-width:240px;border-radius:10px;background:#000}.media-preview-audio{display:flex;align-items:center;gap:6px}.media-preview-audio audio{width:220px}.media-caption{font-size:.75rem;color:#64748b}.markdown-content table{width:100%;border-collapse:collapse;margin:.5em 0}.markdown-content th,.markdown-content td{border:1px solid #e2e8f0;padding:.5em .75em;text-align:left}.markdown-content th{background:#f8fafc;font-weight:600}.markdown-content a{color:#2563eb;text-decoration:none}.markdown-content a:hover{text-decoration:underline}.router-content{font-size:.95rem;color:#374151}.chat-composer{display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:#f8fafcfa;border-top:1px solid rgba(209,213,219,.75);flex-shrink:0;width:100%;box-sizing:border-box}.composer-row{display:flex;gap:12px;align-items:flex-end}.chat-composer textarea{flex:1;resize:none;border-radius:12px;border:1px solid rgba(203,213,225,.9);padding:12px 14px;font-size:1rem;color:inherit;background:#fff;min-height:92px;max-height:240px}.attachment-stack{display:flex;flex-direction:column;gap:10px;align-items:center}.attachment-shell{width:92px;height:92px;border-radius:16px;border:1px solid rgba(203,213,225,.7);background:#f1f5f9f2;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 2px #94a3b82e}.attachment-grid{display:grid;width:100%;height:100%;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:6px;padding:8px;box-sizing:border-box}.attachment-button{border-radius:10px;border:none;font-size:1.1em;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;box-shadow:0 2px 8px #0f172a1f;transition:transform .2s ease,box-shadow .2s ease}.attachment-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0f172a2e}.attachment-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.composer-send-btn{width:92px;height:92px;border-radius:16px;border:none;background:linear-gradient(135deg,#38bdf8,#6366f1);color:#fff;font-weight:600;cursor:pointer;box-shadow:0 18px 40px #38bdf859;transition:transform .2s ease,box-shadow .2s ease}.composer-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 40px #6366f159}.composer-send-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.attachment-preview-strip{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.attachment-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:4px 0;align-items:center}.attachment-thumbnail{display:flex;align-items:center;gap:8px;min-width:200px;max-width:280px;padding:8px;background:#fff;border-radius:10px;border:1px solid rgba(203,213,225,.7);box-shadow:0 2px 8px #0f172a14;transition:all .2s ease}.attachment-thumbnail:hover{box-shadow:0 4px 12px #0f172a1f;border-color:#6366f166}.attachment-thumbnail-image{border-color:#d8b4fe}.attachment-thumbnail-audio{border-color:#a5f3fc}.attachment-thumbnail-video{border-color:#fdba74}.attachment-thumbnail-preview{width:56px;height:56px;flex-shrink:0;border-radius:8px;background:#f1f5f9e6;display:flex;align-items:center;justify-content:center;overflow:hidden}.attachment-thumbnail-preview img{width:100%;height:100%;object-fit:cover}.attachment-thumbnail-icon{font-size:1.5rem;opacity:.7}.attachment-thumbnail-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.attachment-thumbnail-name{font-size:.85rem;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-thumbnail-kind{font-size:.75rem;color:#64748b;text-transform:capitalize}.attachment-thumbnail-remove{background:none;border:none;color:#94a3b8;font-size:1.1rem;cursor:pointer;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.attachment-thumbnail-remove:hover{background:#f871711a;color:#dc2626}.attachment-limit-badge{font-size:.75rem;color:#64748b;padding:8px 12px;background:#f1f5f9e6;border-radius:8px;white-space:nowrap;border:1px dashed rgba(203,213,225,.6)}.attachment-error{background:#fee2e2e6;border:1px solid rgba(248,113,113,.6);color:#b91c1c;padding:6px 10px;border-radius:8px;font-size:.8rem}.attachment-chip-group{display:flex;flex-wrap:wrap;gap:8px}.attachment-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid rgba(203,213,225,.8);color:#1f2937;font-size:.8rem;box-shadow:0 2px 6px #0f172a14}.attachment-chip-icon{font-size:1rem;line-height:1}.attachment-chip-remove{background:none;border:none;font-size:1rem;line-height:1;color:#94a3b8;cursor:pointer}.attachment-chip-remove:hover{color:#ef4444}.floating-menu-button{display:none;position:fixed;top:16px;left:16px;z-index:1001;background:#fffffff2;border:1px solid rgba(203,213,225,.8);font-size:1.5rem;cursor:pointer;padding:0;color:#475569;border-radius:12px;box-shadow:0 4px 12px #0f172a26;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);line-height:1;height:48px;width:48px;align-items:center;justify-content:center}.floating-menu-button:hover{background:#fff;box-shadow:0 6px 16px #0f172a33;border-color:#3b82f666;color:#3b82f6}.floating-controls-button{display:none;position:fixed;top:16px;right:16px;z-index:1001;background:#fffffff2;border:1px solid rgba(203,213,225,.8);font-size:1.5rem;cursor:pointer;padding:0;color:#475569;border-radius:12px;box-shadow:0 4px 12px #0f172a26;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);line-height:1;height:48px;width:48px;align-items:center;justify-content:center}.floating-controls-button:hover{background:#fff;box-shadow:0 6px 16px #0f172a33;border-color:#6366f166;color:#6366f1}.sidebar-right-overlay{z-index:998}.tree-density{display:flex;align-items:center;gap:4px;background:#fffffff2;border:1px solid rgba(226,232,240,.9);border-radius:8px;padding:4px 6px;box-shadow:0 1px 3px #00000014}.tree-density-label{font-size:11px;color:#64748b;font-weight:600;margin-right:2px}.tree-density button{border:none;background:transparent;color:#475569;font-size:11px;padding:3px 8px;border-radius:6px;cursor:pointer}.tree-density button:hover{background:#e2e8f0b3}.tree-density button.active{background:#6366f1;color:#fff;font-weight:600}.sidebar-right{width:320px;flex-shrink:0;display:flex;flex-direction:column;background:#fffffffa;border-left:1px solid rgba(226,232,240,.8);overflow:hidden;transition:width .2s ease,transform .3s ease;z-index:999;position:relative}.sidebar-right-reopen{display:none}@media(min-width:769px){.sidebar-right.sidebar-right-collapsed{width:34px!important;min-width:34px}.sidebar-right.sidebar-right-collapsed .sidebar-right-content,.sidebar-right.sidebar-right-collapsed .sidebar-right-resize-handle{display:none}.sidebar-right.sidebar-right-collapsed .sidebar-right-reopen{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;height:100%;border:none;background:transparent;cursor:pointer;padding-top:14px;color:#475569}.sidebar-right.sidebar-right-collapsed .sidebar-right-reopen:hover{background:#f1f5f9}.sidebar-right-reopen-icon{font-size:15px}.sidebar-right-reopen-label{writing-mode:vertical-rl;font-size:11px;font-weight:600;letter-spacing:.5px}}.sidebar-right-resize-handle{position:absolute;left:0;top:0;bottom:0;width:6px;cursor:ew-resize;background:transparent;transition:background .2s ease;z-index:10}.sidebar-right-resize-handle:hover{background:#6366f14d}.sidebar-right-resize-handle:active{background:#6366f180}.sidebar-right-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:16px}.sidebar-right-section{display:flex;flex-direction:column}.sidebar-right-header-row{display:flex;align-items:center;gap:8px}.sidebar-right-header-row .sidebar-right-header{flex:1}.sidebar-right-header-actions{display:flex;gap:6px;align-items:center}.sidebar-right-section-grow{flex:1;min-height:200px;display:flex;flex-direction:column}.sidebar-right-header{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid rgba(226,232,240,.9);background:transparent;border-left:none;border-right:none;border-top:none;cursor:pointer;width:100%;text-align:left;transition:all .2s ease}.sidebar-right-header:hover{background:#f8fafccc}.sidebar-right-header-icon{font-size:.7rem;color:#64748b;width:12px;transition:transform .2s ease}.sidebar-right-header h2{margin:0;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:600}.sidebar-right-section-content{padding-top:12px}.sidebar-right-iframe-container{flex:1;display:flex;flex-direction:column;min-height:0}.sidebar-right-icon-button{border:1px solid rgba(226,232,240,.9);background:#f8fafce6;color:#475569;border-radius:8px;padding:6px 10px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.sidebar-right-icon-button:hover{border-color:#3b82f673;color:#1d4ed8;background:#eff6ffe6}.sidebar-right-icon-button:disabled{opacity:.6;cursor:not-allowed}.sidebar-right-iframe{flex:1;width:100%;min-height:300px;border:1px solid rgba(226,232,240,.8);border-radius:8px;background:#fff}.sidebar-right .model-selector{background:transparent;border:none;box-shadow:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.sidebar-right .model-selector-row{display:flex;flex-direction:column;gap:16px}.sidebar-right .model-selector-field{width:100%}.sidebar-right .model-selector-number input{width:100%;text-align:left}.sidebar-right .model-selector-toggle{width:100%;max-width:100%}.sidebar-right .model-selector-toggle .toggle-group{width:100%;display:flex}.dashboard-overlay{position:fixed;inset:0;background:#0f172aeb;z-index:2000;display:flex;flex-direction:column;padding:12px;gap:12px}.dashboard-overlay-header{display:flex;align-items:center;justify-content:space-between;color:#f8fafc}.dashboard-overlay-header h3{margin:0;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}.dashboard-overlay-close{border:1px solid rgba(226,232,240,.4);background:#0f172a4d;color:#f8fafc;border-radius:999px;padding:6px 14px;cursor:pointer;font-weight:600;transition:all .2s ease}.dashboard-overlay-close:hover{border-color:#f8fafccc;background:#1e293b99}.dashboard-overlay-iframe{flex:1;width:100%;border:1px solid rgba(226,232,240,.3);border-radius:8px;background:#fff;box-shadow:0 12px 24px #0f172a4d}.sidebar-right .model-selector-toggle .toggle-group button{flex:1}.model-selector{display:flex;flex-direction:column;gap:12px;align-items:stretch;background:#fffffff2;padding:12px 16px;border-radius:14px;border:1px solid rgba(209,213,219,.7);box-shadow:0 4px 16px #0f172a26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:0;max-width:100%}.model-selector-row{display:grid;grid-template-columns:minmax(140px,2fr) minmax(90px,.5fr) minmax(90px,.5fr) auto auto;gap:10px;align-items:end;min-width:0}.model-selector-field{display:flex;flex-direction:column;gap:6px;min-width:0}.model-selector-field span{font-size:.85rem;font-weight:600;color:#475569;white-space:nowrap}.model-selector-field select,.model-selector-field input{background:#fff;border:1px solid rgba(203,213,225,.9);border-radius:10px;padding:8px 10px;font-size:.95rem;color:#1f2937;min-width:0;width:100%;box-sizing:border-box}.model-selector-field select optgroup{font-weight:600;font-style:normal;color:#64748b;background:#f8fafc;padding:4px 0;margin:4px 0}.model-selector-field select option{padding:4px 8px;color:#1f2937}.model-selector-field input[type=number]::-webkit-inner-spin-button,.model-selector-field input[type=number]::-webkit-outer-spin-button{height:auto}.model-selector-number{width:100%}.model-selector-number input{text-align:right;width:11ch;max-width:100%;-moz-appearance:textfield;appearance:textfield}.model-selector-number input::-webkit-outer-spin-button,.model-selector-number input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-with-controls{display:flex;align-items:center;gap:4px;width:100%}.spin-buttons{display:flex;flex-direction:column;gap:1px}.spin-buttons button{display:flex;align-items:center;justify-content:center;width:16px;height:12px;padding:0;border:1px solid rgba(203,213,225,.9);background:#f8fafc;color:#64748b;font-size:8px;cursor:pointer;line-height:1}.spin-buttons button:first-child{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:none}.spin-buttons button:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:none}.spin-buttons button:hover:not(:disabled){background:#e2e8f0;color:#334155}.spin-buttons button:disabled{opacity:.5;cursor:not-allowed}.model-selector-toggle{align-items:flex-start;justify-self:start;width:fit-content;max-width:100%}.model-selector-toggle .toggle-group{display:inline-flex;gap:2px;background:#e2e8f0b3;border-radius:10px;padding:3px;width:fit-content;max-width:100%;overflow:hidden}.model-selector-toggle .toggle-group button{border:none;background:transparent;color:#475569;padding:6px 8px;font-size:.8rem;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.model-selector-toggle .toggle-group button.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 3px #2563eb33}.model-selector-toggle .toggle-group button:hover:not(.active){color:#1d4ed8}@media(max-width:1200px){.model-selector-row{gap:8px;grid-template-columns:minmax(120px,1.8fr) minmax(80px,.4fr) minmax(80px,.4fr) auto auto}.model-selector-field span{font-size:.8rem}.model-selector-field select,.model-selector-field input{padding:6px 8px;font-size:.88rem}.model-selector-toggle .toggle-group{gap:1px;padding:2px}.model-selector-toggle .toggle-group button{padding:5px 6px;font-size:.75rem}}@media(max-width:960px){.model-selector-row{gap:6px;grid-template-columns:minmax(100px,1.5fr) minmax(70px,.35fr) minmax(70px,.35fr) auto auto}.model-selector-field span{font-size:.75rem}.model-selector-field select,.model-selector-field input{padding:5px 6px;font-size:.82rem}}.empty-state{opacity:.55;text-align:center;color:#94a3b8}@media(max-width:768px){body{position:fixed;overflow:hidden}.floating-menu-button{display:flex;flex-direction:column;align-items:center;gap:8px;top:24px;left:0;width:30px;height:auto;padding:14px 5px;border-radius:0 10px 10px 0;border-left:none}.floating-menu-icon{font-size:16px;line-height:1}.floating-menu-label{writing-mode:vertical-rl;font-size:11px;font-weight:600;letter-spacing:.5px}.floating-controls-button{display:flex;flex-direction:column;align-items:center;gap:8px;top:24px;right:0;width:30px;height:auto;padding:14px 5px;border-radius:10px 0 0 10px;border-right:none}.floating-controls-icon{font-size:16px;line-height:1}.floating-controls-label{writing-mode:vertical-rl;font-size:11px;font-weight:600;letter-spacing:.5px}.floating-controls-button,.floating-menu-button{height:150px;justify-content:flex-start}.research-report-reopen{position:fixed;top:182px;right:0;flex:none;width:30px;height:150px;justify-content:flex-start;padding:14px 5px;gap:8px;border-radius:10px 0 0 10px;box-shadow:0 4px 12px #0f172a26;z-index:1001}.floating-menu-button,.floating-controls-button,.research-report-reopen{transition:left .3s ease,right .3s ease}.layout.menu-open .floating-menu-button{left:280px}.layout.controls-open .floating-controls-button,.layout.controls-open .research-report-reopen,.layout.report-open .floating-controls-button{right:min(85vw,360px)}.floating-controls{display:none}.model-selector{padding:10px 12px}.sidebar{position:fixed;top:0;left:0;bottom:0;transform:translate(-100%);height:100%}.sidebar.open{transform:translate(0)}.sidebar-right{position:fixed;top:0;right:0;bottom:0;transform:translate(100%);height:100%;width:85vw!important;max-width:360px}.sidebar-right.open{transform:translate(0)}.sidebar-right-resize-handle{display:none}.sidebar-right-content{padding-top:70px}.layout{width:100%;height:100%}.main{border-left:none;width:100%;height:100%}.chat-transcript{padding:16px 12px 12px;-webkit-overflow-scrolling:touch}.message-assistant{max-width:100%;align-self:stretch}.chat-composer{padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.chat-composer textarea{font-size:16px}}@media(min-width:769px){.sidebar-right{display:flex}.floating-controls-button{display:none}.sidebar-right-overlay{display:none!important}}.upload-dock{background:#fffffffa;border-top:1px solid rgba(226,232,240,.8);padding:12px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 -2px 8px #94a3b81a}.upload-dock-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.upload-dock-title{font-weight:600;font-size:.9em;color:#475569;text-transform:uppercase;letter-spacing:.5px}.upload-clear-btn{background:none;border:none;color:#64748b;font-size:.85em;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease}.upload-clear-btn:hover:not(:disabled){background:#f871711a;color:#dc2626}.upload-clear-btn:disabled{opacity:.5;cursor:not-allowed}.upload-error{background:#f871711a;color:#dc2626;padding:8px 12px;border-radius:8px;font-size:.9em;border-left:3px solid #dc2626}.upload-actions{display:flex;gap:8px;flex-wrap:wrap}.upload-card{flex:1;min-width:100px;padding:12px 16px;background:#f8fafce6;border:2px dashed rgba(203,213,225,.7);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.upload-card:hover:not(.drag-active){background:#eff6ffe6;border-color:#3b82f666;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.upload-card.drag-active{background:#22c55e1a;border-color:#22c55e99;border-style:solid;transform:scale(1.02)}.upload-card-image:hover:not(.drag-active){border-color:#a855f766;background:#faf5ffe6}.upload-card-image.drag-active{border-color:#a855f799;background:#faf5ff}.upload-card-audio:hover:not(.drag-active){border-color:#0ea5e966;background:#f0f9ffe6}.upload-card-audio.drag-active{border-color:#0ea5e999;background:#f0f9ff}.upload-card-video:hover:not(.drag-active){border-color:#ea580c66;background:#fff7ede6}.upload-card-video.drag-active{border-color:#ea580c99;background:#fff7ed}.upload-card-icon{font-size:1.8em;line-height:1}.upload-card-label{font-size:.85em;font-weight:500;color:#64748b;text-align:center}.upload-note{font-size:.8em;color:#94a3b8;text-align:center;font-style:italic}.upload-list{display:flex;flex-direction:column;gap:8px}.upload-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f8fafce6;border-radius:10px;border:1px solid rgba(226,232,240,.8);transition:all .2s ease}.upload-item:hover{background:#f1f5f9;border-color:#cbd5e1e6}.upload-item-image{border-left:3px solid #a855f7}.upload-item-audio{border-left:3px solid #0ea5e9}.upload-item-video{border-left:3px solid #ea580c}.upload-item-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.upload-item-icon{font-size:1.4em;line-height:1;flex-shrink:0}.upload-item-details{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.upload-item-name{font-size:.9em;font-weight:500;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-item-meta{font-size:.75em;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-remove-btn{background:none;border:none;color:#94a3b8;font-size:1.2em;cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1;transition:all .2s ease;flex-shrink:0}.upload-remove-btn:hover:not(:disabled){background:#f871711a;color:#dc2626}.upload-remove-btn:disabled{opacity:.5;cursor:not-allowed}.upload-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;background:#eff6ffcc;border-radius:10px;color:#3b82f6;font-size:.9em;font-weight:500}.upload-spinner{width:16px;height:16px;border:2px solid rgba(59,130,246,.3);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.upload-dock{padding:10px 12px}.upload-actions{gap:6px}.upload-card{min-width:80px;padding:10px 12px}.upload-card-icon{font-size:1.5em}.upload-card-label{font-size:.8em}.upload-item{padding:8px 10px}.upload-item-icon{font-size:1.2em}.upload-item-name{font-size:.85em}.upload-item-meta{font-size:.7em}}.search-engine-panel{display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:hidden;background:#fff;width:100%;max-width:100vw}.search-engine-panel,.search-engine-panel *{box-sizing:border-box}.search-container{padding:60px 20px 40px;display:flex;justify-content:center;align-items:center;min-height:300px;transition:all .3s ease;width:100%}.search-container.searched{min-height:auto;padding:20px;border-bottom:1px solid #e0e0e0;justify-content:flex-start;position:sticky;top:0;background:#fff;z-index:10;box-shadow:0 2px 10px #0000000d}.search-box{display:flex;align-items:center;gap:8px;width:min(720px,100%);border:1px solid #dfe1e5;border-radius:24px;padding:8px 12px 8px 18px;background:#fff;box-shadow:0 1px 6px #20212447;transition:box-shadow .2s ease,width .3s ease;margin:0 auto}.search-container.searched .search-box{width:100%;max-width:800px;margin:0 auto}.search-box:hover,.search-box:focus-within{box-shadow:0 1px 6px #20212466}.search-input{flex:1;border:none;outline:none;font-size:16px;color:#202124;background:transparent;min-width:0}.search-input::placeholder{color:#9aa0a6}.search-input:disabled{opacity:.6;cursor:not-allowed}.search-action-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:#5f6368;font-size:17px;cursor:pointer;transition:background .2s ease,color .2s ease;flex-shrink:0}.search-action-button svg{width:18px;height:18px;fill:currentColor}.search-action-button:hover:not(:disabled){background:#5f63681f;color:#202124}.search-action-button:disabled{opacity:.4;cursor:not-allowed}.search-submit{background:#1a73e8;color:#fff}.search-submit:hover:not(:disabled){background:#1557b0}.search-submit:disabled{background:#a0c4f5;color:#e8f0fe}.search-results-container{padding:20px;max-width:900px;margin:0 auto;width:100%}.search-metadata{color:#70757a;font-size:14px;margin-bottom:24px;padding:0 4px}.engines-used{color:#9aa0a6;font-size:12px}.search-results{display:flex;flex-direction:column;gap:20px}.modern-search-result-card{padding:20px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;transition:all .2s ease;position:relative;overflow:hidden}.modern-search-result-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0000000f;border-color:#3b82f64d}.modern-result-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.modern-result-favicon{width:32px;height:32px;border-radius:8px;background:#f8fafc;object-fit:contain;padding:4px;border:1px solid #f1f5f9}.modern-result-info{display:flex;flex-direction:column;flex:1;min-width:0}.modern-result-site-name{font-size:.8rem;color:#64748b;font-weight:500;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modern-result-title{font-size:1.25rem;margin:0;line-height:1.3;font-weight:600}.modern-result-title a{color:#1a0dab;text-decoration:none}.modern-result-title a:hover{text-decoration:underline;color:#1e40af}.modern-result-snippet{font-size:.95rem;line-height:1.6;color:#374151;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.modern-result-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:.8rem;color:#64748b;padding-top:12px;border-top:1px solid #f1f5f9}.modern-result-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#f1f5f9;border-radius:12px;font-size:.75rem;font-weight:500;color:#475569}.modern-result-engines{display:flex;gap:6px}.modern-result-date{margin-left:auto;font-style:italic}.search-error{padding:24px;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;margin-bottom:24px;display:flex;align-items:center;gap:12px}.search-error strong{font-weight:600}.no-results{text-align:center;padding:80px 20px;color:#64748b;font-size:1.1rem;background:#f8fafc;border-radius:16px;border:2px dashed #e2e8f0;margin-top:20px}.search-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:40px 20px;margin-top:20px}.pagination-button{padding:10px 18px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#475569;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:40px}.pagination-button:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#1e293b;transform:translateY(-1px)}.pagination-button:disabled{color:#cbd5e1;cursor:not-allowed;background:#f8fafc}.pagination-button.active{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 4px 12px #2563eb40}.pagination-info{color:#70757a;font-size:14px;padding:0 12px}@media(max-width:768px){.search-container{padding:30px 20px 20px;min-height:200px}.search-container.searched{padding:16px 20px}.search-container.searched .search-box{width:100%}.search-box{padding:10px 12px}.modern-search-result-card{padding:16px}.modern-result-title{font-size:1.1rem}.modern-result-snippet{font-size:.9rem}}@media(max-width:480px){.search-container{padding:20px 16px 16px}.search-container.searched{padding:12px 16px}.search-results-container{padding:16px}.modern-result-favicon{width:24px;height:24px}}.documents-search-container{padding:60px 20px 40px;display:flex;justify-content:center;align-items:center;min-height:300px;transition:all .3s ease;width:100%}.documents-search-container.has-results{min-height:auto;padding:20px;border-bottom:1px solid #e0e0e0;justify-content:flex-start}.documents-search-box{display:flex;align-items:center;gap:8px;width:min(720px,100%);border:1px solid #dfe1e5;border-radius:24px;padding:8px 12px 8px 18px;background:#fff;box-shadow:0 1px 6px #20212447;transition:box-shadow .2s ease,width .3s ease;margin:0 auto;position:relative}.documents-search-container.has-results .documents-search-box{width:75%}.documents-search-box:hover,.documents-search-box:focus-within{box-shadow:0 1px 6px #20212466}.documents-search-box .search-action-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:#5f6368;cursor:pointer;transition:background .2s ease,color .2s ease;flex-shrink:0;padding:0}.documents-search-box .search-action-button svg{width:18px;height:18px;fill:currentColor}.documents-search-box .search-action-button:hover:not(:disabled){background:#5f63681f;color:#202124}.documents-search-box .search-submit{background:#1a73e8;color:#fff}.documents-search-box .search-submit:hover:not(:disabled){background:#1557b0}.documents-search-box .search-submit:disabled{background:#a0c4f5;color:#e8f0fe;cursor:not-allowed}@media(max-width:768px){.documents-search-container{padding:30px 20px 20px;min-height:200px}.documents-search-container.has-results{padding:16px 20px}.documents-search-container.has-results .documents-search-box{width:65%}}@media(max-width:480px){.documents-search-container{padding:20px 16px 16px}.documents-search-container.has-results{padding:16px}.documents-search-container.has-results .documents-search-box{width:60%}.documents-search-box{padding:8px 10px 8px 14px}}.chunk-graph-panel{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#fff}.chunk-graph-toolbar{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-wrap:wrap;position:relative;z-index:5}.chunk-graph-doc-select{padding:6px 12px;min-width:180px;max-width:300px;border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;color:#334155;background:#fff;cursor:pointer;-webkit-appearance:menulist;appearance:menulist}.chunk-graph-doc-select option{background:#fff;color:#334155;padding:4px 8px}.chunk-graph-doc-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.chunk-graph-stats{font-size:.8rem;color:#94a3b8;white-space:nowrap}.chunk-graph-query-toolbar{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid #e2e8f0;background:#fefefe;gap:8px}.chunk-graph-toggle-toolbar{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid #e2e8f0;background:#fff;flex-wrap:wrap}.chunk-graph-toggle-item{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#334155;font-size:.8rem;-webkit-user-select:none;user-select:none}.chunk-graph-toggle-item input{margin:0}.chunk-graph-toggle-count{color:#64748b;font-size:.75rem}.chunk-graph-toggle-button{margin-left:auto;padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#475569;font-size:.75rem;font-weight:500;cursor:pointer}.chunk-graph-toggle-button:hover{background:#f1f5f9}.chunk-graph-threshold-control{display:inline-flex;align-items:center;gap:8px;margin-left:8px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#334155;font-size:.78rem}.chunk-graph-threshold-control input[type=range]{width:140px}.chunk-graph-threshold-control strong{font-size:.78rem;color:#1e293b;min-width:32px;text-align:right}.chunk-graph-body{flex:1;position:relative;overflow:clip}.chunk-graph-canvas{width:100%;height:100%;position:relative;touch-action:none;will-change:transform;transform:translateZ(0)}.chunk-graph-canvas .force-graph-container{touch-action:none}.chunk-graph-message{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b;font-size:1rem;padding:40px;text-align:center}.chunk-graph-error{color:#dc2626}.graph-controls-section{display:flex;align-items:center;gap:6px}.graph-controls-label{font-size:.8rem;color:#64748b;font-weight:500}.graph-controls-select{padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:.8rem;color:#334155;background:#fff;cursor:pointer}.graph-controls-select:focus{outline:none;border-color:#3b82f6}.graph-controls-button{padding:6px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:.8rem;font-weight:500;color:#475569;background:#fff;cursor:pointer;transition:all .2s ease}.graph-controls-button:hover{background:#f1f5f9;border-color:#94a3b8}.graph-node-detail-overlay{position:absolute;top:16px;right:16px;width:340px;max-height:calc(100% - 32px);padding:12px 14px;border-left:3px solid #3b82f6;border-radius:8px;box-shadow:0 4px 20px #00000026;overflow-y:auto;z-index:10}.graph-node-detail-close{position:absolute;top:6px;right:8px;background:none;border:none;font-size:1.2rem;line-height:1;color:#64748b;cursor:pointer;padding:2px 6px;border-radius:4px}.graph-node-detail-close:hover{background:#00000014;color:#1e293b}.graph-node-detail-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding-right:24px}.graph-node-detail-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;color:#fff;text-transform:uppercase;flex-shrink:0}.graph-node-detail-title{font-size:.85rem;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-node-detail-content{font-size:.8rem;line-height:1.5;color:#475569;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.graph-node-detail-meta{font-size:.75rem;color:#94a3b8;margin-top:4px}@media(max-width:768px){.chunk-graph-toolbar{padding:8px 12px;gap:8px}.chunk-graph-toggle-toolbar{padding:8px 12px}.chunk-graph-toggle-button{margin-left:0}.chunk-graph-threshold-control{margin-left:0;width:100%;justify-content:space-between}.chunk-graph-doc-select{min-width:150px}.graph-node-detail-overlay{width:calc(100% - 32px)}}
