/* Figures and dropdowns for "The bitter lesson for biology". Colors follow the Origin palette. */
.origin-prose figure.fig{margin:56px 0}
.fig{--fig-grid:color-mix(in srgb,var(--origin-fg) 9%,var(--origin-panel));--fig-axis:color-mix(in srgb,var(--origin-fg) 28%,var(--origin-panel));--fig-ink:var(--origin-fg);--fig-accent:var(--origin-accent);--fig-ease:cubic-bezier(.22,1,.36,1);position:relative;font:400 14px/1.5 var(--origin-font,Arial,Helvetica,sans-serif);color:var(--origin-text)}
.fig p{margin:0;line-height:inherit}
.fig svg{display:block;width:100%;height:auto;margin:0;overflow:visible}
.fig button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.fig.fig-panel{padding:28px 28px 20px;background:var(--origin-panel);border:1px solid var(--origin-border)}
.fig .fig-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:18px}
.fig .fig-head>div:first-child{flex:1 1 240px;min-width:0}
.fig .fig-kicker{margin-bottom:6px;font-size:13px;color:var(--origin-muted);font-variant-numeric:tabular-nums}
.fig .fig-title{font:400 22px/1.3 var(--origin-heading-font,"Origin IBM Plex Sans",Arial,sans-serif);letter-spacing:-.03em;color:var(--origin-fg);text-wrap:balance}
.fig .fig-sub{margin-top:4px;color:var(--origin-muted);text-wrap:pretty}
.fig .fig-plot{position:relative}
.fig .fig-readout{font-variant-numeric:tabular-nums;font-size:22px;letter-spacing:-.04em;color:var(--origin-fg)}
.fig .fig-readout span{display:block;font-size:13px;letter-spacing:0;color:var(--origin-muted)}
.fig .fig-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid var(--origin-border);background:var(--origin-bg);font-size:13px;color:var(--origin-fg)}
.fig .fig-button:hover{border-color:var(--origin-fg)}
.fig .fig-button:focus-visible,.fig .fig-shot-open:focus-visible{outline:2px solid var(--origin-accent);outline-offset:2px}
.fig svg text{font:400 12px/1 var(--origin-font,Arial,Helvetica,sans-serif);fill:var(--origin-muted)}
.fig svg .t-ink{fill:var(--origin-fg)}
.fig svg .grid{stroke:var(--fig-grid);stroke-width:1}
.fig svg .axis{stroke:var(--fig-axis);stroke-width:1}
.fig svg .curve{fill:none;stroke:var(--fig-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.fig svg .guide{stroke:var(--fig-ink);stroke-width:1;stroke-dasharray:3 4;opacity:.7}
.fig svg .pt{fill:var(--origin-bg);stroke:var(--fig-ink);stroke-width:1.6}
.fig svg .pt.is-off{stroke:var(--fig-accent)}
.fig svg .iso{transition:opacity .2s}
.fig svg .iso .curve{stroke-width:1.6;transition:stroke-width .2s}
.fig svg .iso-lines.has-hot .iso{opacity:.15}
.fig svg .iso-lines.has-hot .iso.is-hot{opacity:1}
.fig svg .iso.is-hot .curve{stroke-opacity:1;stroke-width:2.6}
.fig svg .iso-dot{fill:var(--fig-accent)}
.fig svg .iso-tag{font-size:11px;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--origin-panel);stroke-width:3px;stroke-linejoin:round}
.fig svg .iso.is-hot .iso-tag{fill:var(--origin-fg)}
.fig .fig-tip{position:absolute;z-index:3;display:grid;gap:2px;min-width:120px;padding:8px 10px;background:var(--origin-bg);border:1px solid var(--origin-border);font-size:13px;line-height:1.35;color:var(--origin-muted);pointer-events:none;opacity:0}
.fig .fig-tip.is-on{opacity:1}
.fig .fig-tip b{color:var(--origin-fg);font-weight:600;font-variant-numeric:tabular-nums}
.fig .fig-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:13px;color:var(--origin-text)}
.fig .fig-legend span{display:inline-flex;align-items:center;gap:8px}
.fig .swatch{width:18px;height:3px;background:var(--fig-accent);flex:none}
.fig .swatch.is-pt{width:9px;height:9px;border:1.6px solid var(--fig-ink);border-radius:50%;background:var(--origin-bg)}

