/* Publication-based plots and project methods. */
.paper-panel{margin:27px 0 20px;border:1px solid #d2dcdf;background:#fff;border-radius:8px;overflow:hidden}
.paper-panel-head{padding:23px 25px 0;display:flex;justify-content:space-between;align-items:start;gap:18px}.paper-panel-head h5{font:700 21px/1.35 var(--sans);letter-spacing:-.4px;margin:0}.evidence-tag{font-size:9px;line-height:1.7;border:1px solid #cad7d7;padding:4px 10px;border-radius:18px;color:#416568;white-space:nowrap}.paper-lead{font-size:11px;line-height:1.85;padding:12px 25px 0;margin:0!important;max-width:920px}.paper-layout{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:25px;padding:23px 25px;align-items:start}.paper-plots{min-width:0}.paper-plots svg{display:block;width:100%;height:auto;background:#fcfdfd;border:1px solid #e3e9eb;border-radius:6px}.paper-plots svg text{font-family:var(--mono);font-size:13px;fill:#435765}.paper-plots svg .plot-title{font-size:16px;font-weight:700;fill:#243b47}.paper-plots svg .plot-small{font-size:11px}.paper-plots svg .plot-label{font-size:14px}.paper-plots svg .plot-tick{font-size:11px}.plot-grid{stroke:#e5ecee;stroke-width:1}.plot-axis{stroke:#8e9ea9;stroke-width:1}.paper-controls{display:grid;gap:17px;min-width:0}.paper-panel [hidden]{display:none!important}.paper-controls label{font-size:10px;line-height:1.75;color:#425c65}.paper-controls label>span{display:flex;justify-content:space-between;gap:8px}.paper-controls select{display:block;width:100%;font:10px var(--mono);color:#273e47;background:#fff;padding:9px 8px;min-height:44px;border:1px solid #b7c9ce;border-radius:4px;margin-top:7px}.paper-controls input[type=range]{width:100%;height:44px;accent-color:#087e86}.paper-controls input[type=checkbox]{width:18px;height:18px;accent-color:#087e86;flex-shrink:0}.paper-controls .checkbox-label{display:flex;align-items:center;gap:9px;min-height:44px}.paper-controls output{color:#087e86;font-weight:700}.paper-controls .control-note{font-size:9px;line-height:1.9;color:#657783;margin:0}.plot-caption{font-size:10px;line-height:1.9;color:#405762;margin:12px 0 0!important}.plot-key{display:flex;flex-wrap:wrap;gap:9px 17px;align-items:center;font-size:10px;color:#435765;margin-top:13px;line-height:1.7}.plot-key span{display:inline-flex;align-items:center;gap:6px}.plot-key i{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.expression-gradient{background:linear-gradient(to right,#e2eae8,#70289f);height:10px;width:100px;border-radius:5px}.paper-source{border-top:1px solid #dde6e8;background:#f8fafb;padding:15px 25px;font-size:9px;line-height:1.9;color:#596d79;margin:0!important}.paper-source a{text-decoration:underline}.paper-panel .paper-details{border-top:1px solid #e0e7e9;margin:0;padding:0 25px 15px}.paper-details summary{min-height:44px;padding:14px 0 8px;cursor:pointer;font-size:10px;color:#416a70}.paper-details p{font-size:10px;line-height:1.9;max-width:900px}.data-table-scroll{overflow:auto;max-height:370px}.measurements{border-collapse:collapse;width:100%;font-size:10px;color:#435765}.measurements th,.measurements td{text-align:left;border-bottom:1px solid #e1e7e9;padding:9px 12px;white-space:nowrap}.measurements th{background:#edf3f4;position:sticky;top:0}.measurements caption{text-align:left;padding:9px 0}.cell-inspector{border-top:1px solid #dce6e8;padding-top:17px}.cell-inspector>strong{font-size:12px;color:#315a63}.cell-inspector>p{font-size:9px;line-height:1.8;color:#657783}.cell-inspector dl{margin:10px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.cell-inspector dl>div{padding:7px;background:#f0f5f5;border-radius:3px}.cell-inspector dt{font-size:9px;color:#42616a}.cell-inspector dd{font-size:9px;margin:5px 0 0;color:#6c4887}.profile-plot{margin-top:20px}.chart-scroll{overflow-x:auto;overscroll-behavior-x:contain;min-width:0;border-radius:6px}.chart-scroll:focus-visible{outline:3px solid #087e86;outline-offset:2px}.chart-tools{display:none}.chart-zoom[hidden]{display:none!important}.paper-panel button{font:10px/1.6 var(--mono);min-height:44px;padding:9px 13px;background:#fff;color:#2c4a55;border:1px solid #b7c9ce;border-radius:5px;cursor:pointer}.paper-panel button:hover{background:#ecf4f3}.paper-panel button[aria-pressed=true]{background:#173f47;color:#fff;border-color:#173f47}.source-details{border-top:1px solid var(--line);margin-top:23px;padding-top:6px}.source-details>summary{font-size:11px;min-height:44px;padding:13px 0;cursor:pointer;color:var(--accent)}.source-details[open]>summary{margin-bottom:16px}.source-details .source-figure{max-width:850px;margin:0 auto 22px}.source-details .source-figure img{max-height:540px}.source-details .source-context{font-size:10px}.source-details .how-to-read{margin-top:20px}
.method-content{padding:20px 25px 25px}.method-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.method-graph{display:block;width:100%;height:auto;max-height:340px}.method-graph text{font-family:var(--mono);fill:#324c59;font-size:13px}.method-graph .node-label{font-size:14px;font-weight:700}.method-graph .node-small{font-size:11px}.method-graph .node-box{fill:#f1f6f5;stroke:#cfddde;stroke-width:1.5}.method-graph .stage-active .node-box{fill:#e0eeeb;stroke:#1d787b;stroke-width:2}.method-graph .stage-muted{opacity:.82}.method-graph .edge{fill:none;stroke:#a9bcc5;stroke-width:2;marker-end:url(#method-arrow)}.method-copy{border-top:1px solid #dfe7e9;margin-top:18px;padding-top:18px}.method-copy h6{font:700 15px var(--sans);margin:0 0 9px;color:#244650}.method-copy p{font-size:11px;line-height:1.9;max-width:900px;margin:0}.method-copy .equation{font-size:14px;color:#5b4382;background:#f6f3f9;padding:14px 18px;border-radius:4px;margin:13px 0 0;overflow-x:auto}.method-copy+.method-copy{margin-top:14px}.method-note{font-size:9px;line-height:1.9;color:#647683;margin-top:17px}.mechanism-legend{font-size:10px;color:#657783;margin:12px 0 0}.original-figure-link{font-size:10px;line-height:1.8;display:inline-block;margin-top:15px;text-decoration:underline}.paper-context{font-size:10px;color:#657783;line-height:1.9;margin-top:14px}
.mosquito-decoration{display:flex;align-items:center;gap:14px;margin:4px 0 14px}.mosquito-flight-zone{position:relative;height:52px;flex:1;overflow:hidden;pointer-events:none;border-bottom:1px dashed #d9e2de}.pixel-mosquito{width:43px;height:32px;position:absolute;left:7%;top:10px;animation:mosquito-drift 28s ease-in-out infinite;animation-play-state:paused}.pixel-mosquito svg{width:100%;height:100%;display:block;shape-rendering:crispEdges;animation:mosquito-wiggle 1.9s ease-in-out infinite;animation-play-state:paused}.pixel-mosquito .pixel-wing-b{display:none}.pixel-mosquito .pixel-wing-a{animation:pixel-wing 260ms steps(1,end) infinite;animation-play-state:paused}.pixel-mosquito .pixel-wing-b{display:block;animation:pixel-wing 260ms steps(1,end) infinite reverse;animation-play-state:paused}.is-flying .pixel-mosquito,.is-flying .pixel-mosquito svg,.is-flying .pixel-wing-a,.is-flying .pixel-wing-b{animation-play-state:running}.mosquito-decoration button{font:8px var(--mono);color:#657783;background:transparent;border:0;min-height:44px;cursor:pointer;padding:8px}.mosquito-decoration button:disabled{cursor:default}.mosquito-decoration button[hidden]{display:none}.map-stage .figure-link img{animation:none!important;transform:none!important;transition:none!important}.map-stage .figure-link img{max-height:390px}.science .research-hero-figure .hero-paper-preview{background:#f7faf9}.hero-data-preview{width:100%;height:auto;display:block}.hero-data-preview text{font:10px var(--mono);fill:#5a7278}.hero-data-preview .plot-grid{opacity:.7}
@keyframes mosquito-drift{
0%{left:7%;transform:scaleX(1)}
8%{left:21%;transform:scaleX(1)}
12%{left:18%;transform:scaleX(1)}
22%{left:43%;transform:scaleX(1)}
27%{left:39%;transform:scaleX(1)}
38%{left:72%;transform:scaleX(1)}
45%{left:calc(100% - 48px);transform:scaleX(1)}
49%{left:calc(100% - 48px);transform:scaleX(-1)}
59%{left:67%;transform:scaleX(-1)}
63%{left:71%;transform:scaleX(-1)}
74%{left:39%;transform:scaleX(-1)}
79%{left:44%;transform:scaleX(-1)}
92%{left:7%;transform:scaleX(-1)}
98%{left:7%;transform:scaleX(-1)}
100%{left:7%;transform:scaleX(1)}}
@keyframes mosquito-wiggle{
0%,100%{transform:translate(0,0) rotate(-4deg)}
14%{transform:translate(3px,-5px) rotate(8deg)}
31%{transform:translate(-2px,4px) rotate(-9deg)}
48%{transform:translate(4px,-2px) rotate(5deg)}
67%{transform:translate(-3px,5px) rotate(-7deg)}
83%{transform:translate(2px,-4px) rotate(9deg)}}
@keyframes pixel-wing{0%,49%{opacity:1}50%,100%{opacity:0}}
@media(max-width:1050px){.paper-layout{grid-template-columns:1fr}.paper-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px}.cell-inspector{grid-column:1/-1}.cell-inspector dl{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.paper-panel-head{padding:18px 16px 0;flex-wrap:wrap;gap:9px}.paper-panel-head h5{font-size:19px}.evidence-tag{font-size:8px}.paper-lead{padding:11px 16px 0;font-size:10px}.paper-layout{padding:17px 13px;gap:20px}.paper-source{padding:13px 16px}.paper-panel .paper-details{padding:0 16px 13px}.paper-controls{gap:14px}.plot-key{font-size:9px;gap:7px 13px}.plot-caption{font-size:10px}.chart-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}.chart-tools span{font-size:9px;color:#617783}.chart-tools button{font-size:9px;padding:8px}.chart-scroll svg{min-width:600px}.js-enabled .chart-scroll:not(.is-zoomed) svg{min-width:0}.chart-scroll.is-zoomed svg{min-width:600px}.method-content{padding:18px 16px}.method-tabs{gap:6px}.method-tabs button{font-size:9px;padding:8px 10px;flex-grow:1}.method-copy p{font-size:10px}.method-copy .equation{font-size:12px;padding:12px}.method-graph{min-width:540px}.method-diagram-scroll{overflow-x:auto}.method-copy h6{font-size:14px}.cell-inspector dl{grid-template-columns:repeat(2,minmax(0,1fr))}.mosquito-decoration{gap:8px}.pixel-mosquito{width:37px;height:28px}.research-org-heading h3{font-weight:700}.map-stage .figure-link img{max-height:none}}
@media(max-width:380px){.paper-controls{grid-template-columns:1fr}.paper-panel-head h5{font-size:18px}}
@media(prefers-reduced-motion:reduce){.pixel-mosquito,.pixel-mosquito svg,.pixel-mosquito .pixel-wing-a,.pixel-mosquito .pixel-wing-b{animation:none!important}.pixel-mosquito .pixel-wing-b{display:none}.pixel-mosquito .pixel-wing-a{opacity:1}}
@media print{.paper-controls,.method-tabs,.chart-tools,.mosquito-decoration{display:none!important}.paper-layout{display:block}.paper-panel{break-inside:avoid}.paper-panel .paper-details{display:none}.chart-scroll svg{min-width:0}.method-copy[hidden]{display:block!important}.method-graph{min-width:0}.paper-source{background:white}}

/* Expanded saved-model and published-benchmark views. */
.research-extension{border-top:1px solid #dce6e8;background:#fbfcfc}.extension-heading{padding:24px 25px 0}.extension-heading h6{font:700 20px/1.4 var(--sans);margin:8px 0;color:#26424d}.extension-heading p{font-size:11px;line-height:1.9;max-width:760px;margin:0}.research-extension .paper-layout{padding-top:18px}.paper-plots [data-matrix-cell],.paper-plots [data-neuro-model],.paper-plots [data-neuro-comparison],.paper-plots [data-factor]{cursor:pointer}.paper-plots [data-matrix-cell]:hover rect,.paper-plots [data-neuro-comparison]:hover rect{stroke:#142e38;stroke-width:2.5}.paper-source>.figure-link{display:inline;background:none;border:0;border-radius:0}.paper-source>.figure-link:after{display:none}.paper-controls select:focus-visible,.paper-controls input:focus-visible{outline:3px solid #087e86;outline-offset:3px}
@media(max-width:760px){.extension-heading{padding:20px 16px 0}.extension-heading h6{font-size:18px}.extension-heading p{font-size:10px}}

/* Lab-style coordinated panels, with keyboard-accessible view selection. */
.research-tabs{display:flex;gap:6px;margin:22px 25px 0;padding-bottom:12px;border-bottom:1px solid #dce5e8;flex-wrap:wrap}.research-tabs button[aria-selected=true]{background:#173f47;color:#fff;border-color:#173f47}.research-tabs button:focus-visible{outline:3px solid #c97660;outline-offset:3px}.plot-intro{padding:24px 25px 0}.plot-intro h6{font:700 23px/1.35 var(--sans);letter-spacing:-.4px;color:#263f4a;margin:8px 0}.plot-intro p{font-size:11px;line-height:1.9;max-width:850px;margin:0}.feature-toolbar{padding:20px 25px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.feature-toolbar label{min-width:0}.feature-plot{padding:0 25px 22px}.feature-plot>button{margin-top:16px}.feature-title{font-size:19px!important;font-weight:700;fill:#2d4652!important}.feature-small{font-size:10px!important;fill:#6a7e88!important}.selection-reading{padding:13px 15px;background:#eef5f4;border-left:3px solid #458c8c;border-radius:0 4px 4px 0}.view-source{font-size:9px;line-height:1.9;color:#5c717d;padding:15px 25px;margin:0;border-top:1px solid #e0e7e9}.view-source a{text-decoration:underline}.biomarker-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:0 25px}.biomarker-pair>div{min-width:0}.biomarker-notes{padding:0 25px 23px}.biomarker-pair [data-biomarker]{cursor:pointer}.biomarker-pair [data-biomarker]:hover{opacity:1}.biomarker-pair .plot-label{font-size:12px!important}.biomarker-pair .plot-tick{font-size:10px!important}.biomarker-pair .plot-small{font-size:10px!important}#feature-maps{touch-action:pan-x pan-y}#feature-maps [data-feature-panel]{cursor:crosshair}.research-tabpanel .research-extension{border-top:0}.research-tabpanel[hidden]{display:none!important}
@media(max-width:1000px){.biomarker-pair{grid-template-columns:1fr}.feature-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.research-tabs{margin:18px 16px 0;gap:5px}.research-tabs button{font-size:9px;flex-grow:1}.plot-intro{padding:20px 16px 0}.plot-intro h6{font-size:21px}.plot-intro p{font-size:10px}.feature-toolbar{padding:18px 16px;gap:15px}.feature-plot{padding:0 13px 18px}.biomarker-pair{padding:0 13px;gap:20px}.biomarker-notes{padding:0 16px 18px}.view-source{padding:13px 16px}#feature-maps-scroll.is-zoomed svg{min-width:780px}.feature-toolbar .checkbox-label{grid-column:1/-1}}
@media(max-width:380px){.feature-toolbar{grid-template-columns:1fr}}
@media print{.research-tabs,.feature-toolbar{display:none!important}.research-tabpanel[hidden]{display:block!important}.biomarker-pair{grid-template-columns:1fr 1fr}}
