*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f4f6f9;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--hero-bg: #f0f7ff;--border: #e5e7eb;--border-2: #d1d5db;--text: #111827;--text-2: #4b5563;--text-3: #9ca3af;--text-soft: #252d3c;--primary: #1d4ed8;--primary-2: #2563eb;--primary-light:#eff6ff;--primary-hover:#1e40af;--accent: #2563eb;--accent-dim: #eff6ff;--accent-glow: rgba(37, 99, 235, .12);--green: #059669;--green-dim: #ecfdf5;--red: #dc2626;--red-dim: #fef2f2;--amber: #d97706;--amber-dim: #fffbeb;--blue: #2563eb;--blue-dim: #eff6ff;--yellow: #d97706;--yellow-dim: #fffbeb;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .04);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .06), 0 1px 2px -1px rgb(0 0 0 / .06);--shadow: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-md: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .05);--r-sm: 6px;--r: 8px;--r-lg: 12px;--r-xl: 16px;--r-2xl: 20px;--font: "Inter", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", "Fira Code", monospace;--t: .15s cubic-bezier(.4, 0, .2, 1);--topbar-h: 60px;--sidebar-w: 240px}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:99px}.app{display:flex;flex-direction:column;min-height:100vh}.main{flex:1;overflow-y:auto;overflow-x:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-h);padding:0 32px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-logo{display:flex;align-items:center;gap:10px}.topbar-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--primary),var(--primary-2));border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.topbar-logo-text{font-size:17px;font-weight:700;color:var(--primary);letter-spacing:-.02em}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);font-size:12px;color:var(--text-2)}.topbar-chip-val{font-weight:700;color:var(--text);font-family:var(--mono);font-size:13px}.topbar-org{display:flex;align-items:center;gap:6px;padding:7px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);font-size:13px;font-weight:500;color:var(--text-2);cursor:default}.topbar-icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text-2);cursor:pointer;transition:all var(--t)}.topbar-icon-btn:hover{background:var(--surface-2);color:var(--text)}.topbar-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:default}.status-indicator{display:flex;align-items:center;gap:7px;padding:6px 12px;background:var(--green-dim);border:1px solid rgba(5,150,105,.2);border-radius:var(--r);font-size:12px;font-weight:500;color:var(--green)}.status-indicator.loading{background:var(--amber-dim);border-color:#d9770633;color:var(--amber)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}.status-dot.loading{background:var(--amber);animation:pulse-dot 1.2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.app-nav-wrap{padding:0 32px;background:var(--bg)}.app-nav{display:inline-flex;gap:4px;padding:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xl);margin:16px 0}.app-nav-item{display:flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--r-lg);border:none;background:transparent;font-family:var(--font);font-size:13.5px;font-weight:500;color:var(--text-2);cursor:pointer;transition:all var(--t);white-space:nowrap}.app-nav-item:hover{color:var(--text);background:#fff9}.app-nav-item.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.app-nav-item svg{opacity:.7}.app-nav-item.active svg{opacity:1;color:var(--primary)}.page{padding:24px 32px 48px}.hero{background:var(--hero-bg);border:1px solid rgba(37,99,235,.1);border-radius:var(--r-2xl);padding:36px 40px;margin-bottom:32px}.hero-title{font-size:28px;font-weight:700;color:var(--text);letter-spacing:-.03em;line-height:1.25;margin-bottom:8px}.hero-sub{font-size:15px;color:var(--text-2);max-width:560px;line-height:1.6;margin-bottom:28px}.hero-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.hero-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;text-align:left;cursor:pointer;transition:all var(--t);font-family:var(--font);box-shadow:var(--shadow-xs)}.hero-card:hover{border-color:var(--primary-2);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.hero-card-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.hero-card-desc{font-size:12.5px;color:var(--text-3);line-height:1.5}.hero-search{position:relative}.hero-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.hero-search-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text);font-family:var(--font);font-size:15px;padding:14px 80px 14px 46px;outline:none;transition:border-color var(--t),box-shadow var(--t);box-shadow:var(--shadow-xs)}.hero-search-input:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px var(--accent-glow)}.hero-search-input::placeholder{color:var(--text-3)}.hero-search-kbd{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:11px;font-family:var(--mono);color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:3px 7px}.section-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.section-header-accent{width:4px;min-height:48px;background:var(--primary-2);border-radius:2px;flex-shrink:0;margin-top:2px}.section-header-title{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1.3;margin-bottom:4px}.section-header-sub{font-size:14px;color:var(--text-2);line-height:1.6;max-width:600px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.page-header>div:first-child{min-width:0}.page-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin-bottom:6px}.page-title{font-size:24px;font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1.2;margin-bottom:6px}.page-sub{font-size:14px;color:var(--text-2);max-width:560px;line-height:1.6}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:22px 24px;box-shadow:var(--shadow-xs)}.card+.card{margin-top:16px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.card-title{font-size:15px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:10px}.card-title-icon{width:36px;height:36px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary);flex-shrink:0}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:20px;transition:all var(--t);box-shadow:var(--shadow-xs)}.feature-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-2)}.feature-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.feature-card-icon{width:40px;height:40px;border-radius:var(--r);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center}.feature-card-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px}.feature-card-desc{font-size:13px;color:var(--text-2);line-height:1.55;margin-bottom:16px}.feature-card-footer{display:flex;align-items:center;gap:8px;padding-top:14px;border-top:1px solid var(--border);font-size:12px;color:var(--text-3)}.structured-table-card{cursor:pointer;text-align:left;width:100%;font-family:var(--font);border:1px solid var(--border)}.structured-table-card:hover{border-color:var(--primary-2);box-shadow:var(--shadow-sm)}.structured-table-menu{color:var(--text-3);opacity:.6}.data-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg)}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table thead{background:var(--surface-2)}.data-table th{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:12px 16px;color:var(--text);border-bottom:1px solid var(--border);vertical-align:top;line-height:1.5}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-2)}.data-table-editable .data-table-input{width:100%;min-width:100px;border:1px solid transparent;background:transparent;font-family:var(--font);font-size:13.5px;color:var(--text);padding:6px 8px;border-radius:var(--r-sm);outline:none;transition:border-color var(--t),background var(--t)}.data-table-editable .data-table-input:focus{border-color:var(--primary-2);background:var(--surface);box-shadow:0 0 0 2px var(--accent-glow)}.data-table-actions-col{width:48px;text-align:center;white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:center;justify-content:center;z-index:200;padding:24px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:24px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-title{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.02em}.modal-close{width:32px;height:32px;border:none;background:var(--surface-2);border-radius:var(--r);font-size:20px;line-height:1;color:var(--text-2);cursor:pointer}.modal-tabs{display:flex;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:20px}.modal-tab{flex:1;padding:8px 12px;border:none;background:transparent;border-radius:var(--r);font-family:var(--font);font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer}.modal-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.upload-zone{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 20px;border:2px dashed var(--border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text-2);font-size:13.5px;cursor:pointer;transition:all var(--t)}.upload-zone:hover{border-color:var(--primary-2);background:var(--primary-light);color:var(--primary)}.select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.status-dot-sm{width:6px;height:6px;border-radius:50%;background:var(--amber);flex-shrink:0}.status-dot-sm.green{background:var(--green)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:20px 22px;box-shadow:var(--shadow-xs)}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);font-weight:600;margin-bottom:8px}.stat-value{font-size:28px;font-weight:700;font-family:var(--mono);color:var(--text);letter-spacing:-.02em;line-height:1;margin-bottom:4px}.stat-value.accent{color:var(--primary)}.stat-value.green{color:var(--green)}.stat-value.blue{color:var(--blue)}.stat-sub{font-size:12px;color:var(--text-3)}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--r);font-size:13.5px;font-weight:500;cursor:pointer;transition:all var(--t);border:none;font-family:var(--font);white-space:nowrap;line-height:1}.btn-primary{background:var(--primary);color:#fff;font-weight:600;box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--border-2)}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--red-dim);color:var(--red);border:1px solid rgba(220,38,38,.15)}.btn-danger:hover{background:#dc26261a}.btn-sm{padding:6px 12px;font-size:12.5px}.btn-xs{padding:4px 9px;font-size:11.5px}.input,.textarea,.select{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font-family:var(--font);font-size:14px;padding:10px 14px;transition:border-color var(--t),box-shadow var(--t);outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.textarea{resize:vertical;min-height:120px;line-height:1.6}.form-row{margin-bottom:18px}.form-row:last-child{margin-bottom:0}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:7px}.tabs{display:inline-flex;gap:4px;padding:5px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:24px}.tab{padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer;border:none;background:transparent;font-family:var(--font);transition:all var(--t);border-radius:var(--r)}.tab.active{color:var(--text);background:var(--surface);box-shadow:var(--shadow-xs)}.tab:disabled{opacity:.45;cursor:not-allowed}.pipeline{display:flex;flex-direction:column;gap:8px}.stage{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);transition:all var(--t)}.stage.active{border-color:#2563eb4d;background:var(--primary-light)}.stage.done{border-color:#05966940;background:var(--green-dim)}.stage-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);color:var(--text-3);font-family:var(--mono);font-weight:600}.stage.active .stage-dot{background:var(--primary-light);border-color:#2563eb59;color:var(--primary)}.stage.done .stage-dot{background:var(--green-dim);border-color:#05966959;color:var(--green)}.stage-label{font-size:13.5px;font-weight:500;color:var(--text-3)}.stage.active .stage-label{color:var(--text)}.stage.done .stage-label{color:var(--text-2)}.stage-detail{font-size:11.5px;font-family:var(--mono);color:var(--text-3)}.stage.active .stage-detail{color:var(--primary)}.stage.done .stage-detail{color:var(--green)}.log{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;max-height:200px;overflow-y:auto;font-family:var(--mono);font-size:12px}.log-line{display:flex;gap:12px;padding:3px 0;line-height:1.5}.log-time{color:var(--text-3);flex-shrink:0}.log-msg{color:var(--text-2)}.log-msg.success{color:var(--green)}.log-msg.warn{color:var(--amber)}.log-msg.error{color:var(--red)}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.doc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:20px;transition:all var(--t);box-shadow:var(--shadow-xs)}.doc-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-2)}.doc-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.doc-card-icon-wrap{width:40px;height:40px;background:var(--primary-light);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:var(--primary)}.doc-card-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px;line-height:1.35}.doc-card-meta{font-size:12px;color:var(--text-3);margin-bottom:16px}.doc-card-actions{display:flex;gap:8px;padding-top:14px;border-top:1px solid var(--border)}.preload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.preload-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;cursor:pointer;transition:all var(--t);text-align:left;width:100%;font-family:var(--font);box-shadow:var(--shadow-xs)}.preload-card:hover:not(:disabled){border-color:var(--primary-2);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.preload-card:disabled{opacity:.55;cursor:not-allowed}.preload-card-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px;display:flex;align-items:center;gap:8px}.preload-card-meta{font-size:12px;color:var(--text-3)}.chunk-list{display:flex;flex-direction:column;gap:10px}.chunk-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px}.chunk-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:11.5px;color:var(--text-3);font-family:var(--mono)}.chunk-index{background:var(--primary-light);color:var(--primary);border-radius:var(--r-sm);padding:2px 8px;font-weight:600}.chunk-body{font-size:13.5px;color:var(--text-2);line-height:1.7}.kb-doc-row-clickable{cursor:pointer}.kb-doc-row-clickable:hover{background:var(--bg)}.kb-doc-page-header{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:16px;flex-shrink:0}.kb-doc-back-btn{text-decoration:none;display:inline-flex;align-items:center;gap:6px}.kb-doc-page-heading{width:100%}.kb-doc-page-title{margin:0 0 6px;font-size:22px;font-weight:700;line-height:1.3;color:var(--text);word-break:break-word}.kb-doc-page-meta{margin:0;font-size:13px;color:var(--text-3)}.kb-doc-split-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.kb-doc-split-title-row{display:flex;align-items:center;gap:10px;flex:1}.kb-doc-split-title{margin:0;font-size:18px}.kb-doc-split-panes{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;flex:1;min-height:0;overflow:hidden}.kb-doc-pane{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);display:flex;flex-direction:column;overflow:hidden;min-height:0;height:100%}.kb-doc-pane-label{margin:0;padding:12px 16px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border);background:var(--surface-2);flex-shrink:0}.kb-doc-content-pre,.kb-doc-pane .chunk-list{flex:1;overflow:auto;margin:0;padding:16px;font-size:13px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.kb-doc-pane-label--chunks{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.kb-doc-pane--chunks{background:var(--bg)}.kb-doc-right-tabs{display:flex;align-items:center;gap:4px}.kb-doc-right-tab{border:none;background:transparent;font-family:var(--font);font-size:13px;font-weight:600;color:var(--text-3);padding:4px 10px;border-radius:var(--r);cursor:pointer}.kb-doc-right-tab:hover{color:var(--text);background:var(--surface)}.kb-doc-right-tab.active{color:var(--primary);background:var(--primary-light)}.kb-doc-search-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.kb-doc-search-bar{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--border);flex-shrink:0}.kb-doc-search-input{flex:1;min-width:0}.kb-doc-search-count{font-size:12px;color:var(--text-3);white-space:nowrap}.kb-doc-search-results{flex:1;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.kb-doc-search-hit{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;flex-shrink:0;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);cursor:pointer;font-family:var(--font)}.kb-doc-search-hit:hover{border-color:var(--primary-2);background:var(--primary-light)}.kb-doc-search-hit--active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.kb-doc-search-hit-page{font-size:11px;font-weight:600;color:var(--text-3);font-family:var(--mono)}.kb-doc-search-hit-snippet{font-size:12.5px;line-height:1.45;color:var(--text-2);word-break:break-word}.kb-doc-search-mark{background:#facc158c;color:inherit;padding:0 1px;border-radius:2px}.kb-chunk-pane-hint{font-size:11px;font-weight:500;color:var(--text-3)}.kb-chunk-list{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:0}.kb-chunk-empty{margin:auto;padding:24px 16px;text-align:center;font-size:13px;color:var(--text-3)}.kb-chunk-card{margin:0;width:100%;flex-shrink:0;text-align:left;font-family:var(--font);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:0;overflow:hidden;transition:border-color var(--t),box-shadow var(--t),background var(--t)}.kb-chunk-card-main{padding:14px 16px;cursor:pointer}.kb-chunk-card-main:hover{background:var(--primary-light)}.kb-chunk-card-main:focus{outline:none}.kb-chunk-card-main:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.kb-chunk-card--expanded{border-color:var(--primary-2);box-shadow:0 2px 10px #1d4ed814}.kb-chunk-card--expanded .kb-chunk-card-main{background:var(--surface)}.kb-chunk-card--citation{border-color:var(--primary);box-shadow:0 4px 14px #1d4ed81f;border-left:3px solid var(--primary)}.kb-chunk-view-citation{width:calc(100% - 32px);margin:0 16px 14px;justify-content:center}.kb-chunk-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.kb-chunk-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.kb-chunk-ordinal{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;font-family:var(--mono);background:var(--primary);color:#fff}.kb-chunk-card--citation .kb-chunk-ordinal{background:var(--primary-hover)}.kb-chunk-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:500;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border)}.kb-chunk-chevron{flex-shrink:0;font-size:12px;color:var(--text-3);line-height:1;margin-top:4px}.kb-chunk-card--expanded .kb-chunk-chevron{color:var(--primary)}.kb-chunk-preview{margin:0;font-size:13px;line-height:1.55;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.kb-chunk-expanded{display:flex;flex-direction:column;gap:12px;animation:kb-chunk-expand .18s ease-out}@keyframes kb-chunk-expand{0%{opacity:.6;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.kb-chunk-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.kb-chunk-stat{display:flex;flex-direction:column;gap:2px;padding:8px 10px;min-width:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r)}.kb-chunk-stat-label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.kb-chunk-stat-value{font-size:12px;font-weight:600;font-family:var(--mono);color:var(--text)}.kb-chunk-body{font-size:13px;line-height:1.65;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:280px;overflow:auto;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);border-left:3px solid var(--primary-2)}.kb-chunk-pill--accent{color:var(--primary);border-color:var(--primary-2);background:var(--primary-light)}.kb-chunk-card--summary{border-style:dashed}.kb-chunk-section-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:8px 4px 0;flex-shrink:0}.kb-chunk-enrichment{display:flex;flex-direction:column;gap:6px}.kb-chunk-enrichment-label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.kb-chunk-keyword-list{display:flex;flex-wrap:wrap;gap:6px}.kb-chunk-keyword{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:500;color:var(--text);background:var(--primary-light);border:1px solid var(--primary-2)}.kb-chunk-summary-text{margin:0;font-size:13px;line-height:1.55;color:var(--text);padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r)}.kb-doc-pages{flex:1;overflow:auto;padding:0 16px 16px;min-height:0}.kb-doc-page+.kb-doc-page{margin-top:20px;padding-top:16px;border-top:1px dashed var(--border)}.kb-doc-page-label{font-size:12px;font-weight:600;color:var(--text-3);margin-bottom:8px;font-family:var(--mono)}.kb-doc-pdf-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.kb-doc-pdf-scroll{flex:1;overflow:auto;padding:16px;background:#f1f5f9}.kb-doc-pdf-page-wrap{margin:0 auto 20px;max-width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-xs);padding:8px;transition:box-shadow var(--t),border-color var(--t)}.kb-doc-pdf-page-wrap--active{border-color:var(--primary);box-shadow:0 0 0 2px var(--accent-glow)}.kb-doc-pdf-page-label{font-size:11px;font-weight:600;color:var(--text-3);margin-bottom:8px;font-family:var(--mono);text-align:center}.kb-doc-pdf-page-wrap .react-pdf__Page{display:flex;justify-content:center}.kb-doc-pdf-page-canvas{position:relative;display:inline-block;max-width:100%;margin:0 auto}.kb-doc-pdf-highlight{position:absolute;background:#facc158c;border:1px solid rgba(234,179,8,.85);border-radius:2px;pointer-events:none;box-shadow:0 0 0 1px #ffffff59 inset}.kb-doc-citation-panel{border-top:1px solid var(--border);background:var(--surface-2);padding:12px 16px 16px;max-height:220px;display:flex;flex-direction:column;min-height:0}.kb-doc-citation-title{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.kb-doc-citation-pre,.kb-doc-citation-empty{flex:1;overflow:auto;margin:0;font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.audit-contract-pre{font-size:13px}.case-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.case-card{padding:18px;cursor:pointer;transition:box-shadow var(--t)}.case-card:hover{box-shadow:var(--shadow-md)}.case-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.case-id{font-family:var(--mono);font-size:13px;font-weight:600}.case-label{font-size:13px;color:var(--text-2);margin:0 0 12px;line-height:1.5}.case-metrics{display:flex;justify-content:space-between;align-items:center;font-size:13px}.case-score-pill{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}.case-score-critical{background:#fef2f2;color:#dc2626}.case-score-high{background:#fff7ed;color:#ea580c}.case-score-medium{background:#f0fdf4;color:#16a34a}.audit-highlight{background:#fef08a;padding:0 2px}.audit-reasoning-box{padding:16px;font-size:14px;line-height:1.65;color:var(--text)}.tool-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.tool-card{padding:16px}.tool-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.tool-card-name{margin:0;font-size:16px}.tool-card-desc{font-size:13px;color:var(--text-2);margin:0 0 12px;line-height:1.5}.tool-card-meta{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.tool-card-endpoint{font-size:11px;background:var(--bg);padding:6px 8px;border-radius:var(--r-sm);word-break:break-all}.tool-card-actions{display:flex;justify-content:flex-end}.danger-text{color:#dc2626}@media(max-width:900px){.kb-doc-split-panes{grid-template-columns:1fr;overflow:auto}.kb-doc-pane{height:auto;min-height:420px}}.project-main:has(.kb-doc-page){overflow:hidden;display:flex;flex-direction:column;height:100vh}.project-main:has(.analyze-page),.project-main:has(.rule-studio-page){overflow:hidden;display:flex;flex-direction:column;height:100vh}.page.kb-doc-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;max-width:none;width:100%;padding-bottom:24px}.search-wrap{display:flex;gap:10px;margin-bottom:24px}.search-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text);font-family:var(--font);font-size:15px;padding:13px 18px;transition:border-color var(--t),box-shadow var(--t);outline:none;box-shadow:var(--shadow-xs)}.search-input:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px var(--accent-glow)}.search-input::placeholder{color:var(--text-3)}.search-layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}.pipeline-bar{display:flex;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;margin-bottom:20px;box-shadow:var(--shadow-xs)}.pipeline-bar-item{flex:1;padding:16px 20px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:5px}.pipeline-bar-item:last-child{border-right:none}.pipeline-bar-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:600}.pipeline-bar-val{font-size:22px;font-weight:700;font-family:var(--mono);color:var(--text);line-height:1}.pipeline-bar-val.accent{color:var(--primary)}.pipeline-bar-val.green{color:var(--green)}.pipeline-bar-val.applied{font-size:13px;color:var(--green);font-family:var(--font);display:flex;align-items:center;gap:4px;margin-top:3px;font-weight:600}.results-list{display:flex;flex-direction:column;gap:12px}.result-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:20px 22px;transition:all var(--t);box-shadow:var(--shadow-xs)}.result-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-2)}.result-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.result-rank{width:28px;height:28px;border-radius:50%;background:var(--primary-light);border:1px solid rgba(37,99,235,.15);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;font-family:var(--mono)}.result-source{font-size:13px;font-weight:600;color:var(--text)}.result-scores{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}.score-tag{font-size:11px;font-family:var(--mono);padding:3px 9px;border-radius:99px;border:1px solid var(--border);color:var(--text-3);background:var(--surface-2)}.score-tag.primary{color:var(--primary);border-color:#2563eb33;background:var(--primary-light)}.result-body{font-size:14px;color:var(--text-2);line-height:1.75;margin-bottom:14px}.result-body mark{background:#2563eb1f;color:var(--primary);border-radius:2px;padding:0 2px}.result-footer{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-3);flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border)}.settings-panel{display:flex;flex-direction:column;gap:16px}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:20px 22px;box-shadow:var(--shadow-xs)}.settings-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:18px;display:flex;align-items:center;gap:8px}.settings-title-icon{width:28px;height:28px;border-radius:var(--r-sm);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--text-2)}.range-wrap{padding:4px 0}.range-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--text-3);font-family:var(--mono)}input[type=range]{width:100%;accent-color:var(--primary);height:4px;cursor:pointer}.toggle-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);margin-top:2px;cursor:pointer;flex-shrink:0}.toggle-text{display:flex;flex-direction:column;gap:2px}.toggle-label{font-size:13.5px;font-weight:500;color:var(--text)}.toggle-sub{font-size:12px;color:var(--text-3)}.pipeline-steps{display:flex;flex-direction:column;gap:6px}.pipeline-step{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg)}.step-num{width:22px;height:22px;border-radius:50%;background:var(--primary-light);border:1px solid rgba(37,99,235,.15);color:var(--primary);font-size:11px;font-weight:700;font-family:var(--mono);display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-info{flex:1}.step-name{font-size:13px;font-weight:500;color:var(--text);line-height:1.3}.step-model{font-size:11px;font-family:var(--mono);color:var(--text-3)}.examples-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.example-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-2);font-size:13px;padding:7px 14px;border-radius:var(--r-lg);cursor:pointer;transition:all var(--t);font-family:var(--font);box-shadow:var(--shadow-xs)}.example-btn:hover:not(:disabled){border-color:var(--primary-2);color:var(--primary);background:var(--primary-light)}.example-btn:disabled{opacity:.45;cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:99px;text-transform:capitalize;letter-spacing:.02em}.badge-green{background:var(--green-dim);color:var(--green)}.badge-amber{background:var(--amber-dim);color:var(--amber)}.badge-blue{background:var(--blue-dim);color:var(--blue)}.badge-red{background:var(--red-dim);color:var(--red)}.badge-grey{background:var(--surface-2);color:var(--text-3);border:1px solid var(--border)}.divider{height:1px;background:var(--border);margin:20px 0}.empty{text-align:center;padding:64px 24px;color:var(--text-3);background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-xl)}.empty-icon-wrap{width:56px;height:56px;margin:0 auto 16px;background:var(--surface-2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-3)}.empty-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:6px}.empty-sub{font-size:14px;line-height:1.6;color:var(--text-2)}.alert{padding:14px 18px;border-radius:var(--r-lg);font-size:13.5px;margin-bottom:16px}.alert-error{background:var(--red-dim);border:1px solid rgba(220,38,38,.15);color:var(--red)}.flex{display:flex}.flex-center{display:flex;align-items:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-1{gap:6px}.gap-2{gap:10px}.gap-3{gap:16px}.ml-auto{margin-left:auto}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mono{font-family:var(--mono)}.text-sm{font-size:12.5px}.text-xs{font-size:11px}.text-muted{color:var(--text-3)}.text-accent{color:var(--primary)}.text-green{color:var(--green)}.text-red{color:var(--red)}.fw-600{font-weight:600}.spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .65s linear infinite;display:inline-block;flex-shrink:0}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-brand{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;padding:48px}.login-brand-inner{max-width:400px}.login-logo{width:64px;height:64px;background:#ffffff26;border-radius:var(--r-xl);display:flex;align-items:center;justify-content:center;margin-bottom:28px}.login-brand-title{font-size:28px;font-weight:700;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2}.login-brand-sub{font-size:15px;line-height:1.65;opacity:.85}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:48px;background:var(--surface)}.login-form-wrap{width:100%;max-width:380px}.login-form-title{font-size:24px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.login-form-sub{font-size:14px;color:var(--text-2);margin-bottom:28px}.login-submit{width:100%;justify-content:center;padding:12px;margin-top:8px}.projects-page{min-height:100vh;background:var(--bg);padding:48px 56px;max-width:1200px;margin:0 auto}.projects-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:36px}.projects-title{font-size:28px;font-weight:700;letter-spacing:-.03em;margin-bottom:6px}.projects-sub{font-size:15px;color:var(--text-2)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:24px;text-align:left;cursor:pointer;transition:all var(--t);font-family:var(--font);box-shadow:var(--shadow-xs)}.project-card:hover{border-color:var(--primary-2);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.project-card-icon{width:44px;height:44px;background:var(--primary-light);color:var(--primary);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.project-card-name{font-size:16px;font-weight:600;color:var(--text);margin-bottom:8px}.project-card-desc{font-size:13px;color:var(--text-2);line-height:1.55}.project-shell{display:flex;height:100vh;overflow:hidden;background:var(--surface)}.project-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;background:var(--bg)}.app-sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 12px;overflow-y:auto;overflow-x:hidden;transition:width var(--t),min-width var(--t)}.app-sidebar.collapsed{width:64px;min-width:64px;padding:16px 8px}.app-sidebar.collapsed .sidebar-nav-label,.app-sidebar.collapsed .sidebar-nav-caret,.app-sidebar.collapsed .sidebar-nav-children,.app-sidebar.collapsed .sidebar-nav-soon-tag,.app-sidebar.collapsed .app-sidebar-brand span,.app-sidebar.collapsed .app-sidebar-project-block,.app-sidebar.collapsed .app-sidebar-user-meta{display:none}.app-sidebar.collapsed .sidebar-nav-item{justify-content:center;padding-left:12px;padding-right:12px;gap:0}.app-sidebar.collapsed .app-sidebar-brand{justify-content:center;padding-left:0;padding-right:0}.app-sidebar.collapsed .app-sidebar-user{justify-content:center;padding-left:8px;padding-right:8px}.app-sidebar.collapsed .sidebar-nav-soon{display:none}.app-sidebar-header{display:flex;align-items:center;gap:4px;margin-bottom:8px}.app-sidebar-header .app-sidebar-brand{flex:1;min-width:0;margin-bottom:0}.app-sidebar.collapsed .app-sidebar-header{flex-direction:column;gap:8px}.app-sidebar-collapse{flex:none;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--r-lg);color:var(--text-2);cursor:pointer;transition:background var(--t),color var(--t)}.app-sidebar-collapse:hover{background:#0000000f;color:var(--text)}.app-sidebar-collapse:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.app-sidebar.collapsed .app-sidebar-collapse-icon{transform:rotate(180deg)}.app-sidebar-brand{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:8px;border:none;background:transparent;font-family:var(--font);font-size:14px;font-weight:700;color:var(--text);cursor:pointer;text-align:left;border-radius:var(--r);transition:background var(--t)}.app-sidebar-brand:hover{background:#0000000d}.app-sidebar-brand svg{color:var(--primary);flex-shrink:0}.app-sidebar-project{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:4px 12px 12px;border-bottom:1px solid var(--border);margin-bottom:12px}.app-sidebar-nav{display:flex;flex-direction:column;gap:3px}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-lg);font-size:13px;font-weight:500;color:var(--text-2);text-decoration:none;transition:all var(--t)}.sidebar-nav-item:hover{background:#2563eb0f;color:var(--text)}.sidebar-nav-item.active{background:var(--accent-glow);color:var(--primary);font-weight:600}.sidebar-nav-item svg{opacity:.7;flex-shrink:0}.sidebar-nav-item.active svg{opacity:1;color:var(--primary)}.sidebar-nav-group{display:flex;flex-direction:column}.sidebar-nav-parent{width:100%;border:none;background:transparent;font-family:var(--font);cursor:pointer;text-align:left}.sidebar-nav-label{flex:1}.sidebar-nav-caret{opacity:.6;flex-shrink:0;transition:transform var(--t);transform:rotate(-90deg)}.sidebar-nav-caret.open{transform:rotate(0)}.sidebar-nav-children{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px}.app-sidebar-user{margin-top:auto;display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:none;border-top:1px solid var(--border);background:transparent;cursor:pointer;font-family:var(--font);border-radius:0;transition:background var(--t)}.app-sidebar-user:hover{background:#0000000a}.app-sidebar-user:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.app-sidebar-user-avatar{flex:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--primary-light, #eef2ff);color:var(--primary, #4f46e5);font-size:12px;font-weight:700;letter-spacing:.02em}.app-sidebar-user-meta{display:flex;flex-direction:column;min-width:0}.app-sidebar-user-email{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-user-status{font-size:11.5px;color:var(--text-3, var(--text-2))}.sidebar-nav-child{padding-left:42px;font-size:12.5px;font-weight:500}.sidebar-nav-soon{color:var(--text-3, var(--text-2));cursor:default;opacity:.6;justify-content:flex-start;gap:8px}.sidebar-nav-soon:hover{background:transparent}.sidebar-nav-soon-tag{font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border:1px solid var(--border-2);border-radius:999px;color:var(--text-2)}.shell-page{padding:32px 40px 48px}.shell-page--flush{padding:0}.shell-page--flush .page{padding:32px 40px 48px;max-width:none;margin:0}.shell-page-header{margin-bottom:28px}.shell-page-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.shell-page-sub{font-size:14px;color:var(--text-2)}.placeholder-panel{background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-xl);padding:64px 32px;text-align:center}.placeholder-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:8px}.placeholder-text{font-size:14px;color:var(--text-2)}.connectors-page{max-width:none}.connectors-header{margin-bottom:32px}.connectors-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.connectors-title{display:flex;align-items:center;gap:10px}.connectors-title h1{font-size:22px;font-weight:700;letter-spacing:-.02em}.connectors-title svg{color:var(--text-2)}.connectors-search{position:relative;max-width:100%}.connectors-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.connectors-search-input{width:100%;padding:11px 14px 11px 40px;border:1px solid var(--border);border-radius:var(--r);font-family:var(--font);font-size:14px;background:var(--surface);outline:none;transition:border-color var(--t)}.connectors-search-input:focus{border-color:var(--primary-2)}.connector-category{margin-bottom:36px}.connector-category-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:16px}.connectors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:12px;max-width:960px}.connector-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 12px;min-width:100px;background:#fafafa;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color var(--t),box-shadow var(--t);font-family:var(--font)}.connector-tile:hover{border-color:#c8c8c8;box-shadow:0 2px 8px #0000000f}.connector-tile-icon-wrap{width:44px;height:44px;border-radius:8px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.connector-icon-fallback{display:flex;align-items:center;justify-content:center;line-height:1}.connector-tile-icon{width:40px;height:40px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700}.connector-tile-name{font-size:11.5px;font-weight:500;color:var(--text);text-align:center;line-height:1.3}.connectors-toast{position:fixed;bottom:24px;right:24px;background:var(--text);color:#fff;padding:12px 18px;border-radius:var(--r-lg);font-size:13px;box-shadow:var(--shadow-md);z-index:300}.kb-catalog-page{max-width:none}.kb-catalog-header-ref{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}.kb-catalog-header-left .shell-page-title{margin:0 0 6px}.kb-catalog-header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-actions-group{display:flex;align-items:center;gap:8px;flex-shrink:0}.import-dropdown-wrap{position:relative}.import-dropdown-btn{display:inline-flex;align-items:center;gap:4px}.import-dropdown-menu{left:0;right:auto;min-width:180px}.kb-catalog-search-ref{position:relative;min-width:240px}.kb-catalog-search-ref svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.kb-catalog-search-ref .connectors-search-input{padding-left:40px;min-width:240px}.kb-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.kb-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;transition:border-color var(--t),box-shadow var(--t);font-family:var(--font);min-height:160px}.kb-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.kb-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.kb-card-icon{width:36px;height:36px;border-radius:8px;background:var(--blue-dim);color:var(--blue);display:flex;align-items:center;justify-content:center}.kb-card-type-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--text-2)}.kb-card-type-structured{background:var(--green-dim);color:var(--green);border-color:transparent}.kb-card-title-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.kb-card-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kb-status-ready{background:var(--green)}.kb-status-indexing{background:#f59e0b}.kb-status-error{background:var(--red, #dc2626)}.kb-card-name{font-size:15px;font-weight:600;color:var(--text)}.kb-card-desc{font-size:13px;color:var(--text-2);line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 12px}.kb-card-footer{display:flex;justify-content:space-between;font-size:11px;color:var(--text-3);margin-top:auto;padding-top:8px;border-top:1px solid var(--border)}.kb-wizard-modal{max-width:620px;width:calc(100% - 32px)}.kb-wizard-hint{padding:0 4px}.kb-wizard-steps{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap}.kb-wizard-step{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);padding:4px 8px;border-radius:var(--r)}.kb-wizard-step.active{color:var(--primary);background:var(--primary-dim);font-weight:600}.kb-wizard-step.done{color:var(--text-2)}.kb-wizard-step-num{width:20px;height:20px;border-radius:50%;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px}.kb-wizard-step.active .kb-wizard-step-num{background:var(--primary);color:#fff;border-color:var(--primary)}.kb-wizard-body{min-height:200px}.kb-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.kb-toggle-row:last-child{border-bottom:none}.kb-slider{width:100%}.kb-review-list{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;font-size:13px}.kb-review-list dt{color:var(--text-3);font-weight:500}.kb-review-list dd{margin:0;color:var(--text)}.kb-create-modal{max-width:560px;width:calc(100% - 32px)}.kb-create-form{display:flex;flex-direction:column;gap:4px}.kb-create-advanced{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin-top:4px;padding-top:8px;border-top:1px solid var(--border)}.form-segment{display:flex;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.form-segment-btn{flex:1;padding:8px 12px;border:none;background:var(--surface);font-family:var(--font);font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer;transition:background var(--t),color var(--t)}.form-segment-btn+.form-segment-btn{border-left:1px solid var(--border)}.form-segment-btn.active{background:var(--primary-dim);color:var(--primary)}.form-toggle{display:flex;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.form-toggle-btn{flex:1;padding:8px 12px;border:none;background:var(--surface);font-family:var(--font);font-size:13px;color:var(--text-2);cursor:pointer}.form-toggle-btn+.form-toggle-btn{border-left:1px solid var(--border)}.form-toggle-btn.active{background:var(--primary-dim);color:var(--primary);font-weight:500}.form-hint{display:block;font-size:12px;color:var(--text-3);margin-top:4px}.data-source-options{display:flex;flex-wrap:wrap;gap:12px 20px;margin-bottom:8px}.data-source-option{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.data-source-option--disabled{opacity:.55;cursor:not-allowed}.data-source-panel{margin-top:8px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r)}.connector-checklist{display:flex;flex-direction:column;gap:8px}.connector-check-item{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.kb-detail-page{padding:0;max-width:none}.kb-detail-header{padding:20px 24px 0;background:var(--surface)}.kb-detail-header-left{display:flex;flex-direction:column;gap:4px}.kb-detail-back{align-self:flex-start;padding-left:0}.kb-detail-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0}.kb-detail-sub{margin:0}.kb-detail-tabs{display:flex;gap:0;padding:0 24px;border-bottom:1px solid var(--border);background:var(--surface);overflow-x:auto}.kb-detail-tab{padding:12px 16px;border:none;background:none;font-family:var(--font);font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.kb-detail-tab:hover{color:var(--text)}.kb-detail-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.kb-detail-content{padding:24px}.kb-tab-panel{max-width:960px}.kb-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.kb-stat-card{padding:16px 20px}.kb-stat-label{font-size:12px;color:var(--text-3);margin-bottom:4px}.kb-stat-value{font-size:24px;font-weight:700;text-transform:capitalize}.kb-progress-wrap{margin-bottom:20px}.kb-progress-bar{height:8px;background:var(--bg);border-radius:999px;overflow:hidden;margin-bottom:6px}.kb-progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .3s ease}.kb-settings-title{font-size:14px;font-weight:600;margin-bottom:12px}.kb-settings-list{display:grid;grid-template-columns:140px 1fr;gap:8px 16px;font-size:13px}.kb-settings-list dt{color:var(--text-3);font-weight:500}.kb-settings-list dd{margin:0;color:var(--text)}.kb-doc-actions{display:flex;gap:4px}.kb-test-query-form textarea{min-height:80px}.kb-answer-card{padding:16px 20px;margin-bottom:16px}.kb-answer-title,.kb-chunks-title{font-size:14px;font-weight:600;margin-bottom:8px}.kb-chunk-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.kb-chunk-content{font-size:13px;color:var(--text-2);line-height:1.5;margin:0}.kb-api-block{padding:16px 20px}.kb-api-label{font-size:13px;font-weight:600;margin-bottom:8px}.kb-api-code{font-size:13px;color:var(--primary)}.kb-api-pre,.kb-json-preview{font-size:12px;background:var(--bg);padding:12px;border-radius:var(--r);overflow-x:auto;margin:0;white-space:pre-wrap;word-break:break-word}.kb-settings-form{padding:20px}.kb-danger-zone{padding:20px;border-color:#dc262633}.alert-success{background:var(--green-dim);color:var(--green);border:1px solid rgba(22,163,74,.2);padding:10px 14px;border-radius:var(--r);font-size:13px}.kb-table-list{margin:8px 0 0;padding-left:20px;font-size:13px}.entity-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.entity-card{display:flex;flex-direction:column;text-align:left;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;transition:border-color var(--t),box-shadow var(--t);font-family:var(--font);min-height:150px}.entity-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.entity-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.entity-card-icon{width:36px;height:36px;border-radius:8px;background:var(--green-dim);color:var(--green);display:flex;align-items:center;justify-content:center}.entity-card-slug{font-size:10px;font-weight:600;color:var(--text-3);text-transform:uppercase}.entity-card-name{font-size:15px;font-weight:600;margin:0 0 8px}.entity-card-desc{font-size:13px;color:var(--text-2);flex:1;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.entity-card-footer{display:flex;justify-content:space-between;font-size:11px;color:var(--text-3);padding-top:8px;border-top:1px solid var(--border)}.schema-builder-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}.schema-field-row{padding:12px;margin-bottom:8px;display:flex;flex-direction:column;gap:8px}.schema-builder-preview{position:sticky;top:16px}.entity-instance-form{display:flex;flex-direction:column;gap:12px}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--bg)}.agent-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.agent-card{display:flex;flex-direction:column;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;transition:border-color var(--t),box-shadow var(--t);min-height:160px;position:relative}.agent-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.agent-template-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-height:160px}.agent-template-card-body h3{margin:0 0 6px;font-size:15px}.agent-template-card-body p{margin:0;color:var(--text-2);font-size:13px;line-height:1.5}.mao-agent-picker,.mao-query-card,.mao-plan-card{margin-bottom:16px}.mao-agent-picker h3,.mao-plan-card h3{margin:0 0 12px;font-size:15px}.mao-agent-list{display:flex;flex-direction:column;gap:8px}.mao-agent-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-lg)}.mao-agent-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1;min-width:0}.mao-agent-name{font-weight:600;font-size:13.5px;flex-shrink:0}.mao-agent-desc{color:var(--text-2);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mao-query-card{display:flex;align-items:center;gap:12px}.agent-card-header{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin-bottom:10px}.agent-pill-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.agent-card-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-status-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px;letter-spacing:.03em;white-space:nowrap}.agent-status-draft{background:#f3f4f6;color:#6b7280}.agent-status-active{background:var(--green-dim);color:var(--green)}.agent-status-pending{background:#fef3c7;color:#d97706}.agent-status-building{background:var(--blue-dim);color:var(--blue)}.agent-status-error{background:#dc26261a;color:#dc2626}.agent-card-menu{position:relative}.agent-menu-btn{padding:4px}.agent-dropdown{position:absolute;top:100%;right:0;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-md);min-width:120px;padding:4px 0}.agent-dropdown button{display:block;width:100%;text-align:left;padding:8px 14px;border:none;background:none;font-family:var(--font);font-size:13px;cursor:pointer;color:var(--text)}.agent-dropdown button:hover{background:var(--bg)}.agent-dropdown button.danger{color:#dc2626}.agent-card-desc{font-size:13px;color:var(--text-2);line-height:1.5;flex:1;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.agent-card-footer{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.05em;color:var(--text-3);padding-top:10px;border-top:1px solid var(--border)}.agent-status-filter{max-width:140px;padding:8px 12px;font-size:13px}.agent-builder-body{padding:24px}.agent-prompt-input{font-family:ui-monospace,monospace;font-size:13px}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.search-layout,.hero-cards{grid-template-columns:1fr}}@media(max-width:768px){.login-shell{grid-template-columns:1fr}.login-brand{padding:32px 24px;min-height:auto}.login-form-panel{padding:32px 24px}.projects-page{padding:24px 20px}.project-shell{flex-direction:column}.app-sidebar{width:100%;min-width:0;flex-direction:row;flex-wrap:wrap;padding:12px}.app-sidebar-nav{flex-direction:row;flex-wrap:wrap;width:100%}.shell-page,.shell-page--flush .page{padding:20px 16px 32px}.topbar,.app-nav-wrap{padding:0 16px}.page{padding:0 16px 32px}.hero{padding:24px 20px}.hero-title{font-size:22px}.topbar-chip{display:none}.stats-grid{grid-template-columns:1fr 1fr}.pipeline-bar{flex-wrap:wrap}.pipeline-bar-item{min-width:50%;border-bottom:1px solid var(--border)}.kb-create-advanced{grid-template-columns:1fr}.di-parsers-grid{grid-template-columns:1fr 1fr}}.di-page-header{margin-bottom:32px}.di-page-title-row{display:flex;align-items:center;gap:16px}.di-page-icon{font-size:32px;line-height:1;flex-shrink:0}.di-section{margin-bottom:40px}.di-parsers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.di-parser-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--r-xl);padding:20px;box-shadow:var(--shadow-xs);transition:all var(--t);text-align:left;font-family:var(--font);cursor:default;width:100%}.di-parser-card.clickable{cursor:pointer}.di-parser-card.clickable:hover{box-shadow:var(--shadow-sm);border-color:var(--primary-2);background:var(--primary-light);transform:translateY(-2px)}.di-parser-card.selected{border-color:var(--primary-2);background:var(--primary-light);box-shadow:0 0 0 3px var(--accent-glow),var(--shadow-sm)}.di-parser-card.disabled{opacity:.6;cursor:not-allowed}.di-parser-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.di-parser-icon{font-size:26px;line-height:1}.di-parser-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}.di-parser-desc{font-size:12.5px;color:var(--text-2);line-height:1.55}.di-parser-cta{display:flex;align-items:center;gap:5px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:12px;font-weight:600;color:var(--primary)}.di-parser-card.selected .di-parser-cta{color:var(--primary-hover)}.di-select-hint{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--text-3)}.di-upload-panel-wrap{margin-top:20px;animation:di-panel-in .22s cubic-bezier(.4,0,.2,1)}@keyframes di-panel-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.di-upload-panel{background:var(--surface);border:2px solid var(--primary-2);border-radius:var(--r-xl);box-shadow:0 0 0 4px var(--accent-glow),var(--shadow-md);overflow:hidden}.di-upload-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:linear-gradient(135deg,var(--primary-light),#f0f7ff);border-bottom:1px solid rgba(37,99,235,.15)}.di-upload-panel-title{display:flex;align-items:center;gap:14px}.di-upload-panel-icon{font-size:28px;line-height:1;flex-shrink:0}.di-upload-panel-name{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.01em;margin-bottom:2px}.di-upload-panel-sub{font-size:12.5px;color:var(--text-2);line-height:1.5}.di-upload-panel-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border-2);background:var(--surface);border-radius:var(--r);color:var(--text-2);cursor:pointer;transition:all var(--t);flex-shrink:0}.di-upload-panel-close:hover{background:var(--red-dim);border-color:#dc262633;color:var(--red)}.di-upload-panel-body{padding:24px 22px}.di-endpoints-list{display:flex;flex-direction:column;gap:10px;max-width:900px}.di-endpoint-row{display:grid;grid-template-columns:60px auto 1fr;align-items:center;gap:16px;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs)}.di-method-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;background:var(--blue-dim);color:var(--blue);border:1px solid rgba(37,99,235,.2);border-radius:var(--r-sm);font-size:11px;font-weight:700;font-family:var(--mono);letter-spacing:.05em;white-space:nowrap}.di-endpoint-path-wrap{display:flex;align-items:center;gap:8px}.di-endpoint-path{font-family:var(--mono);font-size:12.5px;color:var(--text);white-space:nowrap}.di-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-3);cursor:pointer;transition:all var(--t);flex-shrink:0}.di-copy-btn:hover{background:var(--surface-3);color:var(--text)}.di-copy-btn svg{color:inherit}.di-endpoint-desc{font-size:13px;color:var(--text-2);line-height:1.5}.di-upload-section{display:flex;flex-direction:column;gap:0}.di-parser-select{cursor:pointer}.di-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 24px;border:2px dashed var(--border-2);border-radius:var(--r-xl);background:var(--surface-2);cursor:pointer;transition:all var(--t);margin-bottom:12px;text-align:center;-webkit-user-select:none;user-select:none}.di-drop-zone:hover,.di-drop-zone.dragging{border-color:var(--primary-2);background:var(--primary-light)}.di-drop-zone:hover .di-drop-icon,.di-drop-zone.dragging .di-drop-icon{color:var(--primary)}.di-drop-icon{color:var(--text-3);transition:color var(--t)}.di-drop-text{display:flex;flex-direction:column;gap:4px}.di-drop-primary{font-size:14px;font-weight:600;color:var(--text)}.di-drop-secondary{font-size:12.5px;color:var(--text-3)}.di-browse-link{color:var(--primary);font-weight:600}.di-file-info{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:4px;color:var(--text-2)}.di-file-name{font-size:13px;font-weight:500;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.di-file-size{font-size:12px;font-family:var(--mono);color:var(--text-3);white-space:nowrap}.di-file-remove{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;color:var(--text-3);cursor:pointer;font-size:14px;border-radius:var(--r-sm);transition:all var(--t);flex-shrink:0}.di-file-remove:hover{background:var(--red-dim);color:var(--red)}.di-success-area{margin-top:20px;display:flex;flex-direction:column;gap:16px}.di-success-banner{display:flex;align-items:center;gap:10px;padding:13px 18px;background:var(--green-dim);border:1px solid rgba(5,150,105,.2);border-radius:var(--r-lg);font-size:13.5px;font-weight:500;color:var(--green)}.di-result-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden}.di-result-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.di-result-label{font-size:12.5px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}.di-result-json{padding:16px 18px;font-family:var(--mono);font-size:12px;color:var(--text);line-height:1.7;overflow-x:auto;background:var(--surface-2);margin:0;max-height:360px;overflow-y:auto}@media(max-width:768px){.di-endpoint-row{grid-template-columns:1fr;gap:8px}.di-parsers-grid,.kb-overview-grid{grid-template-columns:1fr}.kb-catalog-header-ref{flex-direction:column}.schema-builder-split{grid-template-columns:1fr}.agent-card-header{grid-template-columns:auto 1fr auto}}.form-row{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.di-parser-accepts{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.di-file-chip{font-size:10px;font-weight:600;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:var(--r-sm);background:var(--surface-3);color:var(--text-2);border:1px solid var(--border)}.di-error-banner{display:flex;align-items:flex-start;gap:10px;padding:13px 18px;background:var(--red-dim);border:1px solid rgba(220,38,38,.2);border-radius:var(--r-lg);font-size:13.5px;font-weight:500;color:var(--red);margin-top:20px;line-height:1.5}.di-result-stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.di-confidence-wrap{display:flex;align-items:center;gap:10px}.di-confidence-bar-bg{flex:1;height:6px;background:var(--border);border-radius:99px;overflow:hidden;min-width:80px}.di-confidence-bar-fill{height:100%;border-radius:99px;background:var(--green);transition:width .5s cubic-bezier(.4,0,.2,1)}.di-confidence-bar-fill.amber{background:var(--amber)}.di-confidence-val{font-size:13px;font-weight:700;font-family:var(--mono);color:var(--text);white-space:nowrap}.di-result-json .json-key{color:#7c3aed}.di-result-json .json-str{color:#059669}.di-result-json .json-num{color:#d97706}.di-result-json .json-bool{color:#2563eb}.di-result-json .json-null{color:#9ca3af}.di-skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;border-radius:var(--r)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.di-skeleton-card{height:140px;border-radius:var(--r-xl)}.di-btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.di-processing-state{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--blue-dim);border:1px solid rgba(37,99,235,.2);border-radius:var(--r-lg);font-size:13.5px;color:var(--blue);font-weight:500;margin-top:20px}.di-processing-spinner{width:16px;height:16px;border:2px solid rgba(37,99,235,.3);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.di-result-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;padding:16px;border-bottom:1px solid var(--border);background:var(--surface)}.di-meta-item{display:flex;flex-direction:column;gap:3px}.di-meta-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.di-meta-value{font-size:13px;font-weight:600;color:var(--text)}.projects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.projects-search{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text-3);flex:1;max-width:340px;transition:border-color var(--t)}.projects-search:focus-within{border-color:var(--primary-2)}.projects-search-input{border:0;outline:0;background:transparent;font-family:var(--font);font-size:14px;color:var(--text);padding:9px 0;width:100%}.projects-search-input::placeholder{color:var(--text-3)}.project-card{display:flex;flex-direction:column;min-height:190px}.project-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.project-card-avatar{width:40px;height:40px;border-radius:var(--r-lg);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:-.02em}.project-card-slug{font-size:12px;color:var(--text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-bottom:10px}.project-card-desc{flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--text-3)}.project-card-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-new{align-items:center;justify-content:center;text-align:center;border-style:dashed;border-color:var(--border-2);background:transparent;box-shadow:none}.project-card-new:hover{border-color:var(--primary-2);background:var(--primary-light)}.project-card-new-icon{width:40px;height:40px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.project-card-new .project-card-desc{flex:0 0 auto;display:block;max-width:200px}.project-card-skeleton{cursor:default;pointer-events:none;background:linear-gradient(100deg,var(--surface) 30%,var(--surface-3) 50%,var(--surface) 70%);background-size:220% 100%;animation:project-shimmer 1.3s infinite linear}@keyframes project-shimmer{to{background-position:-220% 0}}.projects-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl)}.projects-empty-title{font-size:17px;font-weight:600;margin:4px 0 6px}.projects-empty-sub{font-size:14px;color:var(--text-2);max-width:400px;margin-bottom:20px;line-height:1.6}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50;animation:modal-fade .12s ease-out}@keyframes modal-fade{0%{opacity:0}}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:0 20px 50px #00000038;width:100%;max-width:480px;animation:modal-rise .14s ease-out}@keyframes modal-rise{0%{transform:translateY(8px);opacity:0}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-title{font-size:17px;font-weight:600}.modal-close{background:transparent;border:0;font-size:22px;line-height:1;color:var(--text-3);cursor:pointer;padding:2px 6px;border-radius:var(--r-sm)}.modal-close:hover{background:var(--surface-3);color:var(--text)}.modal-body{padding:20px 24px 24px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.app-sidebar-project-block{margin-bottom:4px}.app-sidebar-allprojects{display:flex;align-items:center;gap:6px;background:transparent;border:0;cursor:pointer;font-family:var(--font);font-size:12px;color:var(--text-3);padding:2px 20px 10px;transition:color var(--t)}.app-sidebar-allprojects:hover{color:var(--primary)}.agent-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.agent-card{display:flex;flex-direction:column;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px;cursor:pointer;font-family:var(--font);box-shadow:var(--shadow-xs);transition:all var(--t)}.agent-card:hover{border-color:var(--primary-2);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.agent-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.agent-card-icon{width:38px;height:38px;border-radius:var(--r-lg);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center}.agent-card-icon.accent-red{background:var(--red-dim);color:var(--red)}.agent-card-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:2px}.agent-card-subtitle{font-size:12px;color:var(--text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px}.agent-card-rows{margin:0;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.agent-card-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px}.agent-card-row dt{color:var(--text-3);margin:0}.agent-card-row dd{margin:0;color:var(--text-2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back-link{margin-bottom:12px;gap:6px;padding-left:0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px 24px}.detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);margin-bottom:4px}.detail-value{font-size:14px;color:var(--text);word-break:break-word}.detail-value.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.detail-pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:380px;overflow:auto;margin:0}.alert-danger{border-color:var(--red);background:var(--red-dim);color:var(--text);font-size:13px;line-height:1.6}.row-clickable{cursor:pointer}.row-clickable:hover{background:var(--surface-2)}.kb-row-name{font-weight:600}.kb-row-desc{font-size:12px;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:11px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:top}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--bg)}.table th.num{text-align:right}.table .cell-title{font-weight:550}.table .row-clickable{cursor:pointer}.table .row-clickable:hover .cell-title{color:var(--primary-2)}.version-list{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}.version-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;transition:border-color var(--t),background var(--t)}.version-row:hover{background:var(--surface-2)}.version-row.selected{border-color:var(--primary-2);background:var(--primary-light)}.version-num{font-weight:600;min-width:34px}.version-digest{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-3)}.version-actions{margin-left:auto;display:flex;gap:8px}.instruction-list{margin:0;padding-left:20px;font-size:14px;line-height:1.8;color:var(--text-2)}.alert-warn{border-color:var(--amber);background:var(--amber-dim);color:var(--text);font-size:13px;line-height:1.6}.modal-sub{font-size:13px;color:var(--text-3);margin:-6px 0 16px;line-height:1.6}.config-form{padding:0;max-width:820px}.tabs{display:flex;gap:2px;padding:0 8px;border-bottom:1px solid var(--border);overflow-x:auto}.tab{display:flex;align-items:center;gap:6px;padding:12px 14px;border:0;background:none;font-size:13px;font-weight:500;color:var(--text-3);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--t),border-color var(--t)}.tab:hover{color:var(--text)}.tab.active{color:var(--primary-2);border-bottom-color:var(--primary-2)}.tab-count{font-size:11px;font-weight:600;padding:1px 6px;border-radius:999px;background:var(--primary-light);color:var(--primary-2)}.tab-soon{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);border:1px solid var(--border);border-radius:4px;padding:0 4px}.tab-panel{padding:20px}.tab-empty{color:var(--text-2);font-size:14px;line-height:1.7}.tab-empty h3{margin-top:0}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice{flex:1 1 220px;display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;transition:border-color var(--t),background var(--t)}.choice:hover:not(:disabled){border-color:var(--primary-2)}.choice.active{border-color:var(--primary-2);background:var(--primary-light)}.choice:disabled{cursor:default;opacity:.7}.choice-label{font-size:13px;font-weight:600;color:var(--text)}.choice-hint{font-size:12px;line-height:1.5;color:var(--text-3)}.kb-enrichment-intro{margin:0 0 18px;max-width:52rem}.config-form-actions{padding:16px 20px;border-top:1px solid var(--border)}.sub-agent-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.sub-agent-row{padding:14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2)}.sub-agent-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.sub-agent-ref{font-weight:600;font-size:14px}.sub-agent-pin{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-3)}.sub-agent-head .btn{margin-left:auto}.sub-agent-results{display:flex;flex-direction:column;gap:6px;margin-top:8px}.sub-agent-result{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;text-align:left;font-size:13px;transition:border-color var(--t),background var(--t)}.sub-agent-result:hover{border-color:var(--primary-2);background:var(--primary-light)}.sub-agent-add{margin-left:auto;font-weight:600;color:var(--primary-2)}.section{margin-top:28px}.section-title{font-size:15px;font-weight:650;margin:0 0 4px}.cell-title{font-weight:600}.row-actions{display:flex;align-items:center;gap:8px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.callout{border:1px solid var(--border);border-left:3px solid var(--primary-2);border-radius:8px;padding:12px 14px;margin:16px 0;font-size:13px;line-height:1.55;background:var(--surface-2)}.callout-warn{border-left-color:var(--amber);background:var(--amber-dim);color:var(--text)}.callout p{margin:4px 0 0}.search-row{display:flex;gap:8px;margin:8px 0 4px}.search-row .input{flex:1}.passage{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-top:8px;background:var(--surface)}.passage-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:12px}.passage-score{font-variant-numeric:tabular-nums;font-weight:650;color:var(--primary-2)}.passage-text{margin:0;font-size:13px;line-height:1.6;white-space:pre-wrap}.kv{display:grid;grid-template-columns:180px 1fr;gap:6px 16px;margin:8px 0 0;font-size:13px}.kv dt{color:var(--text-muted)}.kv dd{margin:0}.kv-strip{display:flex;flex-wrap:wrap;gap:0;grid-template-columns:none;margin:0 0 18px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.kv-strip>div{padding:0 20px;border-left:1px solid var(--border)}.kv-strip>div:first-child{padding-left:0;border-left:none}.kv-strip dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);margin-bottom:2px}.kv-strip dd{font-size:13px;color:var(--text)}.answer{border:1px solid var(--primary-2);border-radius:10px;padding:14px 16px;margin-top:12px;background:var(--primary-light)}.answer-text{margin:0 0 10px;font-size:14px;line-height:1.7;white-space:pre-wrap;color:var(--text)}.answer-meta{font-size:12px;font-variant-numeric:tabular-nums}.stat-warn{color:var(--red);font-weight:600;text-decoration:none}.stat-warn:hover{text-decoration:underline}.muted{color:var(--text-2);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:13px;font-weight:600;color:var(--text)}.field-wide{grid-column:1 / -1}.field-hint{color:var(--text-2);font-size:12px;line-height:1.5}.empty-state{border:1px dashed var(--border-2);border-radius:10px;padding:40px 24px;text-align:center;color:var(--text-2)}.cell-strong{font-weight:600;color:var(--text)}.cell-actions{text-align:right;white-space:nowrap}.cat-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.cat-source{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.cat-source-curated{color:var(--primary-2);font-weight:700}.cat-source-introspected,.cat-source-derived{color:var(--text-2)}.cat-source-generated{color:var(--amber);font-weight:700}.cat-source-imported{color:var(--primary-2)}.cat-page-busy{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#0f172a80;color:#fff;font-weight:600}.cat-spinner{width:38px;height:38px;border-radius:50%;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;animation:cat-spin .8s linear infinite}@keyframes cat-spin{to{transform:rotate(360deg)}}.btn-accent{background:#7c3aed;color:#fff;border:1px solid #7c3aed}.btn-accent:hover:not(:disabled){background:#6d28d9}.btn-accent:disabled{opacity:.45;cursor:not-allowed}.cat-pii{color:var(--red);font-weight:700}.cat-incomplete{color:var(--amber)}.cat-context{white-space:pre-wrap;font-family:var(--mono, ui-monospace, monospace);font-size:12.5px;line-height:1.55;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:16px;overflow-x:auto;max-height:60vh}.cat-answer{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:16px;margin-top:14px}.cat-sql{white-space:pre-wrap;font-family:var(--mono, ui-monospace, monospace);font-size:12.5px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin:8px 0;overflow-x:auto}.cat-warn{color:var(--amber);font-size:12.5px;line-height:1.5;margin:4px 0}.cat-refusal{color:var(--red);font-weight:600}.cat-editable{background:transparent;border:1px solid transparent;border-radius:5px;padding:4px 6px;color:var(--text);width:100%;font:inherit}.cat-editable:hover{border-color:var(--border-2)}.cat-editable:focus{border-color:var(--primary-2);background:var(--surface);outline:none}.cat-note{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-size:13px;padding:12px 14px;margin-bottom:16px}.cat-inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2)}.btn-xs{padding:1px 6px;font-size:12px;margin-left:6px}.form-col{display:flex;flex-direction:column;gap:4px;max-width:620px}.form-section{border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin:0 0 16px}.form-section>h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);margin:0 0 14px;font-weight:700}.form-section .field{margin-bottom:14px}.form-section .field:last-child{margin-bottom:0}.project-topbar{position:sticky;top:0;z-index:20;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.top-crumb{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.top-crumb-project{font-weight:650;color:var(--text);white-space:nowrap}.top-crumb-sep{color:var(--text-3)}.top-crumb-section{color:var(--text-2, var(--text-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;align-items:center;gap:10px}.top-search{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:7px 12px;width:320px;color:var(--text-3);transition:border-color var(--t)}.top-search:focus-within{border-color:var(--primary)}.top-search input{border:none;background:transparent;outline:none;flex:1;min-width:0;font-size:13.5px;font-family:var(--font);color:var(--text)}.top-search input::placeholder{color:var(--text-3)}.top-search input::-webkit-search-cancel-button{-webkit-appearance:none}.top-icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border);background:var(--surface);border-radius:10px;color:var(--text-2);cursor:pointer;transition:all var(--t)}.top-icon-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-2)}.top-icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}:root[data-theme=dark]{--bg: #0b0f14;--surface: #131a22;--surface-2: #0f161d;--surface-3: #1c2732;--hero-bg: #10202f;--border: #26333f;--border-2: #33414f;--text: #e6ecf1;--text-2: #9aa7b4;--text-3: #6b7885;--text-soft: #cbd4dc;--primary: #3b82f6;--primary-2: #60a5fa;--primary-light: #14243a;--primary-hover: #2563eb;--accent: #3b82f6;--accent-dim: #14243a;--accent-glow: rgba(59, 130, 246, .2);--green: #34d399;--green-dim: #0f2a1f;--red: #f87171;--red-dim: #2f1416;--amber: #fbbf24;--amber-dim: #2b2210;--blue: #60a5fa;--blue-dim: #14243a;--yellow: #fbbf24;--yellow-dim: #2b2210}\feff.ruleset-view-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ruleset-view-actions{display:flex;gap:8px;flex-shrink:0}.ruleset-view-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}.ruleset-view-search{flex:1 1 200px;min-width:160px;max-width:360px}.ruleset-doc-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.ruleset-doc{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);overflow:hidden}.ruleset-doc-head{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;border:0;background:transparent;cursor:pointer;text-align:left;color:var(--text);font:inherit}.ruleset-doc-head:hover{background:color-mix(in srgb,var(--surface) 60%,transparent)}.ruleset-doc-chevron{font-size:10px;color:var(--text-muted);width:1em}.ruleset-doc-title{font-weight:600;font-size:14px;flex:1;min-width:0;word-break:break-word}.ruleset-doc-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.ruleset-doc-error{margin:0;padding:0 14px 10px;font-size:12px;color:var(--red)}.ruleset-rule-list{list-style:none;margin:0;padding:0 0 8px;border-top:1px solid var(--border);max-height:560px;overflow:auto}.ruleset-rule{padding:12px 14px;border-bottom:1px solid var(--border)}.ruleset-rule:last-child{border-bottom:0}.ruleset-rule.empty{list-style:none;font-size:13px}.ruleset-rule-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px;font-size:11px;color:var(--text-muted)}.ruleset-rule-num{font-variant-numeric:tabular-nums}.ruleset-rule-kind{text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--text)}.ruleset-rule-page{font-variant-numeric:tabular-nums}.ruleset-rule-id{font-size:10px;opacity:.85}.ruleset-rule-text{font-size:13px;line-height:1.55;color:var(--text);white-space:pre-wrap;word-break:break-word}.md{font-size:13.75px;line-height:1.55;color:var(--text-soft);letter-spacing:-.006em;font-variant-numeric:tabular-nums}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 8px}.md>p:first-child{font-weight:500}.md ul,.md ol{margin:0 0 8px;padding-left:20px}.md li{margin:2px 0}.md li>p{margin:0}.md li::marker{color:var(--text-3)}.md h1,.md h2,.md h3,.md h4{color:var(--text)}.md h1{margin:16px 0 8px;font-size:1.24em;font-weight:700;letter-spacing:-.01em}.md h2{margin:14px 0 6px;font-size:1.1em;font-weight:700;letter-spacing:-.01em}.md h3,.md h4{margin:12px 0 5px;font-size:1em;font-weight:600}.md hr{margin:12px 0;border:0;border-top:1px solid var(--border)}.md blockquote{margin:8px 0;padding:2px 0 2px 12px;border-left:3px solid var(--border-2);color:var(--text-2)}.md strong{font-weight:600;color:var(--text)}.md a{color:var(--primary-2);text-decoration:underline;text-underline-offset:2px}.md code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1.5px 5px;font-size:.87em;font-family:var(--mono)}.md pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;overflow-x:auto;margin:0 0 10px;line-height:1.55}.md pre code{background:none;border:0;padding:0;font-size:.85em}.md .md-table-scroll{overflow-x:auto;margin:0 0 10px;border:1px solid var(--border);border-radius:var(--r)}.md table{border-collapse:collapse;font-size:.88em;width:100%}.md th,.md td{border-bottom:1px solid var(--border);padding:7px 10px;text-align:left;white-space:nowrap}.md th{background:var(--surface-2);font-weight:650;font-size:.85em;text-transform:uppercase;letter-spacing:.03em;color:var(--text-2)}.md tbody tr:last-child td{border-bottom:none}.md tbody tr:hover td{background:var(--surface-2)}.thinking-dots:after{content:"";display:inline-block;width:1.2em;text-align:left;animation:thinking-dots 1.2s steps(4,end) infinite}@keyframes thinking-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@media(prefers-reduced-motion:reduce){.thinking-dots:after{animation:none;content:"…"}}.chat-rise-in{animation:chat-rise-in .18s ease-out}@keyframes chat-rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.chat-rise-in{animation:none}}.chat-msg-row{display:flex;align-items:flex-start;gap:9px;justify-content:flex-start;margin-bottom:10px}.chat-msg-row--user{justify-content:flex-end;margin-bottom:8px}.chat-msg-row--highlight .chat-bubble{animation:chat-msg-pulse 1.6s ease-out}@keyframes chat-msg-pulse{0%{box-shadow:0 0 0 3px var(--accent-glow)}to{box-shadow:none}}.chat-msg-avatar{flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center}.chat-bubble{font-size:13.75px;line-height:1.5;letter-spacing:-.006em}.chat-bubble--user{white-space:pre-wrap;padding:7px 12px;border-radius:14px 14px 4px;background:var(--primary-light);color:var(--text);border:1px solid var(--accent-glow)}.chat-bubble--assistant{background:transparent;color:var(--text)}.chat-bubble--pending{opacity:.6}.chat-msg-label{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;font-weight:600;color:var(--text);letter-spacing:-.003em}.chat-msg-time{font-size:10.5px;font-weight:500;color:var(--text-3);opacity:0;transition:opacity var(--t)}.chat-msg-group:hover .chat-msg-time{opacity:1}.chat-msg-group{min-width:0}.chat-msg-row--user .chat-msg-group{max-width:75%}.chat-msg-row:not(.chat-msg-row--user) .chat-msg-group{max-width:720px;flex:1}.chat-msg-time--user{margin-top:4px;text-align:right}.chat-typing{display:flex;align-items:center;gap:8px;padding:8px 13px;margin-top:1px;width:fit-content}.chat-typing-text{font-size:13px;background:linear-gradient(90deg,var(--text-3) 30%,var(--text) 50%,var(--text-3) 70%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:chat-shimmer 1.6s linear infinite,chat-word-in .25s ease-out}@keyframes chat-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes chat-word-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.chat-typing-elapsed{font-size:11px;font-family:var(--mono);color:var(--text-3);padding-left:7px;border-left:1px solid var(--border)}@media(prefers-reduced-motion:reduce){.chat-typing-text{animation:none;background:none;color:var(--text-2)}}.chat-live-steps{display:flex;flex-direction:column;gap:5px;padding:9px 13px;margin-top:1px;background:var(--surface-2);border-radius:16px 16px 16px 4px;width:fit-content;max-width:100%}.chat-live-step{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-3);animation:chat-word-in .2s ease-out}.chat-live-step-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-live-step-done{flex-shrink:0;color:var(--green)}.chat-live-step--current{color:var(--text);font-weight:550}.chat-live-step-spinner{flex-shrink:0;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--border-2);border-top-color:var(--primary);animation:chat-live-step-spin .7s linear infinite}@keyframes chat-live-step-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.chat-live-step-spinner{animation:none;border-top-color:var(--border-2)}}.chat-copy-btn{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;border-radius:var(--r-sm);color:var(--text-3);cursor:pointer;opacity:0;transition:opacity var(--t),background var(--t),color var(--t)}.chat-msg-group:hover .chat-copy-btn,.chat-copy-btn:focus-visible{opacity:1}.chat-copy-btn:hover{background:var(--surface-2);color:var(--text)}.chat-copy-btn.copied{color:var(--green);opacity:1}.chat-composer-bar{display:flex;align-items:flex-end;gap:8px;padding:7px 7px 7px 16px;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-xs);transition:border-color var(--t),box-shadow var(--t)}.chat-composer-bar:focus-within{border-color:var(--primary-2);box-shadow:0 0 0 3px var(--accent-glow),var(--shadow-sm)}.chat-composer-textarea{flex:1;min-width:0;max-height:150px;resize:none;border:none;background:transparent;outline:none;font-family:var(--font);line-height:1.5;color:var(--text);padding:6px 0}.chat-composer-textarea::placeholder{color:var(--text-3)}.chat-send-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:30%;background:var(--primary);color:#fff;cursor:pointer;transition:background var(--t),opacity var(--t),transform .1s ease-out;margin-bottom:2px}.chat-send-btn:hover:not(:disabled){background:var(--primary-hover)}.chat-send-btn:active:not(:disabled){transform:scale(.92)}.chat-send-btn:disabled{opacity:.35;cursor:not-allowed}.chat-empty{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;color:var(--text-3)}.chat-empty-icon{width:44px;height:44px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.chat-empty-title{font-size:14px;font-weight:600;color:var(--text-2);margin-bottom:4px}.chat-empty-sub{font-size:12.5px;color:var(--text-3);max-width:320px;line-height:1.6}.chat-exchange-count{font-size:11.5px;color:var(--text-3);font-family:var(--mono)}.project-main:has(.chat-page){overflow:hidden;display:flex;flex-direction:column;height:100vh}.chat-page{overflow:hidden;display:flex;flex-direction:column;height:100vh}.page.chat-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;max-width:none;width:100%;padding:10px}.chat-page-header{margin-bottom:12px;flex-shrink:0}.chat-page-header .back-link{margin-bottom:0}.chat-standalone-toggle{position:absolute;top:14px;right:16px;z-index:20}.chat-standalone-toggle .btn{box-shadow:var(--shadow-sm);background:var(--surface)}.standalone-agent-loading{height:100vh;display:flex;align-items:center;justify-content:center}.standalone-agent-loading:after{content:"";width:22px;height:22px;border-radius:50%;border:2px solid var(--border-2);border-top-color:var(--primary);animation:chat-live-step-spin .8s linear infinite}.standalone-agent-error{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:24px}.standalone-agent-error-title{font-size:15px;font-weight:600;color:var(--text)}.standalone-agent-error-sub{font-size:13px;color:var(--text-3);max-width:360px}.chat-shell{display:flex;gap:0;flex:1;min-height:0;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-xs);overflow:hidden}.chat-resize-handle{flex-shrink:0;width:14px;margin:0 -3px;position:relative;cursor:col-resize;z-index:1}.chat-resize-handle:after{content:"";position:absolute;top:8px;bottom:8px;left:50%;width:2px;transform:translate(-50%);border-radius:2px;background:transparent;transition:background var(--t)}.chat-resize-handle:hover:after{background:var(--border-2)}.chat-resize-handle:active:after{background:var(--primary-2)}@media(max-width:1150px){.chat-resize-handle{display:none}}.chat-rail{flex-shrink:0;display:flex;flex-direction:column;gap:10px;background:var(--surface-2);padding:14px 12px;min-height:0}.chat-rail-header{display:flex;align-items:center;gap:10px;padding:0 0 2px}.chat-rail-header-icon{width:30px;height:30px;flex-shrink:0;border-radius:var(--r);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center}.chat-rail-header-text{min-width:0;display:flex;flex-direction:column;gap:3px}.chat-rail-header-name{font-size:13.5px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-rail-open-full{font-size:11px;color:var(--text-3);white-space:nowrap}.chat-rail-open-full:hover{color:var(--primary)}.chat-rail-search{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text-3)}.chat-rail-search-input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:var(--font);font-size:12.5px;color:var(--text)}.chat-rail-search-input::placeholder{color:var(--text-3)}.chat-rail-section-label{display:flex;align-items:center;gap:6px;padding:4px 2px 0;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.chat-rail-section-label span{font-family:var(--mono);font-weight:500;text-transform:none;letter-spacing:normal}.chat-rail-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.chat-rail-empty{font-size:12px;color:var(--text-3);padding:8px 2px;line-height:1.5}.chat-rail-item{flex-shrink:0;display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:var(--r);background:transparent;cursor:pointer;font-family:var(--font);transition:background var(--t),border-color var(--t)}.chat-rail-item:hover{background:var(--surface)}.chat-rail-item.active{background:var(--primary-light);border-color:var(--accent-glow)}.chat-rail-item-time{font-size:12.5px;font-weight:600;color:var(--text-2)}.chat-rail-item.active .chat-rail-item-time{color:var(--primary)}.chat-rail-item-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-3)}.chat-rail-item-meta span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-rail-item-id{font-family:var(--mono);flex-shrink:0}.chat-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.chat-transcript{flex:1;min-height:0;overflow-y:auto;padding:12px 16px}.chat-standalone-toggle+.chat-transcript{padding-top:56px}.chat-alert{display:flex;align-items:flex-start;gap:8px;margin:0 20px 10px;padding:10px 12px;border:1px solid var(--red);border-radius:var(--r);background:var(--red-dim);color:var(--text);font-size:12.5px;line-height:1.5;animation:chat-rise-in .18s ease-out}.chat-alert svg{flex-shrink:0;margin-top:1px;color:var(--red)}.chat-alert span{flex:1}.chat-alert .evidence-icon-btn{flex-shrink:0;margin:-2px -2px -2px 0}.chat-composer-footer{flex-shrink:0;padding:10px 16px 12px}.chat-evidence{flex-shrink:0;display:flex;flex-direction:column;min-height:0;background:var(--surface);border-left:1px solid var(--border)}.chat-evidence-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--surface-2);font-size:12.5px;font-weight:700;color:var(--text);flex-shrink:0}.chat-evidence-header-actions{display:flex;align-items:center;gap:8px}.chat-evidence-count{font-size:11px;font-weight:500;font-family:var(--mono);color:var(--text-3);white-space:nowrap}.chat-evidence-body{flex:1;min-height:0;display:flex}.chat-evidence-scroll{flex:1;min-height:0;min-width:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px;background-image:radial-gradient(var(--border-2) 1px,transparent 1px);background-size:16px 16px}.chat-evidence-minimap{flex-shrink:0;width:14px;display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 0;border-left:1px solid var(--border)}.chat-evidence-minimap-dot{width:6px;height:6px;border-radius:50%;border:none;padding:0;background:var(--border-2);cursor:pointer;transition:background var(--t),transform var(--t);flex-shrink:0}.chat-evidence-minimap-dot:hover{background:var(--text-3);transform:scale(1.3)}.chat-evidence-minimap-dot.active{background:var(--primary);transform:scale(1.3)}.chat-evidence-empty{margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 20px;max-width:260px}.chat-evidence-empty-icon{width:40px;height:40px;border-radius:var(--r-lg);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.chat-evidence-empty-title{font-size:13.5px;font-weight:600;color:var(--text-2);margin-bottom:4px}.chat-evidence-empty-sub{font-size:12px;color:var(--text-3);line-height:1.6}@media(max-width:1150px){.chat-shell{flex-direction:column}.chat-rail{width:100%!important;max-height:220px}.chat-rail-list{max-height:160px}.chat-evidence{width:100%!important;max-height:420px;border-left:none;border-top:1px solid var(--border)}.chat-evidence-wrap{width:100%!important}}.chat-widget-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chat-widget-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-2);font-size:11.5px;font-family:var(--font);cursor:pointer;transition:all var(--t);max-width:220px}.chat-widget-chip:hover{border-color:var(--primary-2);color:var(--text);background:var(--primary-light)}.chat-widget-chip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-widget-chip-count{margin-left:2px;font-family:var(--mono);font-size:10px;color:var(--text-3)}.chat-widget-chip--linked{border-color:var(--primary);color:var(--text);background:var(--primary-light)}.chat-widget-chip-ordinal{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--surface-3);color:var(--text-2);font-size:9px;font-weight:700;flex-shrink:0}.chat-traj{margin-top:6px}.chat-traj-toggle{display:inline-flex;align-items:center;gap:5px;padding:3px 2px;border:none;background:transparent;color:var(--text-3);font-family:var(--font);font-size:11.5px;font-weight:500;cursor:pointer;transition:color var(--t)}.chat-traj-toggle:hover{color:var(--text-2)}.chat-traj-toggle-chevron{transition:transform var(--t)}.chat-traj-toggle-chevron--open{transform:rotate(180deg)}.chat-traj-toggle-count{font-family:var(--mono);font-size:10px;padding:1px 6px;border-radius:999px;background:var(--surface-2);color:var(--text-3)}.chat-traj-empty{padding:6px 2px 0;font-size:11.5px;color:var(--text-3)}.chat-traj-steps{margin-top:6px;display:flex;flex-direction:column;gap:5px}.chat-traj-step{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);overflow:hidden;transition:border-color var(--t),background var(--t)}.chat-traj-step--failed{border-color:var(--red)}.chat-traj-step-head{display:flex;align-items:center;gap:7px;width:100%;padding:6px 9px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:var(--font)}.chat-traj-step-head:hover{background:var(--surface-2)}.chat-traj-step-icon{flex-shrink:0;color:var(--primary)}.chat-traj-step-name{flex-shrink:0;font-family:var(--mono);font-size:11.5px;font-weight:650;color:var(--text)}.chat-traj-step-inline{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:11px;color:var(--text-3)}.chat-traj-step-status{flex-shrink:0;display:inline-flex;align-items:center;gap:3px;margin-left:auto}.chat-traj-step-ok{flex-shrink:0;color:var(--green);margin-left:auto}.chat-traj-step-chevron{flex-shrink:0;color:var(--text-3);transition:transform var(--t)}.chat-traj-step-chevron--open{transform:rotate(180deg)}.chat-traj-step-body{padding:4px 12px 10px;border-top:1px solid var(--border)}.chat-traj-step-link{display:inline-block;margin-top:8px;font-size:11px;color:var(--primary-2)}.evidence-card{flex-shrink:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;transition:box-shadow var(--t),border-color var(--t),background var(--t),transform var(--t);scroll-margin-top:12px;animation:chat-rise-in .18s ease-out}.evidence-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-2)}.evidence-card--highlight{border-color:var(--primary-2);box-shadow:0 0 0 3px var(--accent-glow);animation:evidence-pulse 1.6s ease-out}@keyframes evidence-pulse{0%{background:var(--primary-light)}to{background:var(--surface)}}.evidence-card--linked{border-color:var(--primary-2);box-shadow:0 0 0 2px var(--accent-glow)}.evidence-card--fresh{animation:evidence-fresh-glow 2.2s ease-out}@keyframes evidence-fresh-glow{0%{box-shadow:0 0 0 3px var(--accent-glow);border-color:var(--primary-2)}70%{box-shadow:0 0 0 3px var(--accent-glow);border-color:var(--primary-2)}to{box-shadow:none;border-color:var(--border)}}.evidence-overlay{z-index:300}.evidence-card--maximized{width:100%;max-width:960px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-md);animation:chat-rise-in .16s ease-out}.evidence-card--maximized .evidence-card-body{flex:1;min-height:0;overflow-y:auto}.evidence-card--maximized .evidence-table-wrap{max-height:none}.evidence-card-header{display:flex;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid var(--border);background:var(--surface-2)}.evidence-card-ordinal{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--primary-light);color:var(--primary);font-size:10px;font-weight:700;flex-shrink:0}.evidence-card-backlink{flex-shrink:0}.evidence-card-title{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evidence-card-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.evidence-card-count{font-size:10.5px;font-family:var(--mono);color:var(--text-3);margin-right:4px;white-space:nowrap}.evidence-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;border-radius:var(--r-sm);color:var(--text-3);cursor:pointer;transition:background var(--t),color var(--t)}.evidence-icon-btn:hover{background:var(--surface-3);color:var(--text)}.evidence-icon-btn--active{background:var(--surface-3);color:var(--primary)}.evidence-icon-btn--active:hover{color:var(--primary)}.evidence-view-switcher{display:flex;align-items:center;gap:1px;padding:1px;margin-right:2px;background:var(--surface-2);border-radius:var(--r-sm)}.evidence-card-body{padding:12px}.evidence-search{margin-bottom:8px;padding:6px 10px;font-size:12.5px}.evidence-table-wrap{max-height:260px;overflow-y:auto}.evidence-table-wrap .data-table{font-size:12px}.evidence-table-wrap .data-table th,.evidence-table-wrap .data-table td{padding:7px 10px}.data-table th.num,.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}.evidence-sort-icon{margin-left:3px;vertical-align:middle}.evidence-chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-md);padding:7px 10px;font-size:11.5px;min-width:100px}.evidence-chart-tooltip-label{font-weight:600;color:var(--text);margin-bottom:4px;white-space:nowrap}.evidence-chart-tooltip-row{display:flex;align-items:center;gap:8px;justify-content:space-between;color:var(--text-2)}.evidence-chart-tooltip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.evidence-chart-tooltip-key{color:var(--text-3);white-space:nowrap}.evidence-chart-tooltip-value{font-family:var(--mono);color:var(--text);margin-left:auto;white-space:nowrap}.evidence-chart-axis-title{text-align:center;font-size:10.5px;color:var(--text-3);margin-top:2px}.evidence-line-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.evidence-line-legend-item{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-2)}.evidence-line-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.evidence-donut{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.evidence-donut-plot{position:relative;flex-shrink:0}.evidence-donut-total{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.evidence-donut-total-label{color:var(--text-3);font-size:9px;text-transform:uppercase;letter-spacing:.04em}.evidence-donut-total-value{color:var(--text);font-size:15px;font-weight:700;font-family:var(--mono)}.evidence-donut-legend{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}.evidence-donut-legend-item{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-2)}.evidence-donut-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.evidence-donut-legend-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evidence-donut-legend-pct{font-family:var(--mono);font-size:11px;color:var(--text-3);flex-shrink:0}.evidence-graph-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.evidence-graph-cypher summary{font-size:11px;color:var(--text-3);cursor:pointer;-webkit-user-select:none;user-select:none}.evidence-graph-cypher summary:hover{color:var(--text-2)}.evidence-graph-cypher pre{margin:6px 0 0;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:11px;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--text-2)}.evidence-graph-selected{margin-top:8px;padding:8px 10px;background:var(--surface-2);border-radius:var(--r-sm);font-size:12px}.evidence-graph-selected strong{color:var(--text)}.evidence-graph-selected-row{display:flex;justify-content:space-between;gap:8px;margin-top:3px;color:var(--text-2)}.evidence-graph-selected-row span:first-child{color:var(--text-3);font-family:var(--mono);font-size:11px}.evidence-graph-selected-row span:last-child{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.evidence-kpi-row{display:flex;flex-wrap:wrap;gap:8px}.evidence-kpi-tile{flex:1 1 120px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r)}.evidence-kpi-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);font-weight:600;margin-bottom:4px}.evidence-kpi-value{font-size:19px;font-weight:700;font-family:var(--mono);color:var(--text);letter-spacing:-.01em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-page{padding:28px 32px 64px}.admin-page-narrow{max-width:780px}@media(max-width:720px){.admin-page{padding:20px 16px 48px}}.admin-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-3);margin-bottom:12px}.admin-breadcrumb a{color:var(--text-2);text-decoration:none}.admin-breadcrumb a:hover{color:var(--primary-2)}.admin-meta-sep{margin:0 8px;color:var(--border-2)}.admin-link{color:var(--primary-2);text-decoration:none}.admin-link:hover{text-decoration:underline}.admin-nowrap{white-space:nowrap}.admin-danger-text{color:var(--red)}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:28px}.admin-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.admin-search{position:relative;display:flex;align-items:center;flex:1 1 260px;min-width:200px}.admin-search svg{position:absolute;left:11px;color:var(--text-3);pointer-events:none}.admin-search .input{padding-left:34px;width:100%}.admin-filter .select{min-width:150px}.admin-table{width:100%}.admin-table th{white-space:nowrap}.admin-cell-sub{font-size:12px}.admin-reason{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row-actions{justify-content:flex-end;flex-wrap:wrap}@media(max-width:900px){.admin-table{display:block;overflow-x:auto}}.admin-user-cell{display:flex;align-items:center;gap:10px}.admin-avatar{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:650;letter-spacing:.02em}.admin-role-chip{margin-right:5px}.admin-role-chip:last-child{margin-right:0}.admin-action{font-family:var(--mono, ui-monospace, monospace);font-size:12px;color:var(--text-2)}.admin-status{display:inline-flex;align-items:center;gap:5px}.admin-status-glyph{font-size:9px;line-height:1}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:12.5px}.admin-state{display:flex;align-items:center;gap:10px;padding:40px 4px}.admin-state-title{font-weight:600;color:var(--text);margin:0 0 6px}.admin-callout-error{border-left-color:var(--red)}.toast-stack{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 40px))}.toast{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface);box-shadow:0 8px 24px #0000002e;font-size:13px;line-height:1.5;animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.toast-success{border-left:3px solid var(--green)}.toast-error{border-left:3px solid var(--red)}.toast-info{border-left:3px solid var(--blue)}.toast-message{flex:1;color:var(--text)}.toast-close{background:none;border:none;color:var(--text-3);cursor:pointer;font-size:17px;line-height:1;padding:0 2px}.toast-close:hover{color:var(--text)}.admin-confirm{max-width:460px}.admin-confirm-impact{margin:0;color:var(--text-2);font-size:13.5px;line-height:1.6}.admin-form{padding-top:4px}.admin-radio-group{border:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:8px}.admin-radio{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border:1px solid var(--border);border-radius:9px;cursor:pointer;background:var(--surface)}.admin-radio:hover{border-color:var(--border-2)}.admin-radio:has(input:checked){border-color:var(--primary-2);background:var(--surface-2)}.admin-radio input{margin-top:3px}.admin-radio-label{display:block;font-weight:600;font-size:13.5px}.admin-radio-detail{display:block;font-size:12.5px;color:var(--text-3);margin-top:2px;line-height:1.5}.wizard-steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 20px;flex-wrap:wrap}.wizard-step{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;font-size:12.5px;color:var(--text-3);background:var(--surface);border:1px solid var(--border)}.wizard-step-index{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--surface-2);border:1px solid var(--border-2)}.wizard-step.current{color:var(--text);border-color:var(--primary-2);font-weight:650}.wizard-step.current .wizard-step-index{background:var(--primary);border-color:var(--primary);color:#fff}.wizard-step.done .wizard-step-index{background:var(--green-dim);border-color:var(--green);color:var(--green)}.wizard-panel{padding:22px 24px}.wizard-fieldset{border:none;padding:0;margin:0}.wizard-fieldset legend{padding:0}.wizard-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:560px){.wizard-row{grid-template-columns:1fr}}.wizard-category{margin-top:20px}.wizard-category-title{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin:0 0 10px}.wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:26px;padding-top:18px;border-top:1px solid var(--border)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.feature-option{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer}.feature-option:hover{border-color:var(--border-2)}.feature-option.selected{border-color:var(--primary-2);background:var(--surface-2)}.feature-option.disabled{opacity:.55;cursor:not-allowed}.feature-option input{margin-top:3px}.feature-option-body{display:block;min-width:0}.feature-option-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feature-option-name{font-weight:600;font-size:13.5px}.feature-option-desc{display:block;font-size:12.5px;color:var(--text-3);line-height:1.5;margin-top:3px}.review-list{margin:0}.review-row{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--border);font-size:13.5px}.review-row:last-child{border-bottom:none}.review-row dt{color:var(--text-3)}.review-row dd{margin:0;color:var(--text);min-width:0;word-break:break-word}@media(max-width:620px){.review-row{grid-template-columns:1fr;gap:3px}}.review-features{margin:0;padding-left:18px}.review-features li{margin-bottom:2px}.admin-service-group{margin-bottom:26px}.service-list{display:flex;flex-direction:column;gap:8px}.service-row{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.service-row.service-off{background:var(--bg)}@media(max-width:720px){.service-row{grid-template-columns:1fr;gap:10px}.service-state,.service-action{justify-self:start;text-align:left}.service-state{align-items:flex-start}}.service-info{min-width:0}.service-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;flex-wrap:wrap}.service-desc{margin:4px 0 0;font-size:12.5px;color:var(--text-3);line-height:1.55}.service-key{display:inline-block;margin-top:6px;font-size:11.5px;color:var(--text-3)}.service-state{display:flex;flex-direction:column;gap:3px;align-items:flex-end}.service-action{min-width:90px;text-align:right}.rbac-layout{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:start}@media(max-width:860px){.rbac-layout{grid-template-columns:1fr}}.rbac-roles{display:flex;flex-direction:column;gap:8px}.rbac-role{display:flex;flex-direction:column;gap:3px;text-align:left;padding:13px 15px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;color:var(--text-2)}.rbac-role:hover{border-color:var(--border-2)}.rbac-role.active{border-color:var(--primary-2);background:var(--surface-2);color:var(--text)}.rbac-role-name{display:flex;align-items:center;gap:8px;font-weight:650;font-size:14px}.rbac-role-summary{font-size:12.5px;color:var(--text-3)}.rbac-detail{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:22px 24px}.rbac-group{margin-top:22px}.rbac-group-title{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin:0 0 8px}.rbac-permissions{list-style:none;margin:0;padding:0}.rbac-permission{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.rbac-permission:last-child{border-bottom:none}.rbac-mark{width:18px;flex:0 0 18px;text-align:center;color:var(--text-3);font-weight:700}.rbac-mark.held{color:var(--green)}.rbac-permission-body{flex:1;min-width:0}.rbac-permission-label{display:block;font-size:13.5px}.rbac-permission-key{font-size:11.5px;color:var(--text-3)}.platform-shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh;background:var(--bg)}@media(max-width:860px){.platform-shell{grid-template-columns:1fr}.platform-sidebar{position:static;height:auto}.platform-nav{flex-direction:row;flex-wrap:wrap}}.platform-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:6px;padding:18px 12px;background:var(--surface);border-right:1px solid var(--border)}.platform-sidebar-header{display:flex;align-items:center;gap:10px;padding:4px 8px 16px;color:var(--text)}.platform-sidebar-title{font-weight:700;font-size:14px;line-height:1.2}.platform-sidebar-sub{font-size:11.5px;color:var(--text-3)}.platform-nav{display:flex;flex-direction:column;gap:2px;flex:1}.platform-nav-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;color:var(--text-2);text-decoration:none;font-size:13.5px}.platform-nav-item:hover{background:var(--surface-2);color:var(--text)}.platform-nav-item.active{background:var(--surface-2);color:var(--primary-2);font-weight:600}.platform-sidebar-footer{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:10px}.platform-exit{display:flex;align-items:center;gap:7px;padding:8px 11px;border:none;background:none;border-radius:8px;color:var(--text-3);font-size:12.5px;cursor:pointer;text-align:left}.platform-exit:hover{background:var(--surface-2);color:var(--text)}.platform-user{display:flex;align-items:center;gap:9px;padding:4px 8px}.platform-user-avatar{width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border-2);display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:650}.platform-user-meta{min-width:0;display:flex;flex-direction:column}.platform-user-email{font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-user-role{font-size:11px;color:var(--text-3)}.platform-main{min-width:0}.app-sidebar-platform{width:100%;border:none;background:none;cursor:pointer;text-align:left;color:var(--text-2)}.app-sidebar-platform:hover{color:var(--primary-2)}.password-field{display:flex;gap:8px;align-items:center}.password-field .input{flex:1;font-family:var(--mono, ui-monospace, monospace);letter-spacing:.02em}.credential-box{border:1px solid var(--border-2);border-radius:10px;background:var(--surface-2);padding:14px 16px;margin:14px 0;display:flex;flex-direction:column;gap:12px}.credential-row{display:flex;flex-direction:column;gap:4px}.credential-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3)}.credential-value{font-family:var(--mono, ui-monospace, monospace);font-size:14px;color:var(--text);-webkit-user-select:all;user-select:all;word-break:break-all}.admin-toolbar-end{justify-content:flex-end}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.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: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--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;touch-action:none}.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))}