/* Screenshots: sharp at their own size, enlarge on click */
.fig.fig-shot{margin:40px 0}
.fig .fig-shot-open{appearance:none;display:block;width:100%;padding:0;border:1px solid var(--origin-border);background:var(--origin-panel);cursor:zoom-in}
.fig .fig-shot-open img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;background:#fff}
.fig .fig-shot-bar{display:flex;justify-content:flex-end;margin-top:8px}
.fig-lightbox{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:28px;background:rgb(0 0 0 / .72);cursor:zoom-out}
.fig-lightbox img{max-width:min(1100px,96vw);max-height:92vh;width:auto;height:auto;background:#fff;box-shadow:0 20px 60px rgb(0 0 0 / .35)}

/* CRO data audit figures: tabs, a log-concentration ruler, record comparisons and paper crops */
.fig .fig-sub a{color:inherit}
.fig .gx-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px}
.fig .gx-tab{appearance:none;display:block;min-height:44px;padding:7px 12px;border:1px solid var(--origin-border);background:var(--origin-bg);text-align:left;font-size:12.5px;line-height:1.3;color:var(--origin-muted);cursor:pointer}
.fig .gx-tab b{display:block;font-weight:400;font-size:13.5px;color:var(--origin-fg)}
.fig .gx-tab:hover{border-color:var(--fig-axis)}
.fig .gx-tab[aria-selected="true"]{border-color:var(--origin-fg);box-shadow:inset 0 -2px 0 var(--fig-accent)}
.fig .gx-tab:focus-visible,.fig .gx-table tr:focus-visible{outline:2px solid var(--origin-accent);outline-offset:2px}
.fig .gx-panel[hidden]{display:none}
.fig .gx-panel+.gx-panel{margin-top:40px}
.fig.is-tabbed .gx-panel+.gx-panel{margin-top:0}
.fig .gx-ph{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 24px}
.fig .gx-ph>div{flex:1 1 280px;min-width:0}
.fig .gx-paper{font-size:15px;line-height:1.4;color:var(--origin-fg);text-wrap:balance}
.fig .gx-paper a{color:inherit;text-decoration-color:var(--origin-border);text-underline-offset:3px}
.fig .gx-paper a:hover{text-decoration-color:currentColor}
.fig .gx-cite{margin-top:2px;font-size:13px;color:var(--origin-muted)}
.fig .gx-stat{text-align:right}
.fig .gx-stat b{display:block;font-size:28px;font-weight:400;line-height:1.1;letter-spacing:-.04em;color:var(--origin-fg);font-variant-numeric:tabular-nums}
.fig .gx-stat small{font-size:16px;letter-spacing:0;color:var(--origin-muted)}
.fig .gx-stat span{font-size:13px;color:var(--origin-muted)}
.fig .gx-note{margin:12px 0 4px;max-width:70ch;color:var(--origin-text)}
.fig .gx-note b{font-weight:600;color:var(--origin-fg);font-variant-numeric:tabular-nums}
.fig .gx-ruler{min-height:128px;margin:6px 0 10px}
.fig svg .gx-zone{fill:color-mix(in srgb,var(--fig-accent) 9%,var(--origin-panel))}
.fig svg .gx-zone-edge{stroke:var(--fig-accent);stroke-width:1;stroke-dasharray:3 3}
.fig svg .gx-x{stroke:var(--fig-accent);stroke-width:2.6;stroke-linecap:round}
.fig svg .gx-arrow{stroke:var(--fig-ink);stroke-width:1.4}
.fig svg .gx-arrow-head{fill:var(--fig-ink)}
.fig svg .gx-big{font-size:13px;fill:var(--origin-fg)}
.fig svg .gx-val{font-size:12.5px;fill:var(--origin-text)}
.fig svg .gx-val tspan.b{fill:var(--origin-fg);font-weight:600}
.fig .gx-tw{max-width:100%;overflow-x:auto;border:1px solid var(--origin-border);background:var(--origin-bg)}
.fig table.gx-table{display:table;width:100%;margin:0;border-collapse:collapse;font-size:13.5px;line-height:1.35;font-variant-numeric:tabular-nums}
.fig .gx-table th{padding:8px 12px;border-bottom:1px solid var(--origin-border);font-weight:400;font-size:12.5px;color:var(--origin-muted);text-align:left;white-space:nowrap}
.fig .gx-table td{padding:8px 12px;border-bottom:1px solid var(--origin-border);color:var(--origin-text);text-align:left;white-space:nowrap;vertical-align:top}
.fig .gx-table tr:last-child td{border-bottom:0}
.fig .gx-table td b{display:block;font-weight:400;color:var(--origin-fg)}
.fig .gx-table td span{display:block;font-size:12px;color:var(--origin-muted)}
.fig .gx-table s{text-decoration-color:var(--fig-accent);text-decoration-thickness:1.5px}
.fig .gx-table i,.fig .gx-table em{display:block;font-style:normal;font-size:12px;color:var(--fig-accent)}
.fig .gx-table em{color:var(--origin-muted)}
.fig [data-fig="units"] .gx-table tbody tr{cursor:pointer}
.fig .gx-table tbody tr:hover td{background:var(--origin-panel)}
.fig .gx-table tbody tr.is-on td{background:color-mix(in srgb,var(--fig-accent) 8%,var(--origin-bg))}
.fig .gx-crops{display:grid;gap:16px;margin-top:20px}
.fig .gx-crop p{margin-top:6px;font-size:13px;color:var(--origin-muted);text-wrap:pretty}
.fig .gx-cols{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:12px;margin-top:14px}
.fig .gx-rec{min-width:0;padding:14px 16px;border:1px solid var(--origin-border);background:var(--origin-bg)}
.fig .gx-rec p{margin-top:8px}
.fig .gx-h{margin-bottom:10px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--origin-muted)}
.fig .gx-rec .gx-h{margin-top:0}
.fig .gx-rec dl{margin:0}
.fig .gx-rec dt{margin-top:10px;font-size:12px;color:var(--origin-muted)}
.fig .gx-rec dt:first-child{margin-top:0}
.fig .gx-rec dd{margin:2px 0 0;color:var(--origin-fg);overflow-wrap:anywhere}
.fig .gx-flag{display:block;margin-top:6px;padding-left:10px;border-left:2px solid var(--fig-accent);font-size:12.5px;color:var(--origin-text)}
.fig mark{padding:0 2px;background:var(--origin-glow);color:inherit}
.fig .gx-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 32px}
.fig .gx-bar{display:grid;grid-template-columns:118px minmax(0,1fr) 52px;gap:10px;align-items:center;margin-top:8px;font-size:13.5px;color:var(--origin-text)}
.fig .gx-bar b{font-weight:400;text-align:right;color:var(--origin-fg);font-variant-numeric:tabular-nums}
.fig .gx-bar-t{height:10px;background:var(--fig-grid)}
.fig .gx-bar-f{display:block;height:100%;width:var(--w);background:var(--fig-accent);transition:width .9s var(--fig-ease)}
.fig .gx-bar-f.is-muted{background:var(--fig-axis)}
.fig.is-pending .gx-bar-f{width:0}
.fig .gx-fine{margin-top:10px;font-size:13px;color:var(--origin-muted);text-wrap:pretty}
.fig .gx-facts+.fig-stats{margin-top:28px}
@media(max-width:700px){
  .fig .gx-cols,.fig .gx-facts{grid-template-columns:minmax(0,1fr)}
  .fig .gx-stat{text-align:left}
  .fig .gx-bar{grid-template-columns:96px minmax(0,1fr) 46px}
  .fig .gx-table td,.fig .gx-table th{padding:7px 8px}
}

