:root{--bg:#0e1116;--panel:#191b1f;--panel2:#282b31;--fg:#eef0f3;--muted:#a7adb6;--accent:#40c4ff;--border:#3b3f46;--warn:#f0883e;color:var(--fg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;margin:0;overflow:hidden}button,input,select{font:inherit;color:inherit}.app{width:100%;height:100%;position:relative}.map{position:absolute;inset:0 0 26px}.map.with-sidebar{right:320px}.map.with-below{bottom:calc(26px + var(--below-h,0px))}.genome{height:var(--genome-h,300px);z-index:2;background:var(--panel);border-top:1px solid var(--border);flex-direction:column;display:flex;position:absolute;bottom:26px;left:0;right:0}.genome.with-sidebar{right:320px}.genome .g-handle{cursor:ns-resize;z-index:3;height:7px;position:absolute;top:-3px;left:0;right:0}.genome .g-head{border-bottom:1px solid var(--border);white-space:nowrap;flex:none;align-items:center;gap:10px;padding:4px 10px;font-size:12px;display:flex}.genome .g-head select{width:auto;padding:3px 6px;font-size:12px}.genome .g-head .genesearch{flex:0 240px;min-width:110px}.genome .g-head .genesearch input{padding:3px 8px;font-size:12px}.genome .g-head .locus{font-variant-numeric:tabular-nums;text-overflow:ellipsis;overflow:hidden}.genome .g-head .right{color:var(--fg);font-variant-numeric:tabular-nums;text-overflow:ellipsis;margin-left:auto;overflow:hidden}.genome .g-head .warn{color:var(--warn)}.genome .g-body{flex:1;min-height:0;position:relative;overflow:hidden}.genome .g-body canvas{outline:none}.genome .g-guide{pointer-events:none;background:#e6edf359;width:1px;position:absolute;top:0;bottom:0}.genome .g-tip{border:1px solid var(--border);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;background:#0e1116eb;border-radius:4px;padding:2px 7px;font-size:11px;position:absolute;transform:translate(-50%)}.map canvas{outline:none;top:0!important;left:0!important}.map>div{position:absolute;top:0;left:0}.sidebar{background:color-mix(in srgb, var(--panel) 92%, transparent);border-left:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-direction:column;width:320px;display:flex;position:absolute;top:0;bottom:26px;right:0}.sidebar.collapsed{border:none;width:0}.sidebar .collapse{border:1px solid var(--border);background:var(--panel);cursor:pointer;width:22px;height:28px;color:var(--muted);border-right:none;border-radius:6px 0 0 6px;position:absolute;top:8px;left:-22px}.sidebar-inner{padding:12px 14px 20px;overflow-y:auto}.sidebar header h1{margin:0 0 4px;font-size:16px}.sidebar header p{margin:0 0 6px}section{border-top:1px solid var(--border);padding:10px 0}section h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:6px;margin:0 0 8px;font-size:11px;display:flex}.muted{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400}.small{font-size:11px}.tabs{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.tabs button,.legend-actions button,.overlay button{background:var(--panel2);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:4px 10px}.tabs button.on{background:var(--accent);color:#041018;border-color:var(--accent);font-weight:600}.legend-actions{gap:4px;margin-left:auto;display:flex}.legend-actions button{padding:1px 7px;font-size:11px}select,.genesearch input,.overlay input{background:var(--panel2);border:1px solid var(--border);border-radius:6px;outline:none;width:100%;padding:6px 8px}select:focus,.genesearch input:focus{border-color:var(--accent)}.genesearch{position:relative}.gs-empty{z-index:5;color:var(--muted);background:var(--panel2);border:1px solid var(--border);border-radius:6px;margin-top:2px;padding:5px 10px;font-size:12px;position:absolute;top:100%;left:0;right:0}.gs-list{z-index:5;background:var(--panel2);border:1px solid var(--border);border-radius:6px;max-height:260px;margin:2px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000080}.gs-list li{cursor:pointer;padding:4px 10px}.gs-list li.hi{background:color-mix(in srgb, var(--accent) 25%, transparent)}.controls label,.sidebar section>label{color:var(--muted);margin:8px 0 0;display:block}.controls label select{margin-top:3px}label small{color:var(--fg);margin-left:4px}label.check{align-items:center;gap:6px;display:flex}input[type=range]{width:100%;accent-color:var(--accent);margin:2px 0}.range{color:var(--muted);margin-top:8px}.range-label small{color:var(--fg)}.legend{padding:6px 0 0}.legend-head{align-items:center;gap:6px;margin-bottom:6px;font-weight:600;display:flex}.cats{max-height:280px;margin:0;padding:0;list-style:none;overflow-y:auto}.cats li{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:8px;padding:2px 4px;display:flex}.cats li:hover{background:var(--panel2)}.cats li.off{opacity:.35}.cats.channels{margin-top:6px}.layer{padding:4px 0}.layer+.layer{border-top:1px solid var(--border)}.layer-head{cursor:pointer;align-items:center;gap:8px;display:flex}.layer-head input{margin:0}.layer-dot{flex:none;width:13px;height:13px}.layer-name{font-weight:600}.layer-head .small{text-align:right;margin-left:auto}.layer-body{padding:6px 0 4px 21px}.layer-body .tabs{margin-bottom:2px}.layer-body .cats{max-height:160px}.legend-actions button.on{background:var(--accent);color:#041018;border-color:var(--accent);font-weight:600}.molecule-genes .cats li{cursor:default}.swatch-pick{appearance:none;cursor:pointer;background:0 0;border:none;padding:0}.swatch-pick::-webkit-color-swatch-wrapper{padding:0}.swatch-pick::-webkit-color-swatch{border:none;border-radius:3px}.swatch-pick::-moz-color-swatch{border:none;border-radius:3px}.molecule-genes .unpin{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1}.molecule-genes .unpin:hover{color:var(--text)}.blend-swatch{background:linear-gradient(135deg,#ffd23f 50%,#4c8dff 50%)}.swatch{border-radius:3px;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 1px #ffffff26}.cat-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cat-n{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.ramp{border-radius:4px;height:10px}.ramp-labels{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:2px;font-size:11px;display:flex}.hist{background:var(--panel2);border-radius:4px;align-items:flex-end;gap:1px;height:44px;margin-top:8px;padding:2px;display:flex}.hist .bar{background:var(--border);flex:1;min-height:1px}.hist .bar.on{background:var(--accent)}.samples{margin:0;padding:0;list-style:none}.samples li{border-radius:6px;align-items:center;gap:6px;padding:2px 4px;display:flex}.samples li.sel{background:var(--panel2)}.samples li.focus{outline:1px solid var(--accent)}.samples li.off .sample-btn{opacity:.4}.samples li.loading .s-meta:after{content:" · loading…";color:var(--warn)}.samples li.error .s-meta:after{content:" · failed";color:#ff6b6b}.sample-btn{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;padding:3px 4px;display:flex}.s-meta{color:var(--muted);font-size:11px}.focus-btn{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:0 0;border-radius:4px;padding:0 6px}.focus-btn:hover{color:var(--fg);border-color:var(--accent)}.tooltip{pointer-events:none;background:color-mix(in srgb, var(--panel) 94%, transparent);border:1px solid var(--border);z-index:10;border-radius:6px;min-width:120px;padding:6px 8px;font-size:12px;position:absolute;box-shadow:0 6px 20px #00000073}.tt-sample{color:var(--muted);font-size:11px}.tt-row{justify-content:space-between;gap:12px;display:flex}.tt-id{color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:11px}.statusbar{background:var(--panel);border-top:1px solid var(--border);height:26px;color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:14px;padding:0 12px;font-size:11px;display:flex;position:absolute;bottom:0;left:0;right:0}.statusbar .grow{flex:1}.statusbar .dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.statusbar .dot.ready{background:#3fb950}.statusbar .dot.loading{background:var(--warn)}.statusbar .dot.error{background:#ff6b6b}.statusbar .pending{color:var(--warn)}.statusbar .warn{color:#ff6b6b}.overlay{text-align:center;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex;position:absolute;inset:0}.overlay.error{background:color-mix(in srgb, var(--bg) 85%, transparent)}.overlay h1{letter-spacing:-.02em;margin:0;font-size:32px}.overlay h2{margin:0}.overlay p{max-width:560px;color:var(--muted);margin:0}.overlay form{gap:8px;width:min(640px,90vw);display:flex}.overlay code{background:var(--panel2);border-radius:4px;padding:1px 5px}.overlay a{color:var(--accent)}.platformbar{background:color-mix(in srgb, var(--panel) 90%, transparent);border:1px solid var(--border);z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:8px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;top:10px;left:12px}.platformbar button{cursor:pointer;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:3px 9px}.platformbar button.on{background:var(--panel2);color:var(--fg);border-color:var(--border)}.platformbar button .n{color:var(--muted);margin-left:3px;font-size:11px}.platformbar .split-ctl{border-left:1px solid var(--border);align-items:center;gap:2px;margin-left:8px;padding-left:8px;display:flex}.platformbar .split-ctl .muted{margin-right:4px;font-size:11px}.divider{cursor:col-resize;z-index:4;justify-content:center;align-items:center;width:8px;display:flex;position:absolute;top:0;bottom:0}.divider:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:3px}.divider:hover:before{background:var(--accent)}.divider .swap{background:var(--panel);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:6px;width:22px;height:22px;font-size:12px;line-height:1;position:relative}.divider .swap:hover{color:var(--fg);border-color:var(--accent)}.grouplist input{background:var(--panel2);border:1px solid var(--border);border-radius:6px;outline:none;width:100%;margin-bottom:4px;padding:6px 8px}.grouplist ul{border:1px solid var(--border);border-radius:6px;max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.grouplist li{cursor:pointer;padding:4px 8px}.grouplist li:hover{background:var(--panel2)}.grouplist li.on{background:color-mix(in srgb, var(--accent) 25%, transparent)}.samples li.subhead{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:6px;font-size:11px}.tt-label{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.tooltip .swatch{width:9px;height:9px}.tt-row b{font-variant-numeric:tabular-nums;margin-left:10px}.selection .kv{border-collapse:collapse;margin:6px 0}.selection .kv td{color:var(--muted);padding:1px 8px 1px 0}.selection .kv td b{color:var(--fg)}.comp{margin-top:6px}.comp-head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:11px}.comp-row{grid-template-columns:10px 1fr 70px 34px;align-items:center;gap:6px;padding:1px 0;font-size:12px;display:grid}.comp-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.comp-bar{background:var(--panel2);border-radius:3px;height:8px;overflow:hidden}.comp-bar span{height:100%;display:block}.comp-n{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.platformbar button.tool{border-color:var(--border);margin-right:6px}.platformbar button.tool.on{background:var(--accent);color:#041018}.dotplot{margin-top:6px}.dp-head,.dp-row{grid-template-columns:10px 1fr 88px 44px;align-items:center;gap:6px;font-size:12px;display:grid}.dp-head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-bottom:2px;font-size:10px}.dp-row{cursor:pointer;border-radius:4px;padding:1px 2px}.dp-row:hover{background:var(--panel2)}.dp-row.on{background:color-mix(in srgb, var(--accent) 22%, transparent)}.dp-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dp-bar{background:var(--panel2);border-radius:3px;height:10px;position:relative;overflow:hidden}.dp-bar span{background:var(--accent);opacity:.8;height:100%;display:block}.dp-bar em{color:var(--fg);font-size:10px;font-style:normal;position:absolute;top:-2px;right:4px}.dp-dot{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:11px;display:inline-flex}.dp-dot i{background:var(--fg);opacity:.8;border-radius:50%;display:inline-block}.heat{margin-top:6px;overflow-x:auto}.heat table{border-collapse:collapse;font-size:11px}.heat th{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:70px;padding:2px 4px;font-weight:400;overflow:hidden}.heat td{text-align:center;font-variant-numeric:tabular-nums;padding:2px 4px}.heat td:first-child{text-align:left;white-space:nowrap}.geneset{margin-bottom:10px}.geneset-head{align-items:center;gap:6px;margin-bottom:4px;display:flex}.chips{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.chip{background:var(--panel2);border:1px solid var(--border);border-radius:10px;align-items:center;gap:2px;padding:1px 4px 1px 8px;font-size:12px;display:inline-flex}.chip.unknown{border-color:var(--warn);color:var(--warn)}.chip button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 3px;font-size:13px;line-height:1}.chip button:hover{color:var(--fg)}.blend label{color:var(--muted);margin-top:4px;display:block}.blend label select{margin-top:3px}.blend-grid{grid-template-rows:96px auto;grid-template-columns:auto 96px;align-items:end;gap:6px;margin:4px 0;display:grid}.blend-grid canvas{border:1px solid var(--border);image-rendering:auto;border-radius:4px}.blend-y{writing-mode:vertical-rl;color:var(--muted);align-items:center;gap:4px;max-height:96px;font-size:11px;display:flex;overflow:hidden;transform:rotate(180deg)}.blend-x{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:flex}.map>.scalebar{background:var(--fg);opacity:.9;pointer-events:none;z-index:3;border-radius:1px;height:4px;position:absolute;top:auto;bottom:52px}.scalebar:before,.scalebar:after{content:"";background:var(--fg);width:2px;height:10px;position:absolute;bottom:0}.scalebar:before{left:0}.scalebar:after{right:0}.scalebar span{color:var(--fg);text-shadow:0 0 4px var(--bg), 0 0 2px var(--bg);white-space:nowrap;font-size:11px;position:absolute;bottom:8px;left:0}.map>.pointsize{z-index:3;background:color-mix(in srgb, var(--panel) 85%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:8px;align-items:center;gap:6px;padding:4px 8px;display:flex;position:absolute;top:auto;bottom:14px}.pointsize .cap{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;margin-right:2px;font-size:10px}.pointsize input[type=range]{width:90px;margin:0}.pointsize .dot{background:var(--muted);border-radius:50%;width:5px;height:5px}.pointsize .dot.big{width:9px;height:9px}.pointsize small{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;min-width:34px;font-size:10px}.overlay.gallery{justify-content:flex-start;gap:24px;padding:48px 32px 32px;overflow-y:auto}.gallery-head{flex-direction:column;align-items:center;gap:12px;max-width:760px;display:flex}.gallery-head form{width:min(680px,90vw)}.cards{text-align:left;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:18px;width:min(1320px,100%);display:grid}@media (max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.cards{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;transition:transform .12s,border-color .12s;display:flex;overflow:hidden}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card.soon{cursor:default;opacity:.75}.card.soon:hover{border-color:var(--border);transform:none}.card-art{aspect-ratio:1;background:#11151b;position:relative}.card-art svg{width:100%;height:100%;display:block;position:absolute;inset:0}.card-art .status{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--border);background:#0e1116cc;border-radius:999px;padding:2px 7px;font-size:10px;position:absolute;top:8px;right:8px}.card-art .status.live{color:#3fb950;border-color:#3fb950}.card-art .status.local{color:var(--accent);border-color:var(--accent)}.card-body{flex-direction:column;flex:1;gap:8px;padding:12px 14px 14px;display:flex}.card-body p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-body .paper{margin-top:auto}.card-body h2{margin:0;font-size:14px}.card-body p{color:var(--muted);max-width:none;margin:0;font-size:12px;line-height:1.4}.card .meta{flex-wrap:wrap;gap:4px;display:flex}.pill{background:var(--panel2);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:11px}.card .nums{color:var(--muted);gap:12px;font-size:11px;display:flex}.card .nums b{color:var(--fg);font-variant-numeric:tabular-nums}.card .paper{color:var(--muted);font-size:11px}.card .paper a{color:var(--accent)}.gallery-foot{text-align:center;max-width:700px;font-size:12px}.topnav{background:var(--panel);border-bottom:1px solid var(--border);z-index:8;align-items:center;gap:14px;height:40px;padding:0 14px;font-size:13px;display:flex;position:absolute;top:0;left:0;right:0}.topnav a{color:var(--muted);text-decoration:none}.topnav a:hover,.topnav a.on{color:var(--fg)}.topnav .brand{color:var(--fg);letter-spacing:-.01em;align-items:center;gap:8px;font-weight:700;display:flex}.topnav .brand img{height:22px}.topnav .crumb{align-items:center;gap:8px;display:flex}.topnav .sep{color:var(--border)}.topnav select{width:auto;padding:3px 8px;font-size:12px}.topnav .grow{flex:1}.app.with-nav .map,.app.with-nav .sidebar{top:40px}.app.with-nav .platformbar{top:50px}.app.with-nav .overlay{top:40px}.card-art img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.hdr-row{align-items:flex-start;gap:8px;display:flex}.hdr-row h1{flex:1}.hdr-actions{margin-top:2px}.chips.recent{margin-top:6px}.chips.recent .chip{cursor:pointer;color:var(--muted);padding:1px 8px}.chips.recent .chip:hover{color:var(--fg);border-color:var(--accent)}.notmeasured{align-items:center;gap:6px;margin-top:6px;display:flex}.statusbar .helpbtn{background:var(--panel2);border:1px solid var(--border);cursor:pointer;width:18px;height:18px;color:var(--muted);border-radius:50%;padding:0;font-size:11px;line-height:1}.statusbar .helpbtn:hover{color:var(--fg);border-color:var(--accent)}.help-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.help{background:var(--panel);border:1px solid var(--border);border-radius:10px;min-width:360px;padding:18px 22px;box-shadow:0 16px 48px #00000080}.help h2{margin:0 0 10px;font-size:14px}.help table{border-collapse:collapse}.help td{vertical-align:top;padding:3px 10px 3px 0}.help kbd{background:var(--panel2);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:12px}.help p{margin:10px 0 0}.genecount{margin-top:4px}.region-list{flex-direction:column;gap:2px;margin:4px 0 6px;display:flex}.region-row{cursor:pointer;border:1px solid #0000;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:4px 6px;display:flex}.region-row:hover{background:var(--panel2)}.region-row.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.region-row input[type=color]{cursor:pointer;background:0 0;border:0;flex:none;width:18px;height:18px;padding:0}.region-row .region-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.region-row .region-n{flex-basis:100%;padding-left:26px}.region-row .region-edit{background:var(--panel2);border:1px solid var(--accent);border-radius:4px;flex:1;min-width:0;padding:2px 6px}.region-row kbd{color:var(--muted);border:1px solid var(--border);border-radius:3px;margin-right:2px;padding:1px 4px;font:10px/1 ui-monospace,monospace}.region-row .legend-actions{visibility:hidden}.region-row:hover .legend-actions,.region-row.active .legend-actions{visibility:visible}.pane-head{box-sizing:border-box;background:color-mix(in srgb, var(--panel) 92%, transparent);border-bottom:1px solid var(--border);z-index:3;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex;position:absolute;overflow:hidden}.pane-head .cap{color:var(--fg);text-overflow:ellipsis;font-weight:600;overflow:hidden}.pane-head .n{color:var(--muted);font-variant-numeric:tabular-nums}.pane-head .key{margin-left:auto;font-size:11px}.pane-head select{width:auto;padding:2px 6px;font-size:12px;font-weight:600}.pane-head.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:0;left:0;right:0}.divider.h{cursor:row-resize;width:auto;height:8px;inset:auto 0}.divider.h:before{width:auto;height:2px;inset:3px 0 auto}.platformbar select{background:var(--panel2);width:auto;padding:2px 6px;font-size:12px}.samples li.group{padding:0;display:block}.samples li.group>.subhead{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:6px 0 2px 4px;font-size:11px}.platformbar.below-heads{top:40px}.app.with-nav .platformbar.below-heads{top:80px}.cats li .cat-markers{border:1px solid var(--border);color:var(--muted);cursor:pointer;opacity:0;background:0 0;border-radius:4px;margin-left:6px;padding:0 5px;font-size:10px;line-height:14px}.cats li:hover .cat-markers{opacity:1}.cats li .cat-markers:hover{color:var(--fg);border-color:var(--accent)}.group{border-top:1px solid var(--border)}.group:last-child{border-bottom:1px solid var(--border)}.group-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:9px 2px;display:flex}.group-head:hover{background:color-mix(in srgb, var(--panel2) 60%, transparent)}.group-head .chev{color:var(--muted);width:14px;font-size:15px;line-height:1}.group-title{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.group-summary{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:60%;margin-left:auto;font-size:12px;overflow:hidden}.group-switch{margin-left:auto}.group-summary+.group-switch{margin-left:8px}.group.off .group-title{color:var(--muted)}.group-body{padding:0 0 8px 12px}.group-body section{border-top:none;padding:6px 0}.group-body section+section{border-top:1px dashed color-mix(in srgb, var(--border) 70%, transparent)}.group-body section h2{font-size:10px;font-weight:600}.group-body .layer+.layer{border-top:none}.overlay-pick{align-items:center;gap:8px;display:flex}.overlay-pick select{flex:1}.compare-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:12px}.compare-table th{text-align:left;color:var(--muted);padding:2px 4px 2px 0;font-weight:500}.compare-table th:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.compare-table td{font-variant-numeric:tabular-nums;padding:2px 4px 2px 0}.compare{z-index:2;background:var(--panel);border-top:1px solid var(--border);--c-up:#ff9d6b;--c-down:#6fb3ff;flex-direction:column;display:flex;position:absolute;left:0;right:0}.compare.with-sidebar{right:320px}.compare .c-handle{cursor:ns-resize;z-index:3;height:7px;position:absolute;top:-3px;left:0;right:0}.compare .c-grip{background:var(--border);pointer-events:none;border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:3px;left:50%}.compare .c-head{border-bottom:1px solid var(--border);white-space:nowrap;flex:none;align-items:center;gap:10px;height:42px;padding:0 12px 0 16px;display:flex}.compare .c-title{font-size:13px;font-weight:600}.compare .c-sub{color:var(--muted);text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.compare .c-searchwrap{align-items:center;margin-left:auto;display:flex;position:relative}.compare .c-searchwrap svg{width:13px;height:13px;stroke:var(--muted);fill:none;stroke-width:2px;pointer-events:none;position:absolute;left:9px}.compare .c-search{background:var(--bg);border:1px solid var(--border);width:220px;height:28px;color:var(--fg);border-radius:7px;outline:none;padding:0 10px 0 28px;font-size:12px}.compare .c-search::placeholder{color:var(--muted)}.compare .c-search:focus{border-color:var(--accent)}.compare .c-ib{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;font-size:14px;display:grid}.compare .c-ib.text{width:auto;padding:0 8px;font-size:11px}.compare .c-ib:hover{border-color:var(--border);color:var(--fg)}.compare .c-ib.on{color:var(--fg);border-color:var(--border);background:var(--panel2)}.compare .c-body{flex:1;min-height:0;display:flex}.compare .c-note{padding:10px 14px}.compare .chip.pop{background:color-mix(in srgb, var(--accent) 18%, var(--panel2));border:1px solid color-mix(in srgb, var(--accent) 50%, var(--border));border-radius:12px;align-items:center;gap:6px;padding:1px 4px 1px 9px;font-size:11px;display:inline-flex}.compare .chip.pop button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 3px;font-size:13px}.compare .chip.pop button:hover{color:var(--fg)}.compare .c-matrix{flex-direction:column;flex:58%;min-width:0;display:flex;position:relative}.compare .m-scroll{flex:1;min-height:0;position:relative;overflow:auto}.compare .m-colbg{background:var(--panel2);opacity:.55;pointer-events:none;width:96px;position:absolute;top:0}.compare .m-head,.compare .m-row{align-items:center;display:grid;position:relative}.compare .m-head{z-index:2;background:var(--panel);border-bottom:1px solid var(--border);height:34px;position:sticky;top:0}.compare .m-head .m-gene{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:500}.compare .m-head button{height:34px;color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;justify-content:flex-end;align-items:center;gap:6px;padding:0 12px;font-size:12px;display:flex;overflow:hidden}.compare .m-head button i{border-radius:50%;flex:none;width:8px;height:8px}.compare .m-head button:hover{color:var(--fg)}.compare .m-head button.on{color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.compare .m-row{cursor:pointer;font-variant-numeric:tabular-nums;height:27px;font-size:12px;position:absolute;left:0}.compare .m-row:hover{background:var(--panel2)}.compare .m-row.on{background:color-mix(in srgb, var(--accent) 13%, var(--panel));box-shadow:inset 2px 0 0 var(--accent)}.compare .m-row.off{cursor:default}.compare .m-row.off .m-gene{color:var(--muted);font-weight:500}.compare .m-row.off .m-cell{opacity:.5}.compare .m-gene{z-index:1;white-space:nowrap;text-overflow:ellipsis;background:var(--panel);align-items:center;height:100%;padding:0 16px;font-weight:600;display:flex;position:sticky;left:0;overflow:hidden}.compare .m-row:hover .m-gene{background:var(--panel2)}.compare .m-row.on .m-gene{background:color-mix(in srgb, var(--accent) 13%, var(--panel))}.compare .m-cell{border-radius:4px;justify-content:flex-end;align-items:center;height:21px;margin:0 6px;padding:0 9px;display:flex}.compare .c-dist{border-left:1px solid var(--border);flex-direction:column;flex:0 0 42%;min-width:340px;max-width:680px;min-height:0;display:flex}.compare .d-head{border-bottom:1px solid var(--border);white-space:nowrap;flex:none;align-items:center;gap:10px;height:34px;padding:0 14px;display:flex}.compare .d-gene{font-size:13px;font-weight:600}.compare .d-tag{border-radius:10px;align-items:center;gap:6px;padding:2px 9px 2px 7px;font-size:11px;font-weight:600;display:inline-flex}.compare .d-tag i{background:currentColor;border-radius:50%;width:7px;height:7px}.compare .d-tag.plain{color:var(--muted);padding:0;font-weight:500}.compare .d-right{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.compare .d-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.compare .d-toggle input{accent-color:var(--accent);margin:0}.compare .d-plot{flex:1;min-height:0;position:relative}.compare .d-plotwrap{position:absolute;inset:0}.compare .d-plotwrap svg{display:block}.compare .d-missing{text-align:center;color:var(--muted);pointer-events:none;font-size:11px;position:absolute;top:40%;left:50px;right:12px}.compare .d-foot{height:28px;color:var(--muted);border-top:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;flex:none;align-items:center;padding:0 14px;font-size:11px;display:flex;overflow:hidden}.compare .d-foot b{color:var(--fg);font-weight:600}.compare .c-axis{fill:var(--muted);font-size:11px}.compare .c-grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 3}.compare .c-tick{fill:var(--muted);text-anchor:end;font-variant-numeric:tabular-nums;font-size:10px}.compare .c-group{text-anchor:middle;fill:var(--muted);font-size:11px}.compare .c-group.on{font-weight:600}.compare .c-group.turned{text-anchor:end;font-size:10px}.compare .c-group .muted{fill:var(--muted);font-weight:400}.compare .violin{stroke:none}.compare .violin.dim{opacity:.38}.compare .v-median{stroke:var(--fg);stroke-width:1.5px}.compare .c-dot circle{stroke:#0e1116e6;stroke-width:1.2px}.compare .c-dot .c-hit{fill:#0000;stroke:none}.compare .c-dot.link{cursor:pointer}.compare .c-dot.link:hover circle:not(.c-hit){stroke:var(--fg);stroke-width:2px}.compare .c-median{stroke:currentColor;stroke-width:2.5px}.compare .c-box line{stroke:currentColor;stroke-width:1px;opacity:.7}.compare .c-box rect{fill:currentColor;opacity:.16;stroke:currentColor;stroke-opacity:.6}.compare .c-pair{fill:none;stroke:var(--muted);stroke-width:1px;opacity:.7}.compare .c-tip{border:1px solid var(--border);white-space:nowrap;pointer-events:none;background:#0e1116eb;border-radius:4px;padding:2px 7px;font-size:11px;position:absolute;transform:translate(-50%,-100%)}.cmp-list{flex-direction:column;gap:2px;margin:4px 0 6px;padding:0;list-style:none;display:flex}.cmp-row{cursor:pointer;border-radius:6px;grid-template-columns:14px 1fr;align-items:start;column-gap:10px;padding:6px;display:grid}.cmp-row:hover{background:var(--panel2)}.cmp-row.on{background:color-mix(in srgb, var(--accent) 12%, transparent)}.cmp-row .cmp-dot{border:1.5px solid var(--muted);box-sizing:border-box;border-radius:50%;width:12px;height:12px;margin-top:2px}.cmp-row.on .cmp-dot{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 45%, transparent 50%)}.cmp-row .cmp-name{font-size:12px;font-weight:600}.cmp-row .cmp-sub{color:var(--muted);margin-top:1px;font-size:11px}button{transition:background-color .14s,border-color .14s,color .14s}button:focus-visible,select:focus-visible,input:focus-visible,[role=button]:focus-visible{outline-offset:2px;outline:2px solid #80d7fb}.sidebar{background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border-left-color:#303238}.sidebar-inner{padding:15px 15px 24px}.sidebar header h1{margin-bottom:5px;font-size:17px;font-weight:600}.sidebar header p{color:#afb4bd;margin-bottom:10px;font-size:13px;line-height:1.35}.sidebar .collapse{color:#c1c6cd;border-color:#46494f;border-radius:8px 0 0 8px;width:25px;height:32px;top:11px;left:-25px}.sidebar .collapse:hover{color:#fff;background:#34373e}.sidebar .group{border-color:#383b41}.sidebar .group-head{border-radius:7px;gap:9px;min-height:43px;padding:8px 7px}.sidebar .group-head:hover{background:#2a2d32}.sidebar .group-title{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600}.sidebar .group-summary{color:#a9afb7;font-size:12px}.sidebar .group-head .chev{color:#b2b8c1;flex:none;place-items:center;width:15px;height:16px;display:grid}.sidebar .group-head .chev svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;transition:transform .14s}.sidebar .group.open .chev svg{transform:rotate(90deg)}.sidebar .group-body{padding:0 4px 12px 15px}.sidebar .group-body section{padding:9px 0}.sidebar .group-body section+section{border-top:1px solid #34373d}.sidebar .group-body section h2{color:#d3d7dd;text-transform:none;letter-spacing:0;margin:0 0 8px;font-size:13px;font-weight:600}.sidebar .tabs{gap:5px;margin-bottom:9px}.sidebar .tabs button,.sidebar .legend-actions button{border-radius:7px}.sidebar .tabs button{background:#292c32;border-color:#454951;padding:4px 10px;font-size:13px}.sidebar .tabs button:hover{color:#fff;background:#3a3e46}.sidebar .tabs button.on{color:#06141b;border-color:var(--accent);background:var(--accent)}.sidebar select,.sidebar .genesearch input,.sidebar .grouplist input{background:var(--panel2);border-color:#494d54;border-radius:7px;padding:7px 9px}.sidebar .legend{padding-top:10px}.sidebar .legend-head{margin-bottom:8px;font-size:14px}.sidebar .cats li{border-radius:6px;padding:4px}.sidebar .cat-n,.sidebar .small{font-size:12px}.sidebar .swatch{border-radius:4px}.topnav{background:var(--panel);border-color:#303238}.topnav .brand{font-size:15px}.topnav select{border-radius:7px;font-size:13px}.platformbar{background:color-mix(in srgb, var(--panel) 96%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#41454c;border-radius:9px;padding:5px}.platformbar button{color:#b8bec6;border-radius:7px;padding:5px 10px;font-size:13px}.platformbar button:hover{color:#fff;background:#35383e}.platformbar button.on{color:#fff;background:#33363c;border-color:#4a4e56}.platformbar .split-ctl{border-color:#44474e}.platformbar .split-ctl .muted{font-size:12px}.platformbar select{border-radius:7px;font-size:13px}.map>.pointsize{background:color-mix(in srgb, var(--panel) 95%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#44474e;border-radius:8px;padding:6px 9px}.pointsize .cap{text-transform:none;letter-spacing:0;color:#c6ccd3;font-size:12px}.pointsize small{font-size:11px}.statusbar{background:var(--panel);border-color:#303238;font-size:12px}.tooltip{background:#24262b;border-color:#4a4d54;border-radius:8px;font-size:13px}@media (prefers-reduced-motion:reduce){button,.sidebar .group-head .chev svg{transition:none}}.platformbar .canvas-tools{border-right:1px solid #44474e;align-items:center;gap:2px;margin-right:4px;padding-right:8px;display:inline-flex}.platformbar .canvas-tool{border-radius:6px;place-items:center;width:32px;height:30px;padding:0;display:inline-grid}.platformbar .canvas-tool svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.platformbar .canvas-tool[aria-pressed=true]{color:#06141b;background:var(--accent);border-color:var(--accent)}.platformbar .canvas-tool:hover{color:#fff;background:#3b3f46}.platformbar .canvas-tool[aria-pressed=true]:hover{color:#06141b;background:#80d9ff}.platformbar .canvas-tools+.split-ctl{border-left:0;margin-left:0;padding-left:2px}.platformbar{scrollbar-width:thin;max-width:calc(100% - 340px);overflow-x:auto}.platformbar .split-ctl,.platformbar .canvas-tools{white-space:nowrap;flex-shrink:0}@media (max-width:700px){.platformbar{max-width:calc(100% - 24px)}}.color-display-controls{margin:5px 0 12px}.color-display-controls .scaling-note{margin:6px 0 0;line-height:1.35}.channels-note{margin:0 0 6px}.cats.channels li.blocked{cursor:not-allowed;opacity:.25}
