.gene-workspace{padding-top:29px;padding-bottom:76px}
.gene-intro{max-width:980px;margin-bottom:26px}
.gene-intro h1{font-size:clamp(2.35rem,3.6vw,3rem);font-weight:760;letter-spacing:-.035em}
.gene-intro p{margin:10px 0 0;color:var(--muted);font-size:1.06rem;line-height:1.5}
.dataset-bar{display:grid;grid-template-columns:auto minmax(220px,340px) 1fr auto;align-items:center;gap:14px;border-top:1px solid #cdd6df;border-bottom:1px solid #cdd6df;padding:14px 0}
.dataset-bar label,.gene-form label{color:var(--ink);font-size:.82rem;font-weight:750}
.dataset-bar select,.gene-form input,.gene-form select,.section-edit input{height:47px;border:1px solid #b9c7d3;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:.94rem;padding:0 13px}
.dataset-bar select{width:100%;font-weight:650}
.dataset-bar p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.35}
.dataset-bar a{white-space:nowrap;color:var(--accent);font-size:.88rem;font-weight:700;text-underline-offset:4px}
.explorer{padding-top:25px}
.gene-form{display:flex;align-items:end;flex-wrap:wrap;gap:14px}
.gene-field,.section-field{display:grid;gap:7px}
.gene-field{width:min(260px,100%)}
.section-field{width:min(220px,100%)}
.gene-form input,.gene-form select{width:100%}
.add-gene{height:47px;border:0;border-radius:8px;background:var(--accent);color:white;padding:0 19px;font:inherit;font-size:.92rem;font-weight:750;cursor:pointer}
.add-gene:hover{background:var(--accent-dark)}
.gene-form :is(input,select,button):focus-visible,.explorer button:focus-visible,.dataset-bar select:focus-visible,.heatmap-scroll:focus-visible,.section-edit input:focus-visible{outline:3px solid #6c8cb0;outline-offset:3px}
.gene-message{margin:8px 0 22px;color:var(--muted);font-size:.85rem}
.gene-message:empty{display:none}
.gene-message[data-error="true"]{color:#8b3d31}
.figure-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:21px 0 13px}
.figure-heading h2{margin:0 0 5px;font-size:1.45rem;letter-spacing:-.025em}
.figure-heading p{margin:0;color:var(--muted);font-size:.9rem}
.quiet-button{min-height:42px;border:1px solid #b9c7d3;border-radius:8px;background:#fff;color:var(--accent);padding:8px 14px;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}
.quiet-button:hover{background:#e9eef3}
.quiet-button:disabled{opacity:.5;cursor:wait}
.heatmap-scroll{max-width:100%;overflow-x:auto;border-top:1px solid #cdd6df;border-bottom:1px solid #cdd6df;background:#fff;scrollbar-color:#9aabbb #e9eef3}
.heatmap-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;table-layout:fixed;text-align:left}
.heatmap-table thead th{height:69px;padding:10px 5px 12px;vertical-align:bottom;border-bottom:1px solid #dce4ea;color:#516174;font-size:.76rem;font-weight:750;line-height:1.25;text-align:center}
.heatmap-table thead th:first-child{width:150px;text-align:left;padding-left:18px}
.heatmap-table tbody th,.heatmap-table tbody td{height:53px;border-bottom:5px solid #fff}
.heatmap-table tbody th{padding:0 12px 0 18px;color:var(--ink);font-size:.92rem;font-weight:720}
.heatmap-table thead th:first-child,.heatmap-table tbody tr:not(.section-row) th{position:sticky;left:0;z-index:1;background:#fff}
.gene-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}
.remove-gene{display:grid;place-items:center;min-height:31px;flex:none;border:0;border-radius:5px;background:transparent;color:#536a83;padding:3px 5px;font:inherit;font-size:.72rem;font-weight:650;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.remove-gene:hover{background:#e9eef3;color:var(--accent)}
.heatmap-table .heat-cell{position:relative;border-right:5px solid #fff;background:var(--cell-bg,#edf1f4);color:var(--cell-fg,#172b46);font-variant-numeric:tabular-nums;text-align:center;font-size:.83rem;font-weight:720}
.heatmap-table .heat-cell:last-child{border-right:0}
.section-row th{height:54px!important;padding:13px 18px 8px!important;border-bottom:1px solid #dce4ea!important;background:#f4f6f8}
.section-heading{display:flex;align-items:center;gap:15px;min-height:33px}
.section-heading strong{font-size:.96rem;letter-spacing:-.01em}
.section-heading button{border:0;background:transparent;color:#536a83;font:inherit;font-size:.78rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.section-heading button:hover{color:var(--accent)}
.section-edit{display:flex;align-items:center;gap:9px}
.section-edit input{height:35px;max-width:260px}
.section-edit button{height:35px;border:1px solid #b9c7d3;border-radius:6px;background:white;color:var(--accent);padding:0 11px;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}
.empty-row td{padding:22px 18px;color:var(--muted);font-size:.88rem}
.figure-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-top:17px}
.figure-foot p{max-width:680px;margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}
.legend{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.78rem;white-space:nowrap}
.legend-bar{display:block;width:132px;height:10px;border:1px solid #d9e0e6;border-radius:2px;background:linear-gradient(90deg,#234a70,#f4f6f8,#b5684f)}
.add-section{margin-top:26px}
.text-button{margin-left:14px;border:0;background:transparent;color:var(--accent);font:inherit;font-size:.86rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.method-notes{max-width:800px;margin-top:53px;border-top:1px solid #cdd6df}
.method-notes summary{font-size:.9rem}
.method-notes>div{color:var(--muted);font-size:.9rem;line-height:1.58}
.method-notes p{padding-bottom:11px}
.method-notes a{color:var(--accent);text-underline-offset:3px}
::selection{background:#d5e3f0;color:#172b46}
@media(max-width:920px){.dataset-bar{grid-template-columns:auto minmax(220px,1fr) auto}.dataset-bar p{grid-column:2/4}.figure-heading{align-items:start}}
@media(max-width:600px){.gene-workspace{padding-top:30px;padding-bottom:46px}.gene-intro{margin-bottom:24px}.gene-intro h1{font-size:2.25rem}.gene-intro p{font-size:1rem}.dataset-bar{grid-template-columns:1fr;gap:8px;padding:17px 0}.dataset-bar p{grid-column:auto}.dataset-bar a{margin-top:3px}.explorer{padding-top:25px}.gene-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gene-field,.section-field{width:100%;min-width:0}.gene-field{grid-column:1/-1}.add-gene{grid-column:2;width:100%}.gene-message{margin-bottom:20px}.figure-heading{align-items:start}.figure-heading h2{font-size:1.3rem}.figure-heading p{max-width:32ch}.figure-heading .quiet-button{max-width:110px;font-size:.78rem}.heatmap-table{min-width:690px}.figure-foot{align-items:start}.method-notes{margin-top:39px}}
