.folder-browser{margin-bottom:16px;padding:12px 14px;border:1px solid #dadee0;border-radius:6px;background:#fafbfc}.folder-browser--fixed{margin-bottom:12px}.folder-browser--compact{padding:10px 12px}.folder-browser--compact .folder-browser__folder{padding:7px 8px;font-size:12px}.folder-browser--compact .folder-browser__subfolders{flex:1;display:flex;flex-direction:column;min-height:0}.folder-browser--compact .folder-browser__current{margin-bottom:6px;font-size:13px}.folder-browser__toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.folder-browser__btn{border:1px solid #c8cdd6;background:#fff;border-radius:4px;padding:5px 10px;font:inherit;font-size:13px;cursor:pointer}.folder-browser__btn:hover:not(:disabled){background:#f0f3f6}.folder-browser__btn:disabled{opacity:.55;cursor:default}.folder-browser__hint{margin:0 0 8px;font-size:13px;color:#666;line-height:1.45}.folder-browser__hint--inline{margin-top:8px}.folder-browser__hint code{font-size:12px}.folder-browser__current{margin-bottom:8px;font-size:14px;color:#333}.folder-browser__current strong{display:block;margin-top:2px;font-weight:600}.folder-browser__label{display:block;margin-bottom:4px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.02em}.folder-browser__crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:10px;font-size:13px}.folder-browser__crumb-wrap{display:inline-flex;align-items:center}.folder-browser__sep{margin:0 4px;color:#aaa}.folder-browser__crumb{border:none;background:transparent;padding:2px 4px;font:inherit;font-size:13px;color:#3498db;cursor:pointer;border-radius:3px}.folder-browser__crumb:hover{background:#e8f4fc}.folder-browser__crumb.is-current{color:#333;font-weight:600;cursor:default}.folder-browser__crumb.is-current:hover{background:transparent}.folder-browser__error{margin:0 0 8px;font-size:13px;color:#b33}.folder-browser__list{list-style:none;margin:0;padding:0;max-height:180px;overflow:auto;border:1px solid #e0e4ea;border-radius:4px;background:#fff}.folder-browser__folder{display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;text-align:left;padding:8px 10px;font:inherit;font-size:13px;cursor:pointer;border-bottom:1px solid #f0f2f4}.folder-browser__folder:last-child{border-bottom:0}.folder-browser__folder:hover{background:#ecf0f1}.folder-browser__folder-icon{flex-shrink:0;width:14px;height:11px;border:1px solid #9aa5b1;border-radius:1px;background:linear-gradient(#dce3ea 0,#dce3ea 35%,#f5f7fa 35%,#f5f7fa);position:relative;top:-1px}.folder-browser__folder-icon:before{content:"";position:absolute;top:-3px;left:1px;width:6px;height:3px;border:1px solid #9aa5b1;border-bottom:0;border-radius:1px 1px 0 0;background:#dce3ea}.folder-browser__open-id{margin-top:12px}.folder-browser__open-row{display:flex;gap:8px}.folder-browser__open-row input{flex:1;min-width:0;font:inherit;font-size:13px;border:1px solid #c8cdd6;border-radius:4px;padding:6px 8px}.folder-browser__open-row input:disabled{background:#f4f5f7;color:#888}.image-picker{width:100%;background:#fff;display:flex;flex-direction:column;min-height:0;flex:1}.image-picker__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #eceff1}.image-picker__title{font-weight:600}.image-picker__mode{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#555;cursor:pointer;-webkit-user-select:none;user-select:none}.image-picker__mode input{margin:0}.image-picker__toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #f0f2f4}.image-picker__btn{border:1px solid #c8cdd6;background:#fff;border-radius:4px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.image-picker__btn:hover:not(:disabled){background:#f0f3f6}.image-picker__btn:disabled{opacity:.55;cursor:default}.image-picker__count{margin-left:auto;font-size:12px;color:#666}.image-picker__hint{margin:0;padding:8px 12px 0;font-size:12px;color:#666;line-height:1.4}.image-picker__status{padding:12px;color:#666;font-size:13px;line-height:1.4}.image-picker__status--error{color:#c0392b}.image-picker__list{list-style:none;margin:0;padding:0;overflow:auto;flex:1}.image-picker__item{display:flex;align-items:center;width:100%;border:none;background:transparent;text-align:left;padding:10px 12px;font:inherit;font-size:13px;cursor:pointer;border-bottom:1px solid #f0f2f4;gap:8px}.image-picker__item--multi{cursor:pointer}.image-picker__item:hover{background:#ecf0f1}.image-picker__item.is-selected{background:#3498db;color:#fff}.image-picker__item.is-selected:hover{background:#2d86c4}.image-picker__name{flex:1;min-width:0;word-break:break-word}.image-picker__channel-label{flex-shrink:0;font-size:11px;font-weight:600;color:#3498db;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-picker__item.is-selected .image-picker__channel-label{color:#fffffff2}.image-picker__size{flex-shrink:0;margin-left:8px;font-size:11px;font-variant-numeric:tabular-nums;color:#777;white-space:nowrap}.image-picker__item.is-selected .image-picker__size{color:#ffffffd9}.image-picker__size--loading,.image-picker__size--unknown{color:#aaa}.channel-mapping{margin-top:16px;padding-top:16px;border-top:1px solid #e0e4ea}.channel-mapping__heading{margin:0 0 6px;font-size:15px;font-weight:600;color:#2c3340}.channel-mapping__hint{margin:0 0 12px;font-size:13px;color:#666;line-height:1.45}.channel-mapping__hint code{font-size:12px}.channel-mapping__regex-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.channel-mapping__regex-label{font-size:13px;font-weight:600;color:#555}.channel-mapping__regex-input{flex:1;min-width:220px;font:inherit;font-size:12px;font-family:ui-monospace,monospace;border:1px solid #c8cdd6;border-radius:4px;padding:6px 8px}.channel-mapping__btn{border:1px solid #c8cdd6;background:#fff;border-radius:4px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}.channel-mapping__btn:hover{background:#f0f3f6}.channel-mapping__regex-default{margin:0 0 12px;font-size:11px;color:#888;word-break:break-all}.channel-mapping__regex-default code{font-size:11px}.channel-mapping__table-wrap{max-height:280px;overflow:auto;border:1px solid #dadee0;border-radius:6px}.channel-mapping__table{width:100%;border-collapse:collapse;font-size:13px}.channel-mapping__table th{position:sticky;top:0;background:#f4f6f8;text-align:left;padding:8px 10px;font-size:12px;font-weight:600;color:#555;border-bottom:1px solid #dadee0}.channel-mapping__table td{padding:6px 10px;border-bottom:1px solid #f0f2f4;vertical-align:middle}.channel-mapping__file{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#444;font-size:12px}.channel-mapping__label-input{width:100%;min-width:120px;font:inherit;font-size:13px;border:1px solid #c8cdd6;border-radius:4px;padding:4px 6px}.channel-mapping__color-input{width:36px;height:28px;padding:0;border:1px solid #c8cdd6;border-radius:4px;cursor:pointer;background:transparent}.channel-group-config{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px 16px;background:#0f172a73}.channel-group-config__dialog{width:min(920px,100%);max-height:calc(100vh - 64px);display:flex;flex-direction:column;border-radius:8px;background:#fff;box-shadow:0 16px 48px #0003}.channel-group-config__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px 12px;border-bottom:1px solid #e8ecef}.channel-group-config__title{margin:0;font-size:18px;font-weight:600}.channel-group-config__hint{margin:6px 0 0;font-size:13px;color:#666;max-width:720px}.channel-group-config--inline{position:static;inset:auto;padding:0;background:transparent;width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.channel-group-config--inline .channel-group-config__toolbar{padding:0 0 12px;border-bottom:none;width:100%;flex-shrink:0}.channel-group-config--inline .channel-group-config__body{padding:12px 0 0;width:100%;flex:1 1 auto;min-width:0}.channel-group-config__toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:nowrap;padding:12px 18px;border-bottom:1px solid #e8ecef;width:100%;box-sizing:border-box;flex-shrink:0}.channel-group-config__toolbar-meta{flex:1;min-width:200px}.channel-group-config__toolbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.channel-group-config__meta{flex:1;min-width:0}.channel-group-config__folder{margin:0;font-size:12px;color:#555}.channel-group-config__folder--warn{color:#b45309}.channel-group-config__notice{margin:8px 0 0;padding:8px 10px;font-size:12px;color:#1d4ed8;background:#eff6ff;border-radius:4px}.channel-group-config__notice--success{color:#166534;background:#f0fdf4}.channel-group-config__error{margin:0 18px;padding:8px 10px;font-size:13px;color:#b91c1c;background:#fef2f2;border-radius:4px}.channel-group-config--inline .channel-group-config__error{margin:0 0 12px}.channel-group-config__loading{margin:0;font-size:13px;color:#666}.channel-group-config__close{border:none;background:transparent;font-size:24px;line-height:1;color:#666;cursor:pointer}.channel-group-config__body{flex:1;overflow:auto;padding:14px 18px;display:flex;flex-direction:column;gap:0;min-height:0}.channel-group-config--inline .channel-group-config__body{padding:12px 0 0}.channel-group-config__layout{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:16px;align-items:stretch;width:100%}.channel-group-config__list{border:1px solid #dde4ec;border-radius:6px;background:#fff;overflow:hidden}.channel-group-config__list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #e8ecef;background:#f8fafc}.channel-group-config__list-title{margin:0;font-size:13px;font-weight:600;color:#334155}.channel-group-config__btn--small{padding:4px 8px;font-size:12px}.channel-group-config__list-empty{margin:0;padding:12px;font-size:12px;color:#666}.channel-group-config__list-items{list-style:none;margin:0;padding:6px;overflow:auto}.channel-group-config__editor{min-width:0}.channel-group-config__editor .channel-group-config__group{min-height:100%}.channel-group-config__list-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;border:1px solid transparent;border-radius:4px;background:transparent;text-align:left;cursor:pointer;font:inherit}.channel-group-config__list-item:hover{background:#f1f5f9}.channel-group-config__list-item.is-selected{border-color:#93c5fd;background:#eff6ff}.channel-group-config__list-item-name{font-size:13px;font-weight:600;color:#1e293b}.channel-group-config__list-item-meta{font-size:11px;color:#64748b;line-height:1.35}.channel-group-config__group{border:1px solid #dde4ec;border-radius:6px;padding:12px;background:#f8fafc}.channel-group-config__group-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.channel-group-config__group-name{flex:1;font:inherit;font-size:14px;font-weight:600;border:1px solid #c8cdd6;border-radius:4px;padding:6px 8px}.channel-group-config__table{width:100%;border-collapse:collapse;font-size:13px}.channel-group-config__table th,.channel-group-config__table td{padding:6px 8px;text-align:left;border-bottom:1px solid #e8ecef}.channel-group-config__input{width:100%;font:inherit;border:1px solid #c8cdd6;border-radius:4px;padding:4px 6px}.channel-group-config__input--narrow{width:64px}.channel-group-config__select{font:inherit;border:1px solid #c8cdd6;border-radius:4px;padding:4px 6px}.channel-group-config__color{width:40px;height:28px;padding:0;border:1px solid #c8cdd6;border-radius:4px;cursor:pointer}.channel-group-config__btn{border:1px solid #c8cdd6;background:#fff;color:#333;border-radius:4px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}.channel-group-config__btn--ghost{border-color:transparent;background:transparent;color:#666}.channel-group-config__btn--primary{border-color:#2d86c4;background:#3498db;color:#fff}.segmentation-params{display:flex;flex-direction:column;gap:10px}.segmentation-params--popup{padding:0}.segmentation-params--popup .segmentation-params__grid{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px 14px;flex-wrap:unset;overflow-x:visible}.segmentation-params--popup .segmentation-params__field--method{grid-column:1 / -1}.segmentation-params__grid{display:flex;flex-wrap:nowrap;gap:8px 12px;align-items:flex-end;overflow-x:auto;padding-bottom:2px}.segmentation-params__field{display:inline-flex;flex-direction:column;gap:2px;font-size:12px;color:#555;min-width:0;flex:0 0 auto}.segmentation-params__field--method select{min-width:132px}.segmentation-params__field span{font-size:11px;color:#666}.segmentation-params__field input,.segmentation-params__field select{font:inherit;font-size:12px;border:1px solid #c8cdd6;border-radius:3px;padding:4px 6px;min-width:72px}.segmentation-params--viewer .segmentation-params__field input,.segmentation-params--viewer .segmentation-params__field select{padding:3px 4px;min-width:64px}.segmentation-params__field input:disabled,.segmentation-params__field select:disabled{background:#e8ecf0}.segmentation-params__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.segmentation-params__save-btn{border:1px solid #2d86c4;background:#fff;color:#2d86c4;border-radius:3px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.segmentation-params__save-btn:hover:not(:disabled){background:#e8f4fc}.segmentation-params__save-btn:disabled{opacity:.5;cursor:default}.segmentation-params__saved,.segmentation-params__notice{font-size:11px;color:#666}.segmentation-params__notice{color:#2d86c4}.segmentation-params__warn{margin:0;font-size:12px;color:#b45309}.segmentation-params__hint{margin:0;font-size:12px;color:#666;line-height:1.45}.segmentation-params__hint code{font-size:11px}.segment-results{margin-top:24px}.segment-results__heading{margin:0 0 8px;font-size:15px;font-weight:600;color:#2c3340}.segment-results__hint{margin:0 0 12px;font-size:13px;color:#666;line-height:1.45}.segment-results__empty{margin:0;font-size:13px;color:#888}.segment-results__table-wrap{overflow-x:auto;border:1px solid #dadee0;border-radius:6px}.segment-results__table{width:100%;border-collapse:collapse;font-size:13px}.segment-results__table th,.segment-results__table td{padding:8px 10px;text-align:left;border-bottom:1px solid #e8ecef;vertical-align:top}.segment-results__table th{background:#f4f6f8;font-weight:600;color:#555;white-space:nowrap}.segment-results__table tbody tr:last-child td{border-bottom:0}.segment-results__count{font-weight:600;color:#2d86c4;font-variant-numeric:tabular-nums}.segment-results__run-id code{font-size:11px;word-break:break-all;color:#666}.configuration-view{flex:1;min-height:0;overflow:auto;padding:24px 32px 40px;max-width:1120px}.configuration-view__browser-row{display:flex;align-items:flex-start;gap:16px;margin-bottom:4px}.configuration-view__dataset-panel{flex:0 0 240px;width:240px;min-width:0}.configuration-view__dataset-panel .folder-browser{margin-bottom:0;display:flex;flex-direction:column;max-height:220px}.configuration-view__dataset-panel .folder-browser__hint{font-size:12px;margin-bottom:6px}.configuration-view__dataset-panel .folder-browser__list{max-height:160px;overflow-y:auto;flex:none}.configuration-view__images-column{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.configuration-view__image-panel{border:1px solid #dadee0;border-radius:6px;overflow:hidden;max-height:168px;display:flex;flex-direction:column}.configuration-view__image-panel .image-picker{width:100%;border-right:0;max-height:168px;min-height:0}.configuration-view__image-panel .image-picker__list{max-height:120px;overflow-y:auto;flex:none}.configuration-view__slide-detail{padding:8px 10px;border:1px solid #e0e4ea;border-radius:6px;background:#fafbfc;font-size:12px;line-height:1.45;color:#555}.configuration-view__slide-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.configuration-view__slide-name{font-weight:600;color:#333;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 160px}.configuration-view__slide-stats{color:#666;white-space:nowrap}.configuration-view__slide-stats--error{color:#b33}.configuration-view__wsi-inline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:6px;padding-top:6px;border-top:1px solid #e8ebef}.configuration-view__wsi-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.configuration-view__wsi-pill--ok{color:#1e6b3a;background:#e8f6ed;border:1px solid #b8dfc8}.configuration-view__wsi-pill--missing{color:#8a4b00;background:#fff6e6;border:1px solid #f0d9a8}.configuration-view__wsi-note{color:#777;min-width:0;word-break:break-all}.configuration-view__wsi-note code{font-size:11px}.configuration-view__wsi-note--error{color:#b33}@media(max-width:720px){.configuration-view__browser-row{flex-direction:column;min-height:0}.configuration-view__dataset-panel{flex:none;width:100%}.configuration-view__dataset-panel .folder-browser__list{max-height:180px}}.configuration-view__section{margin-bottom:32px}.configuration-view__heading{margin:0 0 8px;font-size:18px;font-weight:600;color:#2c3340}.configuration-view__hint{margin:0 0 16px;font-size:14px;color:#666;line-height:1.45}.configuration-view__active{margin-top:12px;font-size:14px;color:#444}.configuration-view__id{display:block;margin-top:4px;font-size:12px;color:#888;font-family:ui-monospace,monospace;word-break:break-all}.configuration-view__meta-dl{margin:10px 0 0;display:grid;grid-template-columns:88px 1fr;gap:4px 12px;font-size:13px}.configuration-view__meta-dl dt{margin:0;font-weight:600;color:#555}.configuration-view__meta-dl dd{margin:0;color:#333}.configuration-view__meta-status{margin:8px 0 0;font-size:13px;color:#888}.configuration-view__meta-status--error{color:#b33}.configuration-view__wsi-block{margin-top:14px;padding-top:12px;border-top:1px solid #e8ebef}.configuration-view__wsi-heading{font-size:13px;font-weight:600;color:#444;margin-bottom:6px}.configuration-view__wsi-badge{margin:0 0 8px;padding:8px 10px;border-radius:4px;font-size:13px;line-height:1.4}.configuration-view__wsi-badge--ok{color:#1e6b3a;background:#e8f6ed;border:1px solid #b8dfc8}.configuration-view__wsi-badge--missing{color:#8a4b00;background:#fff6e6;border:1px solid #f0d9a8}.configuration-view__wsi-block code{font-size:12px;word-break:break-all}.configuration-view__dl{margin:0;display:grid;grid-template-columns:140px 1fr;gap:8px 16px;font-size:14px}.configuration-view__dl dt{margin:0;font-weight:600;color:#555}.configuration-view__dl dd{margin:0;color:#333}.configuration-view__dl code{font-size:12px;word-break:break-all}.configuration-view__segment-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:8px}.configuration-view__field--wide{grid-column:1 / -1}.configuration-view__field select{font:inherit;font-size:14px;border:1px solid #c8cdd6;border-radius:4px;padding:6px 8px;background:#fff}.configuration-view__hint--inline{margin-top:0;margin-bottom:16px;font-size:12px}.configuration-view__hint--inline code{font-size:12px}.configuration-view__field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#444}.configuration-view__field input{font:inherit;font-size:14px;border:1px solid #c8cdd6;border-radius:4px;padding:6px 8px}.configuration-view__field input:disabled{background:#f4f5f7;color:#888}.configuration-view__segment-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.configuration-view__btn{border:1px solid #c8cdd6;background:#fff;border-radius:4px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}.configuration-view__btn:hover:not(:disabled){background:#f0f3f6}.configuration-view__btn:disabled{opacity:.55;cursor:default}.configuration-view__btn--primary{background:#3498db;border-color:#2d86c4;color:#fff}.configuration-view__btn--primary:hover:not(:disabled){background:#2d86c4}.configuration-view__status{font-size:13px;color:#444;padding:8px 10px;border-radius:4px;background:#f0f3f6;border:1px solid #e0e4ea;margin-bottom:8px}.configuration-view__status.is-busy{color:#2d86c4;border-color:#b8d9f0;background:#e8f4fc}.configuration-view__segment-summary{font-size:13px;color:#555;margin-bottom:4px}.configuration-view__note{margin:8px 0 0;font-size:13px;color:#888;font-style:italic}.channel-histogram{display:flex;flex-direction:column;gap:.25rem;padding:.15rem 0 .1rem}.channel-histogram__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.35rem;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:#9aa8bc}.channel-histogram__actions{display:flex;align-items:center;gap:.25rem}.channel-histogram__toolbar button{font:inherit;font-size:10px;text-transform:none;letter-spacing:0;padding:.15rem .4rem;border:1px solid #3a4556;border-radius:3px;background:#242b36;color:#d7deea;cursor:pointer}.channel-histogram__toolbar button:hover:not(:disabled){background:#2c3544}.channel-histogram__toolbar button:disabled{opacity:.5;cursor:default}.channel-histogram__expand{border-color:#4a6178!important;color:#cfe0f5!important}.channel-histogram__preview-btn{display:block;width:100%;padding:0;border:none;background:transparent;cursor:zoom-in;text-align:left}.channel-histogram__canvas{width:100%;height:44px;display:block;border-radius:3px;border:1px solid #2c3440;background:#0c1016;pointer-events:none}.channel-histogram__preview-hint{display:block;margin-top:.15rem;font-size:10px;color:#7f8b9c;text-transform:none;letter-spacing:0}.channel-histogram__axis{display:flex;justify-content:space-between;align-items:baseline;gap:.35rem;font-size:10px;font-variant-numeric:tabular-nums;color:#8b98ab}.channel-histogram__window{color:#c9b07a;font-weight:500}.channel-histogram__status{margin:0;font-size:11px;color:#8b98ab}.channel-histogram__status.is-error{color:#e08a8a}.channel-histogram-popout__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;border:none;padding:0;margin:0;background:#06090e73;cursor:pointer}.channel-histogram-popout__panel{position:fixed;z-index:81;width:min(420px,calc(100vw - 24px));padding:.7rem .8rem .75rem;border:1px solid #3a4658;border-radius:8px;background:#151b24;box-shadow:0 16px 40px #00000073;color:#e8edf5;font:12px/1.35 ui-sans-serif,system-ui,sans-serif}.channel-histogram-popout__header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.45rem}.channel-histogram-popout__header strong{font-size:13px;font-weight:600}.channel-histogram-popout__hint{flex:1;font-size:10px;color:#8b98ab}.channel-histogram-popout__close{font:inherit;font-size:11px;padding:.2rem .45rem;border:1px solid #3a4556;border-radius:4px;background:#242b36;color:#d7deea;cursor:pointer}.channel-histogram-popout__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.channel-histogram-popout__toolbar button{font:inherit;font-size:11px;padding:.25rem .55rem;border:1px solid #4a6178;border-radius:4px;background:#243043;color:#e8edf5;cursor:pointer}.channel-histogram-popout__toolbar button:hover:not(:disabled){background:#2d3c52}.channel-histogram-popout__toolbar button:disabled{opacity:.5;cursor:default}.channel-histogram-popout__range{font-variant-numeric:tabular-nums;font-size:12px;color:#b8c4d4}.channel-histogram-popout__range .is-min{color:#f0c06a;font-weight:600}.channel-histogram-popout__range .is-max{color:#6fd6a0;font-weight:600}.channel-histogram-popout__canvas{width:100%;height:180px;display:block;border-radius:4px;border:1px solid #2c3440;background:#0c1016;cursor:ew-resize;touch-action:none}.channel-histogram-popout .channel-histogram__axis{margin-top:.35rem;font-size:11px}.channels-panel{display:flex;flex-direction:column;width:240px;min-width:200px;max-width:300px;height:100%;min-height:0;background:#1a1f28;border-right:1px solid #2c3440;color:#e8edf5;font:12px/1.35 ui-sans-serif,system-ui,sans-serif}.channels-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .55rem;border-bottom:1px solid #2c3440}.channels-panel__header-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.channels-panel__header strong{font-size:12px;letter-spacing:.03em;text-transform:uppercase;font-weight:600;color:#c5d0e0}.channels-panel__hotkey-hint{font-size:10px;color:#7f8b9c;letter-spacing:.01em;text-transform:none}.channels-panel__collapse,.channels-panel__rail{font:inherit;border:1px solid #3a4556;background:#242b36;color:#d7deea;border-radius:4px;cursor:pointer}.channels-panel__collapse{width:1.6rem;height:1.6rem;padding:0;line-height:1}.channels-panel__rail{writing-mode:vertical-rl;transform:rotate(180deg);padding:.55rem .25rem;height:100%;min-height:0;border-radius:0;border:none;border-right:1px solid #2c3440;background:#1a1f28}.channels-panel__groups{display:flex;flex-direction:column;gap:.35rem;flex:0 0 auto;max-height:28%;min-height:0;overflow:hidden;padding:.45rem .55rem .5rem;border-bottom:1px solid #2c3440;background:#1a1f28;color:#9aa8bc;position:relative;z-index:1}.channels-panel__groups-header{display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:#9aa8bc}.channels-panel__groups-tools{display:flex;gap:.25rem}.channels-panel__groups-tools button{font:inherit;font-size:10px;text-transform:none;letter-spacing:0;padding:.18rem .4rem;border:1px solid #3a4556;border-radius:3px;background:#242b36;color:#d7deea;cursor:pointer}.channels-panel__groups-add{width:1.45rem;padding-left:0!important;padding-right:0!important;font-size:14px!important;font-weight:600;line-height:1}.channels-panel__groups-tools button:hover:not(:disabled){background:#2c3544}.channels-panel__groups-tools button:disabled{opacity:.45;cursor:default}.channels-panel__groups-note{margin:0;font-size:10px;color:#7f8b9c;text-transform:none;letter-spacing:0}.channels-panel__groups-note.is-autosave{color:#8faf90}.channels-panel__groups-empty{margin:0;font-size:11px;color:#7f8b9c}.channels-panel__groups-list{list-style:none;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;min-height:0;flex:1 1 auto;border:1px solid #2c3440;border-radius:4px;background:#10151c}.channels-panel__groups-list li{display:flex;align-items:stretch;gap:.15rem;border-bottom:1px solid #1e2632}.channels-panel__groups-list li:last-child{border-bottom:none}.channels-panel__groups-list li.is-selected{background:#243248}.channels-panel__group-select{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.35rem .4rem;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.channels-panel__group-select:disabled{cursor:default;opacity:.6}.channels-panel__group-name{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e8edf5;font-size:12px}.channels-panel__group-meta{font-size:10px;color:#7f8b9c}.channels-panel__group-inline{display:flex;flex-direction:column;flex:0 0 auto;justify-content:center;gap:.15rem;padding:.25rem .45rem .25rem 0}.channels-panel__group-inline button{font:inherit;font-size:10px;padding:.12rem .35rem;border:1px solid #3a4556;border-radius:3px;background:#1a212c;color:#b8c4d4;cursor:pointer;white-space:nowrap}.channels-panel__group-inline button:hover:not(:disabled){background:#2c3544;color:#e8edf5}.channels-panel__group-inline button:disabled{opacity:.45;cursor:default}.channels-panel__section--stack{flex:2 1 auto;min-height:12rem;overflow:hidden;display:flex;flex-direction:column;border-bottom:1px solid #2c3440;background:#1a1f28;position:relative;z-index:0}.channels-panel__section--stack .channels-panel__list{flex:1 1 auto;min-height:0;overflow-y:auto}.channels-panel__section--off{flex:1 1 auto;min-height:5rem;max-height:42%;overflow-y:auto}.channels-panel__section{padding:.15rem 0 .35rem}.channels-panel__section+.channels-panel__section{border-top:1px solid #2c3440}.channels-panel__section-title{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin:0;padding:.4rem .55rem .2rem;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8b98ab}.channels-panel__section-title span{font-variant-numeric:tabular-nums;opacity:.8}.channels-panel__list{list-style:none;margin:0;padding:.1rem 0 .2rem}.channels-panel__list li{margin:0;padding:.15rem 0;border-bottom:1px solid rgba(44,52,64,.65)}.channels-panel__row{display:flex;align-items:center;gap:.15rem;padding:0 .25rem}.channels-panel__order{display:flex;flex-direction:column;flex:0 0 auto;gap:0}.channels-panel__order button{width:1.15rem;height:.9rem;padding:0;border:none;border-radius:2px;background:transparent;color:#8b98ab;font-size:8px;line-height:1;cursor:pointer}.channels-panel__order button:hover:not(:disabled){background:#ffffff0f;color:#e8edf5}.channels-panel__order button:disabled{opacity:.25;cursor:default}.channels-panel__expand{flex:0 0 auto;width:1.4rem;height:1.4rem;padding:0;border:none;border-radius:3px;background:transparent;color:#9aa8bc;font:inherit;line-height:1;cursor:pointer}.channels-panel__expand:hover{background:#ffffff0f;color:#e8edf5}.channels-panel__expand.is-open{color:#c5d0e0}.channels-panel__expand-spacer{flex:0 0 auto;width:1.4rem;height:1.4rem}.channels-panel__toggle{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0;padding:.28rem .2rem;cursor:pointer}.channels-panel__list li.is-on .channels-panel__toggle{background:#466eb42e;border-radius:3px}.channels-panel__toggle:hover{background:#ffffff0a;border-radius:3px}.channels-panel__swatch-wrap{position:relative;width:.85rem;height:.85rem;flex:0 0 auto}.channels-panel__swatch{display:block;width:100%;height:100%;border-radius:2px;border:1px solid rgba(255,255,255,.25);pointer-events:none}.channels-panel__color-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;padding:0;border:0;cursor:pointer}.channels-panel__color-input:disabled{cursor:default}.channels-panel__hotkey{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .2rem;border:1px solid #3a4a5e;border-radius:3px;background:#10151c;color:#9eb6d4;font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.channels-panel__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.channels-panel__controls{display:flex;flex-direction:column;gap:.2rem;padding:.15rem .55rem .35rem 1.7rem}.channels-panel__slider{display:grid;grid-template-columns:1.6rem 1fr;align-items:center;gap:.35rem;color:#9aa8bc;font-size:10px;text-transform:uppercase}.channels-panel__slider input[type=range]{width:100%;accent-color:#6b93d6}.channels-panel__empty{margin:.75rem;color:#8b98ab}.viewer-adjust-bar{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;padding:.35rem .55rem;background:#151a22;border-top:1px solid #2c3440;color:#c5d0e0;font:11px/1.3 ui-sans-serif,system-ui,sans-serif}.viewer-adjust-bar__control{display:flex;align-items:center;gap:.4rem;min-width:140px;flex:1 1 140px}.viewer-adjust-bar__control span{width:4.5rem;flex:0 0 auto;color:#9aa8bc;text-transform:uppercase;letter-spacing:.02em;font-size:10px}.viewer-adjust-bar__control input[type=range]{flex:1;min-width:0;accent-color:#6b93d6}.viewer-adjust-bar__reset{font:inherit;border:1px solid #3a4556;background:#242b36;color:#d7deea;border-radius:4px;padding:.2rem .55rem;cursor:pointer}.viewer-adjust-bar__reset:disabled{opacity:.45;cursor:default}.viewer-adjust-bar__reset:not(:disabled):hover{border-color:#6b93d6}.multiplex-viewer{position:relative;display:flex;flex-direction:row;width:100%;height:100%;min-height:0;background:#111;overflow:hidden}.multiplex-viewer__stage{position:relative;display:flex;flex-direction:column;flex:1 1 0;min-width:0;min-height:0}.multiplex-viewer__stage-main{position:relative;flex:1 1 0;min-height:0;min-width:0}.multiplex-viewer__osd{width:100%;height:100%;min-height:0}.multiplex-viewer__osd .openseadragon-container{width:100%!important;height:100%!important}.multiplex-viewer__badge{position:absolute;top:8px;left:8px;z-index:2;padding:2px 8px;border-radius:4px;font:11px/1.4 ui-sans-serif,system-ui,sans-serif;color:#e8f0ff;background:#142850b8;pointer-events:none;letter-spacing:.02em}.multiplex-viewer__osd .navigator{z-index:3!important;box-shadow:0 2px 10px #00000073}.viewer-panel{display:flex;flex-direction:column;min-height:0;height:100%;background:#fff;border-right:1px solid #dadee0}.viewer-panel--cells{width:min(320px,32vw);flex-shrink:0}.viewer-panel--cluster{width:min(360px,36vw);flex-shrink:0}.viewer-panel--gallery{width:min(420px,42vw);flex-shrink:0}.viewer-panel--geometry{width:min(380px,40vw);flex-shrink:0}.viewer-panel--geometry[hidden]{display:none}.viewer-panel__input{width:88px;height:24px;padding:0 6px;border:1px solid #c5ccd3;border-radius:3px;font-size:12px;background:#fff}.viewer-panel__geom-body{padding:8px;gap:8px;display:flex;flex-direction:column}.viewer-panel__geom-metric{display:flex;flex-direction:column;gap:2px}.viewer-panel__geom-metric-head{display:flex;flex-direction:column;gap:1px}.viewer-panel__geom-metric-label{font-size:12px;font-weight:600}.viewer-panel__geom-metric-summary{font-size:10px;color:#666;line-height:1.3}.viewer-panel__geom-plot{width:100%;min-height:112px}.viewer-panel__geom-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px}.viewer-panel__geom-overlay-mode{width:100%}.viewer-panel__geom-modebar{display:flex;gap:4px;padding:2px;background:#eef1f4;border-radius:4px}.viewer-panel__geom-mode{flex:1;border:none;background:transparent;font:inherit;font-size:12px;font-weight:600;padding:5px 8px;border-radius:3px;cursor:pointer;color:#555}.viewer-panel__geom-mode.is-active{background:#fff;color:#222;box-shadow:0 0 0 1px #d5dce0}.viewer-panel__geom-overlay-mode .viewer-panel__select{flex:1;min-width:0}.viewer-panel__geom-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#555}.viewer-panel__table-wrap--geom{max-height:min(280px,36vh)}.viewer-panel__header{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-bottom:1px solid #e8ecef;font-size:12px;flex-shrink:0}.viewer-panel__header--cluster{height:34px}.viewer-panel__title{font-weight:600}.viewer-panel__count{color:#777}.viewer-panel__icon-btn,.viewer-panel__action-btn,.viewer-panel__th-btn{border:none;background:transparent;font:inherit;font-size:12px;cursor:pointer;color:#444}.viewer-panel__action-btn--primary{background:#2f6f4e;color:#fff;border-radius:3px;padding:3px 8px;font-weight:600}.viewer-panel__action-btn--primary:hover{background:#265a40;color:#fff}.viewer-panel__action-btn--danger{background:#8b3a3a;color:#fff;border-radius:3px;padding:3px 8px;font-weight:600}.viewer-panel__action-btn--danger:hover:not(:disabled){background:#6f2e2e;color:#fff}.viewer-panel__action-btn:disabled{opacity:.5;cursor:not-allowed}.viewer-panel__icon-btn{margin-left:auto;font-size:14px;padding:2px 4px}.viewer-panel__icon-btn:hover,.viewer-panel__action-btn:hover,.viewer-panel__th-btn:hover{color:#3498db}.viewer-panel__select{font:inherit;font-size:12px;border:1px solid #c8cdd6;border-radius:3px;padding:2px 4px}.viewer-panel__hint{color:#777}.viewer-panel__status{padding:4px 8px;font-size:11px;color:#666;border-bottom:1px solid #f0f2f4;flex-shrink:0}.viewer-panel__class-summary{display:flex;flex-wrap:wrap;gap:4px 8px;padding:6px 8px;border-bottom:1px solid #f0f2f4;flex-shrink:0}.viewer-panel__class-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#444}.viewer-panel__class-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0;border:1px solid rgba(0,0,0,.12)}.viewer-panel__class-label{color:#666}.viewer-panel__class-count{font-weight:600;font-variant-numeric:tabular-nums}.viewer-panel__class-chip--btn{border:1px solid #e0e4e8;border-radius:4px;padding:2px 6px;background:#fafbfc;cursor:pointer;font:inherit}.viewer-panel__class-chip--btn:hover{background:#f0f4f8}.viewer-panel__class-chip--btn.is-active{border-color:#7eb8dc;background:#e8f4fc}.viewer-panel__gallery-controls{display:flex;flex-wrap:wrap;gap:6px 10px;padding:6px 8px;border-bottom:1px solid #f0f2f4;flex-shrink:0}.viewer-panel__gallery-field{display:flex;align-items:center;gap:4px;font-size:11px;color:#555}.viewer-panel__select{font:inherit;font-size:11px;padding:2px 4px;border:1px solid #dadee0;border-radius:3px;background:#fff}.viewer-panel__gallery-status{padding:4px 8px;font-size:11px;color:#666;border-bottom:1px solid #f0f2f4;flex-shrink:0}.viewer-panel__gallery-grid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;padding:8px;align-content:start}.viewer-panel__gallery-item{display:flex;flex-direction:column;align-items:stretch;border:1px solid #e0e4e8;border-radius:4px;padding:0;background:#fff;cursor:pointer;font:inherit;text-align:left;overflow:hidden}.viewer-panel__gallery-item:hover{border-color:#b8d4ea;background:#f8fbfd}.viewer-panel__gallery-item.is-selected{border-color:#4a9fd4;box-shadow:0 0 0 1px #4a9fd4}.viewer-panel__gallery-thumb{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#f0f2f4}.viewer-panel__gallery-thumb--placeholder{min-height:72px}.viewer-panel__gallery-meta{display:flex;flex-direction:column;gap:1px;padding:3px 4px;font-size:10px;line-height:1.2}.viewer-panel__gallery-label{font-weight:600;color:#333}.viewer-panel__gallery-area{color:#777;font-variant-numeric:tabular-nums}.viewer-panel__empty{padding:16px 12px;font-size:13px;color:#666;line-height:1.4}.viewer-panel__table-wrap{flex:1;min-height:0;overflow:auto}.viewer-panel__table{width:100%;border-collapse:collapse;font-size:11px}.viewer-panel__table th{position:sticky;top:0;background:#f4f6f8;border-bottom:1px solid #dadee0;text-align:left;white-space:nowrap}.viewer-panel__table td{padding:3px 6px;border-bottom:1px solid #f0f2f4;white-space:nowrap}.viewer-panel__table tbody tr{cursor:pointer}.viewer-panel__table tbody tr:hover{background:#f5f9fc}.viewer-panel__table tbody tr.is-selected{background:#e8f4fc}.viewer-panel__plot{flex:1;min-height:120px}.viewer-panel__plot--spatial{flex:0 0 220px;border-top:1px solid #e8ecef}.imaging-viewer-layout{display:flex;flex:1 1 0;min-width:0;min-height:0;overflow:hidden}.imaging-viewer-layout__viewer{flex:1;min-width:0;min-height:0;position:relative}.imaging-viewer-layout__viewer--stacked{display:flex;flex-direction:column}.imaging-viewer-layout__iframe-wrap{flex:1;min-height:0;position:relative}.viewer-panel--cell-info{width:min(280px,30vw);flex-shrink:0;border-right:none;border-left:1px solid #dadee0}.viewer-panel--cell-info .viewer-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.cell-info-panel__hotkeys{font-size:10px;font-weight:600;letter-spacing:.02em;color:#888;white-space:nowrap}.viewer-panel__scroll{flex:1 1 auto;min-height:0;overflow-y:auto}.cell-info-panel__body{padding:10px 12px 14px}.cell-info-panel__field{margin-bottom:10px}.cell-info-panel__field-label{font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#888}.cell-info-panel__field-value{margin-top:2px;font-size:13px;color:#222;word-break:break-word}.cell-info-panel__cluster{display:inline-flex;align-items:center;gap:6px}.cell-info-panel__cluster-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0;box-shadow:inset 0 0 0 1px #0003}.cell-info-panel__section{margin-top:12px;padding-top:10px;border-top:1px solid #e8ecef}.cell-info-panel__section-title{font-size:11px;font-weight:600;color:#555;margin-bottom:0;display:inline-flex;align-items:center;gap:6px}.cell-info-panel__section-badge{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5a6a7a;background:#e8eef3;border-radius:3px;padding:1px 5px}.cell-info-panel__pin-bar{display:flex;align-items:center;gap:8px;margin:8px -12px 0;padding:7px 12px;background:#f4f7f9;border-top:1px solid #e4eaee;border-bottom:1px solid #e4eaee}.cell-info-panel__pin-mark{width:10px;height:14px;flex-shrink:0;border-left:2px solid rgba(20,24,28,.92);border-right:2px solid rgba(20,24,28,.92);box-sizing:border-box}.cell-info-panel__pin-text{flex:1 1 auto;min-width:0;font-size:11px;color:#445;line-height:1.3}.cell-info-panel__pin-text strong{font-weight:700;color:#222}.cell-info-panel__pin-hint{color:#7a8794;font-weight:500}.cell-info-panel__section--scale{margin-top:0;padding-top:0;border-top:none}.cell-info-panel__section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.cell-info-panel__plot-label{font-size:10px;font-weight:600;letter-spacing:.02em;color:#777;margin:8px 0 6px}.cell-info-panel__hint{margin:0 0 6px;font-size:11px;color:#6a7a88;line-height:1.35}.cell-info-panel__text-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #d0d5d9;border-radius:4px;margin:0;padding:2px 8px;font-size:10px;font-weight:600;letter-spacing:.02em;color:#555;background:#fff;cursor:pointer;line-height:1.4}.cell-info-panel__text-btn:hover{background:#eef1f3;color:#222}.cell-info-panel__text-btn--accent{border-color:#9eb6c9;color:#2f5f7f;background:#f0f6fa}.cell-info-panel__text-btn--accent:hover{background:#e4eef5;color:#1e4a66}.cell-info-panel__scale-toggle{display:inline-flex;flex-shrink:0;border:1px solid #d0d5d9;border-radius:4px;overflow:hidden;background:#f4f6f7}.cell-info-panel__scale-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;margin:0;padding:2px 7px;font-size:10px;font-weight:600;letter-spacing:.02em;color:#666;background:transparent;cursor:pointer;line-height:1.4}.cell-info-panel__scale-btn+.cell-info-panel__scale-btn{border-left:1px solid #d0d5d9}.cell-info-panel__scale-btn.is-active{background:#fff;color:#222;box-shadow:inset 0 0 0 1px #c5ccd1}.cell-info-panel__scale-btn:hover:not(.is-active){color:#333;background:#eef1f3}.cell-info-panel__placeholder{margin:0;font-size:12px;color:#777;line-height:1.4}.cell-info-panel__plot-host{width:100%;min-height:96px;overflow:visible}.cell-info-panel__plot-host .js-plotly-plot,.cell-info-panel__plot-host .plot-container,.cell-info-panel__plot-host .svg-container{overflow:visible!important}.fov-cluster-legend{position:absolute;right:10px;bottom:10px;z-index:8;width:min(240px,calc(100% - 20px));max-height:min(420px,calc(100% - 20px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(40,48,56,.18);border-radius:8px;background:#fcfdfef0;box-shadow:0 6px 20px #10182029;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto}.fov-cluster-legend--heatmap{width:min(360px,calc(100% - 20px));max-height:min(520px,calc(100% - 20px))}.fov-cluster-legend__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-bottom:1px solid rgba(40,48,56,.1);flex-shrink:0}.fov-cluster-legend__title{font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#3a4450}.fov-cluster-legend__header-actions{display:inline-flex;align-items:center;gap:4px}.fov-cluster-legend__text-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#3d6f9c;font-size:11px;font-weight:600;padding:2px 4px;cursor:pointer;border-radius:3px}.fov-cluster-legend__text-btn:hover:not(:disabled){background:#3d6f9c1a}.fov-cluster-legend__text-btn:disabled{opacity:.4;cursor:default}.fov-cluster-legend__view-switch{display:flex;gap:4px;padding:6px 8px 0;flex-shrink:0}.fov-cluster-legend__view-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;border:1px solid rgba(40,48,56,.14);border-radius:4px;background:#ffffffb3;color:#44505c;font-size:11px;font-weight:600;padding:4px 6px;cursor:pointer}.fov-cluster-legend__view-btn:hover{background:#3d6f9c14}.fov-cluster-legend__view-btn.is-active{border-color:#3d6f9c73;background:#3d6f9c1f;color:#25557a}.fov-cluster-legend__pie{width:100%;height:150px;flex-shrink:0}.fov-cluster-legend__heatmap-wrap{flex-shrink:0;padding:4px 4px 0}.fov-cluster-legend__heatmap{width:100%;min-height:160px}.fov-cluster-legend__hint{margin:8px 10px;font-size:11px;line-height:1.35;color:#6a7580}.fov-cluster-legend__list{list-style:none;margin:0;padding:4px 6px 8px;overflow-y:auto;min-height:0}.fov-cluster-legend__list>li+li{margin-top:2px}.fov-cluster-legend__row{width:100%;display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:7px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:5px;background:transparent;padding:4px 6px;cursor:pointer;text-align:left;color:#222}.fov-cluster-legend__row:hover{background:#2830380d}.fov-cluster-legend__row.is-off{opacity:.45}.fov-cluster-legend__row.is-on{border-color:#28303814;background:#ffffffb3}.fov-cluster-legend__swatch{width:10px;height:10px;border-radius:2px;box-shadow:inset 0 0 0 1px #0003}.fov-cluster-legend__label{font-size:12px;font-weight:600}.fov-cluster-legend__count{font-size:11px;color:#555;font-variant-numeric:tabular-nums;display:inline-flex;gap:5px;align-items:baseline}.fov-cluster-legend__count em{font-style:normal;color:#888;font-size:10px}.fov-cluster-legend__toggle{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#6a7580;min-width:22px;text-align:right}.fov-cluster-legend__row.is-on .fov-cluster-legend__toggle{color:#2f6f4a}.image-set-selector{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:1}.image-set-selector__field{display:inline-flex;align-items:center;gap:6px;min-width:0}.image-set-selector__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#678;white-space:nowrap;flex-shrink:0}.image-set-selector__select{font:inherit;font-size:12px;border:1px solid #c8cdd6;border-radius:3px;background:#fff;color:#333;padding:4px 8px;max-width:220px;min-width:120px;text-overflow:ellipsis}.image-set-selector__select--dataset{max-width:180px}.image-set-selector__select--slide{max-width:260px}.image-set-selector__select:disabled{background:#e8ecf0;color:#888}.image-set-selector__multi{font-size:12px;color:#666;white-space:nowrap;padding:4px 0}.viewer-segment-bar{display:flex;flex-direction:column;flex-shrink:0;border-bottom:1px solid #dadee0;background:#eef1f5}.viewer-segment-bar__row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:36px;padding:6px 10px}.viewer-segment-bar__settings{position:relative}.viewer-segment-bar__popover{position:absolute;top:calc(100% + 6px);right:0;left:auto;z-index:40;width:min(360px,calc(100vw - 24px));max-height:min(70vh,640px);overflow-y:auto;padding:12px 14px;border:1px solid #c8cdd6;border-radius:6px;background:#fff;box-shadow:0 8px 24px #0000001f}.viewer-segment-bar__popover--wide{width:min(420px,calc(100vw - 24px))}.viewer-segment-bar__btn--block{align-self:stretch;justify-content:center}.viewer-segment-bar__btn--icon{padding:4px 8px;min-width:30px}.viewer-segment-bar__check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#333;cursor:pointer}.viewer-segment-bar__option-block{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e8ecef}.viewer-segment-bar__option-label{font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#667}.viewer-segment-bar__mode-switch{display:inline-flex;align-items:stretch;align-self:flex-start;border:1px solid #c8cdd6;border-radius:5px;overflow:hidden;background:#fff}.viewer-segment-bar__mode-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;margin:0;padding:4px 10px;font:inherit;font-size:12px;line-height:1.2;color:#445;background:transparent;cursor:pointer}.viewer-segment-bar__mode-btn+.viewer-segment-bar__mode-btn{border-left:1px solid #c8cdd6}.viewer-segment-bar__mode-btn.is-active{background:#2f6fed;color:#fff}.viewer-segment-bar__mode-btn:disabled{opacity:.45;cursor:not-allowed}.viewer-segment-bar__mode-toggles{display:flex;flex-direction:column;gap:6px}.viewer-segment-bar__mode-option{display:flex;align-items:center;gap:8px;font-size:13px;color:#333;cursor:pointer}.viewer-segment-bar__mode-option input{margin-top:1px}.viewer-segment-bar__mode-option:has(input:disabled){opacity:.55;cursor:not-allowed}.viewer-segment-bar__cluster-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px}.viewer-segment-bar__field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#445}.viewer-segment-bar__field select{padding:4px 6px;border:1px solid #c8cdd6;border-radius:4px;background:#fff;font-size:12px}.viewer-segment-bar__field select:disabled{opacity:.55}.viewer-segment-bar__check input{margin-top:2px}.viewer-segment-bar__option-hint{margin:8px 0 0;font-size:11px;line-height:1.4;color:#666}.viewer-segment-bar__opacity-field{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid #e8ecef;font-size:12px;color:#555}.viewer-segment-bar__opacity-field input[type=range]{flex:1;min-width:120px;accent-color:#3498db}.viewer-segment-bar__opacity-value{min-width:36px;font-variant-numeric:tabular-nums;color:#666}.viewer-segment-bar__status{padding:4px 10px 6px;font-size:12px;color:#2d86c4;border-top:1px solid #dde4ec;background:#e8f0f8}.viewer-segment-bar__field{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#555}.viewer-segment-bar__field input{width:52px;font:inherit;font-size:12px;border:1px solid #c8cdd6;border-radius:3px;padding:3px 4px}.viewer-segment-bar__field input:disabled{background:#e8ecf0}.viewer-segment-bar__divider{width:1px;height:22px;background:#c8cdd6;margin:0 2px}.viewer-segment-bar__btn{border:1px solid #c8cdd6;background:#fff;color:#333;border-radius:3px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.viewer-segment-bar__btn--primary{border-color:#2d86c4;background:#3498db;color:#fff}.viewer-segment-bar__btn:hover:not(:disabled){background:#f0f3f6}.viewer-segment-bar__btn--primary:hover:not(:disabled){background:#2d86c4}.viewer-segment-bar__btn:disabled{border-color:#c8cdd6;background:#d8dde6;color:#888;cursor:default}.viewer-segment-bar__btn.is-active{border-color:#7c4fe0;background:#8b5cf6}.viewer-segment-bar__btn--primary.is-active{border-color:#1e8449;background:#27ae60;color:#fff}.viewer-segment-bar__btn--primary.is-active:hover:not(:disabled){background:#219150}.viewer-segment-bar__hint{margin-left:4px;font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.viewer-segment-bar__row .viewer-segment-bar__badge{flex-shrink:0}.viewer-segment-bar__toolbar-end{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.viewer-segment-bar__btn--groups{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.viewer-segment-bar__btn-icon{font-size:14px;line-height:1}.viewer-segment-bar__badge{font-size:11px;color:#3498db;background:#e8f4fc;border-radius:3px;padding:2px 6px}.analysis-stale-banner{margin:6px 8px 8px;padding:8px;border:1px solid #e6c37a;border-radius:4px;background:#fff8e8;color:#5a4300;font-size:11px;line-height:1.4}.analysis-stale-banner p{margin:0 0 6px}.analysis-stale-banner__btn{height:24px;padding:0 8px;border:1px solid #c9a24a;border-radius:3px;background:#fff;font-size:11px;cursor:pointer}.analysis-stale-banner__btn:disabled{opacity:.6;cursor:default}.viewer-panel--regions{width:min(340px,34vw);flex-shrink:0}.regions-panel__count{margin-left:auto;font-size:11px;color:#667;font-weight:500}.regions-panel__tools{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px 0}.regions-panel__btn{height:24px;padding:0 8px;border:1px solid #c5ccd3;border-radius:3px;background:#fff;font-size:11px;cursor:pointer}.regions-panel__btn:disabled{opacity:.5;cursor:default}.regions-panel__btn.is-active,.regions-panel__btn--primary{background:#e8f1ff;border-color:#7aa7e0}.regions-panel__btn.is-exclude{background:#fde8e8;border-color:#d88;color:#a22}.regions-panel__params{display:flex;flex-direction:column;gap:6px;margin:6px 8px 0;padding:8px;border:1px solid #e1e6eb;border-radius:4px;background:#f8fafc}.regions-panel__param{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#456}.regions-panel__param span{display:flex;justify-content:space-between;gap:8px}.regions-panel__param em{font-style:normal;font-variant-numeric:tabular-nums;color:#234}.regions-panel__param input[type=range]{width:100%;accent-color:#4a7fc1}.regions-panel__hint{margin:4px 8px;font-size:11px;color:#666;line-height:1.35}.regions-panel__list{list-style:none;margin:6px 0 0;padding:0;overflow:auto;flex:1;min-height:120px;border-top:1px solid #e6eaed}.regions-panel__item{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-bottom:1px solid #eef1f3}.regions-panel__item.is-selected{background:#f3f7fd}.regions-panel__item-main{display:flex;align-items:center;gap:6px;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;font-size:12px}.regions-panel__badge{font-size:9px;text-transform:uppercase;letter-spacing:.03em;padding:1px 5px;border-radius:2px;background:#e8eef5;color:#456;flex-shrink:0}.regions-panel__badge--exclude{background:#fde8e8;color:#a22}.regions-panel__badge--core{background:#e4f5ea;color:#276}.regions-panel__badge--section{background:#efe8fd;color:#64a}.regions-panel__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.regions-panel__item-actions{display:flex;gap:4px;padding-left:2px}.regions-panel__item-actions button{border:0;background:transparent;color:#678;font-size:10px;cursor:pointer;padding:0 2px}.regions-panel__item-actions button:hover{color:#234;text-decoration:underline}.regions-panel__empty{padding:12px 8px;font-size:11px;color:#778}.regions-panel__stats,.regions-panel__compare{border-top:1px solid #e6eaed;padding:8px}.regions-panel__stats-title{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;font-weight:600;margin-bottom:4px}.regions-panel__pie{width:100%;min-height:160px}.regions-panel__table{width:100%;border-collapse:collapse;font-size:10px}.regions-panel__table th,.regions-panel__table td{border-bottom:1px solid #eef1f3;padding:3px 4px;text-align:right}.regions-panel__table th:first-child,.regions-panel__table td:first-child{text-align:left}.regions-panel__table tr{cursor:pointer}.regions-panel__table tr.is-selected{background:#f3f7fd}.regions-panel__status{margin:0;padding:6px 8px;font-size:11px;color:#456;border-top:1px solid #e6eaed;background:#fafbfc}.viewer-panel--pheno-gates{width:min(360px,36vw);flex-shrink:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.pheno-gates__count{margin-left:auto;font-size:11px;color:#667;font-weight:500}.pheno-gates__tools{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px 0}.pheno-gates__btn{height:24px;padding:0 8px;border:1px solid #c5ccd3;border-radius:3px;background:#fff;font-size:11px;cursor:pointer}.pheno-gates__btn:disabled{opacity:.5;cursor:default}.pheno-gates__btn--primary,.pheno-gates__btn.is-active{background:#e8f1ff;border-color:#7aa7e0}.pheno-gates__check{display:flex;align-items:center;gap:6px;padding:4px 10px 0;font-size:11px;color:#556;cursor:pointer}.pheno-gates__check input{margin:0}.pheno-gates__status{padding:4px 10px 0;font-size:11px;color:#556;line-height:1.35}.pheno-gates__list{display:flex;flex-direction:column;gap:2px;padding:8px;max-height:140px;overflow:auto;border-bottom:1px solid #e4e8ec}.pheno-gates__class{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:5px 6px;border:1px solid transparent;border-radius:3px;background:transparent;font-size:12px;cursor:pointer}.pheno-gates__class.is-selected{background:#eef4ff;border-color:#b7cceb}.pheno-gates__swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.pheno-gates__class-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pheno-gates__class-meta{font-size:10px;color:#778}.pheno-gates__empty{padding:8px 4px;font-size:11px;color:#778;line-height:1.4}.pheno-gates__editor{flex:1;min-height:0;overflow:auto;padding:8px 10px 12px;display:flex;flex-direction:column;gap:8px}.pheno-gates__field{display:flex;flex-direction:column;gap:2px;font-size:10px;color:#667;flex:0 0 auto}.pheno-gates__row .pheno-gates__field{flex:1 1 0}.pheno-gates__field input,.pheno-gates__field select,.pheno-gates__rule select{height:26px;border:1px solid #c5ccd3;border-radius:3px;padding:0 6px;font-size:12px;background:#fff}.pheno-gates__field input[type=color]{padding:2px;width:48px;flex:0}.pheno-gates__row{display:flex;gap:8px}.pheno-gates__rules-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;color:#445;margin-top:2px}.pheno-gates__rule{border:1px solid #e0e5ea;border-radius:4px;padding:6px;background:#fafbfc;cursor:pointer}.pheno-gates__rule.is-active{border-color:#7aa7e0;background:#f5f9ff}.pheno-gates__rule-row{display:flex;gap:4px;align-items:center}.pheno-gates__rule-row select:first-child{flex:1;min-width:0}.pheno-gates__rule-stats{margin-top:4px;font-size:10px;color:#667}.pheno-gates__gate-detail{border:1px solid #d7dee6;border-radius:4px;padding:8px;background:#fff}.pheno-gates__gate-detail-head{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#445;margin-bottom:4px}.pheno-gates__gate-detail-head strong{font-variant-numeric:tabular-nums;color:#234}.pheno-gates__plot{width:100%;min-height:120px}.pheno-gates__slider-row{display:flex;align-items:center;gap:8px;margin-top:4px}.pheno-gates__slider-row input[type=range]{flex:1}.pheno-gates__thr-input{width:72px;height:26px;border:1px solid #c5ccd3;border-radius:3px;padding:0 6px;font-size:12px}.pheno-gates__summary{font-size:10px;color:#778;margin-top:2px}.pheno-gates__preview{font-size:11px;padding:6px 8px;border-radius:3px;background:#eef7ee;border:1px solid #b7d4b7;color:#2a4a2a}.side-collapser{flex-shrink:0;width:28px;border:none;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;background:#f0f3f6;border-left:1px solid #dadee0;border-right:1px solid #dadee0;box-sizing:border-box;color:#5c6b7a}.side-collapser:hover{background:#e4e9ef}.side-collapser__label{writing-mode:vertical-rl;text-orientation:mixed;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1;max-height:72%;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}.side-collapser__arrow{font-size:18px;line-height:1;font-weight:700}.celery-snapshot{margin:0 0 16px;padding:12px 14px;border:1px solid #e2e6ec;border-radius:8px;background:#f8f9fb}.celery-snapshot--muted{color:#888;font-size:13px;background:transparent;border-style:dashed}.celery-snapshot--error{color:#b33;font-size:13px;background:#fdecea;border-color:#f5c2c0}.celery-snapshot__title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#666;margin-bottom:8px}.celery-snapshot__notice{margin:-2px 0 8px;font-size:12px;color:#8a6d3b}.celery-snapshot--stale{border-color:#ead9b0;background:#fdfaf3}.celery-snapshot__summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;font-size:13px;color:#555;margin-bottom:10px}.celery-snapshot__summary>span{display:inline-flex;align-items:center;white-space:nowrap}.celery-snapshot__summary>span:not(:last-child):after{content:"·";margin:0 10px;color:#c5cad3;font-weight:400}.celery-snapshot__summary strong{color:#2c3340;font-weight:600}.celery-snapshot__queue-table{width:fit-content;max-width:100%;border-collapse:collapse;font-size:12px}.celery-snapshot__queue-table th,.celery-snapshot__queue-table td{padding:4px 0;border-top:1px solid #e8ebf0;white-space:nowrap}.celery-snapshot__queue-table th:first-child,.celery-snapshot__queue-table td:first-child{text-align:left;padding-right:20px}.celery-snapshot__queue-table th:not(:first-child),.celery-snapshot__queue-table td:not(:first-child){text-align:right;padding-left:14px;width:1%}.celery-snapshot__queue-table th{font-weight:600;color:#666;border-top:none;padding-top:0}.celery-snapshot__queue-row--gpu td:first-child{color:#1565c0}.celery-snapshot__queue-row--cpu td:first-child{color:#2e7d32}.celery-snapshot__queue-row--finalize td:first-child{color:#6d4c9a}.segment-jobs{margin-top:20px}.segment-jobs__heading{margin:0 0 8px;font-size:15px;font-weight:600;color:#2c3340}.segment-jobs__empty{margin:0;font-size:13px;color:#888}.segment-jobs__table-wrap{overflow-x:auto;border:1px solid #dadee0;border-radius:6px}.segment-jobs__table{width:100%;border-collapse:collapse;font-size:13px}.segment-jobs__table th,.segment-jobs__table td{padding:8px 10px;text-align:left;border-bottom:1px solid #e8ecef;vertical-align:top}.segment-jobs__table th{background:#f4f6f8;font-weight:600;color:#555;white-space:nowrap}.segment-jobs__table tbody tr:last-child td{border-bottom:0}.segment-jobs__status{display:inline-block;padding:2px 8px;border-radius:3px;font-size:12px;font-weight:600}.segment-jobs__status--running{background:#e8f4fc;color:#2d86c4}.segment-jobs__status--complete{background:#e8f5e9;color:#2e7d32}.segment-jobs__status--error{background:#fdecea;color:#b33}.segment-jobs__message{max-width:280px;word-break:break-word;color:#555}.segment-jobs__slide{max-width:220px}.segment-jobs__slide-link{border:none;background:none;padding:0;font:inherit;font-size:13px;color:#3498db;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:top}.segment-jobs__slide-link:hover{color:#217dbb}.segment-jobs__status--cancelled{background:#f4f4f4;color:#777}.segment-jobs__actions{white-space:nowrap}.segment-jobs__action-group{display:inline-flex;gap:6px}.segment-jobs__action-btn{border:1px solid #c8cdd6;background:#fff;border-radius:4px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}.segment-jobs__action-btn:hover:not(:disabled){background:#f0f3f6;border-color:#3498db;color:#3498db}.segment-jobs__action-btn--cancel:hover:not(:disabled){border-color:#c0392b;color:#c0392b}.segment-jobs__action-btn:disabled{opacity:.55;cursor:default}.jobs-view{flex:1;min-height:0;overflow:auto;padding:24px 32px 40px;max-width:1120px}.jobs-view__section{margin-bottom:32px}.jobs-view__heading{margin:0 0 12px;font-size:20px;font-weight:600;color:#2c3340}.jobs-view__notice{margin:0 0 12px;padding:8px 12px;border-radius:6px;font-size:13px;max-width:720px}.jobs-view__notice--success{background:#e8f5e9;color:#2e7d32}.jobs-view__notice--error{background:#fdecea;color:#b33}.feature-histograms-view{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff}.feature-histograms-view__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px 24px;padding:20px 28px 12px;border-bottom:1px solid #e8ecef;flex-shrink:0}.feature-histograms-view__title{margin:0 0 4px;font-size:20px;font-weight:600;color:#2c3340}.feature-histograms-view__subtitle{margin:0;font-size:13px;color:#667;max-width:640px;line-height:1.45}.feature-histograms-view__pipeline{margin:0 28px;padding:10px 12px;border-radius:6px;font-size:13px;line-height:1.45;flex-shrink:0}.feature-histograms-view__pipeline--warn{background:#fff8e6;border:1px solid #f0d78c;color:#7a5a00}.feature-histograms-view__pipeline--ok{background:#eef8f0;border:1px solid #b8dfc0;color:#2d5a36}.feature-histograms-view__body{flex:1;min-height:0;overflow:auto}.feature-histograms-view .feature-hist__content,.feature-histograms-view .feature-hist__grid{flex:unset;min-height:unset;overflow:visible}.feature-clusters{margin:0 28px 28px;padding-top:20px;border-top:1px solid #e8ecef}.feature-clusters__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px;margin-bottom:10px}.feature-clusters__heading{margin:0 0 4px;font-size:16px;font-weight:600;color:#2c3340}.feature-clusters__subtitle{margin:0;font-size:12px;color:#667;max-width:560px;line-height:1.45}.feature-clusters__controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.feature-clusters__field{display:flex;flex-direction:column;gap:4px}.feature-clusters__field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#778}.feature-clusters__select,.feature-clusters__btn{font:inherit;font-size:13px;padding:4px 8px;border:1px solid #c8cdd6;border-radius:4px;background:#fff}.feature-clusters__btn{background:#f8f9fb;cursor:pointer;color:#333;padding:5px 12px}.feature-clusters__btn.is-force{background:#fff8e8;border-color:#c9a24a}.feature-clusters__btn:hover:not(:disabled){background:#eef2f7}.feature-clusters__btn:disabled{opacity:.6;cursor:default}.feature-clusters__status{font-size:12px;color:#666;margin-bottom:8px}.feature-clusters__versions{list-style:none;margin:0 0 8px;padding:0;font-size:11px;color:#666;display:flex;flex-direction:column;gap:2px}.feature-clusters__versions .is-current{color:#222;font-weight:600}.feature-clusters__class-summary{display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:10px}.feature-clusters__class-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#444}.feature-clusters__class-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0;border:1px solid rgba(0,0,0,.12)}.feature-clusters__class-label{color:#666}.feature-clusters__class-count{font-weight:600;font-variant-numeric:tabular-nums}.feature-clusters__empty{margin:0;font-size:13px;color:#667;line-height:1.5}.feature-clusters__plots{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(240px,.8fr);gap:12px;min-height:280px;align-items:stretch;margin-bottom:12px}.feature-clusters__plot{min-height:260px;border:1px solid #e8ecef;border-radius:6px;background:#fafbfc}.feature-clusters__plot--elbow{min-height:260px;padding:4px 8px 0}.feature-clusters__summary-row{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(260px,360px);gap:16px;align-items:stretch;margin-bottom:12px}.feature-clusters__plot--pie{min-height:280px;max-height:360px;padding:4px 8px 8px;overflow:hidden}.feature-clusters__class-table-wrap{min-width:0;padding:12px 14px;overflow:auto;background:#fafbfc;border:1px solid #e6eaee;border-radius:6px;align-self:stretch}.feature-clusters__sample-note{margin:0 0 10px;font-size:11px;line-height:1.4;color:#5a6570}.feature-clusters__sample-note strong{color:#334;font-weight:650}.feature-clusters__class-table{width:100%;border-collapse:collapse;font-size:12px;color:#334}.feature-clusters__class-table-caption{caption-side:top;text-align:left;font-size:12px;font-weight:600;color:#445;padding:0 0 8px}.feature-clusters__class-table th,.feature-clusters__class-table td{padding:6px 8px;border-bottom:1px solid #e6eaee;text-align:left;vertical-align:middle}.feature-clusters__class-table thead th{font-size:11px;font-weight:600;color:#667;border-bottom-color:#d7dde3}.feature-clusters__class-table tbody td:first-child{white-space:nowrap}.feature-clusters__class-cell{display:inline-flex;align-items:center;gap:6px}.feature-clusters__class-table-num{font-variant-numeric:tabular-nums;text-align:right!important;white-space:nowrap}.feature-clusters__class-table tfoot th,.feature-clusters__class-table tfoot td{border-bottom:none;border-top:1px solid #d7dde3;font-weight:600;padding-top:8px}.feature-clusters__pie-empty{margin:24px 12px;font-size:12px;color:#778}.feature-clusters__plot--profiles{min-height:360px;padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.feature-clusters__profile-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.feature-clusters__scale-toggles{display:inline-flex;border:1px solid #d7dde3;border-radius:6px;overflow:hidden;background:#fff}.feature-clusters__scale-btn{border:0;background:transparent;padding:5px 10px;font-size:12px;color:#556;cursor:pointer}.feature-clusters__scale-btn+.feature-clusters__scale-btn{border-left:1px solid #d7dde3}.feature-clusters__scale-btn:hover{background:#f3f6f8}.feature-clusters__scale-btn--active{background:#e8f0f7;color:#1f4e79;font-weight:600}.feature-clusters__profile-host{flex:1;min-height:300px;display:flex;flex-direction:column;gap:6px}.feature-clusters__elbow-empty{margin:24px 8px;font-size:13px;color:#667;line-height:1.45}.feature-clusters__profiles-empty{margin:12px 4px;font-size:13px;color:#667;line-height:1.45}.feature-clusters__profile-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.feature-clusters__profile-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#445}.feature-clusters__profile-plot{width:100%;flex:1;min-height:280px;border-radius:4px;background:#fff}.feature-clusters__driver-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;overflow:hidden}.feature-clusters__driver-panel{border:1px solid #e2e7ec;border-radius:6px;padding:8px 8px 4px;background:#fff;overflow:hidden;min-width:0;isolation:isolate}.feature-clusters__driver-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#445;margin-bottom:2px}.feature-clusters__driver-plot{min-height:200px;max-width:100%;overflow:hidden;contain:layout paint}@media(max-width:960px){.feature-clusters__plots,.feature-clusters__summary-row{grid-template-columns:1fr}}.feature-hist__content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.feature-hist__toolbar{display:flex;align-items:flex-end;gap:12px;padding:12px 28px 0;flex-shrink:0}.feature-hist__field{display:flex;flex-direction:column;gap:4px}.feature-hist__field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#778}.feature-hist__select{font:inherit;font-size:13px;padding:4px 8px;border:1px solid #c8cdd6;border-radius:4px;background:#fff}.feature-hist__btn{font:inherit;font-size:13px;padding:5px 12px;border:1px solid #c8cdd6;border-radius:4px;background:#f8f9fb;cursor:pointer;color:#333}.feature-hist__btn:hover:not(:disabled){background:#eef2f7}.feature-hist__btn:disabled{opacity:.6;cursor:default}.feature-hist__status{padding:8px 28px 0;font-size:12px;color:#666;flex-shrink:0}.feature-hist__grid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;padding:12px 28px 28px;align-content:start}.feature-hist__card{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid #e0e4e8;border-radius:6px;background:#fafbfc;text-align:left;cursor:pointer;font:inherit;color:inherit}.feature-hist__card:hover{background:#f3f7fb;border-color:#cdd8e4}.feature-hist__card.is-selected{border-color:#7eb8dc;background:#eef6fc;box-shadow:0 0 0 1px #7eb8dc}.feature-hist__card-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.feature-hist__card-label{font-size:13px;font-weight:600;color:#2c3340;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feature-hist__card-summary{font-size:11px;color:#778;font-variant-numeric:tabular-nums}.feature-hist__card-plot{width:100%;min-height:96px}.feature-hist__card-plot--expanded{min-height:180px}.feature-hist__empty{padding:24px 28px;font-size:13px;color:#667;line-height:1.5}.geojs-heatmap-view{--gh-ink: #1a222c;--gh-muted: #6a7583;--gh-line: #d8dee6;--gh-panel: #f4f6f8;--gh-accent: #2a6fad;--gh-map-bg: #0d1117;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;color:var(--gh-ink)}.geojs-heatmap-view__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 20px;padding:12px 18px 10px;border-bottom:1px solid var(--gh-line);flex-shrink:0}.geojs-heatmap-view__eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gh-accent);margin-bottom:2px}.geojs-heatmap-view__title{margin:0 0 2px;font-size:18px;font-weight:650;letter-spacing:-.02em}.geojs-heatmap-view__subtitle{margin:0;font-size:12.5px;color:var(--gh-muted);max-width:520px;line-height:1.4}.geojs-heatmap-view__pipeline{margin:0;padding:8px 18px;font-size:12.5px;line-height:1.4;flex-shrink:0;border-bottom:1px solid var(--gh-line)}.geojs-heatmap-view__pipeline--warn{background:#fff8e6;color:#7a5a00}.geojs-heatmap-view__stage{flex:1 1 auto;min-height:0;display:flex;align-items:stretch}.geojs-heatmap-view__map-wrap{position:relative;flex:1 1 auto;min-width:0;min-height:0;height:100%;background:radial-gradient(1200px 600px at 30% 20%,#182231 0%,transparent 55%),radial-gradient(900px 500px at 80% 80%,#141c28 0%,transparent 50%),var(--gh-map-bg);overflow:hidden}.geojs-heatmap-view__map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.geojs-heatmap-view__map .geojs-layer{background:transparent!important}.geojs-heatmap-view__hud{position:absolute;top:12px;left:12px;z-index:3;max-width:min(420px,calc(100% - 180px));padding:10px 12px;border-radius:8px;background:#0a0e14b8;border:1px solid rgba(255,255,255,.08);color:#e8eef5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.geojs-heatmap-view__hud-title{font-size:12.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geojs-heatmap-view__hud-meta,.geojs-heatmap-view__hud-cursor{margin-top:3px;font-size:11px;color:#9aa8b8;font-variant-numeric:tabular-nums}.geojs-heatmap-view__modebar{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;padding:3px;border-radius:8px;background:#0a0e14b8;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.geojs-heatmap-view__mode{border:none;background:transparent;color:#9aa8b8;font:inherit;font-size:11.5px;font-weight:650;padding:6px 10px;border-radius:6px;cursor:pointer}.geojs-heatmap-view__mode.is-active{background:#2a6fad;color:#fff}.geojs-heatmap-view__clusters{position:absolute;left:12px;bottom:36px;z-index:3;display:flex;flex-direction:column;gap:4px;max-height:min(46vh,320px);overflow:auto;padding:6px;border-radius:10px;background:#0a0e14c7;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:148px}.geojs-heatmap-view__chip{display:grid;grid-template-columns:10px auto 1fr;grid-template-rows:auto auto;column-gap:8px;row-gap:2px;align-items:center;border:none;background:transparent;color:#d7e0ea;font:inherit;font-size:11.5px;font-weight:600;padding:6px 8px;border-radius:6px;cursor:pointer;text-align:left}.geojs-heatmap-view__chip em{grid-column:3;font-style:normal;justify-self:end;color:#8b98a8;font-variant-numeric:tabular-nums;font-weight:500;font-size:11px}.geojs-heatmap-view__chip-bar{grid-column:2 / -1;height:3px;border-radius:2px;background:#ffffff14;overflow:hidden}.geojs-heatmap-view__chip-bar>span{display:block;height:100%;border-radius:2px}.geojs-heatmap-view__chip:hover{background:#ffffff0f}.geojs-heatmap-view__chip.is-active{background:#2a6fad59}.geojs-heatmap-view__chip:disabled{opacity:.45;cursor:not-allowed}.geojs-heatmap-view__chip-swatch{width:10px;height:10px;border-radius:2px;grid-row:1}.geojs-heatmap-view__chip-swatch--all{background:linear-gradient(135deg,#1faa6e,#e6c220 55%,#e24a2a)}.geojs-heatmap-view__legend-scale{position:absolute;right:12px;bottom:36px;z-index:3;display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:#0a0e14b8;border:1px solid rgba(255,255,255,.08);color:#9aa8b8;font-size:10.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.geojs-heatmap-view__legend-ramp{width:84px;height:8px;border-radius:999px;background:linear-gradient(90deg,#0e4a6e,#1faa6e 40%,#e6c220 70%,#e24a2a)}.geojs-heatmap-view__hint{position:absolute;left:50%;bottom:10px;transform:translate(-50%);z-index:3;padding:4px 10px;border-radius:999px;background:#0a0e148c;color:#8b98a8;font-size:10.5px;pointer-events:none;white-space:nowrap}.geojs-heatmap-view__map-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:4;pointer-events:none;color:#c5cfda;font-size:14px;text-align:center;padding:24px;background:#0d1117b8}.geojs-heatmap-view__map-placeholder--error{color:#ffb4b4;pointer-events:auto}.geojs-heatmap-view__map-placeholder--error strong{display:block;margin-bottom:8px;color:#ffd0d0;font-size:15px}.geojs-heatmap-view__map-placeholder--error div div{max-width:420px;line-height:1.45;font-size:13px;color:#ffc9c9}.geojs-heatmap-view__side{width:240px;flex:0 0 240px;border-left:1px solid var(--gh-line);background:var(--gh-panel);overflow:auto;min-height:0;padding:12px;display:flex;flex-direction:column;gap:12px}.geojs-heatmap-view__panel{background:#fff;border:1px solid var(--gh-line);border-radius:8px;padding:12px}.geojs-heatmap-view__panel h2{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gh-muted)}.geojs-heatmap-view__note{margin:-4px 0 10px;font-size:11.5px;line-height:1.4;color:var(--gh-muted)}.geojs-heatmap-view__check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--gh-ink);font-weight:600;margin-bottom:8px}.geojs-heatmap-view__field{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12px;color:var(--gh-ink)}.geojs-heatmap-view__field--stack{flex-direction:column;align-items:stretch;gap:4px}.geojs-heatmap-view__field span{font-weight:600;color:#445}.geojs-heatmap-view__field em{font-style:normal;font-weight:500;color:var(--gh-muted);font-variant-numeric:tabular-nums}.geojs-heatmap-view__field select{font:inherit;padding:5px 8px;border:1px solid #cfd6dc;border-radius:4px;background:#fff;min-width:0;flex:1;max-width:120px}.geojs-heatmap-view__field input[type=range]{width:100%}.geojs-heatmap-view__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.geojs-heatmap-view__btn{font:inherit;font-size:12px;font-weight:650;padding:6px 10px;border:1px solid var(--gh-accent);border-radius:5px;background:var(--gh-accent);color:#fff;cursor:pointer}.geojs-heatmap-view__btn:disabled{opacity:.45;cursor:not-allowed}.geojs-heatmap-view__btn--ghost{background:#fff;color:var(--gh-accent)}.geojs-heatmap-view__panel--stats dl{margin:0;display:grid;gap:8px}.geojs-heatmap-view__panel--stats div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.geojs-heatmap-view__panel--stats dt{margin:0;color:var(--gh-muted)}.geojs-heatmap-view__panel--stats dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums;text-align:right}@media(max-width:960px){.geojs-heatmap-view__stage{flex-direction:column}.geojs-heatmap-view__map-wrap{flex:1 1 auto;min-height:280px}.geojs-heatmap-view__side{width:100%;flex:0 0 auto;border-left:none;border-top:1px solid var(--gh-line);max-height:40vh}.geojs-heatmap-view__clusters{max-height:28vh}}.slides-pipeline{flex:1;min-height:0;overflow:auto;padding:24px 32px 40px;max-width:1280px}.slides-pipeline__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.slides-pipeline__heading{margin:0 0 6px;font-size:20px;font-weight:600;color:#2c3340}.slides-pipeline__hint{margin:0;font-size:13px;color:#666;line-height:1.45;max-width:720px}.slides-pipeline__meta{font-size:12px;color:#888;white-space:nowrap}.slides-pipeline__refresh{padding:6px 12px;border:1px solid #c8ced6;border-radius:4px;background:#fff;font-size:13px;cursor:pointer}.slides-pipeline__refresh:disabled{opacity:.6;cursor:default}.slides-pipeline__backfill{margin-right:.35rem}.slides-pipeline__notice{margin:0 0 12px;padding:8px 12px;border-radius:6px;font-size:13px}.slides-pipeline__notice--error{background:#fdecea;color:#b33}.slides-pipeline__empty{margin:0;font-size:13px;color:#888}.slides-pipeline__table-wrap{overflow-x:auto;border:1px solid #dadee0;border-radius:6px}.slides-pipeline__table{width:100%;border-collapse:collapse;font-size:13px}.slides-pipeline__table th,.slides-pipeline__table td{padding:8px 10px;text-align:left;border-bottom:1px solid #e8ecef;vertical-align:top}.slides-pipeline__table th{background:#f4f6f8;font-weight:600;color:#555;white-space:nowrap}.slides-pipeline__table tbody tr:last-child td{border-bottom:0}.slides-pipeline__dataset{min-width:140px;font-size:13px;color:#444;white-space:nowrap}.slides-pipeline__slide{max-width:260px}.slides-pipeline__slide-link{padding:0;border:0;background:none;color:#2d86c4;font:inherit;text-align:left;cursor:pointer;text-decoration:underline}.slides-pipeline__slide-id{display:block;margin-top:2px;font-size:11px;color:#999;word-break:break-all}.slides-pipeline__status{display:inline-block;padding:2px 8px;border-radius:3px;font-size:12px;font-weight:600}.slides-pipeline__status--running,.slides-pipeline__status--pending{background:#e8f4fc;color:#2d86c4}.slides-pipeline__status--done,.slides-pipeline__status--ready{background:#e8f5e9;color:#2e7d32}.slides-pipeline__status--incomplete{background:#fff4e5;color:#a15c00}.slides-pipeline__status--missing,.slides-pipeline__status--loading{background:#f4f6f8;color:#666}.slides-pipeline__status--loading{font-weight:500}.slides-pipeline__status--error{background:#fdecea;color:#b33}.slides-pipeline__detail{color:#555;font-size:12px;line-height:1.4}.slides-pipeline__count{font-variant-numeric:tabular-nums;white-space:nowrap}.slides-pipeline__message{max-width:280px;word-break:break-word;color:#555;font-size:12px}.slides-pipeline__toolbar{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.slides-pipeline__phase-cell{min-width:132px}.slides-pipeline__phase-cell .slides-pipeline__phase{margin-bottom:8px}.slides-pipeline__action{display:inline-block;padding:4px 10px;border:1px solid #c8ced6;border-radius:4px;background:#fff;font:inherit;font-size:12px;cursor:pointer}.slides-pipeline__action:hover:not(:disabled){background:#f0f3f6}.slides-pipeline__action:disabled{opacity:.55;cursor:default}.slides-pipeline__action--primary{background:#3498db;border-color:#2d86c4;color:#fff}.slides-pipeline__action--primary:hover:not(:disabled){background:#2d86c4}.xenium-view{display:flex;flex-direction:column;height:100%;min-height:0;background:#fff}.xenium-view__toolbar{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid #dadee0;flex-shrink:0}.xenium-view__toolbar-title{font-size:15px;font-weight:600;margin-right:auto}.xenium-view__toolbar-btn{border:1px solid #c8cdd6;background:#fff;border-radius:4px;padding:4px 12px;font:inherit;font-size:13px;cursor:pointer}.xenium-view__toolbar-btn:hover:not(:disabled){background:#f0f3f6}.xenium-view__toolbar-btn:disabled{opacity:.6;cursor:default}.xenium-view__body{flex:1;min-height:0;display:flex;gap:8px;padding:8px}.xenium-view__sidebar{width:300px;min-width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;border-right:1px solid #dadee0;padding-right:8px;overflow:auto}.xenium-view__field{display:flex;flex-direction:column;gap:4px;font-size:13px}.xenium-view__field>span{font-weight:600;color:#444}.xenium-view__field select,.xenium-view__field input[type=search],.xenium-view__field input[type=range]{font:inherit;font-size:13px}.xenium-view__gene-list{flex:1;min-height:120px;overflow:auto;border:1px solid #dadee0;border-radius:4px;margin:0;padding:0;list-style:none}.xenium-view__gene-list li{border-bottom:1px solid #eee}.xenium-view__gene-item{display:block;width:100%;padding:6px 8px;border:0;background:transparent;text-align:left;font:inherit;font-size:13px;cursor:pointer}.xenium-view__gene-item:hover{background:#f0f3f6}.xenium-view__gene-item.is-selected{background:#e8f1fb;font-weight:600}.xenium-view__selected-gene{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;font-size:12px;background:#f7f9fc;border:1px solid #dadee0;border-radius:4px}.xenium-view__plots{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px}.xenium-view__plot{flex:1;min-height:220px;border:1px solid #e8eaed;border-radius:4px;overflow:hidden}.xenium-view__summary{font-size:13px;line-height:1.45;padding:4px 0 8px}.xenium-view__summary-title{font-size:15px;font-weight:600;margin-bottom:8px}.xenium-view__summary-note{margin-top:10px;color:#666;font-size:12px}.xenium-view__placeholder{padding:24px;color:#666;font-size:14px;line-height:1.5}.xenium-view__placeholder code{font-size:12px;background:#f4f4f4;padding:1px 4px;border-radius:3px}.xenium-view__status{padding:8px 12px;font-size:13px;color:#2d6a4f;background:#e8f5ee;border-bottom:1px solid #c3e6d0}.xenium-view__status.is-error{color:#842029;background:#f8d7da;border-bottom-color:#f1aeb5}.xenium-view.is-loading .xenium-view__body{opacity:.65;pointer-events:none}.login-dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.login-dialog{width:min(420px,calc(100vw - 32px));background:#fff;border-radius:8px;padding:20px 24px 16px;box-shadow:0 8px 32px #0000002e}.login-dialog__title{margin:0 0 16px;font-size:18px}.login-dialog__field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:13px}.login-dialog__field input{padding:8px 10px;border:1px solid #c8cdd6;border-radius:4px;font:inherit}.login-dialog__error{color:#c0392b;font-size:13px;margin-bottom:8px}.login-dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.login-dialog__btn{border:1px solid #c8cdd6;background:#fff;border-radius:4px;padding:6px 14px;font:inherit;cursor:pointer}.login-dialog__btn--primary{background:#3498db;border-color:#2d86c4;color:#fff}.login-dialog__btn:disabled{opacity:.6;cursor:not-allowed}.app-shell{display:flex;flex-direction:column;height:100%;width:100%;background:#fff}.app-shell__header{display:flex;align-items:center;gap:12px;height:42px;padding:0 8px 0 0;border-bottom:1px solid #dadee0;background:#fff;flex-shrink:0}.app-shell__tabs{display:flex;align-items:stretch;height:100%}.app-shell__tab-wrap{display:flex;align-items:stretch}.app-shell__popout-btn{border:none;background:transparent;color:#888;font-size:13px;line-height:1;padding:0 8px 0 2px;cursor:pointer;align-self:center}.app-shell__popout-btn:hover{color:#3498db}.app-shell__popout-title{padding:0 16px;font-size:14px;font-weight:600;color:#444;display:flex;align-items:center;height:100%}.app-shell--popout .app-shell__header{border-bottom-color:#c5d4e8}.app-shell__tab{border:none;background:transparent;padding:0 20px;font:inherit;font-size:14px;color:#666;cursor:pointer;border-bottom:2px solid transparent}.app-shell__tab.is-active{color:#3498db;border-bottom-color:#3498db;font-weight:600}.app-shell__tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:9px;background:#3498db;color:#fff;font-size:11px;font-weight:700;line-height:1;vertical-align:middle}.app-shell__actions{margin-left:auto;display:flex;align-items:center;gap:8px}.app-shell__user{color:#666;font-size:13px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell__btn{border:1px solid #c8cdd6;background:#fff;border-radius:4px;padding:4px 10px;font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.app-shell__btn:hover{background:#f0f3f6}.app-shell__btn--primary{background:#3498db;border-color:#2d86c4;color:#fff}.app-shell__btn--primary:hover{background:#2d86c4}.app-shell__body{flex:1;min-height:0;min-width:0;display:flex;position:relative}.app-shell__viewer-mount{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-shell__viewer-mount>.imaging-viewer-layout{flex:1;min-height:0}.app-shell__main{flex:1;min-width:0;min-height:0;position:relative;background:#f8f9fa;display:flex;flex-direction:column}.app-shell__main--config{background:#fff;overflow:auto}.app-shell__main--wide{flex:1;min-width:0;min-height:0;background:#fff;overflow:hidden;display:flex;flex-direction:column}.app-shell__main--wide>*{flex:1;min-height:0}.app-shell__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#666;font-size:15px;padding:24px;text-align:center}.app-shell__main>.xenium-view{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.imaging-viewer-layout__iframe-wrap .legacy-viewer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;width:100%;margin:0;overflow:hidden}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;color:#2c3340;background:#f4f6f8}