/* Paper-extraction eval */
.fig .ex-filter{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.fig .ex-filter .gx-tab{min-height:34px;padding:0 10px;font-size:13px;color:var(--origin-fg)}
.fig .ex-filter .gx-tab[aria-pressed="true"]{border-color:var(--origin-fg);box-shadow:inset 0 -2px 0 var(--fig-accent)}
.fig svg .ex-line{fill:none;stroke:var(--fig-ink);stroke-opacity:.28;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}
.fig svg .iso-lines.has-hot .ex-model{opacity:.35}
.fig svg .iso-lines.has-hot .ex-model.is-hot{opacity:1}
.fig svg .ex-model.is-hot .ex-line{stroke-opacity:1;stroke-width:2}
.fig svg .ex-model .pt{stroke-width:1.4}
.fig svg .ex-name{fill:var(--origin-fg)}
.fig svg .ex-front{stroke-width:2.4}
.fig .swatch.is-line{height:1.5px;background:var(--fig-ink);opacity:.4}

/* Multi-tower architecture diagram */
.fig .tw-arch{--tw-line:var(--fig-axis);display:grid;justify-items:center;font-size:13px;line-height:1.35;text-align:center}
.fig .tw-arch p{margin:0}
.fig .tw-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%}
.fig .tw-col{display:flex;flex-direction:column;align-items:stretch;min-width:0}
.fig .tw-col.is-protein{--tw-tint:color-mix(in srgb,var(--origin-accent) 9%,var(--origin-bg))}
.fig .tw-col.is-ligand{--tw-tint:color-mix(in srgb,var(--origin-accent) 20%,var(--origin-bg))}
.fig .tw-col.is-context{--tw-tint:color-mix(in srgb,var(--origin-fg) 11%,var(--origin-bg))}
.fig .tw-in,.fig .tw-proj,.fig .tw-bar,.fig .tw-node{padding:9px 12px;border:1px solid var(--origin-border);background:var(--origin-bg);color:var(--origin-text)}
.fig .tw-group{flex:1;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed var(--tw-line)}
.fig .tw-group-h{margin-bottom:2px!important;font-size:14px;color:var(--origin-fg)}
.fig .tw-card{padding:10px 12px;border:1px solid color-mix(in srgb,var(--origin-accent) 30%,var(--origin-border));background:var(--tw-tint)}
.fig .tw-card b,.fig .tw-node b{display:block;font-weight:400;font-size:14.5px;color:var(--origin-fg)}
.fig .tw-card span,.fig .tw-node span{display:block;margin-top:2px;font-size:12.5px;color:var(--origin-muted)}
.fig .tw-proj{font-variant-numeric:tabular-nums}
.fig .tw-bar{width:100%}
.fig .tw-node{width:min(100%,420px)}
.fig .tw-arch .tw-col>*+*,.fig .tw-arch.tw-arch>*+*{position:relative;margin-top:30px}
.fig .tw-arch .tw-col>*+*::before,.fig .tw-arch.tw-arch>*+*::before,.fig .tw-arch .tw-col::after{content:"";position:absolute;left:50%;top:-26px;height:20px;border-left:1px solid var(--tw-line)}
.fig .tw-arch .tw-col>*+*::after,.fig .tw-arch.tw-arch>*+*::after,.fig .tw-arch .tw-col::before{content:"";position:absolute;left:calc(50% - 4px);top:-9px;border:4px solid transparent;border-top:5px solid var(--tw-line);border-bottom:0}
.fig .tw-arch .tw-col{position:relative}
.fig .tw-arch .tw-col::after{top:calc(100% + 4px)}
.fig .tw-arch .tw-col::before{top:calc(100% + 21px)}
.fig .tw-arch.tw-arch>.tw-bar::before,.fig .tw-arch.tw-arch>.tw-bar::after{display:none}
@media(max-width:700px){
  .fig .tw-cols{grid-template-columns:minmax(0,1fr);gap:30px}
  .fig .tw-arch .tw-col::before,.fig .tw-arch .tw-col::after{display:none}
  .fig .tw-arch.tw-arch>.tw-bar::before,.fig .tw-arch.tw-arch>.tw-bar::after{display:block}
}

