.scatter-container.svelte-akyjh0{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.canvas-wrapper.svelte-akyjh0{position:relative}.scatter-canvas.svelte-akyjh0{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:8px;cursor:grab;display:block;z-index:1}.scatter-canvas.svelte-akyjh0:active{cursor:grabbing}.text-overlay-canvas.svelte-akyjh0{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;border-radius:8px;z-index:2}.plot-toolbar.svelte-akyjh0{position:absolute;top:8px;right:8px;z-index:10;display:flex;gap:4px}.toolbar-button.svelte-akyjh0{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--color-surface-elevated, rgba(30, 30, 35, .8));border:1px solid var(--color-border, rgba(255, 255, 255, .1));border-radius:6px;color:var(--color-text-muted, rgba(255, 255, 255, .6));cursor:pointer;transition:all .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.toolbar-button.svelte-akyjh0:hover{background:var(--color-surface-hover, rgba(50, 50, 55, .9));color:var(--color-text, rgba(255, 255, 255, .9));border-color:var(--color-border-hover, rgba(255, 255, 255, .2))}.toolbar-button.svelte-akyjh0:active{transform:scale(.95)}.toolbar-button-active.svelte-akyjh0{color:var(--color-text, rgba(255, 255, 255, .9));border-color:var(--color-border-hover, rgba(255, 255, 255, .2))}.gene-search.svelte-1hqtyhe{position:relative;width:180px;min-width:140px}.search-input-wrapper.svelte-1hqtyhe{position:relative}.search-icon.svelte-1hqtyhe{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--color-text-subtle);pointer-events:none}.search-icon.svelte-1hqtyhe svg:where(.svelte-1hqtyhe){width:14px;height:14px}input.svelte-1hqtyhe{width:100%;padding:5px 28px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-surface-input);color:var(--color-text);font-size:12px;font-family:JetBrains Mono,Fira Code,monospace;transition:all .2s ease}input.svelte-1hqtyhe:focus{outline:none;border-color:var(--color-accent);background:var(--color-accent-bg);box-shadow:var(--shadow-focus)}input.svelte-1hqtyhe::placeholder{color:var(--color-text-disabled)}.clear-btn.svelte-1hqtyhe{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-subtle);cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;justify-content:center}.clear-btn.svelte-1hqtyhe svg:where(.svelte-1hqtyhe){width:12px;height:12px}.clear-btn.svelte-1hqtyhe:hover{color:var(--color-text);background:var(--color-surface-hover)}.dropdown.svelte-1hqtyhe{position:absolute;top:100%;left:0;min-width:280px;margin-top:4px;padding:4px;background:var(--color-surface-dropdown);border:1px solid var(--color-border);border-radius:8px;list-style:none;max-height:300px;overflow-y:auto;z-index:100;box-shadow:var(--shadow-dropdown)}.dropdown.svelte-1hqtyhe li:where(.svelte-1hqtyhe){padding:8px 12px;cursor:pointer;border-radius:6px;display:flex;align-items:flex-start;transition:background .15s ease}.dropdown.svelte-1hqtyhe li:where(.svelte-1hqtyhe):hover,.dropdown.svelte-1hqtyhe li.highlighted:where(.svelte-1hqtyhe){background:var(--color-accent-bg-hover)}.gene-info.svelte-1hqtyhe{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.gene-symbol.svelte-1hqtyhe{font-weight:600;color:var(--color-text);font-size:13px}.gene-description.svelte-1hqtyhe{font-size:10px;color:var(--color-text-subtle);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.protein-search.svelte-1uejew6{position:relative;width:180px;min-width:140px}.search-input-wrapper.svelte-1uejew6{position:relative}.search-icon.svelte-1uejew6{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--color-text-subtle);pointer-events:none}.search-icon.svelte-1uejew6 svg:where(.svelte-1uejew6){width:14px;height:14px}input.svelte-1uejew6{width:100%;padding:5px 28px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-surface-input);color:var(--color-text);font-size:12px;font-family:JetBrains Mono,Fira Code,monospace;transition:all .2s ease}input.svelte-1uejew6:focus{outline:none;border-color:var(--color-accent);background:var(--color-accent-bg);box-shadow:var(--shadow-focus)}input.svelte-1uejew6::placeholder{color:var(--color-text-disabled)}.clear-btn.svelte-1uejew6{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-subtle);cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;justify-content:center}.clear-btn.svelte-1uejew6 svg:where(.svelte-1uejew6){width:12px;height:12px}.clear-btn.svelte-1uejew6:hover{color:var(--color-text);background:var(--color-surface-hover)}.dropdown.svelte-1uejew6{position:absolute;top:100%;left:0;min-width:220px;margin-top:4px;padding:4px;background:var(--color-surface-dropdown);border:1px solid var(--color-border);border-radius:8px;list-style:none;max-height:300px;overflow-y:auto;z-index:100;box-shadow:var(--shadow-dropdown)}.dropdown.svelte-1uejew6 li:where(.svelte-1uejew6){padding:8px 12px;cursor:pointer;border-radius:6px;display:flex;align-items:flex-start;transition:background .15s ease}.dropdown.svelte-1uejew6 li:where(.svelte-1uejew6):hover,.dropdown.svelte-1uejew6 li.highlighted:where(.svelte-1uejew6){background:var(--color-accent-bg-hover)}.protein-info.svelte-1uejew6{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.protein-name.svelte-1uejew6{font-weight:600;color:var(--color-text);font-size:13px}.protein-type.svelte-1uejew6{font-size:10px;color:var(--color-text-subtle);line-height:1.3}.cnv-search.svelte-1q7r5ho{position:relative;width:180px;min-width:140px}.search-input-wrapper.svelte-1q7r5ho{position:relative}.search-icon.svelte-1q7r5ho{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--color-text-subtle);pointer-events:none}.search-icon.svelte-1q7r5ho svg:where(.svelte-1q7r5ho){width:14px;height:14px}input.svelte-1q7r5ho{width:100%;padding:5px 28px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-surface-input);color:var(--color-text);font-size:12px;font-family:JetBrains Mono,Fira Code,monospace;transition:all .2s ease}input.svelte-1q7r5ho:focus{outline:none;border-color:var(--color-accent);background:var(--color-accent-bg);box-shadow:var(--shadow-focus)}input.svelte-1q7r5ho::placeholder{color:var(--color-text-disabled)}.clear-btn.svelte-1q7r5ho{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-subtle);cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;justify-content:center}.clear-btn.svelte-1q7r5ho svg:where(.svelte-1q7r5ho){width:12px;height:12px}.clear-btn.svelte-1q7r5ho:hover{color:var(--color-text);background:var(--color-surface-hover)}.dropdown.svelte-1q7r5ho{position:absolute;top:100%;left:0;min-width:220px;margin-top:4px;padding:4px;background:var(--color-surface-dropdown);border:1px solid var(--color-border);border-radius:8px;list-style:none;max-height:300px;overflow-y:auto;z-index:100;box-shadow:var(--shadow-dropdown)}.dropdown.svelte-1q7r5ho li:where(.svelte-1q7r5ho){padding:8px 12px;cursor:pointer;border-radius:6px;display:flex;align-items:flex-start;transition:background .15s ease}.dropdown.svelte-1q7r5ho li:where(.svelte-1q7r5ho):hover,.dropdown.svelte-1q7r5ho li.highlighted:where(.svelte-1q7r5ho){background:var(--color-accent-bg-hover)}.cnv-info.svelte-1q7r5ho{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cnv-name.svelte-1q7r5ho{font-weight:600;color:var(--color-text);font-size:13px}.cnv-type.svelte-1q7r5ho{font-size:10px;color:var(--color-text-subtle);line-height:1.3}.legend.svelte-bvoqny{background:var(--color-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;display:flex;flex-direction:column;max-height:100%;overflow:hidden}.legend-header.svelte-bvoqny{display:flex;flex-direction:column;justify-content:center;gap:2px;height:32px;padding:0 12px;border-bottom:1px solid var(--color-border);flex-shrink:0;box-sizing:border-box}.legend-header-row.svelte-bvoqny{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.legend-title.svelte-bvoqny{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px;display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.legend-title.svelte-bvoqny{background:none;border:none;padding:0;margin:0;font-family:inherit}.legend-title.clickable.svelte-bvoqny{cursor:pointer;transition:color .15s ease}.legend-title.clickable.svelte-bvoqny:hover{color:var(--color-selection)}.legend-title.clickable.svelte-bvoqny:focus{outline:none;color:var(--color-selection)}.selection-count.svelte-bvoqny{font-size:10px;font-weight:500;color:var(--color-selection);background:var(--color-selection-bg);padding:1px 5px;border-radius:8px;text-transform:none}.sort-toggle.svelte-bvoqny{background:var(--color-surface-hover);border:1px solid var(--color-border-hover);border-radius:4px;color:var(--color-text-muted);font-size:10px;font-weight:600;padding:2px 6px;cursor:pointer;transition:all .15s ease;min-width:24px;text-align:center;flex-shrink:0}.sort-toggle.svelte-bvoqny:hover{background:var(--color-surface-active);color:var(--color-text-secondary);border-color:var(--color-border-hover)}.legend-subtitle.svelte-bvoqny{font-size:10px;font-weight:400;color:var(--color-text-subtle);font-family:JetBrains Mono,Fira Code,monospace}.legend-scroll.svelte-bvoqny{flex:1;overflow-y:auto;padding:4px 6px 6px}.legend-svg.svelte-bvoqny{display:block;width:100%}.gradient-legend.svelte-bvoqny{padding:12px}.gradient-bar.svelte-bvoqny{height:12px;border-radius:6px;background:linear-gradient(to right,#440154,#3e4a89,#26828e,#35b779,#fde725)}.gradient-labels.svelte-bvoqny{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:var(--color-text-muted)}.legend-scroll.svelte-bvoqny::-webkit-scrollbar{width:4px}.legend-scroll.svelte-bvoqny::-webkit-scrollbar-track{background:transparent}.legend-scroll.svelte-bvoqny::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:2px}.legend-tooltip.svelte-bvoqny{position:fixed;z-index:10000;background:var(--color-backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border-hover);border-radius:8px;padding:8px 10px;pointer-events:none;box-shadow:var(--shadow-tooltip);min-width:120px;max-width:280px}.legend-tooltip.svelte-bvoqny .tooltip-title:where(.svelte-bvoqny){font-size:12px;font-weight:600;color:var(--color-text-secondary);word-wrap:break-word;overflow-wrap:break-word}.legend-tooltip.svelte-bvoqny .tooltip-detail:where(.svelte-bvoqny){font-size:11px;color:var(--color-text-muted);margin-top:2px}.histogram-legend-compact.svelte-1pmvuhe{display:inline-flex;align-items:center;border-radius:4px;overflow:hidden;background:var(--color-surface-hover);padding:9px 12px 0}.histogram-legend-compact.svelte-1pmvuhe svg:where(.svelte-1pmvuhe){display:block}.histogram-legend-compact.svelte-1pmvuhe .brush,.histogram-legend-compact.svelte-1pmvuhe .brush .overlay{cursor:crosshair}.histogram-legend-compact.svelte-1pmvuhe .brush .selection{cursor:move}.histogram-legend-compact.svelte-1pmvuhe .brush .handle{cursor:ew-resize}.histogram-legend-minimal.svelte-1pmvuhe{display:flex;align-items:center;gap:4px;background:var(--color-overlay);border-radius:6px;padding:4px 8px;overflow:visible}.histogram-legend-minimal.svelte-1pmvuhe .brush{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.histogram-legend-minimal.svelte-1pmvuhe .brush .overlay{cursor:crosshair;fill:transparent}.histogram-legend-minimal.svelte-1pmvuhe .brush .selection{cursor:move}.histogram-legend-minimal.svelte-1pmvuhe .brush .handle{cursor:ew-resize}.histogram-legend-minimal.svelte-1pmvuhe svg:where(.svelte-1pmvuhe){display:block;flex-shrink:0;overflow:visible}.minimal-left.svelte-1pmvuhe,.minimal-right.svelte-1pmvuhe{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:28px}.minimal-left.svelte-1pmvuhe{align-items:flex-end}.minimal-right.svelte-1pmvuhe{align-items:flex-start}.minimal-percent.svelte-1pmvuhe{font-size:10px;font-weight:600;color:var(--color-text-secondary);font-family:JetBrains Mono,Fira Code,monospace}.minimal-unit.svelte-1pmvuhe{font-size:10px;font-weight:500;color:var(--color-text-muted);font-family:JetBrains Mono,Fira Code,monospace;letter-spacing:-.3px}.minimal-value.svelte-1pmvuhe{font-size:9px;color:var(--color-text-muted);font-family:JetBrains Mono,Fira Code,monospace}.colormap-toggle.svelte-1pmvuhe{width:18px;height:18px;padding:0;margin-left:4px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-hover);border:1px solid var(--color-border-hover);border-radius:3px;color:var(--color-text-muted);font-size:9px;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;cursor:pointer;transition:all .15s ease;flex-shrink:0}.colormap-toggle.svelte-1pmvuhe:hover{background:var(--color-surface-active);border-color:var(--color-border-hover);color:var(--color-text-secondary)}.colormap-toggle.svelte-1pmvuhe:active{background:var(--color-surface-active);transform:scale(.95)}.histogram-legend.svelte-1pmvuhe{background:var(--color-surface);border-radius:8px;padding:10px;box-sizing:border-box}.legend-header.svelte-1pmvuhe{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.legend-title-container.svelte-1pmvuhe{display:flex;flex-direction:column;gap:2px}.legend-title.svelte-1pmvuhe{font-size:15px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.3px}.legend-title.gene-title.svelte-1pmvuhe{font-style:italic}.legend-subtitle.svelte-1pmvuhe{font-size:11px;font-weight:400;color:var(--color-text-subtle);font-family:JetBrains Mono,Fira Code,monospace}.legend-description.svelte-1pmvuhe{font-size:10px;font-weight:400;color:var(--color-text-muted);line-height:1.35;margin-top:2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.colormap-toggle-large.svelte-1pmvuhe{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--color-surface-hover);border:1px solid var(--color-border-hover);border-radius:4px;color:var(--color-text-muted);font-size:11px;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;cursor:pointer;transition:all .15s ease;flex-shrink:0}.colormap-toggle-large.svelte-1pmvuhe:hover{background:var(--color-surface-active);border-color:var(--color-border-hover);color:var(--color-text-secondary)}.colormap-toggle-large.svelte-1pmvuhe:active{background:var(--color-surface-active);transform:scale(.95)}svg.svelte-1pmvuhe{display:block;overflow:visible;flex-shrink:0}.histogram-legend.svelte-1pmvuhe .brush{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.histogram-legend.svelte-1pmvuhe .brush .overlay{cursor:crosshair;fill:transparent}.histogram-legend.svelte-1pmvuhe .brush .selection{cursor:move}.histogram-legend.svelte-1pmvuhe .brush .handle{cursor:ew-resize}.legend-info.svelte-1pmvuhe{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}.legend-label.svelte-1pmvuhe{font-size:12px;color:var(--color-text-muted)}.dataset-selector.svelte-hs9mqg{position:relative}.selector-button.svelte-hs9mqg{display:flex;align-items:center;justify-content:space-between;width:100%;padding:3px 8px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:12px;cursor:pointer;transition:all .2s ease}.selector-button.svelte-hs9mqg:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.current.svelte-hs9mqg{display:flex;align-items:center;gap:6px;text-align:left}.chevron.svelte-hs9mqg{transition:transform .2s ease;opacity:.5}.chevron.open.svelte-hs9mqg{transform:rotate(180deg)}.thumb.svelte-hs9mqg{width:36px;height:36px;border-radius:4px;object-fit:cover;flex-shrink:0;background:var(--color-surface)}.thumb-sm.svelte-hs9mqg{width:22px;height:22px;border-radius:3px}.thumb-placeholder.svelte-hs9mqg{border:1px dashed var(--color-border)}.dropdown.svelte-hs9mqg{position:absolute;top:100%;left:0;min-width:260px;margin-top:4px;background:var(--color-surface-dropdown);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;z-index:100;box-shadow:var(--shadow-dropdown)}.dropdown-item.svelte-hs9mqg{display:flex;align-items:center;gap:10px;width:100%;padding:6px 10px;background:none;border:none;color:var(--color-text);font-size:12px;cursor:pointer;text-align:left;transition:background .15s ease}.dropdown-item.svelte-hs9mqg:hover{background:var(--color-accent-bg-hover)}.dropdown-item.active.svelte-hs9mqg{background:var(--color-accent-bg-active)}.dataset-info.svelte-hs9mqg{display:flex;flex-direction:column;gap:1px;min-width:0}.dataset-name.svelte-hs9mqg{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dataset-stats.svelte-hs9mqg{display:flex;gap:8px;font-size:10px;color:var(--color-text-secondary);font-weight:400}.stat.svelte-hs9mqg{white-space:nowrap}.backdrop.svelte-hs9mqg{position:fixed;inset:0;z-index:99;background:none;border:none;cursor:default}.contrast-selector.svelte-19k50c{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.empty.svelte-19k50c{color:var(--color-text-subtle);font-size:12px;font-style:italic}.tab-bar.svelte-19k50c{display:flex;gap:0;background:var(--color-surface-elevated);border-radius:6px;padding:2px;flex-shrink:0}.tab-btn.svelte-19k50c{padding:5px 12px;background:transparent;border:none;border-radius:4px;color:var(--color-text-muted);font-size:12px;font-family:inherit;font-weight:500;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.tab-btn.svelte-19k50c:hover{color:var(--color-text-secondary);background:var(--color-surface-hover)}.tab-btn.active.svelte-19k50c{background:var(--color-accent-bg-active);color:var(--color-text)}.toolbar-select.svelte-19k50c{padding:5px 26px 5px 10px;background:var(--color-surface-hover);border:1px solid var(--color-border-hover);border-radius:6px;color:var(--color-text);font-size:12px;font-family:inherit;cursor:pointer;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='rgba(255,255,255,0.5)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:80px;max-width:220px}:root[data-theme=light] .toolbar-select.svelte-19k50c{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='rgba(0,0,0,0.5)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E")}.toolbar-select.svelte-19k50c:hover{background-color:var(--color-surface-active);border-color:var(--color-border-hover)}.toolbar-select.svelte-19k50c:focus{outline:none;border-color:var(--color-border-focus)}.toolbar-select.svelte-19k50c option:where(.svelte-19k50c){background:var(--color-surface-dropdown);color:var(--color-text);padding:8px}.toolbar-select.svelte-19k50c option.anova:where(.svelte-19k50c){font-weight:600;color:var(--color-warning)}.contrast-select.svelte-19k50c{min-width:120px}.subset-toggle-btn.svelte-19k50c{padding:5px 10px;background:transparent;border:1px dashed var(--color-border-hover);border-radius:6px;color:var(--color-text-muted);font-size:12px;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.subset-toggle-btn.svelte-19k50c:hover{background:var(--color-surface-hover);color:var(--color-text-secondary);border-color:var(--color-border-focus)}.connective.svelte-19k50c{font-size:12px;color:var(--color-text-muted);font-style:italic;flex-shrink:0}.subset-separator.svelte-19k50c{font-size:12px;color:var(--color-text-muted);flex-shrink:0}.clear-subset-btn.svelte-19k50c{padding:2px 6px;background:transparent;border:1px solid var(--color-border-hover);border-radius:4px;color:var(--color-text-muted);font-size:14px;line-height:1;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.clear-subset-btn.svelte-19k50c:hover{background:var(--color-surface-hover);color:var(--color-text)}.table-histogram-filter.svelte-1w3m8y3{display:inline-block;border-radius:3px;overflow:visible;background:var(--color-surface-hover, rgba(255, 255, 255, .08));padding:8px 8px 2px}.table-histogram-filter.svelte-1w3m8y3 svg:where(.svelte-1w3m8y3){display:block;overflow:visible}.table-histogram-filter.svelte-1w3m8y3 .brush{cursor:crosshair}.table-histogram-filter.svelte-1w3m8y3 .brush .overlay{cursor:crosshair;fill:transparent}.table-histogram-filter.svelte-1w3m8y3 .brush .selection{cursor:move}.table-histogram-filter.svelte-1w3m8y3 .brush .handle{cursor:ew-resize}.gene-table.svelte-11nspeb{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:8px;overflow:hidden;height:100%}.gene-header.svelte-11nspeb{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.gene-label.svelte-11nspeb{cursor:pointer;white-space:nowrap}.histogram-header.svelte-11nspeb{display:flex;flex-direction:column;align-items:flex-start;gap:4px;cursor:default}.histogram-label.svelte-11nspeb{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;white-space:nowrap;text-align:left;display:inline-flex;align-items:center;gap:4px}.histogram-label.svelte-11nspeb:hover{color:var(--color-text-secondary)}.filter-input.svelte-11nspeb{width:100%;max-width:100px;padding:3px 6px;background:var(--color-surface-hover);border:1px solid var(--color-border-hover);border-radius:4px;color:var(--color-text);font-size:11px;box-sizing:border-box}.filter-input.svelte-11nspeb::placeholder{color:var(--color-text-subtle)}.filter-input.svelte-11nspeb:focus{outline:none;border-color:var(--color-border-focus);background:var(--color-surface-active)}.result-count.svelte-11nspeb{margin-left:auto;font-size:10px;color:var(--color-text-muted);font-family:JetBrains Mono,Fira Code,monospace;white-space:nowrap;display:flex;align-items:center;gap:6px}.reset-filters.svelte-11nspeb{background:var(--color-error-bg);border:none;border-radius:3px;color:var(--color-text-secondary);font-size:10px;padding:2px 6px;cursor:pointer;transition:background .15s}.reset-filters.svelte-11nspeb:hover{background:var(--color-error-border);color:var(--color-text)}.table-container.svelte-11nspeb{flex:1;overflow-y:scroll;overflow-x:hidden}table.svelte-11nspeb{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}thead.svelte-11nspeb{position:sticky;top:0;background:var(--color-surface-dropdown);z-index:1}th.svelte-11nspeb{padding:6px 8px;text-align:left;font-weight:600;color:var(--color-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--color-border);transition:background .1s;vertical-align:top}th.svelte-11nspeb:hover{background:var(--color-surface-hover)}th.sorted.svelte-11nspeb{color:var(--color-accent)}.sort-icon.svelte-11nspeb{margin-left:4px;font-size:10px;opacity:.5}th.sorted.svelte-11nspeb .sort-icon:where(.svelte-11nspeb){opacity:1}td.svelte-11nspeb{padding:6px 10px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle);font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}td.gene-col.svelte-11nspeb{font-family:inherit;display:flex;flex-direction:column;gap:1px;line-height:1.3}.gene-symbol.svelte-11nspeb{font-weight:500;font-style:italic;color:var(--color-text)}.gene-desc.svelte-11nspeb{font-size:10px;font-weight:400;font-style:normal;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}tr.svelte-11nspeb{cursor:pointer;transition:background .1s}tbody.svelte-11nspeb tr:where(.svelte-11nspeb):hover{background:var(--color-surface-hover)}tr.selected.svelte-11nspeb{background:var(--color-accent-bg-hover)}tr.selected.svelte-11nspeb:hover{background:var(--color-accent-bg-active)}tr.empty-row.svelte-11nspeb{cursor:default}tr.empty-row.svelte-11nspeb td:where(.svelte-11nspeb){text-align:center;color:var(--color-text-subtle);font-style:italic;padding:20px}.pagination.svelte-11nspeb{display:flex;justify-content:center;align-items:center;gap:8px;padding:8px;border-top:1px solid var(--color-border-subtle);background:var(--color-plot-bg)}.pagination.svelte-11nspeb button:where(.svelte-11nspeb){padding:4px 8px;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);font-size:11px;cursor:pointer;transition:all .1s}.pagination.svelte-11nspeb button:where(.svelte-11nspeb):hover:not(:disabled){background:var(--color-surface-active);color:var(--color-text)}.pagination.svelte-11nspeb button:where(.svelte-11nspeb):disabled{opacity:.3;cursor:not-allowed}.page-info.svelte-11nspeb{font-size:11px;color:var(--color-text-muted);padding:0 8px}.table-container.svelte-11nspeb::-webkit-scrollbar{width:6px}.table-container.svelte-11nspeb::-webkit-scrollbar-track{background:transparent}.table-container.svelte-11nspeb::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.table-container.svelte-11nspeb::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.beeswarm-wrapper.svelte-1122u6w{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0}.beeswarm-container.svelte-1122u6w{background:var(--color-plot-bg);border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:center;min-height:200px;flex:1;overflow:hidden}.stratified-layout.svelte-1122u6w{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--color-plot-bg);border-radius:8px;overflow:hidden}.stratified-header.svelte-1122u6w{flex-shrink:0;padding:8px 12px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 0;border-bottom:1px solid var(--color-border);background:var(--color-overlay)}.gene-title.svelte-1122u6w{font-size:13px;font-weight:600;font-style:italic;color:var(--color-text-secondary)}.stratify-label.svelte-1122u6w{font-size:11px;font-weight:500;color:var(--color-text-muted);text-align:right}.subset-label.svelte-1122u6w{flex-basis:100%;margin-top:4px;font-size:11px;color:var(--color-text-muted)}.stratified-scroll.svelte-1122u6w{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.stratified-footer.svelte-1122u6w{flex-shrink:0;border-top:1px solid var(--color-border);background:var(--color-overlay);padding:4px 0}svg.svelte-1122u6w{display:block}.empty-state.svelte-1122u6w{color:var(--color-text-subtle);font-size:13px;text-align:center}.empty-state.svelte-1122u6w p:where(.svelte-1122u6w){margin:0}.beeswarm-tooltip.svelte-1122u6w{position:fixed;z-index:10000;background:var(--color-backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border-hover);border-radius:8px;padding:10px 12px;pointer-events:none;box-shadow:var(--shadow-tooltip);min-width:140px;max-width:200px}.beeswarm-tooltip.svelte-1122u6w .tooltip-title:where(.svelte-1122u6w){font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.beeswarm-tooltip.svelte-1122u6w .tooltip-row:where(.svelte-1122u6w){display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-top:4px}.beeswarm-tooltip.svelte-1122u6w .tooltip-label:where(.svelte-1122u6w){color:var(--color-text-muted)}.beeswarm-tooltip.svelte-1122u6w .tooltip-value:where(.svelte-1122u6w){color:var(--color-text-secondary);font-family:JetBrains Mono,Fira Code,monospace;font-weight:500}.facet-wrapper.svelte-98yjlv{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-plot-bg);border-radius:12px;border:1px solid var(--color-border-subtle);overflow:hidden}.facet-header.svelte-98yjlv{flex-shrink:0;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);background:var(--color-overlay);gap:16px;flex-wrap:wrap}.header-left.svelte-98yjlv{display:flex;align-items:center;gap:12px}.gene-title.svelte-98yjlv{font-size:14px;font-weight:600;font-style:italic;color:var(--color-text-secondary)}.header-selectors.svelte-98yjlv{display:flex;gap:16px;flex-wrap:wrap}.header-group.svelte-98yjlv{display:flex;align-items:center;gap:6px}.header-group.svelte-98yjlv label:where(.svelte-98yjlv){font-size:11px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.header-group.svelte-98yjlv select:where(.svelte-98yjlv){padding:5px 24px 5px 10px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:5px;color:var(--color-text);font-size:12px;cursor:pointer;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='rgba(255,255,255,0.5)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:100px}:root[data-theme=light] .header-group.svelte-98yjlv select:where(.svelte-98yjlv){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='rgba(0,0,0,0.5)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E")}.header-group.svelte-98yjlv select:where(.svelte-98yjlv):hover{background-color:var(--color-surface-hover);border-color:var(--color-border-hover)}.header-group.svelte-98yjlv select:where(.svelte-98yjlv):focus{outline:none;border-color:var(--color-accent-border)}.facet-container.svelte-98yjlv{flex:1;min-height:0;position:relative;overflow:hidden}.empty-state.svelte-98yjlv{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-subtle);font-size:13px;text-align:center;padding:20px}.group-legend.svelte-98yjlv{flex-shrink:0;display:flex;flex-wrap:wrap;gap:12px;padding:8px 16px;border-top:1px solid var(--color-border);background:var(--color-overlay);justify-content:center}.legend-item.svelte-98yjlv{display:flex;align-items:center;gap:6px}.legend-color.svelte-98yjlv{width:12px;height:12px;border-radius:2px;flex-shrink:0}.legend-label.svelte-98yjlv{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.facet-tooltip.svelte-98yjlv{position:fixed;z-index:10000;background:var(--color-backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border-hover);border-radius:8px;padding:10px 12px;pointer-events:none;box-shadow:var(--shadow-tooltip);min-width:140px;max-width:220px}.facet-tooltip.svelte-98yjlv .tooltip-title:where(.svelte-98yjlv){font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.facet-tooltip.svelte-98yjlv .tooltip-row:where(.svelte-98yjlv){display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-top:4px}.facet-tooltip.svelte-98yjlv .tooltip-label:where(.svelte-98yjlv){color:var(--color-text-muted)}.facet-tooltip.svelte-98yjlv .tooltip-value:where(.svelte-98yjlv){color:var(--color-text-secondary);font-family:JetBrains Mono,Fira Code,monospace;font-weight:500;text-align:right;overflow:hidden;text-overflow:ellipsis}.bar-facet-wrapper.svelte-1cmkd9o{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-plot-bg);border-radius:12px;border:1px solid var(--color-border-subtle);overflow:hidden}.facet-header.svelte-1cmkd9o{flex-shrink:0;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);background:var(--color-overlay);gap:16px;flex-wrap:wrap}.header-left.svelte-1cmkd9o{display:flex;align-items:center;gap:12px}.plot-title.svelte-1cmkd9o{font-size:14px;font-weight:600;color:var(--color-text-secondary)}.header-selectors.svelte-1cmkd9o{display:flex;gap:16px;flex-wrap:wrap}.header-group.svelte-1cmkd9o{display:flex;align-items:center;gap:6px}.header-group.svelte-1cmkd9o label:where(.svelte-1cmkd9o){font-size:11px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.header-group.svelte-1cmkd9o select:where(.svelte-1cmkd9o){padding:5px 24px 5px 10px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:5px;color:var(--color-text);font-size:12px;cursor:pointer;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='rgba(255,255,255,0.5)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:100px}:root[data-theme=light] .header-group.svelte-1cmkd9o select:where(.svelte-1cmkd9o){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='rgba(0,0,0,0.5)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E")}.header-group.svelte-1cmkd9o select:where(.svelte-1cmkd9o):hover{background-color:var(--color-surface-hover);border-color:var(--color-border-hover)}.header-group.svelte-1cmkd9o select:where(.svelte-1cmkd9o):focus{outline:none;border-color:var(--color-accent-border)}.facet-container.svelte-1cmkd9o{flex:1;min-height:0;position:relative;overflow:hidden}.empty-state.svelte-1cmkd9o{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-subtle);font-size:13px;text-align:center;padding:20px}.bar-legend.svelte-1cmkd9o{flex-shrink:0;display:flex;flex-wrap:wrap;gap:20px;padding:8px 16px;border-top:1px solid var(--color-border);background:var(--color-overlay);justify-content:center}.legend-item.svelte-1cmkd9o{display:flex;align-items:center;gap:6px}.legend-color.svelte-1cmkd9o{width:14px;height:14px;border-radius:3px;flex-shrink:0}.legend-label.svelte-1cmkd9o{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.bar-tooltip.svelte-1cmkd9o{position:fixed;z-index:10000;background:var(--color-backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border-hover);border-radius:8px;padding:10px 12px;pointer-events:none;box-shadow:var(--shadow-tooltip);min-width:160px;max-width:240px}.bar-tooltip.svelte-1cmkd9o .tooltip-title:where(.svelte-1cmkd9o){font-size:12px;font-weight:600;color:var(--color-text-secondary)}.bar-tooltip.svelte-1cmkd9o .tooltip-subtitle:where(.svelte-1cmkd9o){font-size:11px;color:var(--color-text-muted);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.bar-tooltip.svelte-1cmkd9o .tooltip-row:where(.svelte-1cmkd9o){display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-top:4px}.bar-tooltip.svelte-1cmkd9o .tooltip-label:where(.svelte-1cmkd9o){color:var(--color-text-muted)}.bar-tooltip.svelte-1cmkd9o .tooltip-value:where(.svelte-1cmkd9o){color:var(--color-text-secondary);font-family:JetBrains Mono,Fira Code,monospace;font-weight:500}.bar-tooltip.svelte-1cmkd9o .tooltip-value.up:where(.svelte-1cmkd9o){color:#ef4444}.bar-tooltip.svelte-1cmkd9o .tooltip-value.down:where(.svelte-1cmkd9o){color:#3b82f6}.bar-tooltip.svelte-1cmkd9o .tooltip-genes:where(.svelte-1cmkd9o){margin-top:6px;padding-top:6px;border-top:1px solid var(--color-border-subtle)}.bar-tooltip.svelte-1cmkd9o .tooltip-genes-label:where(.svelte-1cmkd9o){display:block;font-size:10px;font-weight:600;margin-bottom:2px}.bar-tooltip.svelte-1cmkd9o .tooltip-genes-label.up:where(.svelte-1cmkd9o){color:#ef4444}.bar-tooltip.svelte-1cmkd9o .tooltip-genes-label.down:where(.svelte-1cmkd9o){color:#3b82f6}.bar-tooltip.svelte-1cmkd9o .tooltip-genes-list:where(.svelte-1cmkd9o){display:block;font-size:10px;color:var(--color-text-muted);word-break:break-word;line-height:1.3}.loading-overlay.svelte-1qpkoic{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--color-overlay-heavy);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:12px;z-index:10;color:var(--color-text-muted);font-size:14px}.spinner.svelte-1qpkoic{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:svelte-1qpkoic-spin 1s linear infinite}@keyframes svelte-1qpkoic-spin{to{transform:rotate(360deg)}}.error-message.svelte-1d26unn{display:flex;align-items:center;gap:10px;padding:16px 20px;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;color:var(--color-error-text);font-size:14px}.error-icon.svelte-1d26unn{font-size:16px;flex-shrink:0}.plot-container.svelte-ph8w7v{width:100%;height:100%;min-height:300px;position:relative}.plot-container.svelte-ph8w7v .no-data{color:var(--color-text-subtle);font-size:13px;text-align:center;padding:40px}.plot-tooltip.svelte-ph8w7v{position:fixed;z-index:10000;background:var(--color-backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border-hover);border-radius:8px;padding:10px 12px;pointer-events:none;box-shadow:var(--shadow-tooltip);min-width:160px;max-width:220px}.plot-tooltip.svelte-ph8w7v .tooltip-title:where(.svelte-ph8w7v){font-size:13px;font-weight:600;font-style:italic;color:var(--color-text-secondary);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.plot-tooltip.svelte-ph8w7v .tooltip-selected:where(.svelte-ph8w7v){font-style:normal;font-weight:500;color:#facc15}.plot-tooltip.svelte-ph8w7v .tooltip-row:where(.svelte-ph8w7v){display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-top:4px}.plot-tooltip.svelte-ph8w7v .tooltip-label:where(.svelte-ph8w7v){color:var(--color-text-muted)}.plot-tooltip.svelte-ph8w7v .tooltip-value:where(.svelte-ph8w7v){color:var(--color-text-secondary);font-family:JetBrains Mono,Fira Code,monospace;font-weight:500}.gene-info-card.svelte-lqyia{background:var(--color-surface);border-radius:12px;border:1px solid var(--color-border-subtle);padding:14px 16px;width:100%}.gene-info-card.compact.svelte-lqyia{padding:8px 10px;border-radius:8px;max-width:320px;background:var(--color-surface-dropdown);border:1px solid var(--color-border);box-shadow:0 4px 16px #0000004d}.loading-state.svelte-lqyia,.error-state.svelte-lqyia,.not-found-state.svelte-lqyia{display:flex;align-items:center;gap:10px;padding:8px;color:var(--color-text-muted);font-size:13px}.compact.svelte-lqyia .loading-state:where(.svelte-lqyia),.compact.svelte-lqyia .error-state:where(.svelte-lqyia),.compact.svelte-lqyia .not-found-state:where(.svelte-lqyia){padding:4px;font-size:12px}.error-state.svelte-lqyia{color:var(--color-error, #dc2626)}.spinner.svelte-lqyia{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:svelte-lqyia-spin 1s linear infinite}.compact.svelte-lqyia .spinner:where(.svelte-lqyia){width:12px;height:12px}@keyframes svelte-lqyia-spin{to{transform:rotate(360deg)}}.gene-header.svelte-lqyia{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:6px}.gene-symbol.svelte-lqyia{font-size:18px;font-weight:700;color:var(--color-accent);font-style:italic}.gene-type-badge.svelte-lqyia{font-size:11px;font-weight:500;color:var(--color-text-secondary);background:var(--color-surface-elevated);padding:2px 6px;border-radius:4px;white-space:nowrap}.gene-location.svelte-lqyia{font-size:12px;color:var(--color-text-muted);font-family:JetBrains Mono,Fira Code,monospace}.gene-description.svelte-lqyia{font-size:13px;color:var(--color-text-secondary);flex-basis:100%;margin-top:2px}.synonyms-row.svelte-lqyia{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:10px}.synonyms-label.svelte-lqyia{font-size:11px;color:var(--color-text-muted);margin-right:2px}.synonym-tag.svelte-lqyia{font-size:11px;color:var(--color-text-muted);background:var(--color-surface-elevated);padding:1px 5px;border-radius:3px;font-family:JetBrains Mono,Fira Code,monospace}.links-row.svelte-lqyia{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.ext-link.svelte-lqyia{font-size:11px;color:var(--color-accent);text-decoration:none;padding:2px 6px;border-radius:4px;background:var(--color-accent-bg);transition:background .15s ease}.ext-link.svelte-lqyia:hover{background:var(--color-accent-bg-hover);text-decoration:none}.localization-row.svelte-lqyia{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:10px}.localization-label.svelte-lqyia{font-size:11px;color:var(--color-text-muted);margin-right:2px}.localization-tag.svelte-lqyia{font-size:11px;padding:1px 5px;border-radius:3px;background:var(--color-surface-elevated);color:var(--color-text-secondary)}.localization-tag[data-tier=approved].svelte-lqyia{color:var(--color-text);font-weight:500}.localization-tag[data-tier=enhanced].svelte-lqyia{color:var(--color-text-muted);font-style:italic}.localization-tag.compact.svelte-lqyia{font-size:10px;padding:0 4px}.compact-localization.svelte-lqyia{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:4px}.summary-text.svelte-lqyia{color:var(--color-text-secondary);font-size:13px;line-height:1.55;margin:0}.compact-description.svelte-lqyia{font-size:13px;color:var(--color-text);line-height:1.45;margin:0 0 6px}.compact-meta.svelte-lqyia{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid var(--color-border-subtle)}.compact-type.svelte-lqyia{font-size:10px;color:var(--color-text-muted)}.compact-location.svelte-lqyia{font-size:10px;color:var(--color-text-muted);font-family:JetBrains Mono,Fira Code,monospace}.compact-synonyms.svelte-lqyia{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.compact-synonyms.svelte-lqyia .synonyms-label:where(.svelte-lqyia){font-size:10px}.compact-synonyms.svelte-lqyia .synonym-tag:where(.svelte-lqyia){font-size:10px;padding:0 4px}.synonym-more.svelte-lqyia{font-size:10px;color:var(--color-text-disabled);font-style:italic}.contrast-view.svelte-1oyaalp{display:flex;flex:1;gap:10px;height:100%;min-height:0}.main-content.svelte-1oyaalp{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden}.top-row.svelte-1oyaalp{flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;height:60vh;min-height:400px}.scatter-section.svelte-1oyaalp{display:flex;flex-direction:column;min-width:0;min-height:0}.legend-center.svelte-1oyaalp{width:140px;overflow-y:auto}.scatter-toolbar.svelte-1oyaalp{display:flex;align-items:center;justify-content:space-between;gap:8px;height:32px;padding:0 8px;background:var(--color-plot-bg);border:1px solid var(--color-border-subtle);border-bottom:none;border-radius:12px 12px 0 0;box-sizing:border-box}.toolbar-select.svelte-1oyaalp{padding:3px 22px 3px 8px;background:var(--color-surface-hover);border:1px solid transparent;border-radius:4px;color:var(--color-text);font-size:11px;font-family:inherit;cursor:pointer;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='rgba(255,255,255,0.4)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;min-width:0;overflow:hidden;text-overflow:ellipsis}:root[data-theme=light] .toolbar-select.svelte-1oyaalp{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='rgba(0,0,0,0.4)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E")}.toolbar-select.svelte-1oyaalp:hover{border-color:var(--color-border-hover)}.toolbar-select.svelte-1oyaalp:focus{outline:none;border-color:var(--color-border-focus)}.facet-placeholder.svelte-1oyaalp{color:var(--color-text-muted)}.toolbar-gene-info.svelte-1oyaalp{display:flex;align-items:center;gap:3px;min-width:0;flex-shrink:0}.gene-name.svelte-1oyaalp{font-size:12px;font-weight:600;font-style:italic;color:var(--color-text-secondary);white-space:nowrap}.scatter-container.svelte-1oyaalp{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-plot-bg);border-radius:0 0 12px 12px;border:1px solid var(--color-border-subtle);position:relative;min-height:280px;overflow:hidden}.bottom-row.svelte-1oyaalp{flex:0 0 auto;display:flex;gap:10px;height:600px;overflow:hidden}.beeswarm-container.svelte-1oyaalp{flex:0 0 320px;width:320px;display:flex;flex-direction:column;background:var(--color-plot-bg);border-radius:12px;border:1px solid var(--color-border-subtle);padding:12px;overflow-y:auto;max-height:100%}.beeswarm-placeholder.svelte-1oyaalp{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-subtle);font-size:13px;text-align:center}.table-section.svelte-1oyaalp{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0;overflow:hidden}.contrast-selector-row.svelte-1oyaalp{flex:0 0 auto;display:flex;align-items:center;gap:12px}.view-toggle.svelte-1oyaalp{display:flex;gap:0;background:var(--color-surface-elevated);border-radius:6px;padding:2px;margin-left:auto}.toggle-btn.svelte-1oyaalp{padding:6px 14px;background:transparent;border:none;border-radius:4px;color:var(--color-text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.toggle-btn.svelte-1oyaalp:hover{color:var(--color-text-secondary);background:var(--color-surface-hover)}.toggle-btn.active.svelte-1oyaalp{background:var(--color-accent-bg-active);color:var(--color-text)}.table-container.svelte-1oyaalp{flex:1;min-width:0;min-height:0;overflow:hidden;background:var(--color-plot-bg);border-radius:12px;border:1px solid var(--color-border-subtle)}.empty-state.svelte-1oyaalp{color:var(--color-text-subtle);font-size:13px;text-align:center}.volcano-plot-container.svelte-1oyaalp{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.volcano-placeholder.svelte-1oyaalp{color:var(--color-text-subtle);font-size:13px;text-align:center;padding:20px}.third-row.svelte-1oyaalp{flex:0 0 auto;height:520px;min-height:400px}.fourth-row.svelte-1oyaalp{flex:0 0 auto;height:580px;min-height:450px}.fifth-row.svelte-1oyaalp{flex:0 0 auto;padding:0 4px}.cell-abundance-wrapper.svelte-rczcon{display:flex;flex-direction:column;background:var(--color-plot-bg);border-radius:12px;border:1px solid var(--color-border-subtle);overflow:hidden}.abundance-header.svelte-rczcon{flex-shrink:0;padding:10px 16px;border-bottom:1px solid var(--color-border);background:var(--color-overlay)}.header-selectors.svelte-rczcon{display:flex;gap:16px;flex-wrap:wrap}.header-group.svelte-rczcon{display:flex;align-items:center;gap:6px}.header-group.svelte-rczcon label:where(.svelte-rczcon){font-size:11px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.header-group.svelte-rczcon select:where(.svelte-rczcon){padding:5px 24px 5px 10px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:5px;color:var(--color-text);font-size:12px;cursor:pointer;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='rgba(255,255,255,0.5)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:90px}:root[data-theme=light] .header-group.svelte-rczcon select:where(.svelte-rczcon){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='rgba(0,0,0,0.5)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E")}.header-group.svelte-rczcon select:where(.svelte-rczcon):hover{background-color:var(--color-surface-hover);border-color:var(--color-border-hover)}.header-group.svelte-rczcon select:where(.svelte-rczcon):focus{outline:none;border-color:var(--color-accent-border)}.abundance-container.svelte-rczcon{padding:8px 0;overflow-x:auto;overflow-y:hidden}.abundance-legend.svelte-rczcon{flex-shrink:0;display:flex;flex-wrap:wrap;gap:16px;padding:8px 16px;border-top:1px solid var(--color-border);background:var(--color-overlay)}.legend-item.svelte-rczcon{display:flex;align-items:center;gap:6px}.legend-color.svelte-rczcon{width:12px;height:12px;border-radius:2px;flex-shrink:0}.legend-label.svelte-rczcon{font-size:11px;color:var(--color-text-muted)}.abundance-tooltip.svelte-rczcon{position:fixed;z-index:10000;background:var(--color-backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border-hover);border-radius:8px;padding:8px 12px;pointer-events:none;box-shadow:var(--shadow-tooltip);font-size:11px}.abundance-tooltip.svelte-rczcon .tooltip-row:where(.svelte-rczcon){display:flex;justify-content:space-between;gap:12px;margin-top:2px}.abundance-tooltip.svelte-rczcon .tooltip-label:where(.svelte-rczcon){color:var(--color-text-muted)}.abundance-tooltip.svelte-rczcon .tooltip-value:where(.svelte-rczcon){color:var(--color-text-secondary);font-weight:500}.theme-toggle.svelte-1cmi4dh{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.theme-toggle.svelte-1cmi4dh:hover{background:var(--color-surface-active);border-color:var(--color-border-hover);color:var(--color-text)}.theme-toggle.svelte-1cmi4dh:focus{outline:none;box-shadow:var(--shadow-focus)}.theme-toggle.svelte-1cmi4dh svg:where(.svelte-1cmi4dh){transition:transform .3s ease}.theme-toggle.svelte-1cmi4dh:hover svg:where(.svelte-1cmi4dh){transform:rotate(15deg)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg-gradient);background-attachment:fixed;color:var(--color-text);min-height:100vh}.app.svelte-1n46o8q{display:flex;flex-direction:column;min-height:100vh}.navbar.svelte-1n46o8q{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--color-overlay);border-bottom:1px solid var(--color-border)}.navbar-left.svelte-1n46o8q{display:flex;align-items:center}.navbar-title.svelte-1n46o8q{font-size:20px;font-weight:700;letter-spacing:-.5px;font-family:JetBrains Mono,Fira Code,monospace;color:var(--color-text)}.navbar-links.svelte-1n46o8q{display:flex;align-items:center;gap:8px}.navbar-link.svelte-1n46o8q{padding:8px 16px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);font-size:13px;font-weight:500;text-decoration:none;transition:all .15s ease}.navbar-link.svelte-1n46o8q:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);color:var(--color-text)}header.svelte-1n46o8q{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;background:var(--color-overlay);border-bottom:1px solid var(--color-border)}.header-left.svelte-1n46o8q,.header-right.svelte-1n46o8q{display:flex;align-items:center;gap:16px}.header-dataset-selector.svelte-1n46o8q{min-width:200px}.logo.svelte-1n46o8q{display:flex;align-items:center;gap:6px}.logo-icon.svelte-1n46o8q{font-size:18px}.logo-text.svelte-1n46o8q{font-size:15px;font-weight:700;letter-spacing:-.5px;font-family:JetBrains Mono,Fira Code,monospace;color:var(--color-text)}.view-nav.svelte-1n46o8q{display:flex;gap:2px;background:var(--color-surface-elevated);padding:3px;border-radius:6px}.view-nav-btn.svelte-1n46o8q{padding:4px 12px;background:transparent;border:none;border-radius:6px;color:var(--color-text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.view-nav-btn.svelte-1n46o8q:hover{color:var(--color-text-secondary);background:var(--color-surface-hover)}.view-nav-btn.active.svelte-1n46o8q{background:var(--color-accent-bg-active);color:var(--color-text)}.stats.svelte-1n46o8q{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-muted);font-family:JetBrains Mono,Fira Code,monospace}.stat-divider.svelte-1n46o8q{color:var(--color-text-subtle)}main.svelte-1n46o8q{display:flex;flex:1;padding:10px;gap:10px;min-height:0}main.embedding-view.svelte-1n46o8q{flex-direction:column}main.contrasts-view.svelte-1n46o8q{overflow:visible}.plot-toolbar.svelte-1n46o8q{display:flex;align-items:center;justify-content:space-between;gap:8px;height:32px;padding:0 4px;flex-shrink:0;box-sizing:border-box}.toolbar-left.svelte-1n46o8q{display:flex;align-items:center;gap:6px;min-width:0}.toolbar-right.svelte-1n46o8q{display:flex;align-items:center;gap:6px;flex-shrink:0}.toolbar-gene-search.svelte-1n46o8q,.toolbar-protein-search.svelte-1n46o8q,.toolbar-cnv-search.svelte-1n46o8q{position:relative}.gene-not-found-error.svelte-1n46o8q{position:absolute;top:100%;left:0;margin-top:4px;display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--color-error-bg, #fef2f2);border:1px solid var(--color-error-border, #fecaca);border-radius:4px;color:var(--color-error, #dc2626);font-size:11px;white-space:nowrap;z-index:50}.gene-not-found-error.svelte-1n46o8q svg:where(.svelte-1n46o8q){flex-shrink:0}.dark .gene-not-found-error.svelte-1n46o8q{background:#dc262626;border-color:#dc26264d;color:#f87171}.toolbar-select.svelte-1n46o8q{padding:3px 22px 3px 8px;background:var(--color-surface-hover);border:1px solid transparent;border-radius:4px;color:var(--color-text);font-size:11px;font-family:inherit;cursor:pointer;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='rgba(255,255,255,0.4)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;min-width:0;overflow:hidden;text-overflow:ellipsis}:root[data-theme=light] .toolbar-select.svelte-1n46o8q{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='rgba(0,0,0,0.4)' d='M2 4l4 4 4-4'/%3E%3C/svg%3E")}.toolbar-select.svelte-1n46o8q:hover{border-color:var(--color-border-hover)}.toolbar-select.svelte-1n46o8q:focus{outline:none;border-color:var(--color-border-focus)}.toolbar-placeholder.svelte-1n46o8q{color:var(--color-text-muted)}.toolbar-dim-select.svelte-1n46o8q{min-width:48px;padding:3px 18px 3px 6px;font-size:10px;font-family:JetBrains Mono,Fira Code,monospace}.plot-area.svelte-1n46o8q{display:flex;height:calc(100vh - 180px);min-height:350px;flex-shrink:0;gap:10px}.abundance-section.svelte-1n46o8q{flex-shrink:0;margin:16px 0 0;padding:0}.abundance-section.svelte-1n46o8q .section-title:where(.svelte-1n46o8q){font-size:13px;font-weight:600;color:var(--color-text-secondary);margin:0 0 10px;letter-spacing:-.2px}.sidebar.svelte-1n46o8q{width:180px;flex-shrink:0;min-height:0;max-height:100%;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden}.sidebar-section.svelte-1n46o8q{flex-shrink:0}.sidebar-legend-categorical.svelte-1n46o8q{flex:1;min-height:0;max-height:500px;overflow-y:auto;overflow-x:hidden}.point-de-panel.svelte-1n46o8q{flex-shrink:0;max-height:360px;display:flex;flex-direction:column;border:1px solid var(--color-border, rgba(255, 255, 255, .1));border-radius:8px;background:var(--color-surface-elevated, rgba(30, 30, 35, .6));overflow:hidden}.point-de-panel-thumbnail-btn.svelte-1n46o8q{display:block;width:100%;padding:0;margin:0;background:none;border:none;cursor:pointer;border-radius:6px 6px 0 0;overflow:hidden}.point-de-panel-thumbnail-btn.svelte-1n46o8q:hover{opacity:.85}.point-de-panel-thumbnail.svelte-1n46o8q{display:block;width:100%;height:auto;border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .1))}.point-de-panel-header.svelte-1n46o8q{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .1));flex-shrink:0}.point-de-panel-title.svelte-1n46o8q{font-size:12px;font-weight:600;color:var(--color-text, rgba(255, 255, 255, .9));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.point-de-panel-close.svelte-1n46o8q{flex-shrink:0;width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--color-text-muted, rgba(255, 255, 255, .6));cursor:pointer;font-size:16px;line-height:1;transition:color .15s ease,background .15s ease}.point-de-panel-close.svelte-1n46o8q:hover{color:var(--color-text, rgba(255, 255, 255, .9));background:var(--color-surface-hover, rgba(255, 255, 255, .08))}.point-de-panel-body.svelte-1n46o8q{padding:6px 8px;overflow-y:auto;flex:1;min-height:0}.point-de-genes.svelte-1n46o8q{margin-bottom:8px}.point-de-genes.svelte-1n46o8q:last-child{margin-bottom:0}.point-de-genes-label.svelte-1n46o8q{font-size:10px;font-weight:700;color:var(--color-text-muted, rgba(255, 255, 255, .55));margin-bottom:3px;text-transform:uppercase;letter-spacing:.06em}.point-de-genes-list.svelte-1n46o8q{list-style:none;margin:0;padding:0 0 0 10px}.point-de-genes-list.svelte-1n46o8q li:where(.svelte-1n46o8q){margin:0;padding:0}.point-de-gene-btn.svelte-1n46o8q{display:block;width:100%;padding:2px 0;text-align:left;font-size:12px;font-family:inherit;font-weight:400;color:var(--color-text-secondary, rgba(255, 255, 255, .8));background:transparent;border:none;border-radius:4px;cursor:pointer;transition:color .15s ease,background .15s ease}.point-de-gene-btn.svelte-1n46o8q:hover{color:var(--color-text, rgba(255, 255, 255, .95));background:var(--color-surface-hover, rgba(255, 255, 255, .06))}.plot-container.svelte-1n46o8q{flex:1;display:flex;align-items:center;justify-content:center;position:relative;background:var(--color-plot-bg);border-radius:12px;border:1px solid var(--color-border-subtle);min-height:0;height:100%;overflow:hidden}.empty-state.svelte-1n46o8q{text-align:center;color:var(--color-text-muted)}.empty-icon.svelte-1n46o8q{font-size:48px;display:block;margin-bottom:16px}.empty-state.svelte-1n46o8q p:where(.svelte-1n46o8q){margin:4px 0}.empty-hint.svelte-1n46o8q{font-size:12px;color:var(--color-text-subtle)}
