@import "https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400;14..32,500;14..32,600;14..32,700&display=swap";:root{--bg:#f8f9fc;--bg-elevated:#fff;--bg-sunken:#f1f3f9;--bg-input:#f5f6fa;--bg-hover:#eef0f7;--text:#0f172a;--text-sec:#334155;--text-muted:#94a3b8;--text-faint:#cbd5e1;--border:#e2e8f0;--border-subtle:#f1f5f9;--border-hover:#cbd5e1;--accent:#6d28d9;--accent-light:#7c3aed;--accent-lighter:#8b5cf6;--accent-bg:#f5f3ff;--accent-bg-hover:#ede9fe;--accent-border:#ddd6fe;--accent-muted:#c4b5fd;--red-50:#fef2f2;--red-100:#fee2e2;--red-500:#ef4444;--red-600:#dc2626;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-glow:0 0 0 1px #6d28d914, 0 4px 16px #6d28d91a;--r:10px;--rl:14px;--rxl:18px;--ease:cubic-bezier(.4, 0, .2, 1);--duration:.18s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}::selection{background:var(--accent-bg-hover);color:var(--accent)}.app{max-width:1440px;margin:0 auto;padding:0 32px 64px}header{margin-bottom:28px;padding:20px 0 18px;position:relative}header:after{content:"";background:linear-gradient(90deg, transparent, var(--border) 15%, var(--border) 85%, transparent);height:1px;position:absolute;bottom:0;left:-32px;right:-32px}header h1{letter-spacing:-.3px;color:var(--text);align-items:center;gap:12px;font-size:1.15rem;font-weight:700;display:flex}header h1:before{content:"";background:var(--accent);border-radius:9px;flex-shrink:0;width:30px;height:30px;display:inline-block}.subtitle{color:var(--text-muted);margin-top:2px;margin-left:42px;font-size:13px;font-weight:400}.header-row{justify-content:space-between;align-items:center;display:flex}.header-actions{gap:4px;display:flex}.main-grid{grid-template-columns:420px 1fr;align-items:start;gap:24px;display:grid}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--rl);box-shadow:var(--shadow-sm)}.panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.panel-header h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:600}.panel-body{padding:20px;overflow-y:auto}.field{margin-bottom:20px}.field:last-child{margin-bottom:0}.field-label{color:var(--text-sec);letter-spacing:.02em;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;font-weight:600;display:flex}.field-label-sub{color:var(--text-muted);margin-left:4px;font-weight:400}.parse-hints-input{border:1px solid var(--border);resize:vertical;background:var(--bg-input);width:100%;color:var(--text);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);border-radius:8px;padding:9px 12px;font-family:inherit;font-size:12px;line-height:1.5}.parse-hints-input:focus{border-color:var(--accent-lighter);outline:none;box-shadow:0 0 0 3px #6d28d914}.parse-hints-input::placeholder{color:var(--text-faint)}.btn-text{color:var(--accent-light);cursor:pointer;transition:color var(--duration) var(--ease);background:0 0;border:none;padding:0;font-size:12px;font-weight:500}.btn-text:hover{color:var(--accent)}textarea{border:1px solid var(--border);resize:vertical;width:100%;color:var(--text);background:var(--bg-input);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);border-radius:8px;padding:10px 12px;font-family:SF Mono,Fira Code,monospace;font-size:11px;line-height:1.6}textarea:focus{border-color:var(--accent-lighter);outline:none;box-shadow:0 0 0 3px #6d28d914}textarea::placeholder{color:var(--text-faint)}.method-list{flex-direction:column;gap:6px;display:flex;overflow:visible}.method-option{border:1px solid var(--border);border-radius:var(--r);cursor:pointer;transition:all var(--duration) var(--ease);background:var(--bg-elevated);align-items:flex-start;gap:12px;padding:12px 14px;display:flex;overflow:visible}.method-option:hover{border-color:var(--accent-border);background:var(--accent-bg)}.method-option.selected{border-color:var(--accent-muted);background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent)}.method-option input[type=checkbox],.method-option input[type=radio]{accent-color:var(--accent);flex-shrink:0;width:15px;height:15px;margin:2px 0 0}.method-name{color:var(--text);flex-wrap:wrap;align-items:center;gap:5px;font-size:13px;font-weight:600;line-height:1.5;display:flex}.method-desc{color:var(--text-muted);align-items:center;margin-top:2px;font-size:11px;line-height:1.4;display:flex;position:relative;overflow:visible}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;transition:all var(--duration) var(--ease);letter-spacing:.01em;border:none;border-radius:8px;flex:1;padding:10px 18px;font-size:13px;font-weight:600}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow);background:#5b21b6}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{color:var(--text-sec);border:1px solid var(--border);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500}.btn-ghost:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text)}.btn-secondary{background:var(--bg-elevated);color:var(--text-sec);border:1px solid var(--border);cursor:pointer;transition:all var(--duration) var(--ease);border-radius:7px;padding:5px 11px;font-size:12px;font-weight:500}.btn-secondary:hover{border-color:var(--border-hover);color:var(--text);background:var(--bg-sunken)}.action-row{gap:8px;margin-top:20px;display:flex}.msg{border-radius:8px;margin-top:12px;padding:10px 14px;font-size:12px;line-height:1.5}.msg-error{background:var(--red-50);border:1px solid var(--red-100);color:var(--red-600)}.msg-info{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);font-weight:500}.result-panel{flex-direction:column;max-height:calc(100vh - 40px);display:flex;position:sticky;top:20px;overflow:hidden}.result-panel .panel-body{flex:1;padding:0;overflow:auto}.result-actions{align-items:center;gap:5px;display:flex}.result-tabs{border-bottom:1px solid var(--border);background:var(--bg-sunken);z-index:2;flex-shrink:0;display:flex;overflow-x:auto}.result-tab{color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:500;display:flex}.result-tab:hover{color:var(--text-sec);background:var(--bg-hover)}.result-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--bg-elevated);font-weight:600}.tab-name{font-weight:600}.tab-status{align-items:center;gap:4px;font-size:10px;display:flex}.tab-running{color:var(--accent-lighter);font-variant-numeric:tabular-nums}.tab-running:before{content:"";background:var(--accent-lighter);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.tab-done{color:var(--text-sec)}.tab-done:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.tab-error{color:var(--red-500)}.tab-error:before{content:"";background:var(--red-500);border-radius:50%;width:6px;height:6px}.tab-close{width:18px;height:18px;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease);opacity:0;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;margin-left:2px;font-size:11px;display:flex}.result-tab:hover .tab-close{opacity:.6}.tab-close:hover{background:var(--red-50);color:var(--red-500);opacity:1!important}.result-body{flex-direction:column;flex:1;min-height:300px;display:flex;overflow:auto}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:80px 32px;font-size:13px;display:flex}.empty-state:before{content:"";background:var(--bg-sunken);border:1px solid var(--border);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='16' y1='13' x2='8' y2='13'%3E%3C/line%3E%3Cline x1='16' y1='17' x2='8' y2='17'%3E%3C/line%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border-radius:12px;width:48px;height:48px;margin-bottom:8px;display:block}.loading-state{flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:80px 24px;display:flex}.spinner{border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin-bottom:14px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--text-sec);font-size:13px;font-weight:500}.timer{color:var(--accent);font-variant-numeric:tabular-nums;margin-top:4px;font-size:20px;font-weight:700}.error-state{color:var(--red-500);padding:24px;font-size:13px;line-height:1.6}.result-bar{border-bottom:1px solid var(--border);background:var(--bg-sunken);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:5px;padding:8px 14px;display:flex}.meta-tag{color:var(--text-sec);background:var(--bg-elevated);border:1px solid var(--border);border-radius:5px;padding:3px 8px;font-size:10px;font-weight:500}.meta-tag-edited{background:var(--accent-bg-hover);border-color:var(--accent-border);color:var(--accent);font-weight:600}.parsed-text-panel{color:var(--text);background:var(--bg-elevated);-webkit-user-select:text;user-select:text;cursor:text;flex:1;padding:16px 20px;font-size:13px;line-height:1.7;position:relative;overflow:auto}.parsed-text-content pre{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-family:SF Mono,Fira Code,monospace;font-size:11.5px;line-height:1.6}.text-select-popup{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-xl);z-index:100;min-width:200px;max-width:320px;animation:modalIn .15s var(--ease);border-radius:10px;padding:8px}.text-select-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:6px;padding:0 4px 6px;display:flex}.text-select-preview{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:500;overflow:hidden}.text-select-close{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;display:flex}.text-select-close:hover{background:var(--red-50);color:var(--red-500)}.text-select-fields{flex-direction:column;gap:2px;max-height:200px;display:flex;overflow-y:auto}.text-select-field-btn{color:var(--text-sec);cursor:pointer;text-align:left;transition:all var(--duration) var(--ease);background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;font-size:11px;display:flex}.text-select-field-btn:hover{background:var(--accent-bg);color:var(--accent)}.text-select-field-btn.text-select-field-updated{background:#f0fdf4;border:1px solid #86efac;animation:.5s flash-green}@keyframes flash-green{0%{background:#86efac}to{background:#f0fdf4}}.text-select-field-name{flex-shrink:0;font-family:SF Mono,Fira Code,monospace;font-weight:600}.text-select-field-val{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.text-select-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:0 4px 4px;font-size:10px;font-weight:600}.text-select-toast{background:var(--accent);color:#fff;box-shadow:var(--shadow-lg);z-index:100;animation:modalIn .15s var(--ease);white-space:nowrap;border-radius:8px;padding:6px 14px;font-size:11px;font-weight:600;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.text-select-new{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.text-select-new-input{border:1px solid var(--border);width:100%;color:var(--text);background:var(--bg-input);border-radius:5px;padding:5px 8px;font-family:SF Mono,Fira Code,monospace;font-size:11px}.text-select-new-input:focus{border-color:var(--accent-lighter);outline:none;box-shadow:0 0 0 3px #6d28d914}.text-select-new-input::placeholder{color:var(--text-faint)}.json-viewer{color:#c9d1d9;background:#0d1117;flex:1;padding:16px;font-family:SF Mono,Fira Code,monospace;font-size:11.5px;line-height:1.65;overflow:auto}.ji{border-left:1px solid #21262d;margin-left:1px;padding-left:18px}.jk{color:#d2a8ff}.js{color:#a5d6ff}.jnum{color:#79c0ff}.jb{color:#ff7b72}.jn{color:#484f58;font-style:italic}.jbr{color:#484f58}.jco{color:#363b42}.jx{color:#363b42;font-size:10px}.jc{color:#484f58;margin-left:4px;font-size:10px}.jr{margin:0}.view-toggle{border:1px solid var(--border);border-radius:7px;display:flex;overflow:hidden}.view-btn{background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease);border:none;padding:3px 10px;font-size:11px;font-weight:600}.view-btn:not(:last-child){border-right:1px solid var(--border)}.view-btn.active{background:var(--accent);color:#fff}.view-btn:hover:not(.active){background:var(--bg-hover);color:var(--text-sec)}.fv-table{flex-direction:column;flex:1;display:flex;overflow:hidden}.fv-col-header{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);background:var(--bg-sunken);z-index:1;flex-shrink:0;grid-template-columns:minmax(180px,280px) 1fr;font-size:10px;font-weight:600;display:grid;position:sticky;top:0}.fv-col-header>div{padding:10px 14px}.fv-col-header>div:first-child{border-right:1px solid var(--border)}.fv-body{flex:1;overflow-y:auto}.fv-row{border-bottom:1px solid var(--border-subtle);transition:background var(--duration) var(--ease);grid-template-columns:minmax(180px,280px) 1fr;font-size:13px;display:grid}.fv-row:hover{background:var(--bg-sunken)}.fv-row-field{border-right:1px solid var(--border);word-break:break-word;color:var(--text-sec);background:var(--bg-sunken);align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:600;line-height:1.4;display:flex}.fv-row-section .fv-row-field{cursor:pointer}.fv-row-section:hover{background:var(--accent-bg)}.fv-chevron{color:var(--text-muted);transition:transform var(--duration) var(--ease);flex-shrink:0;font-size:8px}.fv-chevron.open{transform:rotate(90deg)}.fv-section-name{color:var(--accent);font-weight:700}.fv-badge{background:var(--accent-bg);color:var(--accent-light);border-radius:99px;flex-shrink:0;padding:1px 6px;font-size:9px;font-weight:600}.fv-row-val{word-break:break-word;white-space:pre-wrap;background:var(--bg-elevated);align-items:flex-start;gap:6px;min-height:40px;padding:6px 10px;display:flex}.fv-input{color:var(--text);transition:all var(--duration) var(--ease);background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:6px 8px;font-family:Inter,-apple-system,sans-serif;font-size:13px;line-height:1.5}.fv-input:hover{border-color:var(--border);background:var(--bg-input)}.fv-input:focus{border-color:var(--accent-lighter);background:#fff;outline:none;box-shadow:0 0 0 3px #6d28d914}.fv-input::placeholder{color:var(--text-faint);font-style:italic}.fv-textarea{border:1px solid var(--border);color:var(--text);background:var(--bg-input);transition:all var(--duration) var(--ease);resize:vertical;border-radius:6px;flex:1;padding:6px 8px;font-family:Inter,-apple-system,sans-serif;font-size:13px;line-height:1.5}.fv-textarea:hover{border-color:var(--border-hover)}.fv-textarea:focus{border-color:var(--accent-lighter);background:#fff;outline:none;box-shadow:0 0 0 3px #6d28d914}.fv-type{text-transform:uppercase;border-radius:4px;flex-shrink:0;margin-top:8px;padding:2px 5px;font-size:9px;font-weight:600}.fv-type-null{background:var(--bg-sunken);color:var(--text-faint)}.fv-type-bool,.fv-type-num{background:var(--accent-bg);color:var(--accent-light)}@media (width<=1080px){.main-grid{grid-template-columns:380px 1fr}}@media (width<=860px){.main-grid{grid-template-columns:1fr}.result-panel{max-height:none;position:static}.fv-row,.fv-col-header{grid-template-columns:180px 1fr}.app{padding:0 16px 48px}}.pairs-table{border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.pairs-header{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);background:var(--bg-sunken);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr 28px;font-size:10px;font-weight:600;display:grid}.pairs-header>div{padding:8px 10px}.pairs-header>div:first-child{border-right:1px solid var(--border)}.pairs-row{border-bottom:1px solid var(--border-subtle);transition:background var(--duration) var(--ease);grid-template-columns:1fr 1fr 28px;align-items:stretch;display:grid}.pairs-row:last-child{border-bottom:none}.pairs-row:hover{background:var(--bg-sunken)}.pairs-row-ready{border-left:3px solid var(--accent)}.pairs-cell{align-items:center;min-width:0;min-height:44px;padding:8px 10px;display:flex}.pairs-cell:first-child{border-right:1px solid var(--border)}.pairs-remove{justify-content:center;align-items:center;display:flex}.pair-remove-btn{width:24px;height:24px;color:var(--text-faint);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:14px;display:flex}.pair-remove-btn:hover{color:var(--red-500);background:var(--red-50)}.pair-clear{width:20px;height:20px;color:var(--text-faint);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.pair-clear:hover{color:var(--red-500);background:var(--red-50)}.pair-file-icon{flex-shrink:0;font-size:14px}.pair-file{align-items:center;gap:6px;width:100%;min-width:0;display:flex}.pair-file-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.pair-file-size{color:var(--text-muted);flex-shrink:0;font-size:10px}.pair-upload{cursor:pointer;width:100%}.pair-upload-text{color:var(--accent-light);transition:color var(--duration) var(--ease);font-size:12px;font-weight:500}.pair-upload:hover .pair-upload-text{color:var(--accent)}.pairs-add-row{border-top:1px solid var(--border);padding:6px 10px}.btn-add-row{color:var(--accent-light);cursor:pointer;transition:color var(--duration) var(--ease);background:0 0;border:none;padding:4px 0;font-size:12px;font-weight:500}.btn-add-row:hover{color:var(--accent)}.pairs-table-dragover{background:var(--accent-bg);box-shadow:0 0 0 3px #6d28d914;border-color:var(--accent-lighter)!important}.schema-select-inline{border:1px solid var(--border);width:100%;color:var(--text);background:var(--bg-input);cursor:pointer;transition:border-color var(--duration) var(--ease);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:7px;padding:7px 28px 7px 10px;font-family:Inter,-apple-system,sans-serif;font-size:12px}.schema-select-inline:hover{border-color:var(--border-hover)}.schema-select-inline:focus{border-color:var(--accent-lighter);outline:none;box-shadow:0 0 0 3px #6d28d914}.pair-edit-btn{width:20px;height:20px;color:var(--text-faint);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex}.pair-edit-btn:hover{color:var(--accent);background:var(--accent-bg)}.pair-apply-all{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent-light);cursor:pointer;white-space:nowrap;transition:all var(--duration) var(--ease);border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:500}.pair-apply-all:hover{background:var(--accent-bg-hover);border-color:var(--accent-muted)}.pipeline-tag{background:var(--accent-bg);color:var(--accent-light);text-transform:uppercase;letter-spacing:.3px;vertical-align:middle;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}.accuracy-tag{background:var(--accent-bg-hover);color:var(--accent)}.method-cost{background:var(--accent-bg);color:var(--accent-light);letter-spacing:.3px;vertical-align:middle;border-radius:4px;margin-left:4px;padding:2px 6px;font-size:9px;font-weight:600;display:inline-block}.info-icon{width:15px;height:15px;color:var(--text-faint);cursor:help;vertical-align:middle;transition:color var(--duration) var(--ease);border-radius:50%;justify-content:center;align-items:center;margin-left:4px;font-size:11px;display:inline-flex}.info-icon:hover{color:var(--accent-lighter)}.tooltip-portal{background:var(--text);color:#fff;white-space:normal;z-index:9999;pointer-events:none;width:280px;box-shadow:var(--shadow-xl);border-radius:8px;padding:10px 14px;font-family:Inter,-apple-system,sans-serif;font-size:11px;font-weight:400;line-height:1.5;position:fixed}.btn-sm{border-radius:7px;padding:5px 10px;font-size:11px}.admin-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;animation:overlayIn .15s var(--ease);background:#0f172a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.admin-modal{background:var(--bg-elevated);border-radius:var(--rxl);box-shadow:var(--shadow-xl), 0 0 0 1px #0000000d;width:100%;max-width:640px;max-height:85vh;animation:modalIn .2s var(--ease);flex-direction:column;display:flex;overflow:hidden}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex}.admin-header h2{color:var(--text);margin:0;font-size:16px;font-weight:700}.admin-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.admin-close{border:1px solid var(--border);background:var(--bg-elevated);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.admin-close:hover{background:var(--red-50);border-color:var(--red-100);color:var(--red-500)}.admin-body{flex:1;padding:0;overflow-y:auto}.admin-loading{flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.admin-loading p{color:var(--text-muted);margin-top:12px;font-size:13px}.admin-group{border-bottom:1px solid var(--border)}.admin-group:last-child{border-bottom:none}.admin-group-header{padding:18px 24px 8px}.admin-group-header h3{color:var(--text);margin:0;font-size:13px;font-weight:700}.admin-group-header p{color:var(--text-muted);margin-top:2px;font-size:11px}.admin-fields{flex-direction:column;gap:10px;padding:0 24px 18px;display:flex}.admin-field{flex-direction:column;gap:4px;display:flex}.admin-label{color:var(--text-sec);font-size:11px;font-weight:600}.admin-checkbox-label{color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:13px;font-weight:500;display:flex}.admin-checkbox-label input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:16px;height:16px}.admin-input-wrap{align-items:center;display:flex;position:relative}.admin-input{border:1px solid var(--border);width:100%;color:var(--text);background:var(--bg-input);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);border-radius:8px;padding:9px 12px;font-family:SF Mono,Fira Code,monospace;font-size:13px}.admin-input:focus{border-color:var(--accent-lighter);outline:none;box-shadow:0 0 0 3px #6d28d914}.admin-input::placeholder{color:var(--text-faint);font-family:Inter,sans-serif}.admin-masked-badge{background:var(--accent-bg);color:var(--accent);text-transform:uppercase;pointer-events:none;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600;position:absolute;right:8px}.admin-message{border-radius:8px;flex-shrink:0;margin:0 24px;padding:10px 14px;font-size:12px;font-weight:500}.admin-message-success{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent)}.admin-message-error{background:var(--red-50);border:1px solid var(--red-100);color:var(--red-500)}.admin-footer{border-top:1px solid var(--border);background:var(--bg-sunken);border-radius:0 0 var(--rxl) var(--rxl);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.admin-footer-right{gap:8px;display:flex}.history-modal{max-width:900px}.history-body{padding:0}.history-table{border-collapse:collapse;width:100%;font-size:12px}.history-table th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);background:var(--bg-sunken);border-bottom:1px solid var(--border);z-index:1;padding:10px 14px;font-size:10px;font-weight:600;position:sticky;top:0}.history-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:10px 14px}.history-table tr{transition:background var(--duration) var(--ease)}.history-table tbody tr:hover td{background:var(--bg-sunken)}.history-doc{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:500;overflow:hidden}.history-status{align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.history-status:before{content:"";border-radius:50%;width:6px;height:6px}.history-status-done{color:var(--text-sec)}.history-status-done:before{background:var(--accent)}.history-status-error{color:var(--text-sec)}.history-status-error:before{background:var(--red-500)}.history-status-running{color:var(--text-sec)}.history-status-running:before{background:var(--accent-lighter)}.history-date{color:var(--text-muted);white-space:nowrap;font-size:11px}.history-actions{align-items:center;gap:4px;display:flex}.history-delete{color:var(--text-muted)!important}.history-delete:hover{color:var(--red-500)!important;border-color:var(--red-100)!important}.history-pagination{border-top:1px solid var(--border);background:var(--bg-sunken);border-radius:0 0 var(--rxl) var(--rxl);flex-shrink:0;justify-content:center;align-items:center;gap:16px;padding:12px 24px;display:flex}.history-page-info{color:var(--text-muted);font-size:12px;font-weight:500}.compare-empty{color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:60px 20px;font-size:13px;display:flex}.compare-view{flex-direction:column;flex:1;display:flex;overflow:hidden}.compare-selector{border-bottom:1px solid var(--border);background:var(--bg-sunken);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:10px 14px;display:flex}.compare-selector-label{color:var(--text-muted);margin-right:4px;font-size:11px;font-weight:600}.compare-chip{border:1px solid var(--border);color:var(--text-sec);cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;display:flex}.compare-chip input{display:none}.compare-chip:hover{border-color:var(--accent-border);background:var(--accent-bg)}.compare-chip.selected{background:var(--accent-bg-hover);border-color:var(--accent-muted);color:var(--accent)}.compare-table-wrap{flex:1;overflow:auto}.compare-table{border-collapse:collapse;width:100%;font-size:12px}.compare-table th{text-align:left;color:var(--text-muted);background:var(--bg-sunken);border-bottom:1px solid var(--border);z-index:1;white-space:nowrap;padding:10px 14px;font-size:10px;font-weight:600;position:sticky;top:0}.compare-doc-name{color:var(--text-muted);font-size:10px;font-weight:400}.compare-field-col{min-width:160px}.compare-table td{border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:8px 14px}.compare-field-name{color:var(--text-sec);text-transform:capitalize;background:var(--bg-sunken);border-right:1px solid var(--border);font-weight:600}.compare-val{word-break:break-all;font-family:SF Mono,Fira Code,monospace;font-size:11px}.compare-diff,.compare-diff .compare-field-name{background:var(--accent-bg)}.compare-empty-val{color:var(--text-muted);font-style:italic}.btn-secondary.active{background:var(--accent);color:#fff;border-color:var(--accent)}.schema-editor-modal{max-width:720px;max-height:80vh}.schema-editor-body{flex-direction:column;flex:1;padding:16px 24px;display:flex;overflow:hidden}.schema-textarea{border:1px solid var(--border);resize:none;color:#c9d1d9;width:100%;min-height:300px;transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);background:#0d1117;border-radius:10px;flex:1;padding:14px 16px;font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.6}.schema-textarea:focus{border-color:var(--accent-lighter);outline:none;box-shadow:0 0 0 3px #6d28d914}.sb-modal{max-width:960px;max-height:85vh}.sb-body{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid;overflow:hidden}.sb-left{border-right:1px solid var(--border);flex-direction:column;padding:16px 20px;display:flex;overflow-y:auto}.sb-right{flex-direction:column;display:flex;overflow:hidden}.sb-name-row{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.sb-fields-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sb-fields-list{flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.sb-field-row{border:1px solid var(--border);background:var(--bg-input);transition:border-color var(--duration) var(--ease);border-radius:8px;align-items:center;padding:7px 10px;display:flex}.sb-field-row:hover{border-color:var(--border-hover)}.sb-field-inputs{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.sb-input{border:1px solid var(--border);color:var(--text);background:var(--bg-elevated);transition:border-color var(--duration) var(--ease);border-radius:5px;min-width:0;padding:5px 8px;font-family:SF Mono,Fira Code,monospace;font-size:12px}.sb-input:focus{border-color:var(--accent-lighter);outline:none;box-shadow:0 0 0 2px #6d28d914}.sb-name-input{flex:1;min-width:80px}.sb-select{border:1px solid var(--border);color:var(--text-sec);background:var(--bg-elevated);cursor:pointer;border-radius:5px;min-width:70px;padding:5px 6px;font-size:11px}.sb-select:focus{border-color:var(--accent-lighter);outline:none}.sb-select-sm{min-width:60px;font-size:10px}.sb-required-toggle{cursor:pointer;flex-shrink:0;align-items:center;gap:3px;display:flex}.sb-required-toggle input{accent-color:var(--accent);width:12px;height:12px;margin:0}.sb-required-label{color:var(--text-muted);text-transform:uppercase;font-size:9px;font-weight:600}.sb-btn-add-child{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent-light);cursor:pointer;white-space:nowrap;transition:all var(--duration) var(--ease);border-radius:4px;flex-shrink:0;padding:3px 7px;font-size:10px;font-weight:600}.sb-btn-add-child:hover{background:var(--accent-bg-hover);border-color:var(--accent-muted)}.sb-btn-remove{width:20px;height:20px;color:var(--text-faint);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.sb-btn-remove:hover{color:var(--red-500);background:var(--red-50)}.sb-preview-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 16px}.sb-preview{color:#c9d1d9;white-space:pre-wrap;word-break:break-all;background:#0d1117;flex:1;margin:0;padding:14px 16px;font-family:SF Mono,Fira Code,monospace;font-size:11px;line-height:1.6;overflow:auto}.sfs-examples{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sfs-example-chips{gap:6px;display:flex}.sfs-chip{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-sec);cursor:pointer;transition:all var(--duration) var(--ease);border-radius:99px;padding:4px 10px;font-size:11px;font-weight:500}.sfs-chip:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.sfs-textarea{resize:none;flex:1;min-height:200px}.sfs-generate-btn{flex:none;margin-top:12px}@media (width<=860px){.sb-modal{max-width:100%}.sb-body{grid-template-columns:1fr}.sb-right{border-top:1px solid var(--border);max-height:200px}}.workflow-toggle{border:1px solid var(--border);background:var(--bg-sunken);border-radius:8px;display:flex;overflow:hidden}.workflow-btn{color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;border:none;flex:1;padding:8px 12px;font-size:12px;font-weight:600}.workflow-btn:not(:last-child){border-right:1px solid var(--border)}.workflow-btn.active{background:var(--accent);color:#fff}.workflow-btn:hover:not(.active){background:var(--bg-hover);color:var(--text-sec)}.workflow-hint{color:var(--text-muted);margin-top:8px;font-size:11px;line-height:1.4}.guided-start-btn{flex:1}.guided-modal{max-width:1100px;max-height:90vh}.guided-steps{align-items:center;gap:6px;margin-right:16px;display:flex}.guided-step{background:var(--bg-sunken);color:var(--text-muted);border:1px solid var(--border);transition:all var(--duration) var(--ease);border-radius:99px;padding:4px 10px;font-size:11px;font-weight:600}.guided-step.active{background:var(--accent);color:#fff;border-color:var(--accent)}.guided-step.done{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border)}.guided-step-arrow{color:var(--text-faint);font-size:12px}.guided-body{flex:1;min-height:0;overflow:auto}.guided-parse-stage{flex-direction:column;gap:16px;padding:18px 24px;display:flex}.guided-info-bar{flex-wrap:wrap;gap:8px;display:flex}.guided-parse-config{flex-direction:column;gap:8px;display:flex}.guided-mode-list{flex-direction:column;gap:4px;display:flex}.guided-mode-option{border-radius:var(--r);cursor:pointer;transition:all var(--duration) var(--ease);border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;display:flex}.guided-mode-option:hover{background:var(--accent-bg)}.guided-mode-option.selected{background:var(--accent-bg);border-color:var(--accent-border)}.guided-mode-option input[type=radio]{accent-color:var(--accent);margin:0}.guided-mode-name{align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.guided-mode-desc{color:var(--text-muted);font-size:11px}.guided-parse-actions{gap:8px;display:flex}.guided-preview-section{flex-direction:column;flex:1;min-height:0;display:flex}.guided-preview-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.guided-preview-text{border:1px solid var(--border);background:var(--bg-elevated);max-height:400px;color:var(--text);border-radius:10px;padding:16px 20px;font-size:13px;line-height:1.7;overflow:auto}.guided-preview-text pre{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-family:SF Mono,Fira Code,monospace;font-size:11.5px;line-height:1.6}.guided-preview-text-sm{flex:1;max-height:none}.zoom-controls{border:1px solid var(--border);background:var(--bg-elevated);border-radius:7px;align-items:center;gap:2px;padding:1px;display:flex}.zoom-btn{width:24px;height:24px;color:var(--text-sec);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.zoom-btn:hover{background:var(--bg-hover);color:var(--text)}.zoom-label{color:var(--text-muted);text-align:center;cursor:pointer;font-variant-numeric:tabular-nums;min-width:32px;font-size:10px;font-weight:600}.zoom-label:hover{color:var(--accent)}.guided-md-content mark{color:var(--text);background:#fef9c3;border-radius:3px;padding:1px 3px;font-weight:500}.guided-md-content h1,.guided-md-content h2,.guided-md-content h3{color:var(--text);margin:12px 0 6px;line-height:1.4}.guided-md-content h1{font-size:18px}.guided-md-content h2{font-size:16px}.guided-md-content h3{font-size:14px}.guided-md-content p{margin:4px 0}.guided-review-stage{flex-direction:column;height:100%;display:flex}.guided-coverage{border-bottom:1px solid var(--border);background:var(--bg-sunken);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:12px 24px;display:flex}.guided-coverage-bar{background:var(--border);border-radius:3px;width:120px;height:6px;overflow:hidden}.guided-coverage-fill{background:var(--accent);height:100%;transition:width .4s var(--ease);border-radius:3px}.guided-coverage-label{color:var(--text);font-size:12px;font-weight:700}.guided-coverage-summary{color:var(--text-muted);font-size:11px}.guided-review-body{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid;overflow:hidden}.guided-review-left{border-right:1px solid var(--border);flex-direction:column;padding:12px 16px;display:flex;overflow:hidden}.guided-review-right{flex-direction:column;display:flex;overflow:hidden}.guided-suggestions-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.guided-bulk-actions{gap:4px;display:flex}.guided-suggestions-list{flex:1;padding:8px;overflow-y:auto}.guided-no-suggestions{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:13px}.guided-suggestion-group{margin-bottom:12px}.guided-group-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);padding:6px 8px;font-size:10px;font-weight:600}.guided-suggestion{border:1px solid var(--border);cursor:pointer;transition:all var(--duration) var(--ease);border-radius:10px;gap:10px;margin-bottom:4px;padding:10px 12px;display:flex}.guided-suggestion:hover{border-color:var(--border-hover);background:var(--bg-sunken)}.guided-suggestion.accepted{background:var(--accent-bg);border-color:var(--accent-border)}.guided-suggestion.rejected{background:var(--bg-sunken);opacity:.5}.guided-suggestion-remove.accepted,.guided-suggestion-type.accepted{background:var(--bg-sunken);border-color:var(--border)}.guided-suggestion-check{width:20px;height:20px;color:var(--text-faint);border:1.5px solid var(--border);background:var(--bg-elevated);transition:all var(--duration) var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:11px;display:flex}.guided-suggestion.accepted .guided-suggestion-check{color:#fff;background:var(--accent);border-color:var(--accent)}.guided-suggestion-content{flex:1;min-width:0}.guided-suggestion-field{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.guided-field-name{color:var(--text);font-family:SF Mono,Fira Code,monospace;font-size:12px;font-weight:600}.guided-field-type{background:var(--accent-bg);color:var(--accent-light);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.guided-confidence{text-transform:uppercase;background:var(--accent-bg);color:var(--accent-light);border-radius:4px;padding:1px 5px;font-size:9px;font-weight:600}.guided-confidence-high{background:var(--accent-bg-hover);color:var(--accent)}.guided-confidence-medium{background:var(--accent-bg);color:var(--accent-light)}.guided-confidence-low{background:var(--bg-sunken);color:var(--text-muted)}.guided-suggestion-reason{color:var(--text-muted);margin-top:2px;font-size:11px;line-height:1.4}.guided-suggestion-sample{color:var(--text-sec);background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:4px;margin-top:3px;padding:2px 6px;font-family:SF Mono,Fira Code,monospace;font-size:10px;display:inline-block}.guided-extract-stage{flex-direction:column;justify-content:center;align-items:center;padding:60px 24px;display:flex}.guided-extract-done{text-align:center}.guided-done-icon{background:var(--accent-bg);width:48px;height:48px;color:var(--accent);border:1px solid var(--accent-border);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;font-size:22px;font-weight:700;display:flex}.guided-extract-done p{color:var(--text-sec);font-size:14px}@media (width<=860px){.guided-modal{max-width:100%}.guided-review-body{grid-template-columns:1fr}.guided-review-left{border-right:none;border-bottom:1px solid var(--border);max-height:200px}}.pair-stale{cursor:pointer;align-items:center;gap:6px;width:100%;display:flex}.pair-stale-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;text-decoration:line-through;overflow:hidden}.pair-stale-hint{color:var(--accent-light);white-space:nowrap;flex-shrink:0;font-size:10px;font-weight:600}.pair-stale:hover .pair-stale-hint{text-decoration:underline}.method-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.guided-md-content h1{color:var(--text);margin:16px 0 8px;font-size:18px;font-weight:700}.guided-md-content h2{color:var(--text);margin:14px 0 6px;font-size:15px;font-weight:700}.guided-md-content h3{color:var(--text);margin:12px 0 4px;font-size:13px;font-weight:700}.guided-md-content h4{color:var(--text-sec);margin:10px 0 4px;font-size:12px;font-weight:700}.guided-md-content p{margin:4px 0;line-height:1.6}.guided-md-content strong{color:var(--text);font-weight:700}.guided-md-content em{font-style:italic}.guided-md-content hr{border:none;border-top:1px solid var(--border);margin:12px 0}.guided-md-content pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:SF Mono,Fira Code,monospace;font-size:11.5px;line-height:1.6}.md-page-marker{align-items:center;gap:12px;margin:20px 0 12px;display:flex}.md-page-marker:before,.md-page-marker:after{content:"";background:var(--accent-border);flex:1;height:1px}.md-page-marker span{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--accent-bg);white-space:nowrap;border-radius:10px;padding:2px 10px;font-size:10px;font-weight:700}.md-doc-meta{background:var(--bg-sunken);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:11px}.md-doc-meta-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:10px;font-weight:700}.md-doc-meta-row{color:var(--text-muted);gap:8px;padding:1px 0;display:flex}.md-doc-meta-key{color:var(--text-sec);min-width:90px;font-weight:600}.md-doc-meta-val{color:var(--text)}.guided-md-content .md-codeblock{background:var(--bg-sunken);border:1px solid var(--border);border-radius:6px;margin:8px 0;padding:12px 14px;overflow-x:auto}.guided-md-content .md-codeblock code{background:0 0;border:none;padding:0;font-size:11.5px;line-height:1.6}.guided-md-content .md-blockquote{border-left:3px solid var(--accent-border);color:var(--text-sec);background:var(--accent-bg);border-radius:0 6px 6px 0;margin:8px 0;padding:4px 12px}.guided-md-content .md-blockquote p{margin:2px 0}.guided-md-content a{color:var(--accent-light);text-underline-offset:2px;text-decoration:underline}.hl{cursor:help;border-radius:3px;padding:1px 2px}.hl-blue{background:#eef2ff;border-bottom:1.5px solid #818cf8}.hl-green{background:#f0fdf4;border-bottom:1.5px solid #86efac}.hl-yellow{background:#fefce8;border-bottom:1.5px solid #fde047}.guided-hl-legend{align-items:center;gap:12px;display:flex}.hl-legend-item{color:var(--text-muted);align-items:center;gap:4px;font-size:10px;display:flex}.hl-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.hl-dot-blue{background:#818cf8}.hl-dot-green{background:#86efac}.hl-dot-yellow{background:#fde047}.guided-md-content .md-table{border-collapse:collapse;width:max-content;min-width:100%;margin:12px 0;font-size:12px}.guided-md-content .md-table th{text-align:left;color:var(--text-sec);background:var(--bg-sunken);border:1px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:11px;font-weight:700}.guided-md-content .md-table td{border:1px solid var(--border);vertical-align:top;white-space:nowrap;padding:6px 12px}.guided-md-content .md-table tr:hover td{background:var(--accent-bg)}.guided-md-content code{background:var(--bg-sunken);border:1px solid var(--border);border-radius:3px;padding:1px 4px;font-family:SF Mono,Fira Code,monospace;font-size:11px}.guided-md-content ul,.guided-md-content ol{margin:8px 0;padding-left:20px}.guided-md-content li{margin:4px 0;line-height:1.5}.guided-minimized{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:999;cursor:pointer;min-width:400px;max-width:600px;transition:all var(--duration) var(--ease);animation:modalIn .2s var(--ease);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.guided-minimized:hover{border-color:var(--accent-border);box-shadow:var(--shadow-xl)}.guided-minimized-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.guided-mini-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin}.guided-mini-done{color:var(--green-500);flex-shrink:0;font-size:14px;font-weight:700}.guided-mini-error{color:var(--red-500);flex-shrink:0;font-size:14px;font-weight:700}.guided-mini-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.guided-mini-status{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;font-weight:500}.guided-minimized-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.guided-mini-btn{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent-light);cursor:pointer;transition:all var(--duration) var(--ease);border-radius:7px;padding:4px 10px;font-size:11px;font-weight:600}.guided-mini-btn:hover{background:var(--accent-bg-hover);border-color:var(--accent-muted)}.guided-mini-close{border-color:var(--border);color:var(--text-muted);background:0 0;padding:4px 6px}.guided-mini-close:hover{background:var(--red-50);border-color:var(--red-100);color:var(--red-500)}.connect-screen{background:var(--bg);background-image:radial-gradient(at 30% 0,#6d28d90a 0%,#0000 60%),radial-gradient(at 70% 100%,#6d28d908 0%,#0000 60%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.connect-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--rxl);box-shadow:var(--shadow-lg);width:100%;max-width:460px;animation:modalIn .3s var(--ease);padding:36px 32px}.connect-header{text-align:center;margin-bottom:28px}.connect-header h1{letter-spacing:-.3px;justify-content:center;align-items:center;gap:10px;margin-bottom:6px;font-size:1.2rem;font-weight:700;display:flex}.connect-header h1:before{content:"";background:var(--accent);border-radius:8px;flex-shrink:0;width:28px;height:28px;display:inline-block}.connect-header p{color:var(--text-muted);margin-top:2px;font-size:13px}.connect-fields{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.connect-field{flex-direction:column;gap:4px;display:flex}.connect-label{color:var(--text-sec);font-size:11px;font-weight:600}.connect-required{color:var(--red-500);margin-left:2px}.connect-input{border:1px solid var(--border);color:var(--text);background:var(--bg-input);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);border-radius:8px;padding:9px 12px;font-family:Inter,sans-serif;font-size:13px}.connect-input:focus{border-color:var(--accent-lighter);outline:none;box-shadow:0 0 0 3px #6d28d914}.connect-input::placeholder{color:var(--text-faint)}.connect-btn{border-radius:8px;width:100%;margin-top:4px;padding:11px;font-size:13px}.connect-hint{text-align:center;color:var(--text-muted);margin-top:16px;font-size:11px;line-height:1.5}.connect-import-bar{border-bottom:1px solid var(--border);justify-content:center;gap:8px;margin-bottom:16px;padding-bottom:16px;display:flex}.custom-config-desc{color:var(--text-muted);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:8px;margin-bottom:12px;padding:8px 10px;font-size:11px;line-height:1.5}.custom-config-panel{border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.config-row{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.config-row:last-of-type{border-bottom:none}.config-label{color:var(--text);font-size:12px;font-weight:600}.config-toggle{border:1px solid var(--border);border-radius:7px;width:fit-content;display:flex;overflow:hidden}.config-opt{background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease);border:none;padding:6px 14px;font-size:12px;font-weight:600}.config-opt:not(:last-child){border-right:1px solid var(--border)}.config-opt.active{background:var(--accent);color:#fff}.config-opt:hover:not(.active){background:var(--bg-hover);color:var(--text-sec)}.config-hint{color:var(--text-muted);font-size:10px;line-height:1.4}.config-summary{background:var(--bg-sunken);border-top:1px solid var(--border);align-items:center;gap:8px;padding:10px 14px;display:flex}.config-summary-tag{background:var(--accent-bg);color:var(--accent);letter-spacing:.3px;border-radius:4px;padding:3px 8px;font-family:SF Mono,Fira Code,monospace;font-size:11px;font-weight:700}.config-summary-text{color:var(--text-sec);font-size:11px}.mode-toggle{border:1px solid var(--border);border-radius:var(--r);background:var(--bg-sunken);display:flex;overflow:hidden}.mode-btn{color:var(--text-muted);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;border:none;flex:1;padding:9px 12px;font-size:12px;font-weight:600}.mode-btn:not(:last-child){border-right:1px solid var(--border)}.mode-btn.active{background:var(--accent);color:#fff}.mode-btn:hover:not(.active){background:var(--bg-hover);color:var(--text-sec)}.schema-select{border:1px solid var(--border);border-radius:var(--r);width:100%;color:var(--text);background:var(--bg-input);cursor:pointer;transition:border-color var(--duration) var(--ease);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding:10px 32px 10px 12px;font-family:Inter,-apple-system,sans-serif;font-size:13px}.schema-select:hover{border-color:var(--border-hover)}.schema-select:focus{border-color:var(--accent-lighter);outline:none;box-shadow:0 0 0 3px #6d28d914}.dropzone{border:1.5px dashed var(--border);border-radius:var(--r);text-align:center;cursor:pointer;color:var(--text-muted);transition:all var(--duration) var(--ease);background:var(--bg-input);padding:20px 16px;font-size:13px}.dropzone:hover{border-color:var(--accent-lighter);background:var(--accent-bg)}.dropzone.has-file{border-color:var(--accent);background:var(--accent-bg);border-style:solid}.file-info{color:var(--text);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.file-size{color:var(--text-muted);font-size:12px;font-weight:400}.file-list{border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.file-item{border-bottom:1px solid var(--border);background:var(--bg-input);transition:background var(--duration) var(--ease);align-items:center;padding:8px 12px;font-size:12px;display:flex}.file-item:hover{background:var(--bg-hover)}.file-item:last-of-type{border-bottom:1px solid var(--border)}.file-item-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;font-weight:500;overflow:hidden}.file-item-size{color:var(--text-muted);flex-shrink:0;margin:0 8px;font-size:11px}.file-item-remove{width:20px;height:20px;color:var(--text-faint);cursor:pointer;transition:all var(--duration) var(--ease);background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.file-item-remove:hover{color:var(--red-500);background:var(--red-50)}.file-list-add{color:var(--accent-light);cursor:pointer;transition:background var(--duration) var(--ease);padding:8px 12px;font-size:12px;font-weight:500}.file-list-add:hover{background:var(--accent-bg)}.pairs-bulk{gap:12px;margin-bottom:8px;display:flex}.pairs-empty{border:1.5px dashed var(--border);border-radius:var(--r);text-align:center;color:var(--text-muted);background:var(--bg-input);padding:20px 16px;font-size:12px}