/* Ablation records: pick a record to see the architecture that set it */
.fig svg .ab-hit{cursor:pointer}
.fig svg .pt.ab-on{fill:var(--fig-accent);stroke:var(--origin-bg);stroke-width:2}
.fig .ab-panel{display:grid;gap:16px;margin-top:20px}
.fig .ab-detail{padding:16px;border:1px solid var(--origin-border);background:var(--origin-bg)}
.fig .ab-d-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.fig .ab-d-kicker{font-size:12.5px;color:var(--origin-muted);font-variant-numeric:tabular-nums}
.fig .ab-d-title{margin-top:2px!important;font-size:16px;line-height:1.3;color:var(--origin-fg)}
.fig .ab-d-stat{text-align:right;white-space:nowrap}
.fig .ab-d-stat b{display:block;font-size:24px;font-weight:400;line-height:1.1;letter-spacing:-.04em;color:var(--origin-fg);font-variant-numeric:tabular-nums}
.fig .ab-d-stat span{font-size:12px;color:var(--origin-muted);font-variant-numeric:tabular-nums}
.fig .ab-d-note{margin-top:8px!important;color:var(--origin-text);text-wrap:pretty}
.fig .ab-arch{display:grid;justify-items:center;margin-top:14px;font-size:12.5px;line-height:1.3;text-align:center}
.fig .ab-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%}
.fig .ab-slot{min-width:0;padding:7px 6px;border:1px solid color-mix(in srgb,var(--origin-accent) 30%,var(--origin-border));background:color-mix(in srgb,var(--origin-accent) 9%,var(--origin-bg))}
.fig .ab-slot span{display:block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--origin-muted)}
.fig .ab-slot b{display:block;margin-top:2px;font-weight:400;color:var(--origin-fg);overflow-wrap:break-word;hyphens:auto}
.fig .ab-slot.is-off{border-style:dashed;border-color:var(--origin-border);background:transparent}
.fig .ab-slot.is-off b{color:var(--origin-muted)}
.fig .ab-slot.is-text{border-style:dashed;background:color-mix(in srgb,var(--origin-fg) 6%,var(--origin-bg))}
.fig .ab-core{position:relative;width:min(100%,300px);margin-top:26px;padding:8px 12px;border:1px solid var(--origin-border);background:var(--origin-panel)}
.fig .ab-core::before{content:"";position:absolute;left:50%;top:-22px;height:16px;border-left:1px solid var(--fig-axis)}
.fig .ab-core::after{content:"";position:absolute;left:calc(50% - 4px);top:-8px;border:4px solid transparent;border-top:5px solid var(--fig-axis);border-bottom:0}
.fig .ab-core b{font-weight:400;font-size:14px;color:var(--origin-fg)}
.fig .ab-core span{margin-left:6px;color:var(--origin-muted)}
.fig .ab-train{margin-top:10px!important;color:var(--origin-text)}
.fig .ab-train span{color:var(--origin-muted)}
.fig .ab-arch .is-changed{border-color:var(--fig-accent);box-shadow:inset 0 0 0 1px var(--fig-accent)}
.fig .ab-train.is-changed{box-shadow:none;color:var(--fig-accent)}
.fig ol.ab-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(12,auto);grid-auto-flow:column;column-gap:20px;margin:0;padding:0;list-style:none}
.fig .ab-list li{margin:0;padding:0}
.fig .ab-list li::before,.fig .ab-list li::marker{content:none}
.fig .ab-item{appearance:none;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:baseline;width:100%;padding:6px 8px;border:0;border-bottom:1px solid var(--origin-border);background:transparent;text-align:left;font-size:13px;line-height:1.35;color:var(--origin-text);cursor:pointer}
.fig .ab-item:hover{background:var(--origin-bg)}
.fig .ab-item[aria-pressed="true"]{background:color-mix(in srgb,var(--fig-accent) 9%,var(--origin-bg));color:var(--origin-fg);box-shadow:inset 2px 0 0 var(--fig-accent)}
.fig .ab-item:focus-visible{outline:2px solid var(--origin-accent);outline-offset:-2px}
.fig .ab-n{color:var(--origin-muted);font-variant-numeric:tabular-nums}
.fig .ab-mse{font-variant-numeric:tabular-nums;color:var(--origin-fg)}
@media(max-width:640px){
  .fig ol.ab-list{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row;max-height:320px;overflow-y:auto;border-top:1px solid var(--origin-border)}
}
@media(max-width:480px){
  .fig .ab-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fig .ab-slot:last-child{grid-column:1/-1}
}

