.platform-catalog{--pc-ink: #20334c;--pc-muted: #63758c;--pc-line: #d7e0eb;--pc-blue: #315a8b;color:var(--pc-ink);padding:0 0 32px}.platform-catalog .pc-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:34px 0 32px;border-bottom:1px solid var(--pc-line)}.platform-catalog .pc-label{margin:0 0 13px;color:#687b94;font-size:12px;letter-spacing:.025em}.platform-catalog .pc-heading h2{margin:0;color:var(--pc-ink);font-size:clamp(25px,2.7vw,38px);font-weight:600;line-height:1.4;letter-spacing:-.025em}.platform-catalog .pc-intro{margin:12px 0 0;color:var(--pc-muted);font-size:14px;line-height:1.8;max-width:630px}.platform-catalog button.pc-secondary{background:#fff;color:#355578;border:1px solid #c9d6e6;border-radius:5px;padding:10px 14px;white-space:nowrap;font-size:13px}.platform-catalog button.pc-secondary:hover{background:#edf3fa;border-color:#8ba8ca}.platform-catalog .pc-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px;align-items:start;padding:28px 0 32px}.platform-catalog .pc-directory{position:sticky;top:20px;min-width:0}.platform-catalog .pc-directory-label{color:#798aa0;font-size:11px;margin:0 0 12px 12px}.platform-catalog .pc-directory [role=tablist]{display:grid;gap:5px}.platform-catalog .pc-directory button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:12px;border:1px solid transparent;border-radius:6px;background:transparent;color:#4b607c;font-size:14px}.platform-catalog .pc-directory button small{display:block;margin-top:4px;color:#7e8ea3;font-size:11px;font-weight:400}.platform-catalog .pc-directory button:hover{background:#eaf0f7}.platform-catalog .pc-directory button[aria-selected=true]{background:#e5edf7;border-color:#c3d2e6;color:#244d80;font-weight:600}.platform-catalog .pc-directory button[aria-selected=true] small{color:#5c7a9f}.platform-catalog .pc-directory-arrow{color:#819ab6;font-size:15px}.platform-catalog .pc-validation{display:flex;justify-content:space-between;gap:8px;margin:22px 0 0;padding:16px 12px 0;border-top:1px solid var(--pc-line);color:#547092;font-size:12px;text-decoration:none}.platform-catalog .pc-detail{min-width:0}.platform-catalog .pc-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:26px}.platform-catalog .pc-detail h3{margin:0 0 10px;color:var(--pc-ink);font-size:23px;font-weight:600;line-height:1.5}.platform-catalog .pc-detail-heading p{margin:0;max-width:690px;color:var(--pc-muted);font-size:14px;line-height:1.9}.platform-catalog button.pc-open{flex:0 0 auto;padding:10px 16px;border-radius:5px;font-size:13px;background:#2e5281;border-color:#2e5281;color:#fff}.platform-catalog .pc-outputs{display:flex;flex-wrap:wrap;gap:10px 24px;margin:18px 0 24px;padding:0;list-style:none}.platform-catalog .pc-outputs li{color:#536c89;font-size:12px;line-height:1.6}.platform-catalog .pc-outputs li>span{margin-right:7px;color:#638773}.platform-catalog .pc-gallery{display:grid;gap:22px}.platform-catalog .pc-shot{margin:0;overflow:hidden;border:1px solid #cbd6e4;border-radius:8px;background:#fff;box-shadow:0 5px 20px #243e5e06}.platform-catalog .pc-shot-toolbar{display:flex;justify-content:space-between;padding:11px 15px;border-bottom:1px solid #d9e2ed;background:#f8fafc;color:#4d6480;font-size:11px}.platform-catalog .pc-shot-toolbar span+span{color:#7e8fa4}.platform-catalog button.pc-image-button{display:block;width:100%;padding:0;margin:0;min-height:0;border:0;border-radius:0;background:#0e141c;cursor:zoom-in}.platform-catalog .pc-image-button img{display:block;width:100%;height:auto}.platform-catalog .pc-shot figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 15px;background:#fff;color:#718198;font-size:11px;line-height:1.6}.platform-catalog .pc-shot figcaption button{background:transparent;color:#41668e;border:0;min-height:28px;padding:0;font-size:11px;white-space:nowrap}.platform-catalog .pc-image-error{padding:70px 24px;text-align:center;color:#687b94}.platform-catalog .pc-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:24px;border-top:1px solid var(--pc-line);color:#718198;font-size:13px}.platform-catalog :is(button,a):focus-visible{outline:2px solid #406b9e;outline-offset:3px}.platform-catalog .pc-dialog{width:min(1500px,94vw);max-width:94vw;max-height:93dvh;padding:0;border:1px solid #465871;border-radius:10px;background:#101720;color:#e2eaf5}.platform-catalog .pc-dialog::backdrop{background:#0c1426c7}.platform-catalog .pc-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px}.platform-catalog .pc-dialog-head h3{color:#e2eaf5;font-size:14px;margin:0}.platform-catalog .pc-dialog-head button{background:#263448;border:1px solid #526781;color:#e5edf8;padding:6px 12px;font-size:12px}.platform-catalog .pc-dialog>img{display:block;width:100%;height:auto}@media(max-width:1000px){.platform-catalog .pc-layout{grid-template-columns:150px minmax(0,1fr);gap:20px}.platform-catalog .pc-detail-heading{flex-direction:column;gap:12px}.platform-catalog .pc-heading{align-items:flex-start}}@media(max-width:700px){.platform-catalog .pc-heading{flex-direction:column;gap:18px;padding:22px 0}.platform-catalog .pc-layout{display:block;padding-top:20px}.platform-catalog .pc-directory{position:static;margin-bottom:24px}.platform-catalog .pc-directory-label{display:none}.platform-catalog .pc-directory [role=tablist]{display:flex;overflow-x:auto;gap:7px;padding:2px 2px 8px}.platform-catalog .pc-directory button{width:auto;flex:0 0 auto;padding:9px 13px;border-color:#d8e1ec;background:#fff;font-size:13px}.platform-catalog .pc-directory button small,.platform-catalog .pc-directory-arrow{display:none}.platform-catalog .pc-validation{margin:6px 0 0;padding:12px 2px 0;justify-content:flex-start}.platform-catalog .pc-detail h3{font-size:22px}.platform-catalog .pc-outputs{gap:9px 16px;margin:16px 0 20px}.platform-catalog .pc-footer{flex-direction:column;align-items:flex-start;gap:14px}.platform-catalog .pc-shot figcaption{align-items:flex-start}}:root{--fg:#1f2328;--muted:#6b7280;--line:#e5e7eb;--brand:#1668dc;--warn:#b45309}*{box-sizing:border-box}body{margin:0;background:#f6f7f9;color:var(--fg);font-family:-apple-system,Noto Sans CJK SC,PingFang SC,sans-serif}.app{max-width:1180px;margin:0 auto;padding:24px 20px 60px}header h1{margin:0 0 4px;font-size:26px;letter-spacing:.5px}.sub{margin:0 0 14px;color:var(--muted);font-size:13px}.steps{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.step{font-size:12px;padding:4px 10px;border-radius:999px;background:#eceff3;color:#5b6472}.step.active{background:var(--brand);color:#fff}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:18px}.card h2{margin:0 0 10px;font-size:17px}.hint{color:var(--muted);font-size:12px;line-height:1.7;margin:6px 0 14px}.field{display:block;margin:14px 0}.field>span{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.field small{font-weight:400;color:var(--muted)}input[type=text],input:not([type]),input[type=file],select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fff}.organ-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.organ{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.organ b{font-size:14px}.organ small{color:var(--muted);font-size:11px}.organ em{font-style:normal;font-size:10px;color:#8b93a1}.organ.selected{border-color:var(--brand);background:#eef5ff;box-shadow:0 0 0 1px var(--brand) inset}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}button,.btn{padding:9px 16px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:13px;cursor:pointer;text-decoration:none;color:var(--fg)}button:disabled{opacity:.55;cursor:not-allowed}.two-col{display:grid;grid-template-columns:320px 1fr;gap:20px;align-items:start}.thumb{width:100%;border-radius:8px;border:1px solid var(--line);background:#fafafa}.kv{width:100%;border-collapse:collapse;font-size:12.5px}.kv th{text-align:left;color:var(--muted);font-weight:500;width:88px;padding:3px 8px 3px 0;vertical-align:top}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px}.panel-box{border:1px solid var(--line);border-radius:9px;padding:12px;background:#fbfcfe;margin-top:10px}.panel-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px;font-size:12.5px}.badge{background:#eef2f7;border-radius:999px;padding:2px 9px;font-size:11px;color:#4b5563}.gene-preview{color:#374151;line-height:1.9;max-height:76px;overflow:auto}.progress{position:relative;height:26px;background:#eef2f7;border-radius:7px;margin-top:12px;overflow:hidden}.progress .bar{height:100%;background:#bfdbfe;transition:width .4s}.progress span{position:absolute;inset:0;display:flex;align-items:center;padding-left:10px;font-size:11.5px}.result-grid{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}.viewer img{width:100%;border-radius:10px;border:1px solid var(--line)}.gene-list{display:flex;flex-wrap:wrap;gap:6px;max-height:330px;overflow:auto;padding:4px 0}.gene-chip{padding:4px 9px;font-size:11.5px;border-radius:6px}.gene-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.error{background:#fff4f2;border:1px solid #ffc9c0;color:#a4281a;padding:10px 12px;border-radius:9px;margin-bottom:14px;font-size:13px;white-space:pre-wrap}footer{margin-top:8px}.disclaimer{border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:12px;line-height:1.8}.disclaimer ul{margin:6px 0;padding-left:18px}@media(max-width:900px){.two-col,.result-grid{grid-template-columns:1fr}}.qc{border-radius:9px;padding:12px 14px;margin:0 0 16px;border:1px solid var(--line);background:#fbfcfe}.qc.ok{background:#f2fbf5;border-color:#bfe3c9}.qc.warn{background:#fff8ec;border-color:#f3d9a9}.qc-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;margin-bottom:8px}.qc-row{display:flex;align-items:center;gap:10px;margin:4px 0;font-size:12.5px}.qc-name{width:78px}.qc-bar{flex:1;height:12px;background:#eef2f7;border-radius:6px;overflow:hidden}.qc-bar i{display:block;height:100%;background:#7cb0f0}.qc-score{width:62px;text-align:right}.qc-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 4px;font-size:12.5px}.qc-notes{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:11.5px;line-height:1.7}.organ-grid.dim{opacity:.45}.inline-check{display:inline-flex;align-items:center;gap:6px;font-weight:400;font-size:12.5px}.inline-check input{width:auto}.step.hidden{display:none}.warn-text{color:var(--warn);font-size:12px}.roi-wrap{position:relative;-webkit-user-select:none;user-select:none;cursor:crosshair;line-height:0}.roi-wrap img{width:100%;border-radius:8px;border:1px solid var(--line)}.roi-box{position:absolute;border:2px solid #1668dc;background:#1668dc2e;box-shadow:0 0 0 9999px #0000002e;pointer-events:none}button.ghost{padding:3px 10px;font-size:11.5px;border-radius:999px}.modal{position:fixed;inset:0;background:#0f141e73;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.modal-body{background:#fff;border-radius:12px;padding:18px;max-width:1000px;width:100%;max-height:80vh;overflow:auto}table.hist{width:100%;border-collapse:collapse;font-size:12px}table.hist th,table.hist td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}.cmp-panel{grid-column:1/-1;border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.cmp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cmp-grid figure{margin:0}.cmp-grid img{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff}.cmp-grid figcaption{font-size:11.5px;color:var(--muted);text-align:center;padding-top:4px}.cmp-body{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:14px;margin-top:12px;align-items:start}canvas.scatter{width:100%;height:380px;border:1px solid var(--line);border-radius:8px;background:#fff}.cmp-stats table{margin-bottom:10px}td.pos{color:#c0392b}td.neg{color:#1f5fa9}.hint.warn-note{background:#fff8e6;border-left:3px solid #e0a800;padding:7px 10px;border-radius:4px;margin-top:8px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:12px 0}button.case{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}button.case:hover{border-color:#1668dc;box-shadow:0 4px 14px #1668dc1f}button.case img{width:100%;height:170px;object-fit:cover;background:#f2f4f8}.case-body{padding:11px 13px 13px}.case-body b{font-size:13.5px;display:block}.case-en{font-size:11px;color:var(--muted);font-style:normal;display:block;margin-top:2px}.case-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:6px;align-items:center}.case-desc{font-size:11.5px;color:#5b6472;margin:7px 0 0;line-height:1.5}.site-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.brand{cursor:pointer}.brand h1{font-size:21px;letter-spacing:.2px}.brand .sub{font-size:12px;color:var(--muted);margin-top:3px}.topnav{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.topnav a{font-size:13px;padding:6px 12px;border-radius:7px;color:#39424f;cursor:pointer}.topnav a:hover{background:#f1f4f9}.topnav a.on{background:#e8f0fe;color:#1668dc;font-weight:600}.hero{display:grid;grid-template-columns:1.35fr .95fr;gap:22px;margin-bottom:16px}.hero-main{background:linear-gradient(135deg,#f7faff,#eef4ff);border:1px solid #dce6f7;border-radius:14px;padding:26px 26px 20px}.eyebrow{display:inline-block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#1668dc;background:#e6efff;border-radius:999px;padding:3px 10px}.hero h2{font-size:29px;line-height:1.32;margin:12px 0 10px}.lead{font-size:14px;line-height:1.75;color:#3d4657;max-width:62ch}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 14px}.stat b{display:block;font-size:22px;color:#1668dc;letter-spacing:.3px}.stat span{display:block;font-size:12.5px;color:#39424f;margin-top:2px}.stat em{display:block;font-size:11px;color:var(--muted);font-style:normal;margin-top:5px}button.lg{padding:10px 18px;font-size:14px}.row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.card h3{font-size:16px;margin-bottom:10px}.card h4{font-size:13.5px;margin:14px 0 7px;color:#2b3442}.bullet{margin:0 0 8px 18px;font-size:12.8px;line-height:1.75;color:#3d4657}.note-block{background:#f6f8fc;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:12.8px}.note-block.warn{background:#fff8e6;border-color:#f0dca8}.note-block ul{margin:7px 0 0 18px;line-height:1.72}.metrics-table{width:100%;border-collapse:collapse;font-size:12.8px}.metrics-table th,.metrics-table td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.metrics-table th{background:#f7f9fc;font-weight:600}.pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.pipe-step{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff}.pipe-step b{display:inline-flex;width:22px;height:22px;border-radius:50%;background:#1668dc;color:#fff;align-items:center;justify-content:center;font-size:12px}.pipe-step span{display:block;font-weight:600;font-size:13px;margin:7px 0 5px}.pipe-step em{font-style:normal;font-size:11.8px;color:#5b6472;line-height:1.65}.gallery.compact{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.gallery.compact img{height:130px}.workspace{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px 22px}.ws-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.ws-head h2{font-size:17px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ws-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:16px 0;flex-wrap:wrap}.tabs .tab{border:none;background:none;padding:9px 14px;font-size:13px;color:#5b6472;border-bottom:2px solid transparent;border-radius:0}.tabs .tab:hover{color:#1668dc}.tabs .tab.on{color:#1668dc;font-weight:600;border-bottom-color:#1668dc}.tab-body{display:block}.overview-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:18px;margin-top:12px}.sheet-link img{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff}.cmp-picker{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-bottom:14px}.spots-scroll{max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:8px}@media(max-width:980px){.hero,.overview-grid,.cmp-body,.cmp-grid{grid-template-columns:1fr}.hero-stats{grid-template-columns:1fr 1fr}}.gene-note{border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-top:12px;background:#fbfcfe}.gn-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.gn-head b{font-size:13.5px}.gn-classes{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 6px}.gn-chip{background:#e8f0fe;color:#14509e;border-radius:999px;padding:3px 10px;font-size:12px}.gn-chip em{font-style:normal;color:#6b7c96;font-size:10.5px;margin-left:5px}table.gn-programs{width:100%;border-collapse:collapse;font-size:11.8px;margin-top:6px}table.gn-programs{table-layout:auto}table.gn-programs th,table.gn-programs td{border-bottom:1px solid var(--line);padding:6px 9px;text-align:left;vertical-align:top}table.gn-programs td.nowrap,table.gn-programs th{white-space:nowrap}table.gn-programs td.gn-name{min-width:240px}table.gn-programs{margin-top:8px}.gene-note{margin-top:14px}.annot-note{margin-top:8px;font-size:11.5px;color:#5b6472;line-height:1.7}.annot-source{margin-top:6px;font-size:11px;color:#7a8494;line-height:1.7;border-top:1px dashed var(--line);padding-top:8px;word-break:break-word}table.gn-programs th{background:#f3f6fb;font-weight:600}em.muted{color:var(--muted);font-style:normal}.gene-chip{position:relative}.gene-chip.annotated{border-color:#bcd3f7}i.chip-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#1668dc;margin-left:5px;vertical-align:middle}.gn-ctrl{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:6px 0 2px}.gn-lead{font-size:12.5px;color:#39424f;margin:8px 0 2px}.gn-detail{margin-top:10px}.gn-detail summary{font-size:12px;color:#5b6472;cursor:pointer;padding:4px 0}.gn-detail summary:hover{color:#1668dc}.gn-chip{font-size:12.5px;padding:4px 11px}.gp{position:relative;z-index:1}.gp.open{z-index:300}.gp-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:13.5px;color:#222;cursor:pointer;text-align:left}.gp-btn:hover{border-color:#bcd3f7}.gp-btn.open{border-color:#1668dc;box-shadow:0 0 0 3px #1668dc1f}.gp-value{font-weight:600}.gp-ph{color:#9aa3b2}.gp-caret{color:#7a8494;font-style:normal;font-size:11px}.gp-panel{position:absolute;z-index:300;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #141e3224;padding:8px}.gp-search{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:7px;font-size:13px;margin-bottom:6px}.gp-list{min-height:44px;max-height:280px;overflow-y:auto;overflow-x:hidden;display:block}.gp-item{display:block;flex:0 0 auto;width:100%;box-sizing:border-box;padding:7px 10px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:none;background:none;border-radius:6px;text-align:left;cursor:pointer;font-size:13px;color:#2b3442}.gp-item+.gp-item{margin-top:1px}.gp-item:hover{background:#f1f6fe}.gp-item.on{background:#e8f0fe;color:#1668dc;font-weight:600}.gp-empty,.gp-more{font-size:11.5px;color:var(--muted);padding:6px 9px}.cmp-picker,.tab-body,.workspace,.result-grid,.overview-grid{overflow:visible}button.sheet-link{padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:zoom-in;position:relative;overflow:hidden}button.sheet-link img{display:block;width:100%}.sheet-hint{position:absolute;right:8px;bottom:8px;background:#141e32b8;color:#fff;font-size:11px;padding:3px 9px;border-radius:999px}.lb{position:fixed;inset:0;background:#0c121cdb;z-index:600;display:flex;flex-direction:column}.lb-bar{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line)}.lb-bar b{font-size:14px}.lb-bar .hint{margin-right:auto}.lb-body{flex:1;overflow:auto;padding:18px;text-align:center}.lb-body img{max-width:100%;height:auto;background:#fff;border-radius:6px}.ladder{display:grid;grid-template-columns:minmax(300px,1fr) minmax(280px,1fr);gap:18px;margin-top:10px}.ladder-view{position:relative;line-height:0}.ladder-view img{width:100%;border:1px solid var(--line);border-radius:10px;background:#f7f8fb}.ladder-badge{position:absolute;right:10px;top:10px;background:#121822b8;color:#fff;font-size:11px;padding:3px 9px;border-radius:999px}.ladder-side h4{font-size:14.5px;margin:0 0 4px}.ladder-phys{font-size:11.5px;color:var(--muted);margin-bottom:8px}.ladder-note{font-size:12.8px;line-height:1.75;color:#3d4657}.ladder-dots{display:flex;gap:6px;margin-bottom:10px}.ladder-dots .dot{width:9px;height:9px;padding:0;border-radius:50%;border:1px solid #c3cbd8;background:#fff;cursor:pointer}.ladder-dots .dot.on{background:#1668dc;border-color:#1668dc}.plat-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.plat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.plat{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff}.plat-head{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.plat-head b{font-size:13px}.plat-head span{font-size:11px;color:var(--muted)}.plat figure{margin:0 0 8px}.plat figure img{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff}.plat figcaption{font-size:11px;color:var(--muted);text-align:center;padding-top:3px}.plat-nums{font-size:11.5px}@media(max-width:980px){.plat-grid,.ladder{grid-template-columns:1fr}}button.ghost-lg{background:#fff}.feature-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:6px 0 10px}.feature{border:1px solid var(--line);border-radius:10px;padding:13px 15px;background:#fbfcfe}.feature b{display:block;font-size:13.5px;margin-bottom:5px}.feature span{font-size:12.3px;color:#5b6472;line-height:1.65}.deck-wrap{position:relative}.deck{height:calc(100vh - 118px);min-height:540px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;border:1px solid var(--line);border-radius:14px;background:linear-gradient(165deg,#fbfdff,#eef5ff)}.deck-slide{min-height:100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;padding:22px 30px}.deck-inner{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:28px;width:100%;align-items:center}.deck-text h2{font-size:25px;line-height:1.32;margin:8px 0 9px}.deck-lead{font-size:13.4px;line-height:1.75;color:#39424f;margin-bottom:9px}.deck-list{margin:0 0 10px 18px;font-size:12.8px;line-height:1.72;color:#39424f}.deck-list li{margin-bottom:5px}.deck-facts{display:flex;gap:10px;flex-wrap:wrap;margin:2px 0 10px}.deck-fact{background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 11px;min-width:118px}.deck-fact b{display:block;font-size:15px;color:#1668dc}.deck-fact span{font-size:11px;color:var(--muted)}.deck-source{font-size:11px;color:#7a8494;margin-top:6px}.deck-media{display:grid;gap:12px}.deck-media.multi{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.deck-media figure{margin:0}.deck-media img{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff}.deck-media.multi img{max-height:210px;object-fit:contain}.deck-media:not(.multi) img{max-height:360px;object-fit:contain}.deck-media figcaption{font-size:11px;color:var(--muted);text-align:center;padding-top:4px}.deck-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:10px;padding:9px 14px;margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 6px 18px #141e3212}.deck-dots{display:flex;gap:6px}.deck-dots .dot{width:8px;height:8px;padding:0;border-radius:50%;border:1px solid #c3cbd8;background:#fff}.deck-dots .dot.on{background:#1668dc;border-color:#1668dc}.deck-count{font-size:11.5px;color:var(--muted);margin-right:auto}.deck-nav{width:30px;height:30px;padding:0;border-radius:50%;font-size:12px}.deck-cta{margin-left:4px}@media(max-width:980px){.deck{height:auto}.deck-inner{grid-template-columns:1fr}.deck-slide{min-height:auto;padding:20px 16px}}.link-inline{font-size:13px;color:#1668dc;cursor:pointer;align-self:center}.link-inline:hover{text-decoration:underline}.deck-table{font-size:11.4px;margin:4px 0 9px;line-height:1.55}.deck-table th,.deck-table td{padding:5px 8px}.organ-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;margin:4px 0 10px}.organ-chip{border:1px solid var(--line);border-radius:8px;padding:6px 9px;background:#fff;display:flex;align-items:baseline;gap:6px}.organ-chip b{font-size:12.5px}.organ-chip em{font-size:10px;color:var(--muted);font-style:normal}.organ-chip i{margin-left:auto;font-size:10.5px;color:#1668dc;font-style:normal}.deck-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:4px 0 8px}.deck-step{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff}.deck-step b{display:inline-flex;width:19px;height:19px;border-radius:50%;background:#1668dc;color:#fff;align-items:center;justify-content:center;font-size:11px}.deck-step span{display:block;font-weight:600;font-size:12.5px;margin:5px 0 3px}.deck-step em{font-style:normal;font-size:11.2px;color:#5b6472;line-height:1.6}@media(max-width:1180px){.deck-inner{grid-template-columns:1fr 1fr}}.upload-shared{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:12px 0 16px}.pick-row{display:flex;align-items:center;gap:10px;margin:8px 0}button.pick{background:#eef3fb;border:1px solid #bcd3f7;color:#14509e;font-size:12.5px;padding:6px 13px;border-radius:8px;white-space:nowrap}button.pick:hover{background:#e2ecfa}.picked{font-size:12px;color:#39424f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picked.empty{color:#98a2b3}.error-text{font-size:12.5px;color:#b02a37;background:#fff2f3;border:1px solid #f3c2c7;border-radius:8px;padding:8px 11px;margin-top:10px}.upload-modes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.upload-mode{border:1px solid var(--line);border-radius:12px;padding:15px 17px;background:#fff}.upload-mode.highlight{border-color:#bcd3f7;background:linear-gradient(160deg,#fbfdff,#f2f7ff)}.um-head{display:flex;align-items:center;gap:9px;margin-bottom:8px}.um-head b{font-size:14.5px}.role-chip{display:inline-flex;align-items:baseline;gap:5px;background:#e8f0fe;color:#14509e;border-radius:999px;padding:3px 10px;font-size:11.5px;margin:2px 4px 2px 0}.role-chip em{font-style:normal;color:#5b7291;font-size:10.5px}.clin-options{display:grid;gap:7px;margin:10px 0}.clin-option{border:1px solid var(--line);border-radius:9px;padding:8px 11px;background:#fff;opacity:.55}.clin-option.on{opacity:1;border-color:#bcd3f7}.clin-option b{display:block;font-size:12.5px}.clin-option span{display:block;font-size:11.5px;color:#5b6472;margin-top:2px;line-height:1.6}.clin-option em{display:block;font-size:11px;color:#b06a00;font-style:normal;margin-top:3px}@media(max-width:1080px){.upload-shared,.upload-modes{grid-template-columns:1fr}}.gene-scope{margin:10px 0 12px;border-top:1px dashed var(--line);padding-top:10px}.gs-label{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}.gs-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}button.gs-opt{text-align:left;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 11px;cursor:pointer}button.gs-opt b{display:block;font-size:12.5px;color:#243447}button.gs-opt em{display:block;font-style:normal;font-size:11px;color:#6b7686;margin-top:2px}button.gs-opt.on{border-color:#1668dc;background:#f2f7ff;box-shadow:inset 0 0 0 1px #1668dc}button.gs-opt.on b{color:#14509e}.hint.warn-text{color:#8a5a00;background:#fff8e8;border:1px solid #f0dfb8;border-radius:8px;padding:8px 11px;line-height:1.7;margin-top:8px}@media(max-width:1080px){.gs-opts{grid-template-columns:1fr}}.anno-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}.anno-sources{display:flex;gap:6px}button.anno-src{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:12.3px;display:inline-flex;align-items:baseline;gap:6px}button.anno-src em{font-style:normal;font-size:10.5px;color:#6b7686}button.anno-src.on{border-color:#1668dc;background:#f2f7ff;color:#14509e}button.anno-src.on em{color:#1668dc}.anno-search-form{display:flex;gap:6px;flex:1 1 260px;align-items:center}input.anno-search{flex:1 1 auto;min-width:150px;padding:6px 10px;font-size:12.5px;border:1px solid var(--line);border-radius:8px}.anno-search-form button{font-size:12.3px;padding:6px 12px;border-radius:8px}table.gn-anno{width:100%;font-size:12px;border-collapse:collapse;margin-top:4px}table.gn-anno th{text-align:left;font-size:11px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:5px 8px}table.gn-anno td{padding:5px 8px;border-bottom:1px solid #f1f4f8;vertical-align:top}.anno-tag{font-size:10.5px;border-radius:6px;padding:2px 7px;background:#eef3fb;color:#31507e}.anno-tag.go{background:#eaf6ee;color:#20603a}.anno-tag.reactome{background:#fdf0e6;color:#8a4b12}tr.anno-row{cursor:pointer}tr.anno-row:hover{background:#f7fafd}.anno-size{font-size:11.5px;color:#1668dc}.anno-members-cell{background:#fbfcfe;border-bottom:1px solid var(--line)!important;padding:9px 10px!important}.anno-genes{display:flex;flex-wrap:wrap;gap:5px;max-height:190px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;margin-top:6px}.anno-gene{font-size:11.5px;font-family:ui-monospace,Menlo,monospace;color:#39424f;background:#f2f5f9;border-radius:6px;padding:2px 7px}.anno-gene.on{background:#1668dc;color:#fff;font-weight:600}.mark-tray{position:fixed;right:18px;bottom:18px;width:min(430px,calc(100vw - 36px));max-height:min(70vh,620px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px #141e3229;padding:11px 13px;z-index:60}.mark-tray:not(.closed){box-shadow:0 14px 40px #141e3238}.app.tray-open{padding-bottom:240px}button.mt-symbol{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;font-family:ui-monospace,Menlo,monospace;font-size:12.3px;color:#243447;cursor:pointer;padding:0}button.mt-symbol:hover{color:#1668dc}button.mt-symbol:after{content:"Set A/B";font-size:9px;color:#98a2b3;opacity:0;margin-left:4px;font-family:system-ui,sans-serif}button.mt-symbol:hover:after{opacity:1}.mt-badge{font-style:normal;font-family:system-ui,sans-serif;font-size:9.5px;font-weight:700;width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.mt-badge.A{background:#1668dc;color:#fff}.mt-badge.B{background:#20603a;color:#fff}.mark-tray.closed{padding:9px 13px}.mt-head{display:flex;align-items:center;gap:9px}.mt-head b{font-size:13.5px}.mt-hint{font-size:11px;color:var(--muted);margin-right:auto}button.mt-toggle{border:1px solid var(--line);background:#fff;font-size:11.5px;padding:3px 9px;border-radius:999px;cursor:pointer;white-space:nowrap}.mt-list{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.mt-item{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:8px;padding:3px 4px 3px 9px;background:#fbfcfe}.mt-item.used{border-color:#bcd3f7;background:#f4f8ff}.mt-item b{font-size:12.3px;font-family:ui-monospace,Menlo,monospace}button.mt-slot{font-size:10px;padding:1px 5px;border-radius:5px;border:1px solid var(--line);background:#fff;color:#4a5666;cursor:pointer}button.mt-slot.on{background:#1668dc;border-color:#1668dc;color:#fff;font-weight:600}button.mt-del{border:none;background:transparent;color:#98a2b3;font-size:13px;cursor:pointer;padding:0 4px}button.mt-del:hover{color:#b02a37}.mt-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:6px;border-top:1px dashed var(--line);padding-top:9px}.mt-pair{font-size:11.5px;color:#5b6472;margin-right:auto}.mt-actions button{font-size:12.3px;padding:6px 11px;border-radius:8px}.mt-matrix{margin-top:10px;border-top:1px dashed var(--line);padding-top:9px}.mm-head{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#5b6472;margin-bottom:6px}.mm-head button{font-size:11px;padding:2px 8px;border-radius:6px;margin-left:auto}.mt-matrix table{border-collapse:collapse;font-size:11px;font-family:ui-monospace,Menlo,monospace}.mt-matrix th,.mt-matrix td{padding:3px 6px;text-align:center;border:1px solid #eef1f5}.mt-matrix thead th,.mt-matrix tbody th{background:#f7fafd;color:#39424f;font-weight:600}.mt-matrix td.diag{background:#f1f4f8;color:#98a2b3}.mt-matrix td{color:#12233d}button.mark{font-size:12.3px;padding:6px 11px;border-radius:8px;background:#fff;border:1px solid var(--line);cursor:pointer}button.mark.on{border-color:#f0b429;background:#fff9e8;color:#8a5a00}button.anno-gene{cursor:pointer;border:1px solid transparent}button.anno-gene:hover{border-color:#bcd3f7}button.anno-gene.marked{background:#fff3d6}.mt-matrix td.mt-cell{cursor:pointer}.mt-matrix td.mt-cell:hover{outline:2px solid #1668dc;outline-offset:-2px}.mt-matrix td.mt-cell.picked{outline:2.5px solid #1668dc;outline-offset:-2px;font-weight:700;color:#fff}.mm-actions{display:flex;align-items:center;gap:8px;margin:8px 0 4px}.mm-actions button{font-size:12.3px;padding:6px 12px;border-radius:8px}.pm-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0 8px;font-size:11.5px;color:#5b6472}.pm-label{color:var(--muted)}button.pm-opt{font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;color:#4a5666}button.pm-opt.on{background:#f2f7ff;border-color:#1668dc;color:#14509e;font-weight:600}.pm-controls select{font-size:11px;padding:3px 6px;border-radius:7px;border:1px solid var(--line)}.pm-used{color:#8a5a00}.mt-matrix td.mt-cell.cross-module{border-right:2px solid #cfd8e4}.mt-matrix th{border-right:1px solid #eef1f5}.pm-modules{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}.pm-module{font-size:11px;color:#39424f;background:#f7fafd;border:1px solid var(--line);border-radius:8px;padding:4px 8px;max-width:100%}.pm-module b{color:#1668dc;margin-right:5px}.pm-compare{display:block;color:#5b6472;font-size:11px;margin-top:2px}.mod-note{background:#f7fafd;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:12.4px;line-height:1.9;color:#39424f;margin-bottom:12px}.mn-lead b{color:#14509e}.mn-sub{margin-top:7px;font-size:11.6px;color:#5b6472}details.mn-eval{margin-top:6px}details.mn-eval summary{font-size:11.5px;color:#1668dc;cursor:pointer}table.mn-table{margin-top:8px;font-size:11.5px}table.mn-table th{width:150px;text-align:left;color:#5b6472;font-weight:600;vertical-align:top}table.mn-table td{color:#39424f}.mod-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;font-size:11.5px;color:#5b6472}.mod-controls select{font-size:11.5px;padding:3px 7px;border-radius:7px;border:1px solid var(--line)}.mod-grid{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:16px;align-items:start}.mod-list{display:flex;flex-direction:column;gap:6px;max-height:520px;overflow:auto}button.mod-item{text-align:left;display:block;width:100%;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 11px;cursor:pointer}button.mod-item b{display:block;font-size:12.5px}button.mod-item em{font-style:normal;font-size:11px;color:var(--muted)}button.mod-item.on{border-color:#1668dc;background:#f2f7ff}.mod-detail img.mod-map{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff}.mod-members{margin-top:8px}.mod-corr{margin-top:14px;border-top:1px dashed var(--line);padding-top:10px}.mod-corr summary{font-size:12px;color:#39424f;cursor:pointer}.mod-corr table{margin-top:8px}@media(max-width:1080px){.mod-grid{grid-template-columns:1fr}}.enrich-box{border:1px dashed var(--line);border-radius:10px;padding:10px 12px;margin:10px 0 12px;background:#fbfcfe}.enrich-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.enrich-head b{font-size:12.8px}.enrich-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.enrich-src{font-size:11.8px;display:inline-flex;align-items:center;gap:4px;color:#39424f}.enrich-ctl button{font-size:12.3px;padding:6px 12px;border-radius:8px}.mod-tag{display:block;margin-top:4px;font-size:10.8px;color:#14509e;background:#e8f0fe;border-radius:6px;padding:2px 6px;line-height:1.5}.mod-tag.none{color:#8a94a3;background:#f1f4f8}.mod-enrich{margin-top:10px}table.enrich-table{width:100%;font-size:11.5px;border-collapse:collapse;margin-top:5px}table.enrich-table th{text-align:left;font-size:10.5px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:4px 7px}table.enrich-table td{padding:5px 7px;border-bottom:1px solid #f1f4f8;vertical-align:top}.enrich-genes{display:block;font-size:10.5px;color:#6b7686;margin-top:2px}.enrich-multi{display:inline-block;margin-left:5px;font-size:9.5px;color:#8a5a00;background:#fff3d6;border-radius:5px;padding:1px 5px;cursor:help}details.licenses{margin-top:10px;border-top:1px dashed var(--line);padding-top:9px}details.licenses summary{font-size:11.5px;color:#5b6472;cursor:pointer}details.licenses ul{margin:8px 0 0 16px;font-size:11.3px;line-height:1.8;color:#5b6472}details.licenses ul ul{margin:4px 0 4px 16px}details.licenses b{color:#39424f}.enrich-result{margin-top:10px;border-top:1px dashed var(--line);padding-top:9px}.er-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:6px}.er-head b{font-size:12.8px}button.er-goto{font-size:11.5px;padding:2px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;cursor:pointer}button.er-goto:hover{border-color:#1668dc;color:#14509e}.enrich-plot{margin-top:10px}.enrich-bars{display:flex;flex-direction:column;gap:5px;margin-top:6px}.eb-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(80px,1fr) auto;gap:8px;align-items:center}.eb-term{font-size:11.5px;color:#39424f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eb-track{background:#eef2f7;border-radius:5px;height:12px;overflow:hidden}.eb-track i{display:block;height:100%;background:#1668dc;border-radius:5px}.eb-track i.sig{background:#c98a1a}.eb-val{font-size:10.8px;color:#5b6472;white-space:nowrap}.mod-map-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:6px}.mod-map-head b{font-size:12.8px}.val-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:10px}button.val-card{text-align:left;background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 15px;cursor:pointer;display:flex;flex-direction:column;gap:7px}button.val-card:hover{border-color:#1668dc}button.val-card b{font-size:13.5px}.val-meta{display:flex;gap:9px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.val-nums{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;color:#39424f}.val-nums b{color:#14509e}.val-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:10px 0}.val-summary>div{background:#f7fafd;border:1px solid var(--line);border-radius:9px;padding:9px 11px}.val-summary b{display:block;font-size:17px;color:#14509e}.val-summary span{font-size:10.8px;color:#5b6472}.val-picker{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:10px 0}.val-score{font-size:12px;color:#39424f}.val-score b{color:#14509e}.val-grid{display:grid;grid-template-columns:1fr 1fr minmax(260px,1fr);gap:14px;align-items:start}.val-map img{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff}.val-map figcaption{font-size:11px;color:var(--muted);text-align:center;padding-top:5px}.val-scatter canvas.scatter{width:100%;height:340px;border:1px solid var(--line);border-radius:10px;background:#fff}.val-table{margin-top:14px;border-top:1px dashed var(--line);padding-top:10px}.val-table summary{font-size:12.5px;cursor:pointer}.val-bar{display:block;width:90px;height:9px;background:#eef2f7;border-radius:5px;overflow:hidden}.val-bar i{display:block;height:100%}@media(max-width:1180px){.val-grid{grid-template-columns:1fr 1fr}}.val-yardstick{border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin:10px 0;background:#fbfcfe}.vy-head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:6px}.vy-head b{font-size:12.8px}.val-yardstick tr.vy-model{background:#eef5ff}.val-yardstick tr.vy-base{background:#fff8e8}.val-yardstick tr.vy-depth{background:#fdf3f3}.vy-centred{margin-top:10px;border-top:1px dashed var(--line);padding-top:9px;font-size:12px}.vy-cmp{display:flex;gap:16px;flex-wrap:wrap;margin-top:5px;font-size:12.5px}.vy-cmp b{color:#14509e}.val-insample{display:flex;gap:10px;align-items:flex-start;margin:10px 0;padding:10px 12px;border:1px solid #f0c9a8;border-left:4px solid #e08a3c;border-radius:9px;background:#fff7ee}.val-insample b{font-size:12.5px;white-space:nowrap;color:#8a5316}.val-insample span{font-size:12px;line-height:1.55;color:#6b6459}.more-genes{margin:6px 0 4px;font-size:12px}.surv-block{margin:14px 0}.surv-head{display:flex;align-items:baseline;gap:10px;margin-bottom:7px}.surv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.surv-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fbfcfe}.surv-card.ours{border-color:#bcd6ff;background:#f2f7ff}.sc-top{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:#5b6472}.sc-flag{font-style:normal;font-size:10.5px;color:#14509e;background:#e3eefe;border-radius:9px;padding:1px 7px}.sc-num{display:flex;align-items:baseline;gap:7px;margin:5px 0 3px}.sc-num b{font-size:23px;line-height:1}.sc-num small{font-size:11px;color:#6b7280}.sc-ci{font-size:11.5px;color:#4b5563;line-height:1.5}.sc-signal{margin-top:6px;font-size:11px;color:#8a5316}.sc-signal.ok{color:#186a3b}.surv-h3{margin:18px 0 8px;font-size:13.5px}.surv-figs{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}.surv-figs figure{margin:0;flex:0 1 auto;max-width:440px}.surv-figs img{width:100%;max-width:440px;border:1px solid var(--line);border-radius:9px;background:#fff}.recovery-chip{display:inline-block;margin-right:14px}.panel-genes{display:flex;flex-direction:column;gap:6px;margin-top:6px}.pg-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pg-label{min-width:74px;font-size:11.5px;color:#5b6472}.surv-limits{margin:6px 0 0 18px;font-size:12px;color:#4b5563;line-height:1.7}.upload-mode.compliance{background:#fbfaf6;border-color:#e6ded0}.compliance-note{border:1px solid #eadfc9;background:#fffaf0;border-radius:10px;padding:10px 12px;margin:8px 0}.compliance-note b{font-size:12.5px;color:#8a5316}.compliance-note p{margin:6px 0 0;font-size:12px;line-height:1.7;color:#5b5347}button.ghost.inline{display:inline-block;margin:0 4px;padding:2px 9px;font-size:12px;vertical-align:baseline}.surv-note{border:1px solid var(--line);border-radius:9px;background:#fcfcfa;padding:10px 12px;margin:6px 0 4px}.surv-note p{margin:6px 0;font-size:12.5px;line-height:1.8;color:#3f3a33}.surv-note b{color:#1f1b16}.gallery-hero{grid-column:span 3;margin:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.gallery-hero img{width:100%;display:block}.gallery-hero figcaption{font-size:11.5px;color:#5b6472;padding:9px 12px;line-height:1.6;border-top:1px solid var(--line)}@media(max-width:1200px){.gallery-hero{grid-column:1 / -1}}.dual-state{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 6px}.ds-col{flex:1 1 320px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.ds-col b{font-size:12.5px}.ds-col ul{margin:6px 0 0;padding-left:18px}.ds-col li{font-size:12px;line-height:1.75;color:#4a4a45}.ds-can{border-left:3px solid #2f9e44}.ds-cannot{border-left:3px solid #e8590c}.notify-box{border:1px dashed #d8cfc0;border-radius:10px;padding:10px 12px;background:#fffdf7;margin:8px 0 4px}.notify-row{display:flex;gap:8px;margin:8px 0 4px;flex-wrap:wrap}.notify-row input{flex:1 1 240px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px}.license-line{margin:14px 0 2px;font-size:11px;line-height:1.7;color:#8b93a3}.auth-card{max-width:460px;margin:40px auto 0}.auth-card h2{font-size:24px;margin:0 0 6px}.auth-tabs{display:flex;gap:6px;margin:14px 0 18px}.auth-tabs button{flex:1;background:#f6f7f9}.auth-tabs button.on{background:#eaf2fc;border-color:#a9c8ee;color:#17457f;font-weight:600}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#475569}.auth-form input{border:1px solid #dfe7ef;border-radius:10px;padding:10px 12px;font-size:14px;background:#fff;color:var(--fg)}.auth-form input:focus{border-color:#2468bc;box-shadow:0 0 0 3px #2468bc1f;outline:none}.auth-actions{display:flex;gap:10px;margin-top:2px}.auth-error,.auth-ok{border-radius:10px;padding:8px 12px;font-size:13px;margin:0}.auth-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.auth-ok{color:#0f5132;background:#eafaf1;border:1px solid #bbe5cd}.auth-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0 18px}.auth-facts>div{background:#fbfdff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.auth-facts dt{font-size:11.5px;color:var(--muted)}.auth-facts dd{margin:4px 0 0;font-size:14px}.region-stack{display:grid;gap:18px}.region-stack>.card{width:100%}.lab{background:#0e1116;border:1px solid #232a33;border-radius:14px;overflow:clip;color:#c9d1d9;margin-top:12px}.lab .lab-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;background:#11161d;border-bottom:1px solid #232a33;flex-wrap:wrap}.lab .lab-top-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lab .lab-top-left b{color:#e6edf3;font-size:14px}.lab .lab-chip{font-size:11.5px;color:#8b949e;border:1px solid #2b333d;border-radius:6px;padding:3px 8px;background:#161b22;font-variant-numeric:tabular-nums}.lab .lab-hint{font-size:11.5px;color:#6e7681}.lab .lab-body{display:grid;grid-template-columns:132px minmax(0,1fr)}.lab .lab-rail{display:flex;flex-direction:column;gap:4px;padding:12px 10px;background:#11161d;border-right:1px solid #232a33}.lab .lab-rail-btn{text-align:left;background:transparent;border:1px solid transparent;color:#8b949e;font-size:12.5px;padding:9px 10px;border-radius:8px}.lab .lab-rail-btn:hover{background:#161b22;color:#e6edf3;border-color:#2b333d}.lab .lab-main{padding:16px;background:#0e1116;min-width:0}.lab .workspace-breadcrumb,.lab .workspace-breadcrumb a{color:#6e7681;font-size:12px}.lab .ws-head h2{color:#e6edf3;font-size:19px;margin:6px 0}.lab .hint{color:#8b949e}.lab .card{background:#161b22;border:1px solid #232a33;box-shadow:none;border-radius:12px}.lab .card h4,.lab .row-head b{color:#e6edf3}.lab .val-table th{background:#1c232c;color:#8b949e;border-color:#232a33}.lab .val-table td{color:#c9d1d9;border-color:#21262d}.lab .badge{background:#1c232c;color:#8b949e}.lab .field>span,.lab label>span{color:#8b949e}.lab .lab-main input,.lab .lab-main textarea,.lab .lab-main select{background:#0d1117;border:1px solid #2b333d;color:#c9d1d9}.lab .lab-main canvas{border-color:#232a33!important;background:#fff}.lab .error{background:#2d1417;border-color:#5c1f24;color:#ff9a9a}.lab .note-details{background:#12181f;border-color:#232a33}.lab .note-details summary{color:#8b949e}.lab .actions button{background:#1c232c;border-color:#2b333d;color:#c9d1d9}.lab .actions button.primary,.lab .pick-row button.primary{background:#1f6feb;border-color:#1f6feb;color:#fff}@media(max-width:900px){.lab .lab-body{grid-template-columns:1fr}.lab .lab-rail{flex-direction:row;overflow-x:auto}}.lab .lab-main{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:16px;align-items:start}.lab .region-stack{display:contents}.lab .lab-main>.workspace-breadcrumb,.lab .lab-main>.ws-head,.lab .lab-main>.error,.lab .lab-main>.hint{grid-column:1 / -1}.lab #sec-1,.lab #sec-3,.lab #sec-5,.lab #sec-6{grid-column:1}.lab #sec-2,.lab #sec-4{grid-column:2}.lab #sec-2{grid-row:2 / span 3}.lab #sec-4{grid-row:5 / span 3}@media(max-width:1100px){.lab .lab-main{grid-template-columns:1fr}.lab #sec-1,.lab #sec-2,.lab #sec-3,.lab #sec-4,.lab #sec-5,.lab #sec-6{grid-column:1;grid-row:auto}}@media(min-width:1101px){.lab .lab-main[data-active] #sec-1,.lab .lab-main[data-active] #sec-3,.lab .lab-main[data-active] #sec-5,.lab .lab-main[data-active] #sec-6{position:sticky;top:12px;align-self:start;max-height:calc(100vh - 24px);overflow-y:auto}}.lab .lab-main[data-active] .card{display:none;grid-column:1 / -1}.lab .lab-main[data-active=sec-1] #sec-1,.lab .lab-main[data-active=sec-2] #sec-2,.lab .lab-main[data-active=sec-3] #sec-3,.lab .lab-main[data-active=sec-4] #sec-4,.lab .lab-main[data-active=sec-5] #sec-5,.lab .lab-main[data-active=sec-6] #sec-6{display:block}.lab .lab-rail-btn.on{background:#1f6feb;border-color:#1f6feb;color:#fff}.lab .lab-rail-btn.on:hover{background:#1f6feb}.lab .lab-main[data-active=sec-1] #sec-1{display:block;grid-column:1}.lab .lab-main[data-active=sec-1] #sec-2{display:block;grid-column:2}.lab .lab-main[data-active=sec-1] .lab-main,.lab .lab-main[data-active=sec-1]{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}@media(max-width:1100px){.lab .lab-main[data-active=sec-1] #sec-1,.lab .lab-main[data-active=sec-1] #sec-2{grid-column:1}}.lab .lab-body{grid-template-columns:108px minmax(0,1fr)}.lab .lab-main{padding:12px}.lab .lab-main[data-active=sec-1]{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)}.lab .lab-rail{padding:10px 8px}.lab .lab-rail-btn{font-size:12px;padding:8px}.lab .lab-main[data-active=sec-1] #sec-1 canvas{min-height:460px}.lab #sec-1,.lab #sec-2,.lab #sec-3,.lab #sec-4,.lab #sec-5,.lab #sec-6{grid-row:auto!important;grid-column:1 / -1}.lab .lab-main[data-active=sec-1]{grid-template-columns:minmax(0,2.1fr) minmax(0,1fr)}.lab .lab-main[data-active=sec-1] #sec-1{display:block;grid-column:1 / 2;grid-row:auto}.lab .lab-main[data-active=sec-1] #sec-2{display:block;grid-column:2 / 3;grid-row:auto}@media(max-width:1100px){.lab .lab-main[data-active=sec-1]{grid-template-columns:1fr}.lab .lab-main[data-active=sec-1] #sec-1,.lab .lab-main[data-active=sec-1] #sec-2{grid-column:1 / -1}}.lab .lab-main>.lab{border:0;border-radius:0;background:transparent;margin:0;overflow:visible!important}.lab .lab-main>.lab>.lab-top,.lab .lab-main>.lab>.lab-body>.lab-rail{display:none}.lab .lab-main>.lab>.lab-body{grid-template-columns:minmax(0,1fr)}.lab .lab-main>.lab>.lab-body>.lab-main{padding:0;background:transparent}.lab .lab-main[data-active]>.lab{display:block}.lab.tool-shell{height:calc(100vh - 132px);min-height:620px;max-height:1180px;display:flex;flex-direction:column}.lab.tool-shell>.lab-body{flex:1 1 auto;min-height:0}.lab.tool-shell>.lab-body>.lab-main{overflow:auto;height:100%}.lab.tool-shell>.lab-body>.lab-rail{overflow:auto}.lab .lab-main>.lab{height:100%;display:flex;flex-direction:column}.lab .lab-main>.lab>.lab-body{flex:1 1 auto;min-height:0}.lab .lab-main>.lab>.lab-body>.lab-main{overflow:visible;height:auto}.lab .lab-main[data-active]{grid-template-columns:minmax(0,2.1fr) minmax(0,1fr)!important}.lab .lab-main[data-active] #sec-1{display:block!important;grid-column:1 / 2!important;grid-row:auto!important}.lab .lab-main[data-active=sec-1] #sec-2,.lab .lab-main[data-active=sec-3] #sec-3,.lab .lab-main[data-active=sec-4] #sec-4,.lab .lab-main[data-active=sec-5] #sec-5,.lab .lab-main[data-active=sec-6] #sec-6{display:block!important;grid-column:2 / 3!important;grid-row:auto!important}@media(max-width:1100px){.lab .lab-main[data-active]{grid-template-columns:1fr!important}.lab .lab-main[data-active] #sec-1,.lab .lab-main[data-active=sec-1] #sec-2,.lab .lab-main[data-active=sec-3] #sec-3,.lab .lab-main[data-active=sec-4] #sec-4,.lab .lab-main[data-active=sec-5] #sec-5,.lab .lab-main[data-active=sec-6] #sec-6{grid-column:1 / -1!important}}.lab .lab-main[data-active]{align-items:stretch}.lab .lab-main[data-active]>.lab,.lab .lab-main[data-active]>.lab>.lab-body{height:100%}.lab .lab-main[data-active]>.lab>.lab-body>.lab-main{height:100%}.lab .lab-main[data-active] #sec-1,.lab .lab-main[data-active=sec-1] #sec-2,.lab .lab-main[data-active=sec-3] #sec-3,.lab .lab-main[data-active=sec-4] #sec-4,.lab .lab-main[data-active=sec-5] #sec-5,.lab .lab-main[data-active=sec-6] #sec-6{height:100%;display:flex;flex-direction:column;padding:18px 20px}.lab #sec-1 .row-head{margin-bottom:10px}.lab #sec-1 canvas{width:100%}.lab #sec-1 .pick-row,.lab #sec-1 .hint{margin-top:auto}.lab .lab-main[data-active=sec-1] #sec-2,.lab .lab-main[data-active=sec-3] #sec-3,.lab .lab-main[data-active=sec-4] #sec-4,.lab .lab-main[data-active=sec-5] #sec-5,.lab .lab-main[data-active=sec-6] #sec-6{height:100%;overflow:auto}.lab .card>*:last-child{margin-bottom:0}.lab.tool-shell{width:100%;max-width:none}.lab .lab-main,.lab .lab-main>.lab,.lab .lab-main>.lab>.lab-body,.lab .lab-main>.lab>.lab-body>.lab-main{width:100%;max-width:none}.lab .lab-main[data-active]{width:100%;max-width:none}.lab .lab-main[data-active] .card,.lab .lab-main[data-active] .region-stack{max-width:none;width:100%}.lab .lab-main[data-active]>.lab>.lab-body>.lab-main{padding-right:0}.lab .lab-main[data-active]>.lab{grid-column:1 / -1!important;width:100%}.app.route-lab{max-width:none;padding:0 26px 26px}.app.route-lab .site-head{margin:0 -26px 20px;padding:0 26px}.app.route-lab.tray-open{padding-bottom:26px}.lab .ws-head{margin-bottom:10px}.lab .ws-head-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.lab .ws-head-row h2{margin:0 0 4px}.lab .build-tag{font-size:11px;opacity:.45;white-space:nowrap}.lab .ws-head .hint{margin:0}.lab #sec-1 .pick-row{margin-top:0;flex-wrap:wrap;align-items:center;gap:8px}.lab #sec-1 .pick-row input{flex:1 1 180px;min-width:120px}.lab #sec-1 .pick-row select{flex:0 0 150px}.lab #sec-1 .vertex-count{font-size:12px;opacity:.6}.lab #sec-1 canvas{min-height:240px}.lab #sec-1 .hint{margin-top:10px;font-size:12px}.lab .ws-head .hint{display:block;margin:4px 0 0}.lab #sec-3 textarea,.lab #sec-5 textarea{max-width:980px}.lab #sec-3 .hint,.lab #sec-4 .hint,.lab #sec-5 .hint,.lab #sec-6 .hint{max-width:1100px}.lab #sec-1 .pick-row select.gene-pick{flex:0 0 170px}.lab #sec-1 .row-head{margin-bottom:8px}.lab #sec-1 .hint{margin:8px 0 0}.lab .lab-main[data-active=sec-7] #sec-1,.lab .lab-main[data-active=sec-8] #sec-1{display:none!important}.lab .lab-main[data-active=sec-7] #sec-7,.lab .lab-main[data-active=sec-8] #sec-8{display:block!important;grid-column:1 / -1!important;grid-row:auto!important;height:100%;overflow:auto}.lab #sec-7 .pick-row{flex-wrap:wrap;gap:10px;align-items:flex-end}.lab #sec-7 .field{min-width:150px}.lab #sec-7 .val-table td,.lab #sec-8 .val-table td{font-variant-numeric:tabular-nums}.lab .enr-bar{display:inline-block;width:120px;height:10px;background:#1b2430;border-radius:5px;overflow:hidden;vertical-align:middle}.lab .enr-bar i{display:block;height:100%;background:linear-gradient(90deg,#1d4ed8,#60a5fa)}.lab .data-current{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;border:1px solid #232a33;border-radius:10px;background:#0f141a}.lab .data-current .actions{margin:0}.lab .case-library{background:transparent}.lab .case-library .page-heading{display:none}.lab .case-library .library-toolbar{color:#8b98a8;border-color:#232a33}.lab .case-library .library-filters button{background:#151a21;border-color:#232a33;color:#c9d1d9}.lab .case-library .library-filters button.selected{background:#1f6feb;border-color:#1f6feb;color:#fff}.lab .specimen-library{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.lab .specimen-case{background:#151a21;border-color:#232a33}.lab .specimen-case h3{color:#e6edf3;font-size:14px}.lab .specimen-case .case-numbers{color:#8b98a8}.lab .specimen-case .case-numbers b{color:#e6edf3}.lab .specimen-case .case-open{color:#8b98a8;border-color:#232a33}.lab .specimen-case .case-open b{color:#60a5fa}.lab .case-library .cohort-entry{background:#0f141a;border-color:#232a33;color:#c9d1d9}.lab .case-library .cohort-entry h3{color:#e6edf3}.app.route-case,.app.route-job{max-width:none;padding:0 26px 26px}.app.route-case .site-head,.app.route-job .site-head{margin:0 -26px 20px;padding:0 26px}.app.route-case .card,.app.route-job .card{background:#0e1116;border:1px solid #232a33;border-radius:14px;color:#c9d1d9;padding:20px 22px;margin-bottom:14px}.app.route-case .card h1,.app.route-case .card h2,.app.route-case .card h3,.app.route-case .card h4,.app.route-job .card h1,.app.route-job .card h2,.app.route-job .card h3,.app.route-job .card h4,.app.route-case .card b,.app.route-case .card strong,.app.route-job .card b,.app.route-job .card strong{color:#e6edf3}.app.route-case .card .hint,.app.route-job .card .hint{color:#8b98a8}.app.route-case .card a,.app.route-job .card a{color:#60a5fa}.app.route-case .card table,.app.route-job .card table{color:#c9d1d9;background:transparent}.app.route-case .card th,.app.route-job .card th{background:#151a21;color:#8b98a8;border-color:#232a33}.app.route-case .card td,.app.route-job .card td{border-color:#1d242e}.app.route-case .card input,.app.route-case .card select,.app.route-case .card textarea,.app.route-job .card input,.app.route-job .card select,.app.route-job .card textarea{background:#0d1117;color:#c9d1d9;border-color:#232a33}.app.route-case .card button:not(.primary),.app.route-job .card button:not(.primary){background:#151a21;color:#c9d1d9;border-color:#232a33}.app.route-case .card button:not(.primary):hover,.app.route-job .card button:not(.primary):hover{background:#1b222c;border-color:#2d3644}.app.route-case .card .badge,.app.route-job .card .badge{background:#151a21;color:#8b98a8;border-color:#232a33}.app.route-case .card .workspace,.app.route-job .card .workspace{background:transparent;border-color:#232a33}.app.route-case .card .compliance-note,.app.route-job .card .compliance-note{background:#151a21;border-color:#232a33;color:#c9d1d9}.app.route-case .card .empty-state,.app.route-job .card .empty-state{color:#8b98a8}.app.route-case,.app.route-job{--fg:#c9d1d9;--muted:#8b98a8;--muted-2:#7d8798;--line:#232a33;--line-strong:#2d3644;--surface:#0e1116;--bg:#0e1116;--brand:#2f6fd0;--brand-ink:#3b82f6;--brand-soft:#152033;background:#0e1116;border:1px solid #232a33;border-radius:14px;padding:20px 22px 26px;margin-top:6px;color:#c9d1d9}.app.route-case .site-head,.app.route-job .site-head{background:transparent;border-color:#232a33;margin:0 0 18px;padding:0}.app.route-case .workspace,.app.route-job .workspace{background:transparent;border:0;padding:0;margin:0}.app.route-case h1,.app.route-case h2,.app.route-case h3,.app.route-case h4,.app.route-job h1,.app.route-job h2,.app-job h3{color:#e6edf3}.app.route-case .hint,.app.route-case p,.app.route-case td,.app.route-case th,.app.route-case label,.app.route-case span,.app.route-job .hint,.app.route-job p{color:#c9d1d9}.app.route-case figure,.app.route-case .card,.app.route-case .workspace>section,.app.route-job figure,.app.route-job .card{background:#0f141a;border-color:#232a33}.app.route-case table,.app.route-job table{background:transparent;color:#c9d1d9}.app.route-case th,.app.route-job th{background:#151a21;color:#8b98a8;border-color:#232a33}.app.route-case td,.app.route-job td{border-color:#1d242e}.app.route-case input,.app.route-case select,.app.route-case textarea,.app.route-job input,.app.route-job select,.app.route-job textarea{background:#0d1117;color:#c9d1d9;border-color:#232a33}.lab .mode-switch{position:relative}.lab .mode-btn{cursor:pointer;display:inline-flex;align-items:center;gap:6px}.lab .mode-btn .caret{opacity:.6;font-size:10px}.lab .mode-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:430px;background:#151a21;border:1px solid #2d3644;border-radius:10px;padding:6px;box-shadow:0 12px 28px #00000073}.lab .mode-menu button{display:block;width:100%;text-align:left;padding:10px 12px;background:transparent;border:0;border-radius:8px;color:#c9d1d9}.lab .mode-menu button:hover:not(:disabled){background:#1b222c}.lab .mode-menu button>b{display:block;color:#e6edf3;font-size:13px;margin-bottom:3px}.lab .mode-menu button>span{color:#8b98a8;font-size:11.5px;line-height:1.5}.lab .lab-main[data-active=sec-1] #sec-1 canvas{width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100vh - 470px);min-height:0!important;align-self:center}.lab .ws-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.lab .ws-tabs{display:flex;gap:6px;margin:14px 0 10px;border-bottom:1px solid #232a33}.lab .ws-tab{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:#8b98a8;padding:8px 14px;cursor:pointer}.lab .ws-tab:hover{color:#c9d1d9;background:transparent}.lab .ws-tab.on{color:#60a5fa;border-bottom-color:#60a5fa;font-weight:600}.lab .ws-figure{margin:0}.lab .ws-figure img{max-height:calc(100vh - 400px);width:auto;max-width:100%;margin:0 auto;display:block;border:1px solid #232a33;border-radius:10px;background:#fff}.lab .ws-figure figcaption{margin-top:6px;font-size:11.5px}.lab a.btn{display:inline-flex;align-items:center;min-height:36px;padding:8px 15px;border:1px solid #232a33;border-radius:5px;background:#151a21;color:#c9d1d9;font-size:12px;text-decoration:none}.lab a.btn:hover{background:#1b222c}.lab .gene-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:132px;overflow:auto;padding:8px;margin:4px 0 10px;background:#0f141a;border:1px solid #232a33;border-radius:10px}.lab .gene-chip{min-height:0;padding:3px 9px;font-size:11.5px;background:#151a21;border:1px solid #232a33;border-radius:999px;color:#c9d1d9;cursor:pointer}.lab .gene-chip:hover{background:#1b222c;border-color:#2d3644}.lab .gene-chip.on{background:#1f6feb;border-color:#1f6feb;color:#fff}.lab .gene-windows{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.lab .gene-window{margin:0;background:#0f141a;border:1px solid #232a33;border-radius:10px;overflow:hidden}.lab .gene-window-head{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid #232a33;color:#e6edf3;font-size:12px}.lab .gene-window-head button{min-height:0;padding:0 6px;background:transparent;border:0;color:#8b98a8;cursor:pointer}.lab .gene-window-head a{color:#8b98a8;text-decoration:none;margin-right:8px}.lab .gene-window img{width:100%;display:block;background:#fff}.lab .ws-figure img{max-height:520px}.lab .gene-window img{max-height:240px;width:auto;max-width:100%;margin:0 auto}.lab .pair-imgs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px}.lab .marked-panel{position:fixed;right:22px;bottom:22px;z-index:70;width:300px;background:#151a21;border:1px solid #2d3644;border-radius:12px;padding:10px 12px;box-shadow:0 14px 34px #000000a0}.lab .marked-head{display:flex;justify-content:space-between;align-items:center;color:#e6edf3;font-size:12.5px}.lab .marked-head button{min-height:0;padding:0 6px;background:transparent;border:0;color:#8b98a8;cursor:pointer}.lab .marked-list{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;max-height:96px;overflow:auto}.lab .marked-item{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;font-size:11.5px;background:#0f141a;border:1px solid #232a33;border-radius:999px;color:#c9d1d9}.lab .marked-item button{min-height:0;padding:0 2px;background:transparent;border:0;color:#8b98a8;cursor:pointer}.lab .marked-actions{display:flex;gap:8px}.lab .lab-main[data-active=page]{grid-template-columns:minmax(0,1fr)!important}.lab .lab-main[data-active=page] #sec-1{grid-column:1 / -1!important}.lab .lab-main[data-active=page] #sec-1 .val-table{width:100%}.lab .lab-main[data-active=page] #sec-1 .val-table td.hint{white-space:normal}.app.route-case .lab-main[data-active=page]{grid-template-columns:minmax(0,1fr)!important}.app.route-case .lab-main[data-active=page]>.workspace{background:transparent!important;border:0!important;padding:0!important;margin:0!important;max-width:none!important;display:block!important}.app.route-case .lab .workspace-breadcrumb{margin:0 0 10px}.app.route-case .lab .workspace-breadcrumb a{color:#60a5fa}.app.route-case .lab .ws-summary-strip{background:#0f141a;border-color:#232a33}.app.route-case .lab .ws-summary-strip>div{border-left-color:#1d242e}.app.route-case .lab .ws-summary-strip span{color:#8b98a8}.app.route-case .lab .ws-summary-strip strong{color:#e6edf3}.app.route-case .lab .ws-summary-strip small{color:#8b98a8}.app.route-case .lab .ws-summary-strip .ws-organ,.app.route-case .lab .ws-summary-strip .ws-status{color:#7ee2b8}.app.route-case .lab .tabs{border-bottom-color:#232a33;margin:12px 0}.app.route-case .lab .tabs .tab{background:transparent;color:#8b98a8}.app.route-case .lab .tabs .tab:hover{color:#c9d1d9}.app.route-case .lab .tabs .tab.on{color:#60a5fa;border-bottom-color:#60a5fa}.app.route-case .lab .tab-body{display:block}.app.route-case .lab .ws-protocol{background:#12181f;border:1px solid #232a33;border-radius:10px;padding:8px 12px;margin:10px 0 4px}.app.route-case .lab .ws-protocol summary{color:#8b98a8;font-size:12.5px;cursor:pointer}.app.route-case .lab .ws-protocol p{margin:8px 0 0}.app.route-case .lab figcaption,.app.route-case .lab .caption{color:#8b98a8}.app.route-case .lab .hint,.app.route-case .lab p.hint{color:#8b98a8}.app.route-case .lab figure,.app.route-case .lab .card{background:#0f141a;border-color:#232a33}.app.route-case .lab img{background:#fff}.app.route-case .lab table{background:transparent;color:#c9d1d9}.app.route-case .lab th{background:#151a21;color:#8b98a8;border-color:#232a33}.app.route-case .lab td{border-color:#1d242e;color:#c9d1d9}.app.route-case .lab .mono{color:#c9d1d9}.app.route-case .mark-tray{background:#151a21;border:1px solid #2d3644;box-shadow:0 14px 34px #000000a0;color:#c9d1d9}.app.route-case .mark-tray .mt-head b{color:#e6edf3}.app.route-case .mark-tray .mt-hint,.app.route-case .mark-tray .hint{color:#8b98a8}.app.route-case .mark-tray button:not(.primary){background:#1c232c;border-color:#2b333d;color:#c9d1d9}.app.route-case .mark-tray button.primary{background:#1f6feb;border-color:#1f6feb;color:#fff}.app.route-case .mark-tray th,.app.route-case .mark-tray td{border-color:#1d242e}.app.route-case{min-height:calc(100vh - 12px)}.app.route-case .lab .viewer{background:#0f141a;border-color:#232a33}.app.route-case .lab .viewer img{background:#fff}.app.route-case .lab .viewer .thumb,.app.route-case .lab .thumb{background:#0f141a;border-color:#232a33;color:#8b98a8}.app.route-case .lab .plot-heading{background:#151a21;border-bottom-color:#232a33;color:#8b98a8}.app.route-case .lab .plot-heading span:first-child{color:#e6edf3}.app.route-case .lab .result-grid aside{background:#0f141a;border-color:#232a33}.app.route-case .lab .gene-note,.app.route-case .lab .panel-box,.app.route-case .lab .note-block,.app.route-case .lab .mod-note,.app.route-case .lab .val-yardstick,.app.route-case .lab .cmp-picker{background:#12181f;border-color:#232a33;color:#c9d1d9}.app.route-case .lab .ws-protocol .hint{background:transparent;border-color:#232a33;padding:8px 0 0}.app.route-case .lab .tabs{background:transparent;border:0;border-bottom:1px solid #232a33;border-radius:0;padding:0;width:auto}.app.route-case .lab .tabs .tab{color:#8b98a8;background:transparent;border-color:transparent}.app.route-case .lab .tabs .tab.on{color:#60a5fa;background:transparent;border-color:transparent;border-bottom:2px solid #60a5fa;box-shadow:none}.app.route-case .lab button.ghost,.app.route-case .lab button.ghost-lg,.app.route-case .lab .ws-actions button,.app.route-case .lab .ws-actions a.btn{background:#1c232c;border-color:#2b333d;color:#c9d1d9}.app.route-case .lab .ws-actions button:hover,.app.route-case .lab .ws-actions a.btn:hover{background:#222b36}.app.route-case .lab .mod-controls{background:#12181f;border-color:#232a33}.app.route-case .lab .enrich-box{background:#12181f;border-color:#2b333d}.app.route-case .lab button.mod-item{background:#151a21;border-color:#232a33;color:#c9d1d9}.app.route-case .lab button.mod-item b{color:#e6edf3}.app.route-case .lab button.mod-item em{color:#8b98a8}.app.route-case .lab button.mod-item.on{background:#152033;border-color:#2f6fd0}.app.route-case .lab button.mod-item.on:hover{background:#182a45}.app.route-case .lab .mod-grid button.mod-item:hover{background:#1b222c}.app.route-case .lab .mod-detail,.app.route-case .lab .anno-genes{background:#0f141a;border-color:#232a33}.app.route-case .lab .anno-members-cell{background:#12181f;border-bottom-color:#232a33!important}.app.route-case .lab .anno-gene{background:#1c232c;color:#c9d1d9}.app.route-case .lab button.anno-gene:hover{background:#222b36;border-color:#2f6fd0}.app.route-case .lab button.anno-gene.on{background:#1f6feb;color:#fff}.app.route-case .lab button.anno-gene.marked{background:#3a2f12;color:#ffd479}.app.route-case .lab .pm-module{background:#151a21;border-color:#232a33;color:#c9d1d9}.app.route-case .lab .pm-module b{color:#60a5fa}.app.route-case .lab .pm-compare,.app.route-case .lab .mm-head{color:#8b98a8}.app.route-case .lab .mt-matrix td.mt-cell.cross-module{border-right-color:#2d3644}.app.route-case .lab .mt-matrix th{border-right-color:#232a33}.app.route-case .lab .enrich-src{color:#8b98a8}.app.route-case .lab .mt-matrix td.diag{background:#171d25;color:#6e7681}.app.route-case .lab .mt-matrix td{color:#c9d1d9}.app.route-case .lab .viewer{min-height:260px;display:block}.app.route-case .lab .viewer img{width:auto!important;max-width:100%!important;max-height:min(500px,calc(100vh - 430px));margin:0 auto;padding:8px}.app.route-case .lab .cmp-grid img{width:auto;max-width:100%;max-height:300px;display:block;margin:0 auto}.app.route-case .lab .mod-detail img.mod-map{width:auto;max-width:100%;max-height:min(500px,calc(100vh - 430px));display:block;margin:0 auto}.app.route-case{--fg:#182438;--muted:#68758a;--muted-2:#8792a5;--line:#dce2eb;--line-strong:#bfc9d7;--brand:#234b86;--brand-ink:#173963;--brand-soft:#edf2fa;--surface:#fff;--bg:#f3f5f8;background:transparent;border:0;border-radius:0;padding:0 26px 26px;margin-top:0;min-height:0}.app.route-case .site-head{background:#fff;border-color:#dce2eb;margin:0 -26px 20px;padding:0 26px}.app.route-case .site-head h1{color:#1e3454}.app.route-case .site-head .sub{color:#7e899a}.lab .lab-main[data-active=upload]{grid-template-columns:minmax(0,1fr)!important}.lab .lab-main[data-active=upload] .card{display:block!important;grid-column:1 / -1}.lab .lab-main[data-active=upload]>.error,.lab .lab-main[data-active=upload]>.hint{grid-column:1 / -1}.lab .lab-main[data-active=upload] .card,.lab .lab-main[data-active=upload] .panel-box,.lab .lab-main[data-active=upload] .note-block,.lab .lab-main[data-active=upload] .val-yardstick,.lab .lab-main[data-active=upload] .mod-note,.lab .lab-main[data-active=upload] .upload-modes>*{background:#161b22;border-color:#232a33;color:#c9d1d9;box-shadow:none}.lab .lab-main[data-active=upload] h1,.lab .lab-main[data-active=upload] h2,.lab .lab-main[data-active=upload] h3,.lab .lab-main[data-active=upload] h4,.lab .lab-main[data-active=upload] b,.lab .lab-main[data-active=upload] strong{color:#e6edf3}.lab .lab-main[data-active=upload] p,.lab .lab-main[data-active=upload] span,.lab .lab-main[data-active=upload] td,.lab .lab-main[data-active=upload] th,.lab .lab-main[data-active=upload] label,.lab .lab-main[data-active=upload] li,.lab .lab-main[data-active=upload] em,.lab .lab-main[data-active=upload] summary{color:#c9d1d9}.lab .lab-main[data-active=upload] .hint{color:#8b98a8}.lab .lab-main[data-active=upload] .badge{background:#1c232c;color:#8b98a8;border-color:#2b333d}.lab .lab-main[data-active=upload] input,.lab .lab-main[data-active=upload] select,.lab .lab-main[data-active=upload] textarea{background:#0d1117;border:1px solid #2b333d;color:#c9d1d9}.lab .lab-main[data-active=upload] button:not(.primary){background:#1c232c;border-color:#2b333d;color:#c9d1d9}.lab .lab-main[data-active=upload] button:not(.primary):hover{background:#222b36}.lab .lab-main[data-active=upload] button.primary{background:#1f6feb;border-color:#1f6feb;color:#fff}.lab .lab-main[data-active=upload] a{color:#60a5fa}.lab .lab-main[data-active=upload] .progress{background:#1c232c}.lab .lab-main[data-active=upload] .progress .bar{background:#1f6feb}.lab .lab-main[data-active=upload] .compliance-note,.lab .lab-main[data-active=upload] .notify-box{background:#12181f;border-color:#2b333d;color:#c9d1d9}.lab .lab-main[data-active=upload] .compliance-note b,.lab .lab-main[data-active=upload] .notify-box b{color:#e6edf3}.lab .lab-main[data-active=upload] .compliance-note .hint,.lab .lab-main[data-active=upload] .notify-box .hint{color:#8b98a8}.auth-gate{max-width:580px;margin:76px auto 0;padding:30px 34px 24px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 14px 36px #24334b12;text-align:left}.auth-gate .gate-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#edf2fa;margin-bottom:16px}.auth-gate h2{font-size:22px;margin:0 0 8px;color:#182438;letter-spacing:.2px}.auth-gate>.hint{margin:0 0 20px;font-size:13px;line-height:1.85;color:#6b7280}.auth-gate .auth-actions{display:flex;gap:10px;margin:0}.auth-gate .auth-actions button{min-width:132px}.auth-gate .gate-note{margin:20px 0 0;padding-top:14px;border-top:1px solid #eef1f5;font-size:12px;line-height:1.7;color:#8994a6}.app:has(>.auth-gate){display:flex;flex-direction:column;min-height:calc(100vh - 20px)}.app:has(>.auth-gate)>.site-head{flex:0 0 auto}.app:has(>.auth-gate)>.auth-gate{margin:auto}.lab .cmp-body{background:#0f141a;border:1px solid #232a33;color:#c9d1d9}.lab canvas.scatter{background:#0f141a;border:1px solid #232a33}.lab .cmp-body table,.lab .cmp-body table.hist,.lab .cmp-body table.kv{background:transparent;color:#c9d1d9}.lab .cmp-body th{background:#151a21;color:#8b98a8;border-color:#232a33}.lab .cmp-body td{color:#c9d1d9;border-color:#1d242e}.lab .cmp-body table.hist th,.lab .cmp-body table.hist td{border-bottom-color:#1d242e}.lab .cmp-body td.pos{color:#ff9a9a}.lab .cmp-body td.neg{color:#7fb2ff}.lab .cmp-body .hint,.lab .cmp-body p.hint{color:#8b98a8}.lab .cmp-body .note-block{background:#12181f;border-color:#232a33;color:#c9d1d9}.lab .cmp-body .note-block.warn{background:#241f10;border-color:#4a3d16}.lab .cmp-body .note-block.warn,.lab .cmp-body .note-block.warn b{color:#f2cf96}.lab .cmp-grid figcaption{color:#8b98a8}.app.route-case .anno-tag,.app.route-job .anno-tag,.lab .anno-tag{background:#1b2a45;color:#cfe3ff;border:1px solid #2b4368}.app.route-case .anno-tag.go,.app.route-job .anno-tag.go,.lab .anno-tag.go{background:#122b1c;color:#9fe0b5;border-color:#1f5233}.app.route-case .anno-tag.reactome,.app.route-job .anno-tag.reactome,.lab .anno-tag.reactome{background:#33210f;color:#ffc79a;border-color:#6b431c}.app.route-case .enrich-multi,.app.route-job .enrich-multi,.lab .enrich-multi{background:#332a12;color:#ffd88a;border:1px solid #6b5a2a;font-weight:600}.app.route-case .anno-size,.app.route-job .anno-size,.lab .anno-size{color:#6cb0ff}:root{--fg:#182438;--muted:#68758a;--muted-2:#8792a5;--line:#dce2eb;--line-strong:#bfc9d7;--brand:#234b86;--brand-ink:#173963;--brand-soft:#edf2fa;--surface:#fff;--bg:#f3f5f8;--annotation:#795b87;--warn:#946325;--font:"Avenir Next","PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;--radius:8px;--radius-sm:5px;--shadow-sm:0 1px 3px #24334b08}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:var(--brand)}button,.btn{min-height:36px;border:1px solid var(--line);border-radius:5px;padding:8px 15px;background:#fff;color:var(--fg);font-size:12px;font-weight:500;line-height:1.5;box-shadow:none;transition:background-color .15s,border-color .15s}button:not(:disabled):hover,.btn:hover{background:#f5f7fb;border-color:#a8b8ce}button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.primary:not(:disabled):hover{background:var(--brand-ink);border-color:var(--brand-ink)}button:disabled{opacity:.48;cursor:not-allowed}button.ghost{min-height:28px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #7697c7;outline-offset:3px}::selection{background:#dce7f8}h1,h2,h3,h4{color:var(--fg);font-weight:600}.app{max-width:1480px;margin:0 auto;padding:0 48px 64px}.site-head{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 -48px 36px;padding:0 48px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:30;flex-wrap:nowrap}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}.brand-symbol{width:31px;height:31px;fill:#234b86}.brand-symbol rect:nth-child(2){fill:#b1bdd0}.brand-symbol rect:nth-child(3){fill:#b69cbe}.brand-symbol circle{fill:#795b87}.brand h1{margin:0;color:#1e3454;font-size:25px;letter-spacing:-1px;line-height:1.1;font-weight:650}.brand .sub{color:#7e899a;margin:5px 0 0;font-size:10px;letter-spacing:.04em}.topnav{display:flex;align-items:center;gap:27px;flex-wrap:nowrap}.topnav a{display:inline-flex;align-items:center;min-height:82px;padding:0 1px;text-decoration:none;border-radius:0;color:#657185;font-size:13px;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent}.topnav a:hover{color:#243f66;background:transparent}.topnav a.on{color:var(--brand);border-bottom-color:var(--brand);background:transparent;font-weight:600}.topnav .account-link{min-height:32px;padding:5px 15px;border:1px solid var(--line);border-radius:5px;margin-left:10px}.topnav .account-link.on{background:var(--brand-soft);border-color:#bacbe4}.topnav .back-to-library{display:none}.card,.workspace{border:1px solid var(--line);border-radius:8px;background:#fff;padding:28px;margin-bottom:24px;box-shadow:none}.card h2,.ws-head h2{font-size:24px;line-height:1.5;letter-spacing:-.5px;margin:0 0 10px}.card h3{font-size:16px}.row-head{gap:18px;flex-wrap:wrap;align-items:center;margin-bottom:22px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 28px}.page-heading h2{font-size:28px;letter-spacing:-.6px;margin:0 0 8px}.page-heading p,.page-description{font-size:13px;color:var(--muted);margin:0;line-height:1.8}.hint{color:var(--muted);font-size:12px;line-height:1.8}.badge{display:inline-flex;align-items:center;color:#64728a;background:#f0f3f8;border:1px solid #e4e9f1;border-radius:4px;padding:3px 8px;font-size:10px;line-height:1.5;font-weight:400}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.actions{gap:10px;margin-top:18px}input[type=text],input:not([type]),input[type=email],input[type=password],input[type=file],select,textarea{font-size:12px;color:var(--fg);border:1px solid #cdd5e1;border-radius:5px;min-height:37px;padding:8px 11px;background:#fff}input::placeholder{color:#919bad}input:focus,select:focus,textarea:focus{border-color:#6688b6}.field{margin:16px 0}.field>span{margin-bottom:8px;font-weight:550;font-size:12px}.field small{font-size:10px;line-height:1.7}.metrics-table,.kv,table.hist{width:100%;font-variant-numeric:tabular-nums}.metrics-table{border-collapse:collapse}.metrics-table th,.metrics-table td{padding:13px 15px;border-bottom:1px solid #e6ebf2;font-size:12px;text-align:left}.metrics-table thead th{background:#f5f7fb;color:#6d7b90;font-size:11px;font-weight:550;white-space:nowrap}.metrics-table tbody tr:last-child td{border-bottom:0}.metrics-table tbody tr:hover td{background:#f7f9fc}.table-scroll{width:100%;overflow-x:auto}.kv th,.kv td{padding:10px 9px;font-size:11px;border-bottom:1px solid #edf0f5}.kv th{color:#77849a;font-weight:400}.panel-box,.gene-note,.note-block,.mod-note,.val-yardstick{border:1px solid #e1e7f0;background:#f7f9fc;border-radius:6px;padding:16px}.error,.auth-error{background:#fff3f3;color:#a23b3b;border-color:#f0d1d1}.note-details{border:1px solid var(--line);padding:12px 16px;background:#f8fafc;border-radius:5px;margin:16px 0 24px}.note-details summary{font-size:12px;cursor:pointer;color:#61728b}.route-home{background:#fff}body:has(.route-home){background:#fff}.research-home{padding-top:6px}.home-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:58px;align-items:center;padding:24px 0 42px}.product-category{font-size:12px;color:var(--annotation);margin:0 0 19px;font-weight:500}.home-intro h2{font-size:clamp(32px,3.3vw,46px);line-height:1.3;letter-spacing:-1.4px;font-weight:600;margin:0 0 22px}.home-description{font-size:14px;color:#63728a;line-height:1.95;max-width:35em;margin:0}.home-actions{display:flex;gap:10px;margin:26px 0 14px}.home-actions button{padding:11px 20px;font-size:13px}.home-availability{font-size:11px;color:#8a94a5;margin:0}.specimen-frame{margin:0;padding:0;overflow:hidden;border:1px solid #d9dfeb;border-radius:8px;background:#f5f6fa;box-shadow:0 10px 28px #243a5a09}.figure-toolbar{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f6f8fb;color:#4f607a;border-bottom:1px solid #e0e6ef;font-size:11px}.figure-source{font-size:10px;color:#8794a8}.specimen-frame img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover}.specimen-frame figcaption{display:grid;grid-template-columns:1fr 1fr;background:#fff;padding:12px 14px;border-top:1px solid var(--line);color:#65748d;font-size:10px}.specimen-frame figcaption span{display:flex;justify-content:center;align-items:center;gap:7px}.he-dot,.expression-dot{display:inline-block;height:6px;width:6px;border-radius:50%;background:#98749f}.expression-dot{background:#547ba8}.home-data-contract{display:grid;grid-template-columns:1fr 1fr 1.35fr 1fr;margin:0;padding:22px 0;border-top:1px solid #dce3ee;border-bottom:1px solid #dce3ee;gap:25px}.home-data-contract div{display:flex;flex-direction:column;gap:5px}.home-data-contract dt{font-size:10px;color:#8390a4}.home-data-contract dd{font-size:12px;color:#344865;margin:0}.home-section{padding:52px 0;border-bottom:1px solid #e5e9f0}.home-section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.home-section-head h2{font-size:25px;letter-spacing:-.6px;margin:0 0 8px;font-weight:600}.home-section-head p{margin:0;max-width:62em;font-size:12px;color:var(--muted);line-height:1.8}.text-button{background:none;border:0;color:var(--brand);font-size:12px;text-decoration:none;padding:7px 0;min-height:0;white-space:nowrap;cursor:pointer}.text-button:hover{text-decoration:underline;background:none}.analysis-preview-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}.method-selector{display:flex;flex-direction:column;gap:8px}button.method-option{padding:18px;text-align:left;border:1px solid transparent;background:transparent;border-radius:6px}.method-option b{display:block;color:#34455f;font-size:14px;font-weight:550;margin-bottom:7px}.method-option span{display:block;color:#7b879a;font-size:11px;line-height:1.9}button.method-option.selected{border-color:#d5dfee;background:#f3f6fb;box-shadow:inset 3px 0 #345d95}.method-detail{padding:16px 18px;font-size:10px;color:#8c96a6}.method-detail b{display:block;font-weight:500;color:#617189;font-size:11px;margin-top:4px}.analysis-result-figure{margin:0;border:1px solid #dce3ee;border-radius:6px;overflow:hidden;background:#fafbfd}.analysis-result-figure>img{width:100%;max-height:420px;object-fit:contain;display:block;padding:18px;background:#fff}.analysis-result-figure figcaption{font-size:10px;color:#8793a5;padding:10px 16px;border-top:1px solid #e7ecf3}.paired-layout{display:grid;grid-template-columns:.8fr 1.4fr;align-items:center;gap:56px}.paired-copy h3{font-size:18px;font-weight:550;margin:0 0 15px}.paired-copy p{font-size:12px;color:#6b7b92;line-height:1.95;margin:0 0 14px}.paired-copy dl{display:flex;gap:32px;margin:25px 0 0}.paired-copy dt{font-size:11px;font-weight:600;color:#495b77}.paired-copy dd{font-size:10px;margin:3px 0 0;color:#8591a5}.paired-images{display:grid;grid-template-columns:1fr 1fr;gap:16px}.paired-images figure{margin:0}.paired-images img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border:1px solid #e2e6ef;border-radius:4px;background:#f8f9fc}.paired-images figcaption{color:#65778e;font-size:10px;padding:10px 0}.figure-citation{color:#8a95a7;font-size:10px;margin:20px 0 0}.sampling-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.sampling-images figure{margin:0;border:1px solid #e3e7ef;border-radius:6px;overflow:hidden}.sampling-images img{width:100%;aspect-ratio:1.25;object-fit:cover;display:block}.sampling-images figcaption{padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px}.sampling-images b{font-size:12px;font-weight:550}.sampling-images span{color:#8793a5;font-size:10px}.methods-table{border:1px solid #e0e6ef}.methods-table tbody th{font-size:12px;font-weight:500;white-space:nowrap;width:18%}.methods-table td:nth-child(2){width:48%}.home-footer{display:flex;justify-content:space-between;padding:25px 0 0;margin:0;color:#8b97a8;font-size:10px}.case-library{margin-top:4px}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);margin:0 0 24px;padding-bottom:16px}.library-toolbar>span{font-size:11px;color:#8894a7}.library-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.library-filters button{border:1px solid transparent;color:#7a879b;background:transparent;min-height:32px;padding:5px 12px;font-size:12px}.library-filters button.selected{background:#e9eff8;color:#2c5189;border-color:#d2dff0}.library-filters span{margin-left:6px;font-size:10px;opacity:.7}.specimen-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}button.specimen-case{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden;padding:0;text-align:left;display:flex;flex-direction:column}button.specimen-case:hover{border-color:#a8bad4;background:#fff}.case-image{position:relative;width:100%;background:#edf0f6;border-bottom:1px solid #e1e6ef;padding:22px}.case-image img{display:block;width:100%;height:205px;object-fit:contain;mix-blend-mode:multiply}.case-tissue{position:absolute;top:14px;left:14px;font-size:10px;padding:3px 9px;color:#6c5a80;background:#ffffffed;border:1px solid #e5dfeb;border-radius:4px}.case-content{padding:20px 23px 0;width:100%}.case-content h3{font-size:15px;font-weight:550;margin:0 0 17px;line-height:1.6;color:#2c3d58}.case-numbers{display:flex;gap:28px;margin-bottom:18px;font-size:10px;color:#8591a5}.case-numbers b{font-size:17px;font-weight:550;color:#4d5d78;margin-right:4px;font-variant-numeric:tabular-nums}.case-open{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #edf0f5;padding:13px 0;font-size:10px;color:#8994a7}.case-open b{color:var(--brand);font-weight:500;font-size:11px}.cohort-entry{display:flex;align-items:center;gap:22px;padding:25px 28px;border:1px solid #dfe4ef;background:#fff;border-radius:8px;margin-top:28px}.cohort-symbol{width:54px;color:#795b87}.cohort-symbol svg{width:100%;display:block}.cohort-entry h3{font-size:17px;margin:0 0 5px;font-weight:550}.cohort-entry p{margin:0;font-size:11px;color:#7c899e}.cohort-entry button{margin-left:auto}.empty-state{padding:50px;text-align:center;color:var(--muted);font-size:13px}.workspace{padding:0;border:0;background:transparent}.workspace-breadcrumb{display:flex;gap:10px;align-items:center;margin:0 0 22px;color:#8994a6;font-size:11px}.workspace-breadcrumb a{color:#607593;text-decoration:none}.ws-head{gap:24px;align-items:flex-start}.ws-head>div:first-child{flex:1;min-width:0}.ws-head h2{font-size:24px;font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.ws-meta{font-size:10px;color:#8190a6;gap:7px 14px;margin-top:0}.ws-meta>span:last-child.mono{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-actions{display:flex;gap:8px;flex-wrap:wrap}.ws-actions .btn{color:#fff;background:var(--brand);border-color:var(--brand)}.ws-summary-strip{display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr;background:#fff;border:1px solid var(--line);border-radius:7px;margin:24px 0 12px;padding:20px 0}.ws-summary-strip>div{padding:0 24px;border-left:1px solid #e8edf4}.ws-summary-strip>div:first-child{border-left:0}.ws-summary-strip span{display:block;font-size:10px;color:#8592a7;margin-bottom:6px}.ws-summary-strip strong{display:block;font-size:23px;line-height:1.4;font-weight:550;letter-spacing:-.5px;color:#334b6f;font-variant-numeric:tabular-nums}.ws-summary-strip small{font-size:10px;font-weight:400;color:#8a97ab;letter-spacing:0;margin-left:3px}.ws-summary-strip .ws-organ,.ws-summary-strip .ws-status{font-size:13px;letter-spacing:0;padding-top:7px}.ws-status i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#538b7c;margin-right:8px;vertical-align:2px}.ws-protocol{color:#8b98ab;font-size:10px;margin:8px 0 18px}.ws-protocol summary{width:fit-content;cursor:pointer;padding:3px}.ws-protocol .hint{background:#fff;padding:12px 16px;border:1px solid var(--line);border-radius:5px}.tabs{display:flex;gap:0;flex-wrap:wrap;margin:0 0 22px;background:#e9edf4;border:1px solid #dfe5ef;border-radius:6px;padding:4px;width:fit-content}.tabs .tab{padding:8px 20px;border:1px solid transparent;border-radius:4px;color:#74839b;min-height:33px;font-size:12px;background:none}.tabs .tab.on{color:#284e83;background:#fff;border-color:#d5dfed;box-shadow:0 1px 2px #283d5e05;font-weight:550}.overview-grid{grid-template-columns:minmax(0,1fr) 300px;gap:22px}button.sheet-link{border:1px solid #dbe2ed;background:#fff;padding:18px;border-radius:6px}button.sheet-link img{display:block;border:0;border-radius:0}.sheet-hint{background:#344967c9;font-size:10px;padding:5px 10px;border-radius:4px}.overview-grid>div{border:1px solid #dce3ee;border-radius:6px;background:#fff;padding:20px}.overview-grid .kv th{width:82px;padding-left:0}.overview-grid .kv td{padding-right:0}.overview-grid .actions{display:grid;gap:8px;grid-template-columns:1fr}.result-grid{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:22px}.viewer{min-height:380px;background:#fff;border:1px solid #dce3ee;border-radius:6px;overflow:hidden}.plot-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 17px;border-bottom:1px solid #e7ecf3;background:#f9fafd;color:#8794a8;font-size:10px}.plot-heading span:first-child{font-size:13px;font-weight:600;color:#3a506f}.viewer img{display:block;border:0;border-radius:0;padding:16px}.viewer .thumb{min-height:300px;display:grid;place-items:center;border:0;background:#fff;color:#8c99ad;font-size:13px}.result-grid aside{padding:18px;border:1px solid #dce3ee;background:#fff;border-radius:6px}.control-panel-title{font-size:12px;margin:0 0 18px;padding-bottom:13px;border-bottom:1px solid #e8edf4;color:#3a4c68}.gene-list{gap:5px;max-height:270px;padding:4px 0}.gene-chip{padding:5px 8px;min-height:0;border-radius:3px;color:#63758f;border-color:#dfe6f0;background:#fafbfd;font-size:10px}.gene-chip.active{color:#fff;border-color:var(--brand);background:var(--brand)}.gp-btn{min-height:38px;border-color:#cdd8e7;border-radius:5px;font-size:12px}.gp-panel{border-radius:6px;box-shadow:0 10px 25px #1b365821}.gp-item.on{color:var(--brand);background:#edf2fa}.gene-note{margin-top:22px;background:#fff;padding:20px}.cmp-picker{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:16px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px}.cmp-grid{gap:16px}.cmp-grid figure{background:#fff;border:1px solid var(--line);padding:12px;border-radius:6px}.cmp-grid img{border:0}.cmp-body{gap:22px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:6px}.mod-note{background:#fff;padding:20px}.mod-grid{gap:22px}button.mod-item{border-radius:5px;padding:12px}button.mod-item.on{background:#edf3fc;border-color:#adc2df}.mod-detail{padding:18px;border:1px solid var(--line);border-radius:6px;background:#fff}.mod-detail img.mod-map{border:0;border-radius:0}.enrich-box{border-radius:6px;background:#fff}.mark-tray{border-radius:7px;background:#fff;border-color:#d4dfed;box-shadow:0 5px 22px #203b6012}.mark-tray.closed{padding:7px 12px;width:auto;min-width:260px}.validation-page,.survival-page{background:transparent;border:0;padding:0}.val-compare{border:1px solid var(--line);border-radius:5px;background:#fff;margin:20px 0}.val-row{cursor:pointer}.val-cards{display:grid;grid-template-columns:1fr;gap:18px;margin-top:24px}button.val-card{display:flex;flex-direction:row;align-items:center;gap:28px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:20px}.val-thumb{width:240px;max-width:30%;height:170px;object-fit:contain;border:1px solid #e5eaf2;border-radius:4px}.val-body{flex:1;min-width:0}button.val-card b{font-size:15px;font-weight:550}.val-meta{gap:8px 16px;color:#7f8da4;margin:10px 0;font-size:10px}.val-nums{gap:26px;margin:14px 0;padding:13px 0;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5}.val-nums b{font-size:19px!important;color:#365c90;font-weight:550;margin-left:5px;font-variant-numeric:tabular-nums}.val-summary{gap:0;background:#fff;border:1px solid var(--line);border-radius:6px;margin:24px 0;padding:18px 0}.val-summary>div{background:transparent;border:0;border-radius:0;border-left:1px solid #e8edf4;padding:0 20px}.val-summary>div:first-child{border-left:0}.val-summary b{font-size:24px;color:#355987;font-weight:550}.val-summary span{font-size:10px;color:#7c8aa0;margin-top:4px}.val-grid{gap:18px}.val-map{margin:0;background:#fff;border:1px solid var(--line);border-radius:5px;padding:14px}.val-map img{border:0}.val-map figcaption{margin-top:9px;font-size:11px}.val-insample{border-radius:6px}.val-picker{padding:18px;background:#fff;border:1px solid var(--line);border-radius:5px;margin:20px 0}.val-yardstick{background:#fff}.surv-cards{gap:18px;margin:20px 0 30px}.surv-card{background:#fff;padding:24px;border-radius:7px}.surv-card.ours{background:#f3f6fc;border-color:#b8c9e2}.surv-card .sc-num b{font-size:36px;color:#294e83;font-weight:550}.surv-h3{margin:32px 0 15px;font-size:17px}.surv-figs{display:grid;grid-template-columns:1fr 1fr;gap:22px}.surv-figs figure{max-width:none;background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px}.surv-figs img{max-width:none;border:0;border-radius:0}.surv-note{background:#fff;padding:20px;border-color:var(--line);border-radius:6px}.surv-note p{color:#64738a}.surv-note b{color:#344861}.steps{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.step{background:#e9edf4;border:1px solid transparent;border-radius:5px;padding:6px 13px;color:#8290a5}.step.active{background:#fff;border-color:#bacce5;color:#2f568c}.upload-shared,.upload-modes{gap:24px}.upload-mode{background:#fafbfd;border-color:#dce4ef;border-radius:6px;padding:22px}.um-head b{font-size:15px}.compliance-note{background:#f4f7fc;border:1px solid #dbe4f1;border-radius:6px;padding:16px 18px;color:#5a6f8e}.compliance-note>b{font-size:12px;color:#3d5a80}.compliance-note p{font-size:12px;line-height:1.8;margin:6px 0 0}.notify-box{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin:18px 0}.notify-box>b{font-size:12px;font-weight:550}.license-line{color:#8a96a9;font-size:10px;line-height:1.8}.gs-opt,.qc{border-radius:5px}.auth-card{max-width:470px;margin:60px auto;padding:34px;border-radius:9px;background:#fff;box-shadow:0 8px 30px #273b5a06}.auth-card h2{font-size:26px}.auth-tabs{padding:4px;border:1px solid #e1e7f0;border-radius:6px;background:#f2f5f9;gap:3px;margin:22px 0}.auth-tabs button{border-color:transparent;color:#7d8ba2;background:transparent}.auth-tabs button.on{background:#fff;border-color:#d5dfec;color:#2e538a}.auth-form label{font-size:12px;color:#5d708e}.auth-form input{border-radius:5px;min-height:41px;font-size:13px}.auth-actions{margin-top:10px}.auth-actions .primary{flex:1}.auth-error,.auth-ok{font-size:12px;border-radius:5px}.auth-facts>div{border-radius:5px}.modal{background:#192c465c}.modal-body{border-radius:8px;box-shadow:0 20px 70px #102a4730}.lb-bar{background:#fff}.lb-body img{border-radius:0}.overview-grid>*,.result-grid>*,.cmp-grid>*,.cmp-picker>*,.val-grid>*,.mod-grid>*,.two-col>*,.upload-modes>*{min-width:0}@media(min-width:1600px){.home-intro h2{font-size:48px}}@media(max-width:1100px){.app{padding:0 28px 55px}.site-head{padding:0 28px;margin:0 -28px 30px}.topnav{gap:22px}.home-intro{gap:30px}.home-intro h2{font-size:35px}.analysis-preview-layout{grid-template-columns:260px minmax(0,1fr);gap:20px}.result-grid{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.paired-layout{gap:30px}.val-grid{grid-template-columns:1fr 1fr}.ws-summary-strip>div{padding:0 18px}}@media(max-width:850px){.site-head{flex-wrap:wrap;gap:0;padding-top:16px}.brand{margin-bottom:12px}.topnav{width:100%;justify-content:space-between;gap:18px}.topnav a{min-height:45px;font-size:12px}.topnav .account-link{min-height:28px;margin-left:auto;padding:4px 12px}.home-intro{grid-template-columns:1fr;padding-top:6px;gap:30px}.home-intro h2{font-size:38px}.home-description{max-width:46em}.specimen-frame{max-width:none}.specimen-frame img{aspect-ratio:1.85}.home-data-contract{grid-template-columns:1fr 1fr;gap:20px}.home-section{padding:38px 0}.home-section-head{align-items:flex-start}.paired-layout{grid-template-columns:1fr;gap:24px}.analysis-preview-layout{grid-template-columns:1fr}.method-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}button.method-option{padding:13px}.method-detail{grid-column:1/-1;padding:6px}.overview-grid,.result-grid,.two-col,.cmp-body,.mod-grid{grid-template-columns:1fr}.result-grid aside{width:100%}.gene-list{max-height:180px}.overview-grid .actions{grid-template-columns:1fr 1fr}.ws-summary-strip{grid-template-columns:1fr 1fr;gap:20px 0}.ws-summary-strip>div:nth-child(3){border-left:0}.val-summary{grid-template-columns:repeat(3,1fr);gap:18px 0}.val-summary>div:nth-child(4){border-left:0}.val-thumb{width:180px;height:145px}button.val-card{gap:18px}.sampling-images{gap:12px}.sampling-images figcaption{flex-direction:column;align-items:flex-start;padding:10px}.cohort-entry{gap:15px;padding:22px}.cohort-symbol{width:40px}.metrics-table{font-size:11px}.surv-figs{grid-template-columns:1fr}}@media(max-width:580px){.app{padding:0 18px 42px}.site-head{margin:0 -18px 24px;padding:16px 18px 0}.brand-symbol{width:25px;height:25px}.brand h1{font-size:23px}.topnav{gap:15px;overflow-x:auto}.topnav a{font-size:11px;flex-shrink:0}.topnav .account-link{padding:4px 10px}.card{padding:20px}.validation-page,.survival-page{padding:0}.home-intro h2{font-size:32px;letter-spacing:-1px}.home-description{font-size:13px}.home-section-head{flex-wrap:wrap;gap:12px}.home-section-head h2{font-size:23px}.home-data-contract dd{font-size:11px}.home-data-contract{gap:20px 14px}.method-selector{display:flex}button.method-option{padding:14px}.method-option span{font-size:12px}.analysis-result-figure>img{padding:8px}.paired-images{gap:12px}.sampling-images{grid-template-columns:1fr 1fr}.home-footer{gap:20px;font-size:9px}.page-heading{flex-wrap:wrap;margin-bottom:22px;gap:15px}.page-heading h2{font-size:25px}.library-toolbar{gap:14px}.library-toolbar>span{display:none}.specimen-library{grid-template-columns:1fr;gap:20px}.case-image img{height:210px}.cohort-entry{flex-wrap:wrap}.cohort-entry button{margin-left:0}.cohort-symbol{display:none}.ws-head h2{font-size:21px}.ws-actions{width:100%}.ws-summary-strip strong{font-size:21px}.ws-summary-strip>div{padding:0 15px}.tabs{width:100%}.tabs .tab{flex:1;padding:8px;font-size:11px}.viewer{min-height:260px}.viewer img{padding:6px}.cmp-picker,.cmp-grid{grid-template-columns:1fr}button.val-card{flex-direction:column;align-items:stretch;padding:17px}.val-thumb{max-width:none;width:100%;height:180px}.val-nums{gap:18px}.val-meta{font-size:10px}.val-summary{grid-template-columns:1fr 1fr}.val-summary>div{border-left:0;padding:0 15px}.val-grid{grid-template-columns:1fr}.val-picker{padding:14px}.metrics-table{display:block;overflow-x:auto;max-width:100%}.methods-table{display:table;min-width:540px}.auth-card{padding:25px;margin:30px auto}.auth-facts{grid-template-columns:1fr}.notify-row input{min-width:0}.modal{padding:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button,.btn,.topnav a,.progress .bar{transition:none}}.mod-controls{padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:6px;gap:10px 14px;margin:16px 0}.mod-controls select{width:auto;min-width:150px;max-width:100%;border-radius:5px;padding:7px 10px}.mod-controls .hint{flex-basis:100%;margin:0}@media(max-width:580px){.mod-controls{align-items:flex-start}.mod-controls select{flex:1;min-width:160px}}.preview-image{position:relative;min-height:350px;background:#fff}.preview-image>img{display:block;width:100%;max-height:430px;object-fit:contain;padding:15px}.preview-image-status{font-size:12px;line-height:1.8;color:#7a8aa1;padding:36px 22px;margin:0}.preview-image>.preview-image-status{position:absolute;inset:0;display:grid;place-items:center;text-align:center}.preview-comparison{padding:15px;background:#fff}.preview-gene-pair{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.preview-gene-pair>div{min-width:0;border:1px solid #e4eaf2;border-radius:4px;overflow:hidden}.preview-gene-pair .preview-image{min-height:130px}.preview-gene-pair img{max-height:210px;padding:5px}.preview-gene-pair b{display:block;text-align:center;font-size:10px;font-weight:500;padding:8px;color:#607593}.preview-gene-pair .preview-image-status{font-size:10px;padding:10px}.preview-correlation{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:22px;align-items:center;border-top:1px solid #e6ebf3;padding-top:14px;margin-top:18px}.preview-scatter{width:100%;max-height:210px}.preview-scatter text{font-size:9px;fill:#71849d}.preview-correlation dl{margin:0;display:grid;gap:14px}.preview-correlation dt{font-size:10px;color:#8a98aa}.preview-correlation dd{margin:2px 0 0;font-size:20px;color:#405e89;font-variant-numeric:tabular-nums}.preview-module-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:12px;background:#f9fafd;border-bottom:1px solid #e6ebf3}.preview-module-tabs button{min-height:30px;font-size:10px;padding:5px 8px}.preview-module-tabs small{display:block;font-size:9px;color:#8c99ae}.preview-module-tabs button.selected{background:#edf2fa;color:#234b86;border-color:#adc2e0}.preview-module-members{padding:0 18px 15px;font-size:10px;line-height:1.8;color:#7b8da7;margin:0}@media(max-width:580px){.preview-gene-pair{grid-template-columns:1fr}.preview-gene-pair .preview-image{min-height:180px}.preview-gene-pair img{max-height:250px}.preview-correlation{grid-template-columns:1fr;gap:10px}.preview-correlation dl{display:flex;gap:25px;flex-wrap:wrap}.preview-image{min-height:260px}}.auth-account{max-width:720px}.account-analysis-entry{margin:26px 0;padding:24px;background:#f4f7fc;border:1px solid #d8e2f0;border-radius:7px;display:flex;align-items:center;gap:24px;justify-content:space-between}.account-analysis-entry h3{font-size:18px;margin:0 0 7px}.account-analysis-entry p{font-size:12px;color:#75849b;margin:0;line-height:1.8}.account-analysis-entry button{white-space:nowrap}.account-profile{margin:22px 0;padding:14px 0;border-top:1px solid #e3e9f2;border-bottom:1px solid #e3e9f2}.account-profile summary{cursor:pointer;color:#60738e;font-size:12px}@media(max-width:580px){.account-analysis-entry{flex-direction:column;align-items:flex-start;padding:18px;gap:18px}}.app .lab.tool-shell .gene-note{background:#12181f;border-color:#303b49;color:#d5dee8;color-scheme:dark}.app .lab.tool-shell .gene-note .gn-head b{color:#f0f4f8}.app .lab.tool-shell .gene-note .gn-lead,.app .lab.tool-shell .gene-note .gn-detail summary{color:#c4cfdd}.app .lab.tool-shell .gene-note .hint,.app .lab.tool-shell .gene-note .muted,.app .lab.tool-shell .gene-note small{color:#aab9cc}.app .lab.tool-shell .gene-note .hint b{color:#dce5ef}.app .lab.tool-shell .gene-note .badge,.app .lab.tool-shell .gene-note .gn-chip{background:#1d2b3e;border-color:#3c526e;color:#c8dfff}.app .lab.tool-shell .gene-note .gn-chip em{color:#afc2dc}.app .lab.tool-shell .gene-note .gn-detail{overflow-x:auto}.app .lab.tool-shell .gene-note th{background:#1a2330;color:#b8c8da;border-color:#303b49}.app .lab.tool-shell .gene-note td{color:#d5dee8;border-color:#293442}.app .lab.tool-shell .gene-note tr.anno-row:hover{background:#1d2c3e}.app .lab.tool-shell .gene-note a,.app .lab.tool-shell .gene-note .anno-size{color:#96c7ff}.app .lab.tool-shell .gene-note a:hover,.app .lab.tool-shell .gene-note .gn-detail summary:hover{color:#c9e3ff}.app .lab.tool-shell .gene-note button.anno-src{background:#1a2330;border-color:#3c4b5e;color:#cfdae8}.app .lab.tool-shell .gene-note button.anno-src em{color:#acbfd5}.app .lab.tool-shell .gene-note button.anno-src.on{background:#213b59;border-color:#6a9edb;color:#e2efff}.app .lab.tool-shell .gene-note button.anno-src.on em{color:#c3ddff}.app .lab.tool-shell .gene-note .anno-tag{background:#233653;color:#c4dcff}.app .lab.tool-shell .gene-note .anno-tag.go{background:#193c30;color:#a5e2bc}.app .lab.tool-shell .gene-note .anno-tag.reactome{background:#44321e;color:#f2cd9b}.app .lab.tool-shell .gene-note .anno-members-cell{background:#18212c;border-bottom-color:#303b49!important}.app .lab.tool-shell .gene-note .anno-genes{background:#101720;border-color:#303b49}.app .lab.tool-shell .gene-note .anno-gene{background:#253143;color:#d5e1f1}.app .lab.tool-shell .gene-note .anno-gene.on{background:#285b96;color:#fff}.app .lab.tool-shell .gene-note .anno-gene.marked{background:#48391e;color:#ffe0a0}.app .lab.tool-shell .gene-note .warn-text{color:#f2cf96}.app .lab.tool-shell .gene-note :is(a,button,input,summary):focus-visible{outline:2px solid #96c7ff;outline-offset:3px}.app .mark-tray{background:#151d27;color:#d8e2ef;border:1px solid #39485b;border-radius:12px;box-shadow:0 12px 36px #0006}.app .mark-tray .mt-head b{color:#eff4fa}.app .mark-tray .mt-hint,.app .mark-tray .hint,.app .mark-tray .mt-pair{color:#adbed2}.app .mark-tray .mt-pair b{color:#e6eef8}.app .mark-tray .mt-list{gap:8px;max-height:180px;overflow-y:auto;padding:3px 2px}.app .mark-tray .mt-item{background:#202c3a;border:1px solid #394b61;border-radius:7px;padding:0;gap:0;min-height:32px;overflow:hidden}.app .mark-tray .mt-item.used{background:#233c57;border-color:#80afe3}.app .mark-tray .mt-item:has(.mt-badge.B){background:#203e37;border-color:#73b9a4}.app .mark-tray .mt-item button.mt-symbol{background:transparent;color:#dee8f5;border:0;border-radius:0;min-height:32px;padding:6px 9px;gap:7px;font:500 12px ui-monospace,SFMono-Regular,Menlo,monospace}.app .mark-tray .mt-item button.mt-symbol:after{content:none}.app .mark-tray .mt-item button.mt-symbol:hover{background:#ffffff0c;color:#fff}.app .mark-tray .mt-badge{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:4px;padding:0;font:700 11px system-ui,sans-serif}.app .mark-tray .mt-badge.A{background:#98c8ff;color:#102d4d}.app .mark-tray .mt-badge.B{background:#91d9bf;color:#123c2d}.app .mark-tray .mt-item button.mt-del{background:transparent;color:#a8b9ce;border:0;border-left:1px solid #ffffff14;border-radius:0;min-height:32px;min-width:26px;padding:0 6px}.app .mark-tray .mt-item button.mt-del:hover{color:#ffc1c1;background:#63333f}.app .mark-tray button.mt-toggle,.app .mark-tray .mt-actions button:not(.primary){background:#243143;border-color:#43556c;color:#dce7f5}.app .mark-tray .mt-actions{border-color:#36465a}.app .mark-tray .mt-actions button:disabled{opacity:.45;cursor:not-allowed}.app .mark-tray button:focus-visible{outline:2px solid #a2ceff;outline-offset:-2px}.app .lab.tool-shell .cmp-picker{background:#121a24;border-color:#344458;color:#dce7f5}.app .lab.tool-shell .cmp-picker .field>span{color:#c8d8eb}.app .lab.tool-shell .gp{color-scheme:dark}.app .lab.tool-shell button.gp-btn{background:#1b2839;color:#ecf3fc;border:1px solid #526881;min-height:40px;border-radius:6px}.app .lab.tool-shell .gp-value{color:#ecf3fc}.app .lab.tool-shell .gp-ph,.app .lab.tool-shell .gp-caret{color:#b0c3da}.app .lab.tool-shell button.gp-btn:hover{background:#24364c;border-color:#8bb5e5}.app .lab.tool-shell button.gp-btn.open{border-color:#91c2fa;box-shadow:0 0 0 3px #91c2fa25}.app .lab.tool-shell .gp-panel{background:#182333;border:1px solid #526881;box-shadow:0 12px 28px #0008;padding:8px;color:#e4edf9}.app .lab.tool-shell input.gp-search{background:#101923;border:1px solid #536b86;color:#eff5ff;caret-color:#b9d9ff;min-height:38px}.app .lab.tool-shell input.gp-search::placeholder{color:#aebfd4;opacity:1}.app .lab.tool-shell button.gp-item{background:transparent;color:#dce7f5;border:1px solid transparent;border-radius:4px;padding:8px 10px;min-height:34px}.app .lab.tool-shell button.gp-item:hover{background:#293d57;color:#fff}.app .lab.tool-shell button.gp-item.on{background:#2a4c73;color:#fff;border-color:#83b3eb;font-weight:600}.app .lab.tool-shell .gp-empty,.app .lab.tool-shell .gp-more{color:#b6c7dc}.app .lab.tool-shell .gp-list{scrollbar-color:#607894 #182333}.app .lab.tool-shell .gp :is(button,input):focus-visible{outline:2px solid #a6d0ff;outline-offset:2px}.app .lab.tool-shell.whole-tool-shell{--line: #303b49;--muted: #aab9cc;--ink: #e6edf3;--brand: #8abfff;--bg: #0e1116}.app .whole-tool-shell .lab-main[data-active=page]{display:block;padding:16px;background:#0e1116}.app .whole-tool-shell .lab-main>.workspace{margin:0;padding:0;border:0;border-radius:0;background:transparent;max-width:none;min-width:0}.app .whole-tool-shell .workspace-breadcrumb,.app .whole-tool-shell .workspace>.tabs{display:none}.app .whole-tool-shell .workspace>.ws-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 14px;padding:0}.app .whole-tool-shell .ws-head h2{font-size:19px;line-height:1.4;margin:0 0 6px;color:#e6edf3}.app .whole-tool-shell .ws-meta{color:#aab9cc;gap:10px;font-size:12px}.app .whole-tool-shell .ws-actions{display:flex;flex-wrap:wrap;gap:8px}.app .whole-tool-shell .workspace>.ws-summary-strip{display:none}.app .whole-tool-shell [data-tool=overview] .workspace>.ws-summary-strip{display:grid}.app .whole-tool-shell .workspace>.ws-protocol{background:#161b22;border:1px solid #303b49;border-radius:8px;padding:10px 12px;margin:0 0 14px}.app .whole-tool-shell .workspace>.tab-body{display:block;background:#161b22;border:1px solid #303b49;border-radius:12px;padding:16px;margin:0}.app .whole-tool-shell .result-grid{gap:16px;align-items:start;margin:0}.app .whole-tool-shell .result-grid aside{background:#111820;border:1px solid #303b49;border-radius:10px;padding:14px}.app .whole-tool-shell .control-panel-title{color:#e6edf3;font-size:14px;margin:0 0 14px}.app .whole-tool-shell .field>span{color:#b8c8da}.app .whole-tool-shell :is(input,select,textarea){color-scheme:dark;background:#0d1117;color:#d8e2ef;border-color:#405168}.app .whole-tool-shell input::placeholder{color:#9cb0c8}.app .whole-tool-shell .gene-list{gap:6px}.app .whole-tool-shell button.gene-chip{background:#202b3a;color:#ccdaeb;border:1px solid #37485e;border-radius:6px}.app .whole-tool-shell button.gene-chip:hover{background:#293c54;border-color:#85b6ed}.app .whole-tool-shell button.gene-chip.active{background:#24486f;color:#f1f7ff;border-color:#91c2fa}.app .whole-tool-shell :is(.cmp-picker,.mod-controls,.mod-note,.mod-detail,.panel-box){background:#111820;border-color:#303b49;border-radius:10px}.app .whole-tool-shell .viewer{border:1px solid #303b49;border-radius:10px;overflow:hidden}.app .whole-tool-shell .plot-heading{background:#1c232c;color:#b8c8da;padding:10px 12px}.app .whole-tool-shell :is(.hint,.caption,figcaption,.mn-sub,.pm-label){color:#aab9cc}.app .whole-tool-shell :is(.hint,.caption,.mn-sub) b{color:#e0e9f5}.app .whole-tool-shell .lab-rail-btn.on{background:#1f3046;border-color:#426b9a;color:#dcecff}.app .whole-tool-shell :is(button,a,input,select,summary):focus-visible{outline:2px solid #a2ceff;outline-offset:2px}@media(max-width:800px){.app .whole-tool-shell .workspace>.ws-head{flex-direction:column}.app .whole-tool-shell .lab-main[data-active=page]{padding:12px}.app .whole-tool-shell .workspace>.tab-body{padding:12px}.app .whole-tool-shell .result-grid,.app .whole-tool-shell .cmp-picker{grid-template-columns:minmax(0,1fr)}}.app .whole-tool-shell .single-gene-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:16px}.app .whole-tool-shell .gene-main-column{min-width:0;display:grid;gap:14px;align-content:start}.app .whole-tool-shell .gene-main-column .gene-note{margin:0;padding:16px}.app .whole-tool-shell .single-gene-layout .viewer{min-height:0}.app .whole-tool-shell .single-gene-layout .viewer img{display:block;width:100%;height:clamp(320px,54vh,650px);max-height:none;padding:8px;object-fit:contain;background:#fff}.app .whole-tool-shell .single-gene-layout>aside{position:sticky;top:0;max-height:calc(100dvh - 230px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#53677f #111820}.app .whole-tool-shell .single-gene-layout .gene-list{max-height:200px}.app .whole-tool-shell .single-gene-layout .field{margin-bottom:10px}.app .whole-tool-shell .single-gene-layout .hint{line-height:1.6}.app .mark-tray:not(.closed){max-height:min(56dvh,520px);scrollbar-width:thin}@media(max-width:1000px){.app .whole-tool-shell .single-gene-layout{grid-template-columns:minmax(0,1fr) 270px}}@media(max-width:800px){.app .whole-tool-shell .single-gene-layout{grid-template-columns:minmax(0,1fr)}.app .whole-tool-shell .single-gene-layout>aside{position:static;max-height:none;grid-row:1}.app .whole-tool-shell .single-gene-layout .gene-list{max-height:130px}.app .whole-tool-shell .single-gene-layout .viewer img{height:auto;max-height:65dvh}}.platform-page{color:#233249;padding-bottom:40px}.platform-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;padding:52px 0 64px;border-bottom:1px solid #dce4ee}.platform-kicker{margin:0 0 18px;color:#506780;font-size:14px}.platform-intro h2{font-size:clamp(32px,4vw,56px);line-height:1.2;font-weight:600;letter-spacing:-.035em;margin:0 0 22px;color:#1c2d46}.platform-lead{font-size:17px;line-height:1.9;max-width:440px;color:#61718a}.platform-intro figure{margin:0;border:1px solid #dce4ee;border-radius:8px;overflow:hidden;background:#fafbfd}.platform-intro img{width:100%;display:block}.platform-intro figcaption{padding:12px 18px;color:#6b7b92;font-size:12px}.platform-explorer{padding:46px 0}.platform-section-heading h2{font-size:26px;color:#233249;margin:0 0 10px}.platform-section-heading p{margin:0;color:#697a92;font-size:14px}.platform-feature-tabs{display:flex;overflow-x:auto;gap:6px;padding:24px 0 14px;border-bottom:1px solid #dce4ee}.platform-feature-tabs button{white-space:nowrap;background:transparent;color:#61718a;border:1px solid transparent;border-radius:5px;padding:10px 14px;font-size:14px}.platform-feature-tabs button[aria-selected=true]{background:#eaf0f8;color:#254e83;border-color:#c7d6e9}.platform-feature-tabs button:hover{color:#254e83;background:#f1f5fa}.platform-feature-detail{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:44px;align-items:start;padding-top:32px;min-height:510px}.platform-feature-copy{padding:12px 0}.platform-feature-name{font-size:13px;color:#50709b}.platform-feature-copy h3{color:#1e304a;font-size:27px;line-height:1.5;font-weight:600;margin:12px 0 16px}.platform-feature-copy p{color:#61718a;font-size:15px;line-height:1.9}.platform-feature-copy ul{padding-left:20px;color:#445974;font-size:14px;line-height:2.3;margin:22px 0 28px}.platform-feature-visual{min-width:0}.platform-feature-visual .analysis-result-figure{margin:0}.platform-feature-visual .preview-image img{max-height:440px;object-fit:contain}.platform-workflow{background:#f7f9fc;border:1px solid #dce4ee;border-radius:6px;overflow:hidden}.platform-workflow-heading{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #dce4ee;color:#365171}.platform-workflow-heading small{color:#72839a}.platform-flow-steps{display:grid;gap:20px;padding:26px 36px}.platform-flow-step{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:12px;position:relative;background:#fff;border:1px solid #dce4ee;padding:15px;border-radius:6px}.platform-flow-step>span{color:#57769e;font-size:12px}.platform-flow-step b{font-size:14px;font-weight:500}.platform-flow-step i{position:absolute;bottom:-23px;left:50%;color:#9aadbf;font-style:normal}.platform-workflow>p{padding:0 24px 18px;color:#72839a;font-size:12px;text-align:center}.platform-workflow-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #dce4ee;padding:30px 0}.platform-workflow-footer h2{font-size:22px;margin:0 0 10px;color:#233249}.platform-workflow-footer p{color:#697a92;font-size:14px}.platform-page :is(button,a):focus-visible{outline:2px solid #38679e;outline-offset:3px}@media(max-width:900px){.platform-intro{gap:28px}.platform-feature-detail{gap:24px;grid-template-columns:1fr 1.3fr}}@media(max-width:700px){.platform-intro,.platform-feature-detail{grid-template-columns:1fr;gap:24px}.platform-intro{padding:28px 0}.platform-feature-detail{min-height:0}.platform-workflow-footer{align-items:start;flex-direction:column}.platform-flow-steps{padding:24px}}.platform-toolbox-shots{display:grid;gap:18px}.platform-toolbox-shots figure{margin:0;border:1px solid #cbd6e4;border-radius:8px;overflow:hidden;background:#0e141c}.platform-toolbox-shots a{display:block;cursor:zoom-in}.platform-toolbox-shots img{width:100%;height:auto;display:block}.platform-toolbox-shots figcaption{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;background:#f7f9fc;color:#506580;font-size:12px}.platform-toolbox-shots figcaption span{color:#315a8f;white-space:nowrap}.platform-result-links{padding:28px;border:1px solid #dce4ee;border-radius:8px;background:#f7f9fc;color:#506580}.platform-result-links h4{margin:0 0 12px;font-size:20px;color:#233249}.platform-result-links p{line-height:1.8}.platform-result-links li{margin:14px 0}@media(min-width:1100px){.platform-feature-detail:has(.platform-toolbox-shots){grid-template-columns:1fr}.platform-feature-detail:has(.platform-toolbox-shots) .platform-feature-copy{display:grid;grid-template-columns:1.1fr 1fr;column-gap:48px}.platform-feature-detail:has(.platform-toolbox-shots) .platform-feature-name,.platform-feature-detail:has(.platform-toolbox-shots) .platform-feature-copy h3,.platform-feature-detail:has(.platform-toolbox-shots) .platform-feature-copy p{grid-column:1}.platform-feature-detail:has(.platform-toolbox-shots) .platform-feature-copy ul{grid-column:2;grid-row:2 / 4;margin:8px 0}.platform-feature-detail:has(.platform-toolbox-shots) .platform-feature-copy>button{grid-column:2;grid-row:4;justify-self:start}}
