:root{--bg:#f2f2ee;--surface:#fff;--surface-2:#ebebe6;--border:#ddddd6;--border-strong:#adada5;--text-1:#16161c;--text-2:#52526a;--text-3:#888898;--accent:#1a56db;--accent-hover:#1447c0;--accent-muted:#1a56db17;--accent-2:#6d28d9;--success:#047857;--danger:#c0392b;--warning:#b45309;--plot-bg:#fff;--plot-grid:#eaeae4;--plot-axis-domain:#c0c4d0;--plot-axis-text:#52526a;--plot-axis-label:#16161c;--plot-title:#16161c;--plot-dot:#94a3b8;--plot-dot-stroke:#64748b;--plot-dot-sig:#dc2626;--plot-dot-sig-stroke:#b91c1c;--plot-threshold:#1a56db;--plot-label:#991b1b;--plot-zero:#d1d5db;--tooltip-bg:#10101ced;--tooltip-text:#e6edf3;--tooltip-name:#fcd34d;--grid-dot:#5064961a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 14px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 12px 32px #0000001a, 0 4px 8px #0000000d;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--transition:.18s ease}[data-theme=dark]{--bg:#0d1117;--surface:#161b22;--surface-2:#1c2128;--border:#30363d;--border-strong:#444c56;--text-1:#e6edf3;--text-2:#8b949e;--text-3:#6e7681;--accent:#58a6ff;--accent-hover:#79baff;--accent-muted:#58a6ff1a;--accent-2:#a78bfa;--success:#3fb950;--danger:#f85149;--warning:#d29922;--plot-bg:#161b22;--plot-grid:#21262d;--plot-axis-domain:#444c56;--plot-axis-text:#8b949e;--plot-axis-label:#cdd5df;--plot-title:#e6edf3;--plot-dot:#3d4a5c;--plot-dot-stroke:#2d3748;--plot-dot-sig:#f87171;--plot-dot-sig-stroke:#ef4444;--plot-threshold:#60a5fa;--plot-label:#fca5a5;--plot-zero:#30363d;--tooltip-bg:#080c14f2;--tooltip-text:#e6edf3;--tooltip-name:#fcd34d;--grid-dot:#94a3b80d;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 14px #0006, 0 2px 4px #0003;--shadow-lg:0 12px 32px #00000080, 0 4px 8px #0000004d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition), color var(--transition);font-size:15px}body{background-color:var(--bg);background-image:radial-gradient(circle, var(--grid-dot) 1px, transparent 1px);color:var(--text-1);background-size:24px 24px;min-height:100vh;font-family:IBM Plex Sans,system-ui,sans-serif;line-height:1.5}#app{width:100%}.theme-transitioning,.theme-transitioning *,.theme-transitioning :before,.theme-transitioning :after{transition:background-color .22s,border-color .22s,color .22s,box-shadow .22s!important}.search-wrapper[data-v-b1360c54]{width:100%;position:relative}.search-input-row[data-v-b1360c54]{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition);align-items:center;gap:10px;padding:0 14px;display:flex}.search-input-row.focused[data-v-b1360c54]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted), var(--shadow-sm)}.search-icon[data-v-b1360c54]{color:var(--text-3);transition:color var(--transition);flex-shrink:0;align-items:center;display:flex}.search-input-row.focused .search-icon[data-v-b1360c54]{color:var(--accent)}.search-input[data-v-b1360c54]{color:var(--text-1);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:13px 0;font-family:IBM Plex Sans,sans-serif;font-size:.95rem}.search-input[data-v-b1360c54]::placeholder{color:var(--text-3)}.clear-btn[data-v-b1360c54]{cursor:pointer;color:var(--text-3);transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.clear-btn[data-v-b1360c54]:hover{color:var(--text-1);background:var(--surface-2)}.dropdown[data-v-b1360c54]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;max-height:380px;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.no-results[data-v-b1360c54]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text-2);z-index:100;padding:13px 16px;font-size:.875rem;position:absolute;top:calc(100% + 6px);left:0;right:0}.no-results em[data-v-b1360c54]{color:var(--text-1);font-style:normal}.dropdown-item[data-v-b1360c54]{cursor:pointer;transition:background var(--transition);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:9px 14px;display:flex}.dropdown-item.highlighted[data-v-b1360c54],.dropdown-item[data-v-b1360c54]:hover{background:var(--accent-muted)}.badge[data-v-b1360c54]{letter-spacing:.06em;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:2px 7px;font-family:IBM Plex Mono,monospace;font-size:.65rem;font-weight:600}.badge-ko[data-v-b1360c54]{color:var(--success);background:#0596691f;border:1px solid #05966940}.badge-lipid[data-v-b1360c54]{color:var(--warning);background:#d977061a;border:1px solid #d9770638}.badge-gene[data-v-b1360c54]{background:var(--accent-muted);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent)}.item-name[data-v-b1360c54]{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-family:IBM Plex Sans,sans-serif;font-size:.9rem;overflow:hidden}.volcano-wrapper[data-v-8514ee56]{background:var(--plot-bg,var(--surface));border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:background var(--transition), border-color var(--transition);position:absolute;inset:0;overflow:hidden}.tooltip[data-v-8514ee56]{pointer-events:none;background:var(--tooltip-bg);color:var(--tooltip-text);border-radius:var(--radius-sm);white-space:nowrap;z-index:200;box-shadow:var(--shadow-lg);border:1px solid #ffffff0f;padding:9px 13px;font-size:.8rem;line-height:1.5;position:absolute}.tooltip-name[data-v-8514ee56]{color:var(--tooltip-name);margin-bottom:5px;font-family:IBM Plex Mono,monospace;font-size:.82rem;font-weight:600}.tooltip-table[data-v-8514ee56]{border-collapse:collapse;width:100%}.tooltip-key[data-v-8514ee56]{color:var(--text-3,#6e7681);padding-right:14px;font-family:IBM Plex Sans,sans-serif;font-size:.77rem}.tooltip-val[data-v-8514ee56]{text-align:right;font-family:IBM Plex Mono,monospace;font-size:.77rem;font-weight:500}.dropzone-wrapper[data-v-8a906128]{flex-direction:column;flex:1;gap:10px;min-width:0;padding:24px 20px 28px;display:flex}.zone-label-row[data-v-8a906128]{align-items:center;display:flex}.zone-chip[data-v-8a906128]{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);background:var(--accent-muted);border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:4px;padding:3px 9px;font-size:.66rem;font-weight:600}.zone-title[data-v-8a906128]{color:var(--text-1);letter-spacing:-.02em;font-size:1.05rem;font-weight:600}.zone-desc[data-v-8a906128]{color:var(--text-3);min-height:36px;font-size:.76rem;line-height:1.55}.drop-area[data-v-8a906128]{border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);cursor:pointer;text-align:center;background:var(--surface);outline:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;padding:32px 20px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;position:relative}.drop-area[data-v-8a906128]:focus-visible{box-shadow:0 0 0 3px var(--accent-muted);border-color:var(--accent)}.drop-idle[data-v-8a906128]:hover{border-color:var(--accent);background:var(--accent-muted)}.drop-dragging[data-v-8a906128]{border-color:var(--accent);background:var(--accent-muted);box-shadow:0 0 0 3px var(--accent-muted);border-style:solid}.drop-valid[data-v-8a906128]{border-color:var(--success);background:color-mix(in srgb, var(--success) 7%, var(--surface));cursor:default;border-style:solid}.drop-error[data-v-8a906128]{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 7%, var(--surface));border-style:solid}.drop-error[data-v-8a906128]:hover{background:color-mix(in srgb, var(--danger) 11%, var(--surface))}.drop-icon[data-v-8a906128]{color:var(--text-3);width:28px;height:28px;margin-bottom:4px;transition:color .2s,transform .2s}.drop-idle:hover .drop-icon[data-v-8a906128],.drop-dragging .drop-icon[data-v-8a906128]{color:var(--accent)}.drop-icon.pulse[data-v-8a906128]{animation:.8s ease-in-out infinite pulse-scale-8a906128}@keyframes pulse-scale-8a906128{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.drop-main-text[data-v-8a906128]{color:var(--text-2);font-size:.84rem}.drop-link[data-v-8a906128]{color:var(--accent);text-underline-offset:2px;font-weight:600;text-decoration:underline}.drop-or[data-v-8a906128]{color:var(--text-2)}.drop-sub-text[data-v-8a906128]{color:var(--text-3);margin-top:2px;font-size:.72rem}.drop-status-icon[data-v-8a906128]{margin-bottom:6px}.valid-icon[data-v-8a906128]{color:var(--success);animation:.3s cubic-bezier(.34,1.56,.64,1) pop-in-8a906128}@keyframes pop-in-8a906128{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.error-icon[data-v-8a906128]{color:var(--danger)}.drop-filename[data-v-8a906128]{color:var(--success);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.82rem;font-weight:600;overflow:hidden}.drop-valid-text[data-v-8a906128]{color:var(--success);opacity:.8;font-size:.73rem}.replace-btn[data-v-8a906128]{color:var(--text-3);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;margin-top:8px;padding:3px 10px;font-family:inherit;font-size:.72rem;transition:border-color .15s,color .15s}.replace-btn[data-v-8a906128]:hover{border-color:var(--border-strong);color:var(--text-2)}.drop-error-text[data-v-8a906128]{color:var(--danger);max-width:200px;font-size:.8rem;font-weight:500}.file-input[data-v-8a906128]{opacity:0;cursor:pointer;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.dropzone-wrapper.dragging .drop-area[data-v-8a906128]{border-color:var(--accent);border-style:solid}@media (width<=640px){.dropzone-wrapper[data-v-8a906128]{padding:16px 4px 20px}}.upload-shell[data-v-d643c0ae]{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:40px;width:100%;min-height:0;padding:32px 20px 48px;display:flex}.upload-header[data-v-d643c0ae]{text-align:center}.brand-row[data-v-d643c0ae]{justify-content:center;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.brand-name[data-v-d643c0ae]{letter-spacing:-.04em;color:var(--text-1);font-size:1.6rem;font-weight:400}.brand-bold[data-v-d643c0ae]{font-weight:700}.brand-tag[data-v-d643c0ae]{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:var(--accent-muted);border-radius:3px;padding:2px 7px;font-size:.65rem;font-weight:500}.upload-subtitle[data-v-d643c0ae]{color:var(--text-3);letter-spacing:.01em;font-size:.88rem}.zones-row[data-v-d643c0ae]{flex-direction:row;align-items:stretch;gap:0;width:100%;max-width:860px;display:flex}.zone-divider[data-v-d643c0ae]{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:flex}.divider-line[data-v-d643c0ae]{background:var(--border);flex:1;width:1px;max-height:60px}.divider-plus[data-v-d643c0ae]{color:var(--text-3);letter-spacing:.05em;font-size:.78rem;font-weight:600}.progress-row[data-v-d643c0ae]{flex-direction:column;align-items:center;gap:12px;display:flex}.progress-dots[data-v-d643c0ae]{align-items:center;gap:0;display:flex}.dot[data-v-d643c0ae]{border:2px solid var(--border-strong);background:var(--surface);border-radius:50%;width:10px;height:10px;transition:border-color .3s,background .3s}.dot.done[data-v-d643c0ae]{border-color:var(--success);background:var(--success)}.dot-track[data-v-d643c0ae]{background:var(--border);width:56px;height:2px;margin:0 4px}.progress-label[data-v-d643c0ae]{color:var(--text-3);text-align:center;font-size:.8rem}@media (width<=640px){.zones-row[data-v-d643c0ae]{flex-direction:column;max-width:420px}.zone-divider[data-v-d643c0ae]{flex-direction:row;padding:12px 0}.divider-line[data-v-d643c0ae]{flex:1;width:auto;max-width:80px;height:1px;max-height:none}}.card-grid-container[data-v-f40dabcd]{width:100%;height:100%;padding:4px 2px;overflow-y:auto}.card-grid[data-v-f40dabcd]{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;padding:4px 0 16px;display:grid}.card[data-v-f40dabcd]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background var(--transition), border-color var(--transition), box-shadow var(--transition);align-items:center;gap:8px;min-width:0;padding:8px 10px;font-family:IBM Plex Sans,sans-serif;display:flex}.card[data-v-f40dabcd]:hover{background:var(--surface-2);border-color:var(--accent);box-shadow:var(--shadow-sm)}.card[data-v-f40dabcd]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card[data-type=ko][data-v-f40dabcd]:hover{border-color:var(--success)}.card[data-type=lipid][data-v-f40dabcd]:hover{border-color:var(--warning)}.badge[data-v-f40dabcd]{letter-spacing:.06em;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:2px 6px;font-family:IBM Plex Mono,monospace;font-size:.6rem;font-weight:600;line-height:1.4}.badge-ko[data-v-f40dabcd]{color:var(--success);background:#0596691f;border:1px solid #05966940}.badge-lipid[data-v-f40dabcd]{color:var(--warning);background:#d977061a;border:1px solid #d9770638}.card-name[data-v-f40dabcd]{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8rem;overflow:hidden}.grid-empty[data-v-f40dabcd]{justify-content:center;align-items:center;height:100%;min-height:120px;display:flex}.grid-empty-text[data-v-f40dabcd]{color:var(--text-3);font-size:.88rem}@media (width<=600px){.card-grid[data-v-f40dabcd]{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.card[data-v-f40dabcd]{gap:6px;padding:6px 8px}.card-name[data-v-f40dabcd]{font-size:.75rem}}.license-overlay[data-v-6cef6f63]{z-index:100;background:#0a0a1073;justify-content:center;align-items:center;animation:.15s licenseFadeIn-6cef6f63;display:flex;position:fixed;inset:0}@keyframes licenseFadeIn-6cef6f63{0%{opacity:0}to{opacity:1}}.license-panel[data-v-6cef6f63]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:640px;max-width:calc(100vw - 32px);height:70vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.license-header[data-v-6cef6f63]{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}.license-title[data-v-6cef6f63]{letter-spacing:-.01em;color:var(--text-1);font-size:.95rem;font-weight:600}.license-close[data-v-6cef6f63]{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-3);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.license-close[data-v-6cef6f63]:hover{background:var(--accent-muted);color:var(--accent)}.license-close[data-v-6cef6f63]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.license-body[data-v-6cef6f63]{flex:1;min-height:0;padding:18px 22px 22px;overflow-y:auto}.license-paragraph[data-v-6cef6f63]{color:var(--text-2);white-space:pre-line;font-size:.85rem;line-height:1.65}.license-paragraph+.license-paragraph[data-v-6cef6f63]{margin-top:12px}.license-paragraph[data-v-6cef6f63]:first-child{letter-spacing:.03em;color:var(--text-1);font-weight:600}.app[data-v-97900ac6]{background:var(--bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-body[data-v-97900ac6]{flex-direction:column;flex:1;min-height:0;display:flex}.app-footer[data-v-97900ac6]{text-align:center;letter-spacing:.02em;color:var(--text-3);background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;padding:8px 24px;font-size:.72rem}.navbar[data-v-97900ac6]{z-index:50;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);flex-shrink:0}.navbar-inner[data-v-97900ac6]{align-items:center;gap:16px;height:52px;padding:0 24px;display:flex}.brand[data-v-97900ac6]{flex-shrink:0;align-items:center;gap:9px;display:flex}.brand-icon[data-v-97900ac6]{color:var(--accent);align-items:center;display:flex}.brand-text[data-v-97900ac6]{align-items:baseline;gap:7px;display:flex}.brand-name[data-v-97900ac6]{letter-spacing:-.03em;color:var(--text-1);font-size:1.05rem;font-weight:400}.brand-bold[data-v-97900ac6]{font-weight:600}.brand-tag[data-v-97900ac6]{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--accent-muted);border-radius:3px;padding:2px 6px;font-size:.63rem;font-weight:500}.navbar-subtitle[data-v-97900ac6]{color:var(--text-3);letter-spacing:.01em;flex:1;font-size:.78rem}.nav-btn[data-v-97900ac6]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);flex-shrink:0;align-items:center;gap:5px;padding:5px 11px;font-family:IBM Plex Sans,sans-serif;font-size:.78rem;font-weight:500;display:flex}.nav-btn[data-v-97900ac6]:hover{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.nav-btn[data-v-97900ac6]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-btn-label[data-v-97900ac6]{line-height:1}.nav-btn-right[data-v-97900ac6]{margin-left:auto}.main[data-v-97900ac6]{flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px 20px;display:flex;overflow:hidden}.search-row[data-v-97900ac6]{flex-shrink:0;justify-content:center;display:flex}.search-wrap[data-v-97900ac6]{text-align:center;width:100%;max-width:600px}.search-hint[data-v-97900ac6]{color:var(--text-3);margin-top:6px;font-size:.74rem}.content-area[data-v-97900ac6]{flex:1;align-items:stretch;min-height:0;display:flex}.content-area-grid[data-v-97900ac6]{overflow-y:auto}.state-center[data-v-97900ac6]{flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;display:flex}.state-label[data-v-97900ac6]{color:var(--text-2);font-size:.88rem}.spinner[data-v-97900ac6]{border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.75s linear infinite spin-97900ac6}@keyframes spin-97900ac6{to{transform:rotate(360deg)}}.error-card[data-v-97900ac6]{background:var(--surface);border:1px solid var(--danger);border-radius:var(--radius-md);max-width:480px;color:var(--danger);text-align:center;padding:18px 22px;font-size:.88rem;line-height:1.6}.plots-area[data-v-97900ac6]{gap:14px;width:100%;height:100%;animation:.22s fadeIn-97900ac6;display:flex}@keyframes fadeIn-97900ac6{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.plots-single[data-v-97900ac6]{flex-direction:column}.plots-single .plot-cell[data-v-97900ac6]{flex:1}.plots-double[data-v-97900ac6]{flex-direction:row}.plots-double .plot-cell[data-v-97900ac6]{flex:1;min-width:0}@media (width<=860px){.plots-double[data-v-97900ac6]{flex-direction:column;overflow-y:auto}.plots-double .plot-cell[data-v-97900ac6]{flex-shrink:0;min-height:340px}}.plot-cell[data-v-97900ac6]{min-height:0;position:relative}.plots-single .plot-cell[data-v-97900ac6]{min-height:0}