/* ChEMBL stats that replace the emoji sitting next to the original plot */
.fig .fig-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.fig .fig-stats div{padding-top:10px;border-top:1px solid var(--origin-border)}
.fig .fig-stats b{display:block;font-size:28px;font-weight:400;letter-spacing:-.04em;color:var(--origin-fg);font-variant-numeric:tabular-nums}
.fig .fig-stats span{color:var(--origin-muted);font-size:13px}

/* Pull quote for the post's key claims */
.origin-prose blockquote.pull-quote{margin:40px 0;padding:4px 0 4px 24px;border-left:2px solid var(--origin-accent)}
.origin-prose blockquote.pull-quote p{margin:0;font:400 clamp(1.25rem,2.4vw,1.5rem)/1.4 var(--origin-heading-font,"Origin IBM Plex Sans",Arial,sans-serif);letter-spacing:-.02em;color:var(--origin-fg);text-wrap:balance}

.fig{--fig-bad:#c4352b}
/* Held-out loss: Datawell against the CRO data */
.fig svg .hd-line{color:var(--fig-accent)}
.fig svg .hd-line.is-cro{color:var(--fig-bad)}
.fig svg .hd-line .curve{stroke:currentColor;stroke-width:2.5}
.fig svg .hd-dot{fill:currentColor;stroke:var(--origin-panel);stroke-width:1.5}
.fig svg .hd-best{fill:currentColor;stroke:var(--origin-fg);stroke-width:1.2}
.fig svg .hd-tag{font-size:13px;font-weight:600;fill:var(--origin-fg);font-variant-numeric:tabular-nums}
.fig .swatch.is-cro{background:var(--fig-bad)}
/* Rubric viewer: the paper as a scrolling PDF, with each note pinned beside the passage it grades */
.fig .cat-rows{--cat:#2f7d4f;--cat-fill:rgb(47 125 79 / .18)}
.fig .cat-crit{--cat:var(--origin-accent);--cat-fill:rgb(23 77 221 / .12)}
.fig .cat-excl{--cat:var(--fig-bad);--cat-fill:rgb(196 53 43 / .1)}
.fig .cat-trap{--cat:#a8700a;--cat-fill:rgb(214 150 20 / .22)}
.fig .cat-ctx{--cat:var(--origin-muted);--cat-fill:rgb(89 105 130 / .1)}
.fig .rub-scroll{height:min(78vh,720px);overflow-y:auto;contain:strict;padding:14px;border:1px solid var(--origin-border);background:color-mix(in srgb,var(--origin-fg) 5%,var(--origin-panel))}
.fig .rub-scroll:focus-visible{outline:2px solid var(--origin-accent);outline-offset:2px}
.fig .rub-pages{display:grid;gap:6px;min-width:0}
.fig .rub-pg{margin:10px 0 0;font-size:12px;color:var(--origin-muted);font-variant-numeric:tabular-nums}
.fig .rub-pg:first-child{margin-top:0}
.fig .rub-page{position:relative;background:#fff;box-shadow:0 1px 2px rgb(0 0 0 / .12),0 6px 22px rgb(0 0 0 / .06)}
.fig .rub-page img{display:block;width:100%;height:auto;margin:0;max-width:none;aspect-ratio:1200/1697;background:#fff}
.fig .rub-mark{appearance:none;position:absolute;padding:0;border:1.5px solid transparent;border-radius:2px;background:var(--cat-fill);opacity:.55;cursor:pointer;transition:opacity .15s,border-color .15s,box-shadow .15s}
.fig .rub-mark.cat-excl{border-style:dashed;border-color:color-mix(in srgb,var(--cat) 35%,transparent)}
.fig .rub-mark.is-on,.fig .rub-mark.is-hot,.fig .rub-mark:hover{opacity:1;border-color:var(--cat);box-shadow:0 0 0 3px var(--cat-fill)}
.fig .rub-mark:focus-visible{outline:2px solid var(--origin-accent);outline-offset:2px}
.fig .rub-badge{position:absolute;left:0;top:0;transform:translate(-55%,-55%);min-width:18px;height:18px;padding:0 4px;border:1.5px solid #fff;border-radius:9px;background:var(--cat);box-shadow:0 1px 3px rgb(0 0 0 / .25);font:500 10px/15px var(--origin-font,Arial,sans-serif);color:#fff;text-align:center;font-variant-numeric:tabular-nums}
.fig .rubric{position:relative}
.fig .rub-dock{position:absolute;z-index:2;left:0;right:0;bottom:0;max-height:46%;overflow-y:auto;overscroll-behavior:contain;padding:10px 16px 12px;border-top:2px solid var(--cat);background:var(--origin-bg);box-shadow:0 -10px 30px rgb(0 0 0 / .12)}
.fig .rub-dock>*{max-width:640px;margin-left:auto;margin-right:auto}
.fig .rub-dock>.rub-crits{margin:8px auto 0}
.fig .rub-dock:empty{display:none}
.fig .rub-dock.is-folded .rub-body,.fig .rub-dock.is-folded .rub-crits{display:none}
.fig .rub-head{display:flex;align-items:center;gap:8px}
.fig .rub-fold{appearance:none;flex:none;width:30px;height:28px;margin:0;padding:0;border:1px solid var(--origin-border);background:var(--origin-panel);font-size:15px;line-height:1;color:var(--origin-fg);cursor:pointer}
.fig .rub-fold:hover:not(:disabled){border-color:var(--origin-fg)}
.fig .rub-fold:disabled{opacity:.35;cursor:default}
.fig .rub-fold:focus-visible{outline:2px solid var(--origin-accent);outline-offset:2px}
/* Room below the last page so every passage can scroll clear of the note. */
.fig .rub-pages{padding-bottom:min(30vh,260px)}
.fig .rub-num{flex:none;min-width:1.4em;font-weight:500;font-size:13px;color:var(--cat);font-variant-numeric:tabular-nums}
.fig .rub-title{flex:1;min-width:0;font:400 15px/1.3 var(--origin-heading-font,"Origin IBM Plex Sans",Arial,sans-serif);letter-spacing:-.01em;color:var(--origin-fg)}
.fig .rub-tag{flex:none;padding:1px 6px;background:var(--cat-fill);font-size:11px;color:var(--cat);white-space:nowrap}
.fig .rub-body{display:grid;gap:7px;margin-top:8px;font-size:13px;line-height:1.5;color:var(--origin-text)}
.fig .rub-body b{font-weight:600;color:var(--origin-fg)}
.fig .rub-body code{padding:0 3px;background:var(--origin-panel);font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;color:var(--origin-fg);overflow-wrap:anywhere}
.fig .rub-body .tbl{overflow-x:auto}
.fig .rub-body table{display:table;width:100%;max-width:none;margin:0;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.fig .rub-body th,.fig .rub-body td{padding:3px 6px;border:0;border-bottom:1px solid var(--fig-grid);text-align:left;vertical-align:top}
.fig .rub-body th{font-weight:400;font-size:11px;color:var(--origin-muted)}
.fig .rub-body td.n{text-align:right;white-space:nowrap}
.fig .rub-body td.eq{font-size:11px;color:var(--origin-muted)}
.fig .rub-crits{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 0;padding:0;list-style:none}
.fig .rub-crits li{margin:0;padding:1px 6px;border:1px solid var(--origin-border);font-size:11px;color:var(--origin-muted)}
.fig .fig-credit{margin:-6px 0 14px;font-size:12px;color:var(--origin-muted);overflow-wrap:anywhere}

/* Perturbation probes: three small scatters side by side */
.fig .pr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fig .pr-name{margin-bottom:6px!important;color:var(--origin-fg)}
.fig .pr-plot{position:relative}
.fig .pr-plot canvas,.fig .pr-plot svg{position:absolute;inset:0}
.fig .pr-plot svg{position:relative}
.fig svg .pr-r{font-size:15px;fill:var(--origin-fg);font-variant-numeric:tabular-nums}
.fig .pr-stats{display:grid;grid-template-columns:auto auto;justify-content:space-between;gap:2px 12px;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--origin-border);font-size:13px}
.fig .pr-stats dt{color:var(--origin-muted)}
.fig .pr-stats dd{margin:0;text-align:right;color:var(--origin-fg);font-variant-numeric:tabular-nums}
@media(max-width:620px){.fig .pr-grid{grid-template-columns:minmax(0,1fr);gap:28px}}

/* Atomwell scaling: loss against data and against model size */
.fig .sc-grid{position:relative;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:28px}
.fig .sc-grid>div{display:flex;flex-direction:column;min-width:0}
.fig .sc-plot{margin-top:auto}
.fig .sc-h{margin-bottom:4px!important;color:var(--origin-fg)}
.fig .sc-sub{margin-bottom:6px!important;font-size:13px;color:var(--origin-muted);font-variant-numeric:tabular-nums}
.fig .sc-note{margin-top:20px!important;padding:2px 0 2px 14px;border-left:2px solid var(--fig-accent);color:var(--origin-text);text-wrap:pretty}
.fig .sc-note b{font-weight:600;color:var(--origin-fg)}
.fig svg .sc-decay{fill:var(--fig-grid)}
.fig svg .sc-line{stroke-width:2}
.fig svg .sc-fit{fill:none;stroke:var(--fig-accent);opacity:.7}
.fig svg .sc-pt{fill:var(--fig-accent);stroke:var(--origin-panel);stroke-width:1.5}
.fig svg .sc-tag{font-size:13px}
@media(max-width:700px){.fig .sc-grid{grid-template-columns:minmax(0,1fr)}}

/* Fang et al. comparison: before/after dumbbells and evidence-conflict splits */
.fig .bm-grid{display:grid;gap:28px}
.fig .bm-axis{display:grid;grid-template-columns:190px minmax(0,1fr) 110px;column-gap:14px;margin:10px 0 2px;font-size:11.5px;color:var(--origin-muted)}
.fig .bm-axis span:nth-child(1){grid-column:2;justify-self:start}
.fig .bm-axis span:nth-child(2){grid-column:2;justify-self:center}
.fig .bm-axis span:nth-child(3){grid-column:2;justify-self:end}
.fig .bm-axis span{grid-row:1}
.fig .bm-row{display:grid;grid-template-columns:190px minmax(0,1fr) 110px;gap:14px;align-items:center;padding:8px 0;border-top:1px solid var(--origin-border)}
.fig .bm-name{font-size:12.5px;line-height:1.3;color:var(--origin-muted)}
.fig .bm-name b{display:block;font-weight:400;font-size:13.5px;color:var(--origin-fg)}
.fig .bm-val{text-align:right;font-size:12.5px;color:var(--origin-text);font-variant-numeric:tabular-nums;white-space:nowrap}
.fig .bm-track{position:relative;height:14px;background:linear-gradient(var(--fig-grid),var(--fig-grid)) center/100% 1px no-repeat}
.fig .bm-track i{position:absolute;top:50%;transform:translate(-50%,-50%)}
.fig .bm-link{left:min(var(--a),var(--b))!important;width:calc(max(var(--a),var(--b)) - min(var(--a),var(--b)));height:2px;transform:translateY(-50%)!important;background:var(--fig-axis);transition:left .9s var(--fig-ease),width .9s var(--fig-ease)}
.fig .bm-dot{width:10px;height:10px;border-radius:50%}
.fig .bm-dot.is-intact{left:var(--a);background:var(--origin-bg);border:1.6px solid var(--fig-ink)}
.fig .bm-dot.is-shuffled{left:var(--b);background:var(--fig-ink);transition:left .9s var(--fig-ease)}
.fig .bm-row.is-hl .bm-dot.is-shuffled{background:var(--fig-accent)}
.fig .bm-row.is-hl .bm-dot.is-intact{border-color:var(--fig-accent)}
.fig .bm-row.is-hl .bm-name b{color:var(--fig-accent)}
.fig.is-pending .bm-dot.is-shuffled{left:var(--a)}
.fig.is-pending .bm-link{width:0}
@media(max-width:600px){.fig .bm-row,.fig .bm-axis{grid-template-columns:120px minmax(0,1fr) 92px;gap:8px}}

/* Boltz-2 and Nesso-1 comparison: one small bar panel per metric */
.fig .cb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fig .cb-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;height:200px;margin-top:10px;border-bottom:1px solid var(--fig-axis)}
.fig .cb-bar{position:relative;height:var(--h);min-height:2px;transition:height .9s var(--fig-ease)}
.fig.is-pending .cb-bar{height:0}
.fig .cb-bar b{white-space:nowrap;position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);font-weight:400;font-size:12.5px;color:var(--origin-fg);font-variant-numeric:tabular-nums}
.fig .cb-bar span{position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%);font-size:11.5px;color:var(--origin-muted);white-space:nowrap}
.fig .cb-bar.is-b,.fig .cb-sw.is-b{background:var(--fig-axis)}
.fig .cb-bar.is-n,.fig .cb-sw.is-n{background:color-mix(in srgb,var(--fig-accent) 40%,var(--origin-panel))}
.fig .cb-bar.is-a,.fig .cb-sw.is-a{background:var(--fig-accent)}
.fig .cb-sw{height:10px}
.fig .cb-delta{margin-top:30px!important;font-size:12.5px;color:var(--origin-muted);font-variant-numeric:tabular-nums}
.fig .cb-delta b{font-weight:400;color:var(--origin-fg)}
@media(max-width:640px){.fig .cb-grid{grid-template-columns:minmax(0,1fr);gap:28px}.fig .cb-bars{height:150px}}

#fig-chembl .fig-shot-open{border:0;background:transparent}
#fig-chembl .fig-shot-open img{background:transparent}

/* Midwit meme under the TL;DR */
.fig img.mw-img{display:block;width:100%;height:auto;background:#fff}

/* Margin notes. Inline under their paragraph until figures.js moves them into the right margin. */
.origin-prose .sn-ref{font-size:.62em;line-height:0;vertical-align:super;margin-left:.08em}
.origin-prose .sn-ref a{color:var(--origin-accent);text-decoration:none;font-variant-numeric:tabular-nums;padding:0 .12em;border-radius:3px;transition:background-color .2s}
.origin-prose .sn-ref.is-lit a{background:color-mix(in srgb,var(--origin-accent) 14%,transparent)}
.origin-prose .sidenote{position:relative;margin:-.6em 0 2em;padding-left:1.5em;font-size:.875rem;line-height:1.55;color:var(--origin-muted);transition:color .25s}
.origin-prose .sidenote p{margin:0 0 .7em;line-height:inherit}
.origin-prose .sidenote p:last-child{margin-bottom:0}
.origin-prose .sidenote .sn-num{position:absolute;left:0;font-variant-numeric:tabular-nums;color:var(--origin-muted);transition:color .25s}
.origin-prose .sidenote.is-lit{color:var(--origin-text)}
.origin-prose .sidenote.is-lit .sn-num{color:var(--origin-accent)}
.origin-prose.has-margin-notes{position:relative}
.origin-prose.has-margin-notes .sidenote{position:absolute;margin:0}
.origin-article-contents{transition:opacity .2s ease,visibility 0s linear 0s}
.origin-article-contents.is-tucked{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}
@media(max-width:700px){
  .fig.fig-panel{padding:18px 14px 14px}
  .fig .fig-title{font-size:18px}
  .fig .fig-stats{grid-template-columns:1fr}
  .fig .fig-stats b{font-size:24px}
  .fig .rub-scroll{padding:8px}
}

.origin-prose figure.fig-panel#fig-rubric{padding-bottom:0}
.fig#fig-rubric .rub-scroll{border-bottom:0}
/* Printing: drop the site chrome and the controls, keep figures whole */
@media print{
  body.origin-reading::before{display:none!important}
  .skip-link,.origin-review-tools,.origin-font-controls,.origin-article-contents,.fig .fig-button,.fig .fig-shot-bar{display:none!important}
  .origin-document-brand,.origin-document-back{position:absolute!important}
  .origin-prose figure.fig{margin:28px 0;break-inside:avoid}
  .origin-prose :is(h2,h3){break-after:avoid}
  .origin-prose blockquote.pull-quote,.origin-prose .sidenote{break-inside:avoid}
}
