/* MARTINI — minimal research editorial, static GitHub Pages */
:root{--ink:#15191f;--secondary:#515a66;--muted:#767e8a;--line:#e6e9ed;--soft:#f6f7f9;--accent:#315ad7;--accent-soft:#ecf1ff;--page:1080px;--reading:870px;--sans:Inter,"Helvetica Neue",Arial,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:#fff;font:400 16px/1.62 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;display:block}strong{font-weight:660}p{margin:0 0 15px}h1,h2,h3{letter-spacing:-.043em;line-height:1.13;font-weight:650;margin:0}h2{font-size:clamp(29px,3.3vw,42px)}h3{font-size:23px}::selection{background:#dfe8ff;color:#1b3276}.page-width{max-width:calc(var(--page) + 56px);padding:0 28px;margin:0 auto}.skip-link{position:absolute;top:-50px;left:20px;z-index:10;background:#fff;color:#111;padding:10px}.skip-link:focus{top:10px}
/* Navigation */
.nav-shell{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:780;letter-spacing:-.055em;font-size:22px;line-height:1}.brand-dot{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:35px;margin-left:auto}.nav-links a{font-size:13px;font-weight:590;color:#50545d;transition:color .2s}.nav-links a:hover,.text-link:hover,.footer a:hover{color:var(--accent)}.nav-paper{border:1px solid #cdd2d9;border-radius:8px;font-size:13px;font-weight:650;padding:9px 14px;white-space:nowrap;transition:border-color .2s}.nav-paper:hover{border-color:var(--accent);color:var(--accent)}
/* Hero */
.hero{padding-top:83px;padding-bottom:84px}.hero-meta{display:flex;align-items:center;gap:13px;color:#737b85;letter-spacing:.12em;font-size:11px;font-weight:750}.meta-divider{height:3px;width:3px;background:#a8adb5;border-radius:50%}.hero h1{margin:20px 0 6px;max-width:970px;font-size:clamp(51px,6.7vw,93px);letter-spacing:-.072em;line-height:1.02}.hero-period{color:var(--accent)}.subtitle{font-size:clamp(22px,2.25vw,30px);font-weight:500;letter-spacing:-.035em;color:#555d68;line-height:1.34;margin-top:15px}.summary{max-width:800px;margin:32px 0 24px;font-size:20px;line-height:1.57;color:#454e5a;letter-spacing:-.012em}.hero-authors{max-width:860px;font-size:12.5px;line-height:1.7;color:#7b838c}.hero-actions{display:flex;align-items:center;gap:29px;margin-top:30px}.primary-link{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:#1c2027;border:1px solid #1c2027;border-radius:8px;color:#fff;font-size:13.5px;font-weight:650;padding:12px 20px;min-height:44px;transition:background .2s,transform .2s}.primary-link:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.text-link{display:inline-flex;align-items:center;gap:15px;font-weight:640;font-size:13.5px;background:none;border:0;padding:10px 0;white-space:nowrap}
/* Main sections */
.section{padding-top:83px;padding-bottom:88px;border-top:1px solid var(--line)}.section-heading{max-width:940px}.eyebrow,.number-label,.math-label,.diagram-kicker,.result-tag,.plot-label,.theorem-index{display:block;font-weight:735;font-size:11px;letter-spacing:.085em;line-height:1.4;color:#747c88}.eyebrow{color:var(--accent);margin-bottom:17px}.section-heading h2{max-width:940px}.section-intro,.body-lead{max-width:860px;font-size:17px;color:#56606c;line-height:1.75;letter-spacing:-.006em;margin:20px 0 31px}.body-lead{font-size:18px}.math-label{color:#626a75}.target-math{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:9px;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--soft);margin:30px 0 34px;padding:25px 27px}.target-math>div{min-width:0}.large-math{font-size:1.05rem;max-width:100%;overflow-x:auto;white-space:nowrap}.target-math .MathJax{max-width:100%}.math-arrow{color:#a0a7b4;text-align:center;font-size:32px}.target-math mjx-container[display="true"]{margin:15px 0 0!important}.target-math svg{max-width:100%}
/* Method visual */
.flow-diagram{display:grid;grid-template-columns:1fr 40px 1.06fr 40px 1.1fr;align-items:stretch;gap:10px;margin:20px 0 31px}.diagram-source,.diagram-mix,.diagram-end{min-height:150px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:19px 18px;display:flex;flex-direction:column;justify-content:center}.diagram-mix{border-color:#bdcaff;background:#f4f7ff}.diagram-arrow{display:flex;align-items:center;justify-content:center;color:#b5bbc5;font-size:30px}.diagram-kicker{color:#79838e;font-size:10px;letter-spacing:.07em;margin-bottom:15px}.proxy-stacks{display:flex;flex-wrap:wrap;gap:5px}.proxy-stacks span{border:1px solid #dfe3e9;background:#fafafa;border-radius:6px;font-size:12px;padding:4px 8px;color:#3d4651}.diagram-mix strong,.diagram-end strong{font-weight:690;line-height:1.34;font-size:22px}.diagram-mix small,.diagram-end small{font-size:12px;color:#737d89;line-height:1.55;margin-top:13px}.objectives{display:grid;grid-template-columns:1fr 1fr;gap:18px}.objective{border-top:1px solid #dfe3ea;padding:20px 10px 12px 0;min-width:0}.objective .number-label{color:var(--accent)}.objective h3{font-size:18px;letter-spacing:-.02em;margin:9px 0 13px}.equation{overflow-x:auto;overflow-y:hidden;min-width:0}.eq-fit{font-size:.86rem;line-height:1.6;color:#293240}.eq-fit mjx-container[display="true"]{margin:10px 0!important}
/* Theory */
.theory-section{background:#f8f9fb;border-color:transparent}.theory-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:34px 0 19px}.theorem-card{border:1px solid #e1e5eb;background:#fff;border-radius:10px;padding:27px 27px 21px;min-width:0}.theorem-index{color:var(--accent);margin-bottom:15px}.theorem-index span{color:#697484}.theorem-card h3{font-size:20px;letter-spacing:-.027em;margin-bottom:20px}.theory-equation{font-size:.99rem;min-height:59px}.theorem-second{font-size:.77rem;min-height:86px}.theorem-card p{border-top:1px solid #e9ecf0;margin:16px 0 0;padding-top:17px;font-size:13px;color:#66707c;line-height:1.68}.theorem-card mjx-container[display="true"]{margin:8px 0!important}.theory-bottom{border-top:1px solid #e4e8ee;padding-top:18px}.theory-bottom>p:first-child{font-size:14px;line-height:1.77;color:#3e4852;margin-bottom:9px}.footnote{font-size:12px;color:#7f8893;line-height:1.7;margin:0}
/* Toy slider */
.toy-section .section-intro{max-width:780px}.toy-widget{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:39px;align-items:center;margin:28px 0 12px;padding:24px 32px 28px;border:1px solid var(--line);border-radius:12px;background:#fff}.toy-main{min-width:0}.toy-image-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#626b78;letter-spacing:.075em;font-size:10px;font-weight:760;margin:0 0 11px}.toy-comparison{width:100%;position:relative;aspect-ratio:1/1;max-width:434px;overflow:hidden;background:#120e1d;border-radius:4px;isolation:isolate;touch-action:pan-y;cursor:ew-resize}.toy-comparison img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}.toy-comparison .toy-selected{clip-path:inset(0 0 0 var(--split));z-index:2}.toy-handle{position:absolute;top:0;bottom:0;left:var(--split);z-index:3;width:2px;transform:translateX(-1px);background:#fff;box-shadow:0 0 3px rgba(0,0,0,.5);pointer-events:none}.toy-handle span{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:39px;height:39px;transform:translate(-50%,-50%);background:#fff;color:#1e2430;border-radius:50%;box-shadow:0 3px 16px #0005;white-space:nowrap;font-size:22px;letter-spacing:-.08em}.toy-comparison input{position:absolute;z-index:5;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize}.toy-aside h3{font-size:26px;letter-spacing:-.043em;margin:9px 0 19px}.toy-choices{display:flex;flex-wrap:wrap;gap:7px}.choice,.animal{border:1px solid #dce1e7;border-radius:7px;background:#fff;color:#59636d;font-weight:570;font-size:13px;padding:9px 13px;transition:background .18s,border .18s,color .18s}.choice:hover,.animal:hover{border-color:#869ac8;color:#273a67}.choice.active{background:#edf2ff;color:var(--accent);border-color:#b5c5ff;font-weight:690}.toy-metrics{display:flex;align-items:center;gap:40px;margin:29px 0 24px}.toy-metrics>div{display:flex;flex-direction:column;gap:5px}.toy-metrics span{font-size:10px;color:#7b8490;font-weight:750;letter-spacing:.065em}.toy-metrics strong{font-size:39px;font-weight:650;letter-spacing:-.07em;line-height:1.05}.toy-note{font-size:13px;color:#77818c;line-height:1.72;margin:0}.figure-note{font-size:11.5px;color:#818a94;line-height:1.75;margin:12px 0 0}
/* Results */
.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:32px}.result-card{border-top:2px solid #d4dae4;padding:19px 13px 12px 0}.result-tag{color:#626d7c;font-size:10px}.result-number{font-size:clamp(40px,4.3vw,62px);font-weight:650;line-height:1.2;letter-spacing:-.078em;margin-top:14px;font-variant-numeric:tabular-nums}.result-number span{font-size:.42em;color:var(--accent);font-weight:650;letter-spacing:-.03em}.result-card h3{font-size:16px;letter-spacing:-.02em;margin:7px 0 8px}.result-card p{font-size:12.5px;color:#717b86;line-height:1.7;margin:0;max-width:315px}
/* Animal gallery */
.gallery-section{padding-top:79px}.gallery-header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:21px}.gallery-header h3{font-size:29px}.gallery-header .eyebrow{margin-bottom:11px}.gallery-header p{font-size:12.5px;max-width:315px;color:#7b8490;line-height:1.66;margin:0}.gallery-picks{display:flex;gap:8px;flex-wrap:wrap;margin:19px 0 19px}.animal{display:inline-flex;align-items:center;gap:9px;padding:6px 13px 6px 6px;border-radius:8px;font-size:12.5px}.animal img{width:32px;height:32px;object-fit:cover;border-radius:4px}.animal.active{background:#edf2ff;color:#274fbd;border-color:#aac0fa;font-weight:700}.gallery-stage{border:1px solid #e6e8ec;background:#fff;border-radius:10px;padding:16px 16px 18px}.gallery-prompt{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;padding:1px 0 15px}.gallery-prompt span{font-size:10px;letter-spacing:.06em;font-weight:720;color:#8b929c}.gallery-prompt strong{font-weight:560;font-size:15px;color:#293241}.gallery-grid{display:grid;gap:6px}.gallery-row{display:grid;grid-template-columns:104px repeat(4,minmax(0,1fr));gap:6px;align-items:stretch}.gallery-row-label{display:flex;align-items:center;padding:0 9px;font-weight:650;letter-spacing:-.012em;font-size:12px;color:#4e5864}.gallery-row.is-martini .gallery-row-label{color:var(--accent);background:#f3f6ff;border-radius:5px}.gallery-thumb{display:block;position:relative;border:0;padding:0;overflow:hidden;background:#eef0f2;min-width:0;aspect-ratio:1/1;border-radius:3px}.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s,filter .25s}.gallery-thumb:hover img{transform:scale(1.055);filter:contrast(1.04)}.gallery-thumb:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
/* Figures below gallery */
.more-results{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;border-top:1px solid var(--line);padding-top:34px;margin-top:65px}.more-results>div{min-width:0}.plot-label{margin-bottom:17px;color:#747d89;font-size:10px}.language-plot img{width:100%;background:#fff}.protein-plot img{width:100%;max-height:340px;object-fit:contain;object-position:center top}.protein-results-line{display:flex;align-items:center;gap:17px;margin:10px 0}.protein-results-line strong{font-size:37px;letter-spacing:-.08em;line-height:1}.protein-results-line span{font-size:11px;line-height:1.55;color:#65717d}.more-results .figure-note{margin-top:15px;max-width:550px}
/* Closing */
.closing-section{padding-top:76px;padding-bottom:88px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:35px}.closing-section h2{font-size:33px}.closing-section .eyebrow{margin-bottom:12px}.closing-section p{color:#737b85;font-size:14px;max-width:550px;line-height:1.7;margin-top:10px}.closing-links{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.copy-button{white-space:nowrap}.footer{background:#fafafa;border-top:1px solid var(--line)}.footer-inner{min-height:73px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#858d96;font-size:11.5px}.footer-inner a{color:#535e69}
/* Image modal, notification */
.lightbox{position:fixed;padding:47px 20px 20px;max-width:min(94vw,720px);max-height:92vh;min-width:260px;background:white;border:0;border-radius:12px;box-shadow:0 24px 100px #0004;color:#273141}.lightbox::backdrop{background:#151b26ce;backdrop-filter:blur(6px)}.lightbox img{max-height:65vh;max-width:100%;width:auto;margin:0 auto;border-radius:3px}.lightbox #lightbox-title{text-align:center;font-size:12px;margin-top:15px;color:#717b85}.close-lightbox{position:absolute;right:13px;top:6px;background:transparent;border:0;font-size:29px;color:#596270}.toast{position:fixed;z-index:100;bottom:25px;left:50%;transform:translate(-50%,12px);background:#1a202a;color:white;font-size:12px;border-radius:6px;opacity:0;pointer-events:none;padding:10px 16px;transition:opacity .25s,transform .25s}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Accessibility & smaller screens */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #3665f6;outline-offset:4px}
@media(max-width:900px){.hero{padding-top:65px;padding-bottom:67px}.section{padding-top:70px;padding-bottom:73px}.nav-links{gap:17px}.target-math{padding:20px 14px}.large-math{font-size:.9rem}.theorem-card{padding:22px 17px 19px}.theorem-second{font-size:.67rem}.toy-widget{gap:21px;padding:21px}.diagram-source,.diagram-mix,.diagram-end{padding:16px 13px}.flow-diagram{grid-template-columns:1fr 23px 1.1fr 23px 1.1fr;gap:5px}}
@media(max-width:670px){.page-width{padding:0 20px}.nav{height:60px;gap:14px}.brand{font-size:20px}.nav-links{display:none}.nav-paper{margin-left:auto}.hero{padding-top:60px;padding-bottom:63px}.hero h1{font-size:clamp(45px,10.5vw,66px)}.subtitle{font-size:22px}.summary{font-size:17px;margin-top:24px}.hero-authors{font-size:12px}.section{padding-top:61px;padding-bottom:63px}.section-heading h2{font-size:32px}.body-lead,.section-intro{font-size:15.5px;line-height:1.75}.target-math{grid-template-columns:1fr;gap:7px;padding:19px}.target-math>div{padding:3px 0}.math-arrow{transform:rotate(90deg);font-size:23px;line-height:1}.large-math{font-size:1.03rem}.flow-diagram{grid-template-columns:1fr;gap:7px}.diagram-source,.diagram-mix,.diagram-end{min-height:unset;padding:18px}.diagram-kicker{margin-bottom:8px}.diagram-arrow{transform:rotate(90deg);font-size:24px;height:18px}.diagram-mix strong,.diagram-end strong{font-size:21px}.objectives{grid-template-columns:1fr;gap:0}.objective{padding-top:17px}.theory-grid{grid-template-columns:1fr;gap:13px}.theory-equation{min-height:unset}.theorem-second{font-size:.84rem;min-height:unset}.theory-bottom>p:first-child{font-size:13px}.toy-widget{grid-template-columns:1fr;padding:16px;gap:23px}.toy-comparison{max-width:unset}.toy-aside h3{font-size:22px}.toy-metrics{gap:24px;margin:21px 0 14px}.toy-metrics strong{font-size:33px}.result-grid{grid-template-columns:1fr;gap:12px}.result-card{display:grid;grid-template-columns:120px 1fr;column-gap:10px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.result-tag{grid-column:1/-1}.result-number{grid-column:1;font-size:37px;margin-top:7px}.result-card h3{grid-column:2;margin-top:5px;font-size:15px}.result-card p{grid-column:2;font-size:12px}.gallery-section{padding-top:58px}.gallery-header{display:block}.gallery-header h3{font-size:26px}.gallery-header p{margin:12px 0 0}.gallery-picks{gap:6px}.animal img{width:30px;height:30px}.animal{font-size:12px}.gallery-stage{padding:11px 9px}.gallery-row{grid-template-columns:71px repeat(4,minmax(0,1fr));gap:3px}.gallery-row-label{font-size:10px;padding-left:3px}.gallery-grid{gap:4px}.gallery-prompt strong{font-size:13px}.more-results{grid-template-columns:1fr;gap:35px;margin-top:50px}.language-plot img{max-height:290px;object-fit:contain}.protein-plot img{max-height:270px}.closing-section{display:block;padding-top:56px;padding-bottom:56px}.closing-section h2{font-size:30px}.closing-links{margin-top:21px}.footer-inner{padding-top:18px;padding-bottom:18px;gap:4px;min-height:auto;flex-direction:column;align-items:flex-start}}
@media(max-width:420px){.page-width{padding:0 17px}.hero-actions{gap:18px}.hero h1{font-size:44px}.hero .summary{font-size:16px}.large-math{font-size:.84rem}.theorem-second{font-size:.71rem}.theory-equation{font-size:.82rem}.gallery-row{grid-template-columns:63px repeat(4,minmax(0,1fr))}.gallery-row-label{font-size:9px}.animal{padding:4px 8px 4px 4px}.animal img{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-link,.gallery-thumb img,.animal,.choice{transition:none}}
/* Version 3 — compact editorial research page */
.hero{padding-top:67px;padding-bottom:66px}
.hero h1{font-size:clamp(50px,6.25vw,86px);max-width:none;margin-top:16px;line-height:1.11}
.title-emoji{display:inline-block;font-size:.66em;vertical-align:baseline;margin-left:.19em;letter-spacing:0;transform:translateY(-.05em)}
.hero .summary{font-size:18px;max-width:865px;margin-top:23px;margin-bottom:21px}
.hero-authors{max-width:none;display:flex;flex-wrap:wrap;font-size:12.5px;line-height:1.8;gap:0;column-gap:0;color:#657080}
.hero-authors .author-line{white-space:nowrap}
.hero-actions{margin-top:22px}
.section{padding-top:66px;padding-bottom:69px}
.section-intro,.body-lead{margin:15px 0 25px}
.eyebrow{margin-bottom:10px}
.abstract-figure{padding:16px 6px 8px;margin:12px auto 22px;max-width:940px;border:0}
.abstract-figure img{width:100%;height:auto;object-fit:contain}
.abstract-figure figcaption{font-size:11.5px;text-align:center;color:#7b8492;line-height:1.6;margin:8px 0 0}
.target-math{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;background:#fff;border:0;margin:25px 0 8px;padding:0}
.target-math>div{border:1px solid #e6e9ef;border-radius:9px;padding:18px 18px 19px;min-width:0;background:#fbfcfd}
.target-math .math-label{letter-spacing:.075em;font-size:10px}
.target-math .large-math{font-size:1rem}
.math-explainer{max-width:820px;font-size:13px;color:#707a87;line-height:1.68;margin:10px 0 26px}
.objectives{gap:25px;margin-top:10px}
.objective{padding-top:15px}.objective h3{font-size:17px;margin-bottom:9px}.eq-fit{font-size:.81rem}
.theory-section{background:#fff;border-color:var(--line)}
.theory-grid{margin:27px 0 17px;gap:28px}
.theorem-card{background:#fafbfd;border:1px solid #e7eaf0;border-radius:9px;padding:23px 21px 19px}
.theorem-index{margin-bottom:9px}
.theorem-card h3{font-size:18px;margin-bottom:10px}
.theory-equation{font-size:1rem;min-height:56px}
.theorem-card p{border-top:0;margin:0;padding:0;font-size:12.5px;line-height:1.7}
.theory-footnote{margin:0;max-width:1030px;font-size:12.5px;line-height:1.75;color:#6b7583}
.theory-footnote strong{color:#2d3543}
.toy-section .section-intro{max-width:920px}
.toy-widget-new{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,.74fr);gap:28px;align-items:center;border:1px solid #e6eaf0;border-radius:10px;padding:24px 28px;background:#fff}
.toy-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start}
.toy-panel{min-width:0;margin:0}
.toy-panel figcaption{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:25px;font-size:10px;letter-spacing:.085em;color:#737e8c;font-weight:750;margin-bottom:7px}
.toy-panel figcaption span{font-size:14px;letter-spacing:0;color:#28394a}
.toy-panel img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:5px;background:#120f20;border:1px solid #242033}
.toy-controls{padding-left:8px;min-width:0}
.toy-controls label{font-size:10px;margin-bottom:9px}
.toy-controls select{appearance:none;cursor:pointer;border:1px solid #cfd6e1;border-radius:8px;background:linear-gradient(45deg,transparent 50%,#697582 50%) calc(100% - 18px) calc(50% - 2px)/5px 5px no-repeat,linear-gradient(135deg,#697582 50%,transparent 50%) calc(100% - 13px) calc(50% - 2px)/5px 5px no-repeat,#fff;width:100%;padding:12px 29px 12px 12px;font:600 14px/1.4 var(--sans);color:#202b39;min-height:46px}
.toy-controls select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.toy-controls .toy-metrics{margin:24px 0 18px;gap:29px;flex-wrap:wrap}
.toy-controls .toy-metrics strong{font-size:37px}
.toy-controls .toy-metrics span{font-size:9.5px;white-space:nowrap}
.toy-controls .toy-note{font-size:12px}
.gallery-section{padding-top:64px}
.gallery-header{align-items:center}
.protein-examples{border-top:1px solid var(--line);padding-top:56px;margin-top:61px}
.protein-examples .gallery-header{margin-bottom:23px}
.ligand-legend{display:flex;flex-wrap:wrap;gap:15px 20px;font-size:11.5px;color:#6b7684;line-height:1.5}
.ligand-legend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ligand-legend span:before{content:"";width:9px;height:9px;background:#7bbd95;border-radius:100%}
.ligand-legend .legend-martini:before{background:#6d9ac8}
.ligand-legend .legend-baseline:before{background:#c6a88a}
.protein-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}
.protein-card{margin:0;border:1px solid #e8eaf0;border-radius:10px;padding:13px 13px 18px;min-width:0}
.protein-card img{width:100%;height:290px;object-fit:contain;background:#fff;border-radius:6px}
.protein-card figcaption{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:12px;row-gap:4px;padding:10px 6px 0;font-size:12px;color:#657181}
.protein-card figcaption>strong{color:#202733;font-size:15px}
.protein-card figcaption span{white-space:normal}
.protein-card b{font-weight:750;font-size:17px;white-space:nowrap}
.protein-card em{font-weight:400;font-style:normal;color:#9aa1ab;padding:0 2px}
.ligand-blue{color:#558ac1}.ligand-brown{color:#a88361}
.protein-examples>.figure-note{max-width:970px}
@media(min-width:1100px){.hero-authors .author-line{font-size:12.8px}}
@media(max-width:1050px){.hero-authors{display:block}.hero-authors .author-line{display:block}.hero-authors .author-join{display:none}}
@media(max-width:900px){.hero{padding-top:59px;padding-bottom:60px}.section{padding-top:59px;padding-bottom:61px}.target-math{gap:12px}.target-math .large-math{font-size:.85rem}.toy-widget-new{grid-template-columns:1fr;padding:18px}.toy-controls{padding-left:0}.toy-controls .toy-metrics{margin:18px 0 8px}}
@media(max-width:670px){.hero{padding-top:47px;padding-bottom:51px}.hero h1{font-size:clamp(42px,9.2vw,59px)}.title-emoji{font-size:.68em;margin-left:.13em}.hero .summary{font-size:16px;line-height:1.62}.hero-authors{line-height:1.75;font-size:11.5px}.hero-authors .author-line{white-space:normal}.section{padding-top:51px;padding-bottom:54px}.abstract-figure{padding:5px 0;margin:13px auto 14px}.abstract-figure figcaption{text-align:left}.target-math{grid-template-columns:1fr;gap:9px;margin-top:20px}.target-math>div{padding:13px 11px 15px}.target-math .large-math{font-size:.96rem}.math-explainer{font-size:12px}.theory-grid{grid-template-columns:1fr;gap:11px}.theorem-card{padding:18px 15px}.theory-equation{font-size:.98rem;min-height:45px}.toy-widget-new{gap:18px;padding:12px}.toy-images{gap:9px}.toy-panel figcaption{font-size:9px;flex-wrap:wrap;min-height:38px;align-content:center}.toy-panel figcaption span{font-size:13px}.toy-controls select{font-size:13px}.toy-controls .toy-metrics{gap:28px;display:flex}.toy-controls .toy-metrics strong{font-size:32px}.protein-examples{padding-top:42px;margin-top:46px}.protein-grid{grid-template-columns:1fr;gap:12px}.protein-card img{height:270px}.ligand-legend{margin-top:14px}.protein-examples .gallery-header{margin-bottom:16px}}
@media(max-width:420px){.hero h1{font-size:39px}.title-emoji{font-size:.60em}.target-math .large-math{font-size:.86rem}.theory-equation{font-size:.84rem}.toy-panel figcaption{font-size:8px}.toy-panel img{border-radius:3px}}
/* Keep the navigation out of figure screenshots and avoid covering gallery controls. */
.nav-shell{position:relative}
@media(max-width:420px){.hero-authors{font-size:10.2px;letter-spacing:-.023em}.hero-authors .author-line{white-space:nowrap}.title-emoji{font-size:.76em}}
@media(max-width:420px){.hero h1{font-size:clamp(29px,9.05vw,37px)}.title-emoji{font-size:.72em;margin-left:.10em}}
/* Version 4 tweaks */
.title-emoji{font-size:.84em;transform:translateY(-.04em)}
.hero .summary{margin-bottom:14px}
.acronym-line{margin:0 0 18px;font-size:14px;line-height:1.65;color:#596473}
.acronym-line em{font-style:normal;color:#2b3442}
.hero-authors{font-size:14px;line-height:1.82;color:#53606f}
.hero-affiliations{max-width:980px;margin-top:4px;font-size:13.4px;line-height:1.72;color:#818996}
.hero-actions{margin-top:25px}
.objective h3{max-width:30ch}
.theory-callout{margin-top:8px;border:1px solid #e6eaf0;border-radius:10px;background:#fafbfd;padding:18px 18px 16px}
.theory-callout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:10px}
.callout-card{border:1px solid #e8ecf2;border-radius:9px;background:#fff;padding:17px 16px 13px;min-width:0}
.callout-card h3{font-size:17px;letter-spacing:-.025em;margin-bottom:8px}
.mini-equation{font-size:.85rem;color:#253041;min-height:42px}
.callout-card p{font-size:12.5px;color:#65707d;line-height:1.68;margin:0}
.toy-example-switch{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 14px}
.toy-tab{border:1px solid #d9dfe8;border-radius:999px;background:#fff;color:#5a6674;font-size:12.5px;font-weight:620;padding:9px 14px;line-height:1.2;transition:border-color .18s,background .18s,color .18s}
.toy-tab.active{background:#edf2ff;border-color:#b7c7ff;color:#315ad7}
.toy-tab:hover{border-color:#94a7d4;color:#2b3a65}
.toy-example-panel[hidden]{display:none!important}
.toy-example-panel .section-intro{margin-top:0}
.toy-gif-card{margin-top:18px;border:1px solid #e6eaf0;border-radius:10px;padding:15px 15px 12px;background:#fbfcfe}
.toy-gif-card img{width:100%;height:auto;border-radius:6px;border:1px solid #eceff5;background:#0d0b12}
.toy-gif-copy{margin-bottom:10px}
.toy-gif-copy p{font-size:12.5px;color:#687280;line-height:1.7;margin:5px 0 0}
.toy-gif-only{max-width:860px}
@media(max-width:1050px){.hero-affiliations{max-width:850px}.hero-authors{font-size:13.4px}}
@media(max-width:900px){.theory-callout-grid{grid-template-columns:1fr}.callout-card h3{font-size:16px}.mini-equation{min-height:unset}}
@media(max-width:670px){.title-emoji{font-size:.8em}.acronym-line{font-size:12.8px;margin-bottom:14px}.hero-authors{font-size:12.2px;line-height:1.75}.hero-affiliations{font-size:11.4px;line-height:1.65}.toy-example-switch{margin:14px 0 10px}.toy-tab{font-size:11.5px;padding:8px 11px}.toy-gif-card{margin-top:14px;padding:10px}.toy-gif-copy p{font-size:11.8px}.theory-callout{padding:14px 13px 12px}}
@media(max-width:420px){.title-emoji{font-size:.86em}.hero-authors{font-size:10.9px;line-height:1.72}.hero-affiliations{font-size:10.2px}.acronym-line{font-size:11.8px}}

/* Version 5 — author credits with numbered affiliations */
.hero-authors{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:23px;max-width:none;color:#1d2633;font-size:17px;font-weight:625;line-height:1.65;letter-spacing:-.015em}
.hero-authors .author-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 20px;white-space:normal;font-size:inherit}
.hero-authors .author-item{display:inline-block;white-space:nowrap}
.hero-authors .author-item sup{position:relative;top:-.22em;margin-left:2px;font-size:.6em;font-weight:670;line-height:0;color:#47608a;letter-spacing:0}
.hero-affiliations{display:flex;flex-direction:column;gap:1px;max-width:none;margin-top:11px;color:#646e7c;font-size:13.1px;line-height:1.75;letter-spacing:0}
.hero-affiliations .affiliation-line{display:flex;flex-wrap:wrap;gap:2px 19px}
.hero-affiliations .affiliation-line span{white-space:nowrap}
.hero-affiliations sup{font-size:.78em;vertical-align:super;margin-right:4px;color:#46566a;font-weight:700;line-height:0}
.joint-last-note{font-size:11.5px;line-height:1.45;color:#7e8792;margin:7px 0 0}
.hero-actions{margin-top:21px}
.theory-callout{padding-bottom:14px}
@media(max-width:1050px){.hero-authors{display:flex;font-size:16px}.hero-authors .author-line{display:flex}.hero-affiliations{font-size:12.6px}}
@media(max-width:670px){.hero-authors{font-size:15px;gap:5px;line-height:1.62}.hero-authors .author-line{column-gap:13px;row-gap:1px}.hero-affiliations{font-size:11.7px;gap:1px}.hero-affiliations .affiliation-line{gap:1px 12px}.joint-last-note{font-size:10.5px;margin-top:8px}}
@media(max-width:420px){.hero-authors{font-size:14px}.hero-authors .author-line{display:flex;flex-wrap:wrap;gap:1px 12px}.hero-authors .author-item{white-space:nowrap}.hero-affiliations{font-size:11px}.hero-affiliations .affiliation-line span{white-space:normal}.hero-affiliations .affiliation-line{gap:1px 9px}}
/* Version 6 — compact interactive experiment and more consistent wide-screen typography */
.hero .summary{margin-bottom:0}
.hero-authors{margin-top:23px}
.body-lead{max-width:1030px}
.body-lead strong{font-weight:730;color:#283242}
.theory-callout{padding:16px 17px 13px}
.callout-card{padding:15px 16px 13px}
.callout-card p{font-size:13px;line-height:1.6}
.theory-callout-grid{gap:14px}
.theory-grid{margin-bottom:14px}
.toy-section .section-intro{margin:15px 0 23px;max-width:960px}
.toy-scrubber{grid-template-columns:minmax(0,1.92fr) minmax(225px,.69fr);gap:18px 23px;padding:21px 24px 18px;align-items:center}
.toy-images{gap:15px}
.toy-panel figcaption{min-height:26px}
.toy-evolution{width:100%;aspect-ratio:1;display:block;border-radius:5px;background-size:600% 600%;background-repeat:no-repeat;background-color:#0d0b14;border:1px solid #242033}
.toy-scrubber .toy-controls{padding-left:0}
.toy-scrubber .toy-controls .toy-metrics{margin:18px 0 11px;gap:23px}
.toy-scrubber .toy-controls .toy-metrics strong{font-size:33px}
.toy-scrubber .toy-note{font-size:11.4px;line-height:1.62}
.view-switch{display:flex;align-items:center;gap:0;margin-top:14px;width:max-content;border:1px solid #d8dfe8;border-radius:8px;padding:3px;background:#f7f8fa}
.toy-view{padding:5px 12px;border:0;background:transparent;color:#606c79;border-radius:5px;font-size:11.5px;font-weight:680}
.toy-view.active{background:#fff;color:#2c54ca;box-shadow:0 1px 5px #17213814}
.toy-view:focus-visible{outline:2px solid #315ad7;outline-offset:2px}
.toy-timeline{grid-column:1/-1;border-top:1px solid #e6eaf0;padding-top:12px;min-width:0}
.timeline-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:5px}
.timeline-top label{margin:0;color:#65707c}
.timeline-top output{font-size:14px;font-weight:700;letter-spacing:.005em;color:#293448;white-space:nowrap}
.toy-timeline input[type=range]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:22px;margin:0;cursor:pointer;background:transparent}
.toy-timeline input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:100px;background:#dbe4fa}
.toy-timeline input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-6.5px;width:18px;height:18px;border-radius:50%;border:3px solid #fff;background:#315ad7;box-shadow:0 1px 7px #10265244}
.toy-timeline input[type=range]::-moz-range-track{height:5px;border-radius:100px;background:#dbe4fa}
.toy-timeline input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;border:3px solid #fff;background:#315ad7;box-shadow:0 1px 7px #10265244}
.toy-timeline input[type=range]:focus-visible{outline:2px solid #315ad7;outline-offset:4px;border-radius:5px}
.timeline-ticks{display:flex;justify-content:space-between;gap:4px;color:#8b949f;font-size:10.5px;margin-top:0;font-variant-numeric:tabular-nums}
.protein-examples{padding-top:40px;margin-top:46px}
.protein-grid{gap:16px}
.protein-card{padding:9px 10px 13px}
.protein-card img{height:208px}
.protein-card figcaption{padding:5px 8px 0}
.protein-examples .gallery-header{margin-bottom:14px}
@media(min-width:1000px){
 .objective h3{white-space:nowrap;max-width:none;font-size:16.5px}
 .hero-affiliations .affiliation-line{flex-wrap:nowrap}
 .hero-authors .author-line{flex-wrap:nowrap}
}
@media(max-width:900px){
 .toy-scrubber{grid-template-columns:1fr;gap:15px;padding:16px}
 .toy-images{max-width:680px;width:100%;margin:0 auto}
 .toy-timeline{margin-top:5px}
 .toy-scrubber .toy-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;align-items:start}
 .toy-scrubber .toy-controls label{grid-column:1}
 .toy-scrubber .toy-controls select{grid-column:1}
 .view-switch{grid-column:2;grid-row:2;margin:4px 0 0}
 .toy-scrubber .toy-controls .toy-metrics{grid-column:1/-1;margin:7px 0 0}
 .toy-scrubber .toy-note{grid-column:1/-1}
}
@media(max-width:670px){
 .toy-scrubber{padding:12px;gap:14px}
 .toy-images{gap:9px}
 .toy-scrubber .toy-controls{grid-template-columns:1fr 1fr}
 .toy-scrubber .toy-controls select{min-height:42px}
 .toy-scrubber .toy-controls .toy-metrics strong{font-size:29px}
 .toy-scrubber .toy-note{font-size:11.2px}
 .view-switch{margin-top:3px}
 .toy-view{padding:5px 9px;font-size:11px}
 .protein-card img{height:205px}
}
@media(max-width:420px){
 .toy-scrubber .toy-controls .toy-metrics{gap:20px}
 .toy-scrubber .toy-controls .toy-metrics strong{font-size:30px}
 .toy-scrubber .toy-controls .toy-metrics span{font-size:9px}
}
/* Version 7 — high-resolution, two-example steering explorer */
.toy-section .section-intro{margin:12px 0 19px;max-width:1020px;line-height:1.68}
.toy-example-switch{margin:23px 0 13px;gap:9px}
.toy-tab{font-size:13px;padding:10px 15px}
.toy-research-widget{border:1px solid #e4e8ef;border-radius:13px;background:#fff;padding:23px 25px 19px}
.toy-widget-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:19px}
.toy-method-choice{min-width:210px;max-width:335px;flex:1}
.toy-method-choice label{margin-bottom:9px}
.toy-method-choice select{display:block;min-height:43px;width:100%;background:#fff;color:#263140;border-radius:8px;border:1px solid #cdd5e0;font:600 14px var(--sans);padding:10px 12px;cursor:pointer}
.toy-final-metrics{display:flex;align-items:end;gap:41px;margin:0!important;flex-wrap:wrap}
.toy-final-metrics>div{display:flex;flex-direction:column;gap:0}
.toy-final-metrics strong{font-size:35px!important;letter-spacing:-.055em}
.toy-three-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.toy-frame{margin:0;min-width:0}
.toy-frame figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:720;letter-spacing:.055em;color:#737c88;font-size:10px;min-height:28px;margin:0 0 7px}
.toy-frame figcaption strong{font-size:15px;letter-spacing:0;color:#354054}
.toy-frame img,.toy-animated-tile{width:100%;aspect-ratio:1;display:block;border:1px solid #26253a;border-radius:4px;background:#09070f;object-fit:cover}
.toy-animated-tile{background-size:800% 1100%;background-repeat:no-repeat;background-color:#070509}
.toy-playbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center;border-top:1px solid #eaedf1;margin-top:20px;padding-top:17px}
.toy-play-btn{display:flex;align-items:center;justify-content:center;gap:9px;min-width:110px;border:1px solid #d0d9e5;color:#2b3b59;background:#fbfcff;border-radius:9px;padding:10px 13px;font-weight:670;font-size:12.5px;line-height:1.4;transition:border-color .2s,background .2s}
.toy-play-btn:hover{background:#eff3ff;border-color:#a5b9e5}
.toy-play-btn:focus-visible,.toy-tab:focus-visible{outline:2px solid #315ad7;outline-offset:3px}
.toy-scrub-control{min-width:0}
.toy-scrub-label{display:flex;justify-content:space-between;align-items:center;gap:15px}
.toy-scrub-label label{margin-bottom:5px;font-size:10px}
.toy-scrub-label output{font-size:13px;font-weight:710;font-variant-numeric:tabular-nums;color:#324661}
.toy-scrub-control input[type=range]{display:block;width:100%;accent-color:#315ad7;cursor:pointer;margin:2px 0 0}
.toy-time-ends{display:flex;justify-content:space-between;color:#868f9e;font-size:10px;line-height:1.2;font-variant-numeric:tabular-nums;margin:0}
.toy-annotation{color:#7b8590;font-size:11.8px;line-height:1.6;margin:13px 0 0}
.toy-annotation strong{color:#566374}
@media(min-width:1200px){.toy-research-widget{padding-left:31px;padding-right:31px}.toy-three-panels{gap:22px}}
@media(max-width:760px){.toy-widget-controls{gap:16px}.toy-final-metrics{gap:20px}.toy-final-metrics strong{font-size:30px!important}}
@media(max-width:670px){
 .toy-example-switch{margin:18px 0 12px}.toy-tab{font-size:11.5px;padding:9px 11px}
 .toy-section .section-intro{font-size:14.5px;line-height:1.72}
 .toy-research-widget{padding:14px 12px 13px}
 .toy-widget-controls{align-items:center;gap:8px}
 .toy-method-choice{min-width:0;flex:1;max-width:200px}
 .toy-method-choice select{font-size:12px;min-height:41px;padding:8px 9px}
 .toy-final-metrics{gap:12px;flex-wrap:nowrap}
 .toy-final-metrics span{font-size:8px!important;white-space:nowrap}
 .toy-final-metrics strong{font-size:26px!important}
 .toy-three-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .toy-frame figcaption{font-size:9px;min-height:22px}.toy-frame figcaption strong{font-size:12px}
 .toy-frame-target{order:1}.toy-frame-density{order:2}
 .toy-frame-particles{order:3;grid-column:1/-1;max-width:295px;width:100%;margin:0 auto}
 .toy-playbar{gap:13px;margin-top:14px;padding-top:13px}
 .toy-play-btn{min-width:68px;font-size:11px;padding:8px 6px;gap:5px}
 .toy-annotation{font-size:11px}
}
@media(max-width:390px){.toy-widget-controls{display:grid;grid-template-columns:1fr 1fr}.toy-method-choice{max-width:none}.toy-final-metrics{justify-content:end}.toy-final-metrics strong{font-size:23px!important}}

/* Version 8: focused evidence and editorial restraint */
.result-card{padding-bottom:8px}
.result-card h3{margin:5px 0 9px}
.result-card p.result-comparator{margin:0;font-size:12.3px;font-weight:540;line-height:1.5;color:#b04350;letter-spacing:-.01em;max-width:none}
.result-card p.result-comparator strong{color:#a33140;font-weight:800;font-size:13.5px}
.gallery-stage{max-width:790px}
.gallery-row{grid-template-columns:106px repeat(2,minmax(0,1fr));gap:8px}
.gallery-grid{gap:8px}
.gallery-thumb{aspect-ratio:1/1}
.gallery-header p{font-size:12px}
.protein-examples .protein-grid{margin-bottom:0}
@media(max-width:670px){
 .result-card{grid-template-columns:130px 1fr;gap:0 10px}
 .result-card h3{grid-column:2;grid-row:2}
 .result-card p.result-comparator{grid-column:1/-1;margin:4px 0 0;font-size:11.6px}
 .result-card p.result-comparator strong{font-size:12.4px}
 .gallery-stage{max-width:none}
 .gallery-row{grid-template-columns:70px repeat(2,minmax(0,1fr));gap:5px}
 .gallery-grid{gap:5px}
}
@media(max-width:420px){.gallery-row{grid-template-columns:62px repeat(2,minmax(0,1fr))}}
@media(max-width:670px){
 .result-card{grid-template-columns:144px minmax(0,1fr)}
 .result-card .result-number{font-size:33px;white-space:nowrap;line-height:1.1}
 .result-card h3{font-size:14px;align-self:center;margin:0}
}
@media(max-width:370px){
 .result-card{grid-template-columns:130px minmax(0,1fr)}
 .result-card .result-number{font-size:30px}
}

/* V9: concise technical tutorial */
.method-tutorial{max-width:1010px;margin-top:16px;margin-bottom:20px}
.method-tutorial .body-lead{margin:0 0 15px}
.method-tutorial>p:not(.body-lead){font-size:15.5px;line-height:1.77;color:#535e6d;margin:0 0 14px}
.method-tutorial strong,.method-bridge strong{font-weight:680;color:#273241}
.method-bridge{font-size:14.3px;line-height:1.78;color:#5b6572;max-width:990px;margin:13px 0 26px}
@media(max-width:670px){.method-tutorial>p:not(.body-lead){font-size:14px;line-height:1.72}.method-bridge{font-size:13.5px;line-height:1.73}}

/* V10 — readable peer comparators and an unobtrusive MOO technical note */
.result-card{min-width:0;padding-right:6px}
.result-figures{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:13px 0 3px;min-width:0}
.result-figures .result-number{margin:0;white-space:nowrap;font-size:clamp(36px,4.25vw,57px);line-height:1.18}
.result-figures .result-comparator{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;min-width:76px;margin:0;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}
.result-figures .result-comparator span{color:#b1434c;letter-spacing:.02em;font-size:12px;font-weight:650}
.result-figures .result-comparator strong{color:#b1434c;font-weight:750;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.04em}
.result-card h3{font-size:16px;margin:5px 0 0}
.moo-note{max-width:100%;border-left:3px solid #bdcafa;background:#f8faff;border-radius:0 8px 8px 0;padding:15px 20px 13px;margin:3px 0 23px}
.moo-note .number-label{color:#5261a1;font-size:10px;margin-bottom:9px}
.moo-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:29px}
.moo-note-grid p{margin:0;color:#4f5d6d;font-size:13.2px;line-height:1.66}
.moo-note-grid p strong{color:#273447;font-weight:700}
.theory-scope{font-size:12px;color:#737e8b;margin:13px 0 0;line-height:1.65}
@media(max-width:960px){
 .result-figures .result-number{font-size:clamp(31px,3.9vw,49px)}
 .result-figures .result-comparator strong{font-size:22px}
 .moo-note-grid{column-gap:18px}
}
@media(max-width:670px){
 .result-card{display:block;padding:15px 0 16px}
 .result-card .result-tag{display:block}
 .result-figures{margin:9px 0 4px;justify-content:flex-start;gap:clamp(22px,9vw,54px)}
 .result-figures .result-number{font-size:39px}
 .result-figures .result-comparator{align-items:flex-start;min-width:0}
 .result-figures .result-comparator span{font-size:12px}
 .result-figures .result-comparator strong{font-size:25px}
 .result-card h3{font-size:15px;line-height:1.5;margin:1px 0 0}
 .moo-note{padding:13px 14px;margin:4px 0 18px}
 .moo-note-grid{grid-template-columns:1fr;row-gap:9px}
 .moo-note-grid p{font-size:12.9px;line-height:1.62}
}
@media(max-width:370px){.result-figures .result-number{font-size:34px}.result-figures .result-comparator strong{font-size:22px}}

/* v11: Genesis-inspired editorial pacing with horizontal visual comparisons */
.motivation-section,.method-section{padding-top:65px;padding-bottom:64px}
.motivation-section{border-top:1px solid var(--line)}
.motivation-section .abstract-figure{margin-top:26px;margin-bottom:0}
.editorial-copy{max-width:915px;margin:21px 0 0}
.editorial-copy p{font-size:16px;line-height:1.8;color:#525e6b;margin:0 0 14px}
.editorial-copy p.body-lead{font-size:18px;line-height:1.72;letter-spacing:-.009em;color:#3b4654;margin-bottom:14px}
.editorial-copy strong,.section-chapter strong{color:#283342;font-weight:700}
.section-chapter{max-width:935px;margin:24px 0 14px}
.section-chapter h3{font-size:21px;letter-spacing:-.028em;margin:0 0 11px}
.section-chapter p{margin:0;color:#586372;font-size:15.5px;line-height:1.77}
.method-section .target-math{margin-top:14px;margin-bottom:8px}
.method-section .math-explainer{margin-bottom:22px;font-size:14.4px;line-height:1.72}
.method-section .feedback-chapter{margin:28px 0 8px}
.method-section .objectives{margin-bottom:25px}
.method-section .moo-note{margin-top:4px;margin-bottom:0}
.theory-intro{max-width:850px;margin:18px 0 6px;color:#586373;font-size:15.5px;line-height:1.75}
.theory-section .theory-grid{margin-top:26px}
.result-reading-note{border-left:2px solid #d2d9e7;margin:22px 0 0;padding:4px 18px 4px 17px;color:#606b79;max-width:980px;font-size:13.5px;line-height:1.75}
.result-reading-note strong{color:#293443}
.results-story{margin:10px 0 19px;max-width:1010px;font-size:14.5px;line-height:1.77;color:#5d6978}
.protein-story{margin:0 0 20px}
/* Make the next-best baseline readable but adjacent to the black headline. */
.result-figures{justify-content:flex-start!important;gap:clamp(14px,1.7vw,25px)!important}
.result-figures .result-comparator{align-items:flex-start!important;min-width:0}
.result-figures .result-comparator span{font-size:12.4px}
.result-figures .result-comparator strong{font-size:clamp(21px,2vw,26px)}
/* Horizontal side-by-side qualitative matrix, one card per method. */
.gallery-stage{max-width:none!important;}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gallery-method{min-width:0;min-height:0;padding:11px;background:#fff;border:1px solid #e5e8ee;border-radius:10px}
.gallery-method.is-martini{border-color:#b9cafa;background:#f9fbff}
.gallery-method-label{font-size:13px;font-weight:750;color:#465364;letter-spacing:-.012em;margin:0 0 9px}
.gallery-method.is-martini .gallery-method-label{color:#2f56c7}
.gallery-method-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.gallery-method-images .gallery-thumb{min-width:0;aspect-ratio:1/1;border-radius:5px}
.gallery-method-images img{width:100%;height:100%;object-fit:cover}
@media(max-width:1080px){
 .gallery-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,30vw);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding-bottom:9px;scrollbar-width:thin}
 .gallery-method{scroll-snap-align:start}
}
@media(max-width:670px){
 .motivation-section,.method-section{padding-top:51px;padding-bottom:53px}
 .editorial-copy{margin-top:17px}
 .editorial-copy p{font-size:14.3px;line-height:1.76}
 .editorial-copy p.body-lead{font-size:15.5px;line-height:1.69}
 .section-chapter{margin-top:19px}
 .section-chapter h3{font-size:18px}
 .section-chapter p{font-size:13.9px;line-height:1.75}
 .theory-intro{font-size:13.8px;line-height:1.75}
 .results-story{font-size:13.3px;line-height:1.76}
 .result-reading-note{font-size:12.5px;line-height:1.68;padding-left:13px}
 .gallery-grid{grid-auto-columns:minmax(220px,75vw);gap:10px}
 .gallery-method{padding:9px}
 .gallery-method-label{font-size:12.5px;margin-bottom:7px}
 .result-figures{gap:23px!important}
}

.language-note{border-top:1px solid #e6eaf0;margin-top:23px;padding-top:19px;max-width:1050px}
.language-note .number-label{color:#657280;font-size:10.5px;margin-bottom:7px}
.language-note p{color:#5d6978;font-size:14.5px;line-height:1.75;margin:0}
@media(max-width:670px){.language-note{margin-top:16px;padding-top:14px}.language-note p{font-size:13.2px;line-height:1.72}}

.gallery-swipe-hint{display:none}
@media(max-width:1080px){.gallery-swipe-hint{display:block;margin:0 0 7px;color:#6c7785;font-size:11px;font-weight:610;letter-spacing:.015em}}

/* V12 — tutorial narrative and compact steering mechanics */
.motivation-section .section-heading h2{max-width:930px}
.abstract-figure figcaption.abstract-standfirst{max-width:900px;margin:15px auto 0;font-size:clamp(16px,1.6vw,19px);font-weight:580;color:#283342;line-height:1.56;letter-spacing:-.012em;text-align:center}
.method-section .section-chapter{max-width:1000px}
.method-section .section-chapter p{max-width:945px}
.method-section .math-explainer{font-size:14.7px;line-height:1.77;max-width:995px;margin:13px 0 25px}
.method-section .feedback-chapter{margin-top:27px}
.objective-note{font-size:12.5px!important;color:#667382;line-height:1.63!important;min-height:37px;margin:5px 0 6px!important}
.method-section .objective h3{font-size:16px;white-space:nowrap}
.fit-bridge{max-width:990px;color:#5f6b79;font-size:14px;line-height:1.74;margin:7px 0 24px}
.steering-chapter{border-top:1px solid #e4e8ee;margin:25px 0 12px!important;padding-top:24px}
.guidance-equation{border:1px solid #e2e8ef;background:#f9fbfd;border-radius:10px;padding:21px 24px 19px;margin:16px 0 13px;min-width:0}
.guidance-main-equation{font-size:1.13rem;color:#273447;overflow-x:auto;overflow-y:hidden;max-width:100%}
.guidance-main-equation mjx-container[display="true"]{margin:2px 0 16px!important}
.guidance-definitions{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:14px;border-top:1px solid #e3e9f1;padding-top:10px}
.guidance-definition{font-size:.79rem;max-width:100%;overflow-x:auto;min-width:0;color:#546476}
.guidance-definition mjx-container[display="true"]{margin:5px 0!important}
.steering-explainer{font-size:14px;line-height:1.77;color:#5c6978;max-width:990px;margin:0 0 25px}
.moo-subsection{border-top:1px solid #e4e8ee;margin:28px 0 0;padding-top:25px}
.moo-heading .number-label{color:#315ad7;margin-bottom:8px}
.moo-heading h3{font-size:25px;letter-spacing:-.04em;margin:0 0 17px}
.moo-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.82fr);gap:31px;align-items:center}
.moo-copy{font-size:14.5px;line-height:1.78;color:#52606f}
.moo-copy p{margin:0 0 15px}
.moo-copy strong{font-weight:690;color:#27364a}
.moo-figure{padding:13px 14px 12px;margin:0;border:1px solid #e6eaf0;border-radius:10px;background:#fbfcfe;min-width:0}
.moo-figure img{max-width:100%;width:100%;height:auto;display:block}
.moo-figure figcaption{font-size:11px;line-height:1.5;color:#7c8797;margin-top:7px;text-align:center}
@media(max-width:960px){
 .guidance-definitions{grid-template-columns:1fr;gap:3px}
 .guidance-main-equation{font-size:.99rem}
 .moo-layout{grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:16px}
 .moo-copy{font-size:13.7px}
}
@media(max-width:670px){
 .abstract-figure figcaption.abstract-standfirst{text-align:left;font-size:16px;margin:12px 0 0}
 .method-section .objective h3{white-space:normal;font-size:15.5px}
 .objective-note{min-height:unset;font-size:12px!important}
 .fit-bridge,.steering-explainer{font-size:13px}
 .guidance-equation{padding:15px 12px 13px;margin-top:10px}
 .guidance-main-equation{font-size:.82rem}
 .guidance-definition{font-size:.79rem}
 .moo-layout{grid-template-columns:1fr;gap:8px}
 .moo-heading h3{font-size:22px;margin-bottom:12px}
 .moo-copy{font-size:13.5px}
 .moo-figure{max-width:540px;width:100%;margin:0 auto}
 .moo-subsection{padding-top:20px}
}

/* v13: clear ideal optimisation statement and compact steering notation */
.ideal-problem{margin:13px 0 15px;padding:19px 25px 16px;border-radius:10px;border:1px solid #dfe6f1;background:#f8faff;min-width:0}
.ideal-problem .math-label{font-size:10px;color:#4566ae;margin-bottom:4px}
.ideal-problem-equation{font-size:1.13rem;color:#1d2b45;min-width:0;overflow-x:auto;overflow-y:hidden}
.ideal-problem-equation mjx-container[display="true"]{margin:5px 0!important}
.guidance-equation{padding:22px 25px 18px}
.guidance-main-equation{font-size:1.12rem}
.guidance-main-equation mjx-container[display="true"]{margin:2px 0 13px!important}
.guidance-where{border-top:1px solid #e4e9f2;padding-top:12px;display:flex;align-items:baseline;gap:15px;min-width:0}
.guidance-where>span{color:#647285;font-size:13px;font-style:italic;font-weight:520;flex:0 0 auto}
.guidance-where .guidance-potential{font-size:.91rem;flex:1;min-width:0;overflow-x:auto}
.guidance-potential mjx-container[display="true"]{margin:2px 0!important;text-align:left!important}
.moo-layout{grid-template-columns:minmax(0,1.04fr) minmax(0,.8fr);gap:32px;align-items:center}
.moo-copy p{margin:0 0 12px}
.moo-toy-equation{padding:2px 0 4px;color:#314052;font-size:.92rem;min-width:0;overflow-x:auto}
.moo-toy-equation mjx-container[display="true"]{margin:9px 0!important}
.moo-figure{padding:16px 17px 12px;background:#fff;max-width:420px;justify-self:center}
.moo-figure img{display:block;width:100%;max-width:380px;margin:0 auto;object-fit:contain}
.moo-figure figcaption{margin-top:11px;font-size:11.5px;line-height:1.5}
.protein-result-number .protein-percent{display:inline-block!important;margin-left:-.005em!important;margin-right:0!important;font-size:.43em!important;letter-spacing:-.01em!important;vertical-align:baseline;transform:translateX(-.01em)}
.protein-result-number .protein-arrow{display:inline-block!important;margin-left:.15em!important;font-size:.43em!important;letter-spacing:0!important;vertical-align:baseline}
@media(max-width:900px){.moo-layout{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:19px}.moo-toy-equation{font-size:.83rem}.guidance-where .guidance-potential{font-size:.82rem}}
@media(max-width:670px){.ideal-problem{padding:16px 13px 13px;margin:10px 0 13px}.ideal-problem-equation{font-size:.98rem}.guidance-equation{padding:16px 12px 13px}.guidance-main-equation{font-size:.86rem}.guidance-where{align-items:flex-start;flex-direction:column;gap:1px;padding-top:9px}.guidance-where .guidance-potential{font-size:.82rem;max-width:100%}.moo-layout{grid-template-columns:1fr;gap:12px}.moo-copy{font-size:13.6px}.moo-toy-equation{font-size:.87rem}.moo-figure{max-width:440px;width:100%;padding:12px}.moo-figure img{max-width:360px}}
@media(max-width:420px){.ideal-problem-equation{font-size:.89rem}.guidance-main-equation{font-size:.73rem}.guidance-where .guidance-potential{font-size:.69rem}.moo-toy-equation{font-size:.78rem}.protein-result-number .protein-arrow{margin-left:.12em!important}}

/* v14 · one unified steering equation; potential before the SDE, no visual split */
.guidance-equation{padding:21px 24px 20px;margin:16px 0 13px}
.guidance-one-equation{font-size:1.07rem;color:#273447;overflow-x:auto;overflow-y:hidden;max-width:100%;}
.guidance-one-equation mjx-container[display="true"]{margin:0!important}
@media(max-width:900px){.guidance-one-equation{font-size:.97rem}}
@media(max-width:670px){.guidance-equation{padding:16px 12px 15px}.guidance-one-equation{font-size:.82rem}}
@media(max-width:420px){.guidance-one-equation{font-size:.72rem}}



/* v20: stronger spacing for the protein percentage so it never touches the 5 */
.result-figures .result-number.protein-result-number {
  display: inline-flex !important;
  align-items: baseline !important;
  white-space: nowrap;
  gap: .16em;
}
.result-figures .result-number.protein-result-number .protein-percent {
  margin: 0 !important;
  font-size: .38em !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: translateY(-.01em) !important;
}
.result-figures .result-number.protein-result-number .protein-arrow {
  margin: 0 0 0 .03em !important;
  font-size: .43em !important;
  line-height: 1 !important;
}
@media(max-width:670px){
  .result-figures .result-number.protein-result-number { gap: .14em; }
  .result-figures .result-number.protein-result-number .protein-percent { font-size: .36em !important; }
}

/* v21 — subtle spy-and-martini footer easter egg, on white */
.closing-right{display:flex;flex-direction:column;align-items:flex-end;gap:11px;min-width:325px}
.bond-easter-egg{position:relative;margin:0;width:307px;height:145px;display:flex;justify-content:flex-end;align-items:flex-end;overflow:hidden;background:#fff;border:0}
.bond-easter-egg img{display:block;width:180px;max-width:none;height:auto;align-self:flex-end;filter:grayscale(1);opacity:.92}
.bond-easter-egg figcaption{position:absolute;z-index:2;left:0;top:41px;display:flex;flex-direction:column;gap:6px;max-width:158px;pointer-events:none}
.bond-easter-egg .bond-tag{font-size:9px;letter-spacing:.095em;font-weight:700;color:#9ba2ab;white-space:nowrap}
.bond-easter-egg em{font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.25;font-weight:400;color:#4c5562;white-space:nowrap}
@media(max-width:760px){.closing-right{align-items:flex-start;min-width:0}.bond-easter-egg{width:290px;height:138px}.bond-easter-egg img{width:173px}.bond-easter-egg figcaption{top:40px}}
@media(max-width:390px){.bond-easter-egg{width:275px;height:132px}.bond-easter-egg img{width:164px}.bond-easter-egg figcaption{top:36px}.bond-easter-egg em{font-size:16px}}


/* v22: remove repeated closing title and give footer lettering and artwork independent columns */
.closing-section > div:first-child > p { margin-top: 13px; }
.bond-easter-egg {
  display: grid;
  grid-template-columns: minmax(0, 170px) minmax(0, 160px);
  column-gap: 18px;
  width: 348px;
  height: 145px;
  align-items: end;
  justify-content: start;
  overflow: hidden;
}
.bond-easter-egg figcaption {
  position: static;
  z-index: auto;
  align-self: center;
  left: auto;
  top: auto;
  max-width: none;
  min-width: 0;
  gap: 6px;
}
.bond-easter-egg img {
  width: 160px;
  max-width: 100%;
  height: auto;
  align-self: end;
}
.bond-easter-egg em { font-size: 17px; }
@media(max-width:880px) {
  .closing-section {display:block;}
  .closing-right {align-items:flex-start;min-width:0;margin-top:22px;}
  .bond-easter-egg {width:min(100%, 348px);}
}
@media(max-width:380px) {
  .bond-easter-egg {
    grid-template-columns:minmax(0,1fr) minmax(0,132px);
    column-gap:10px;
    width:min(100%,300px);
    height:128px;
  }
  .bond-easter-egg img {width:132px;}
  .bond-easter-egg .bond-tag {font-size:8px;letter-spacing:.065em;white-space:normal;}
  .bond-easter-egg em {font-size:15px;white-space:normal;}
}


/* V27 — centered research-article masthead; left-aligned technical body. */
.hero{text-align:center}
.hero .hero-meta{justify-content:center}
.hero h1{margin-left:auto;margin-right:auto}
.hero .subtitle{margin-left:auto;margin-right:auto}
.hero .summary{margin-left:auto;margin-right:auto;max-width:880px}
.hero .hero-authors{align-items:center;justify-content:center;text-align:center}
.hero .hero-authors .author-line{justify-content:center}
.hero .hero-affiliations{align-items:center;justify-content:center;text-align:center}
.hero .hero-affiliations .affiliation-line{justify-content:center}
.hero .joint-last-note{text-align:center}
.hero .hero-actions{justify-content:center}
/* Figure remains centered and responsive, matching masthead axis. */
@media(max-width:670px){
  .hero .hero-authors .author-line{justify-content:center}
  .hero .hero-affiliations .affiliation-line{justify-content:center}
  .hero .hero-meta{justify-content:center}
}


/* V28 — editorial alignment, legibility and proportional hierarchy.
   The research masthead remains centred; article prose retains its left-aligned reading grid.
   Figures and equations use a shared content axis rather than arbitrary alignment. */
@media(min-width:1051px){
  .hero h1{font-size:clamp(61px,5.9vw,78px);line-height:1.12;letter-spacing:-.066em}
  .hero .subtitle{font-size:28px}
}
/* Keep comfortable line lengths without shrinking the full-width research visualisations. */
.editorial-copy{max-width:875px}
.method-section .section-chapter p{max-width:880px}
.method-section .math-explainer{max-width:890px}
.fit-bridge,.steering-explainer,.results-story{max-width:895px}
.theory-intro{max-width:845px}
/* Equation hierarchy: main problem and dynamics first, auxiliary losses immediately readable. */
@media(min-width:901px){
  .target-math .large-math{font-size:1.08rem}
  .ideal-problem-equation{font-size:1.18rem}
  .guidance-one-equation{font-size:1.11rem}
  .eq-fit{font-size:.91rem}
  .theory-equation{font-size:1.06rem}
}
.theorem-card p{font-size:13.5px;line-height:1.67}
.callout-card p{font-size:13.5px;line-height:1.68}
/* De-emphasise the reward-implication wrapper, keeping its two requested explanation cards. */
.theory-callout{background:transparent;border:0;border-top:1px solid #e5e9ef;border-radius:0;padding:16px 0 0;margin-top:15px}
.callout-card{border-color:#e8ebf0}
/* Retain figures as research content rather than allowing them to overpower the copy. */
.abstract-figure{max-width:940px}
.moo-figure{max-width:410px}
.protein-card img{height:232px}
/* A discreet enlargement affordance, especially useful for the original abstract PNG on phones. */
.figure-zoom-trigger{appearance:none;display:block;width:100%;padding:0;margin:0;border:0;background:transparent;text-align:inherit;cursor:zoom-in;line-height:normal;border-radius:5px}
.figure-zoom-trigger img{pointer-events:none}
.figure-zoom-trigger:focus-visible{outline:3px solid #315ad7;outline-offset:4px}
.figure-zoom{position:fixed;max-width:96vw;width:min(1100px,96vw);max-height:90vh;padding:43px 12px 12px;background:#fff;border:none;border-radius:11px;box-shadow:0 25px 110px #0004}
.figure-zoom::backdrop{background:#151b26d8;backdrop-filter:blur(4px)}
.figure-zoom-content{max-height:calc(90vh - 60px);overflow:auto;overscroll-behavior:contain;border-radius:5px}
.figure-zoom-content img{display:block;max-width:none;height:auto;margin:0 auto}
.figure-zoom-close{position:absolute;right:12px;top:6px;background:transparent;border:0;font-size:28px;line-height:1.2;color:#526071;padding:2px 9px;border-radius:4px}
.figure-zoom-close:hover{background:#eff2f6}
@media(max-width:670px){
  .hero{padding-top:42px;padding-bottom:46px}
  .hero .hero-affiliations{font-size:11.6px;line-height:1.75}
  .hero .joint-last-note{margin-top:8px}
  .hero .hero-actions{margin-top:23px}
  .eq-fit{font-size:.86rem}
  .theory-equation{font-size:.95rem}
  .theory-callout{margin-top:12px;padding-top:14px}
  .abstract-figure figcaption.abstract-standfirst{text-align:center;font-size:15.5px;line-height:1.58}
  .protein-card img{height:235px}
  .figure-zoom{padding:42px 9px 9px;width:96vw}
}
@media(max-width:420px){
  .theory-equation{font-size:.92rem}
  .hero .hero-affiliations{font-size:11.3px}
}
/* V29 — D4RT-inspired editorial grid (not a redesign of MARTINI).
   Centered masthead, a consistent narrow reading column, wider research media,
   generous but restrained spacing, and a slightly smaller abstract figure. */
:root {
  --martini-reading-width: 860px;
  --martini-technical-width: 985px;
}

/* Keep the title/byline centred independently of article section alignment. */
.hero { text-align: center; }
.hero .hero-meta, .hero .hero-actions { justify-content: center; }
.hero .hero-authors { align-items: center; }
.hero .hero-authors .author-line,
.hero .hero-affiliations .affiliation-line { justify-content: center; }

/* Strong typographic consistency: technical article prose reads in one shared column,
   while research figures and dense comparisons can break out wider. */
@media (min-width: 901px) {
  .motivation-section > .section-heading,
  .motivation-section > .editorial-copy,
  .method-section > .section-heading,
  .method-section > .section-chapter,
  .method-section > .math-explainer,
  .method-section > .fit-bridge,
  .method-section > .steering-explainer,
  .theory-section > .page-width > .section-heading,
  .theory-section > .page-width > .theory-intro,
  .toy-section > .section-heading,
  .toy-section > .section-intro,
  .toy-section > .toy-example-switch,
  .results-section > .page-width > .section-heading,
  .results-section > .page-width > .results-story,
  .gallery-section > .gallery-header,
  .gallery-section > .results-story,
  .gallery-section > .gallery-picks,
  .protein-examples > .gallery-header,
  .protein-examples > .results-story {
    max-width: var(--martini-reading-width);
    margin-left: auto;
    margin-right: auto;
  }
  .method-section > .target-math,
  .method-section > .ideal-problem,
  .method-section > .objectives,
  .method-section > .guidance-equation,
  .method-section > .moo-subsection,
  .theory-section > .page-width > .theory-grid,
  .theory-section > .page-width > .theory-callout {
    max-width: var(--martini-technical-width);
    margin-left: auto;
    margin-right: auto;
  }
  .toy-section > .toy-research-widget,
  .results-section > .page-width > .result-grid,
  .gallery-section > .gallery-stage,
  .protein-examples > .protein-grid {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* The original paper figure is purposely not full-bleed. It remains fully responsive,
   click-to-expand, and uses the full available width on small screens. */
.motivation-section > .abstract-figure {
  width: 100%;
  max-width: 828px;
  margin: 26px auto 2px;
  padding: 7px 0 3px;
}
.motivation-section > .abstract-figure img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.motivation-section > .abstract-figure figcaption.abstract-standfirst {
  max-width: 800px;
  margin: 13px auto 0;
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: 1.56;
  text-align: center;
}

/* Leave article headings left-aligned like D4RT's body; keep them consistently
   separated from the copy below rather than increasing their font sizes. */
.section-heading h2 { text-wrap: balance; }
.section-heading .eyebrow { margin-bottom: 12px; }
.editorial-copy p { line-height: 1.75; }
.section-chapter p, .theory-intro, .results-story { line-height: 1.74; }

/* On tablets/mobile, full-width content is preferable to artificial insets.
   Reducing the figure further there would make its scientific labels illegible. */
@media (max-width: 900px) {
  .motivation-section > .abstract-figure {
    max-width: 100%;
    margin-top: 19px;
  }
}
@media (max-width: 670px) {
  .motivation-section > .abstract-figure { padding: 0; margin-top: 16px; }
  .motivation-section > .abstract-figure figcaption.abstract-standfirst {
    margin-top: 9px;
    font-size: 14.5px;
    line-height: 1.55;
  }
}


/* V30: one editorial column for article prose and technical mathematical panels.
   Large media explorations retain a wider visual canvas where necessary. */
:root { --martini-technical-width: var(--martini-reading-width); }
@media (min-width:901px) {
  /* All mathematical explanations and their panels align with the first text column. */
  .method-section > .target-math,
  .method-section > .ideal-problem,
  .method-section > .objectives,
  .method-section > .guidance-equation,
  .method-section > .moo-subsection,
  .theory-section > .page-width > .theory-grid,
  .theory-section > .page-width > .theory-callout {
    width:100%;
    max-width:var(--martini-reading-width);
    margin-left:auto;
    margin-right:auto;
  }
}
/* Avoid unintended widening from MathJax while keeping complete equations legible. */
.method-section .large-math,
.method-section .ideal-problem-equation,
.method-section .guidance-one-equation,
.method-section .eq-fit,
.method-section .moo-toy-equation,
.theory-section .theory-equation {
  min-width:0;
  max-width:100%;
}
/* The steering subsection had an older !important margin that pulled the heading
   outside the reading column even when its equation was correctly aligned. */
@media (min-width:901px) {
  .method-section > .steering-chapter {
    width:100%;
    max-width:var(--martini-reading-width);
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .results-section .result-grid {
    width:100%;
    max-width:var(--martini-reading-width);
    margin-left:auto;
    margin-right:auto;
  }
}
@media (min-width:901px) {
  .results-section > .page-width > .result-grid {
    width:100%;
    max-width:var(--martini-reading-width);
    margin-left:auto;
    margin-right:auto;
  }
}
/* Headline numbers must scale with the narrower results grid; preserve legible
   next-best comparisons without allowing neighbouring cards to overlap. */
@media (min-width:901px) {
  .results-section .result-figures { gap:12px !important; }
  .results-section .result-figures .result-number {
    font-size:clamp(40px,3.2vw,47px) !important;
    letter-spacing:-.055em;
  }
  .results-section .result-figures .result-comparator strong {
    font-size:20px;
    letter-spacing:-.025em;
  }
}


/* Version 32 — interactive protein trajectories, same restrained reading grid */
.protein-trajectory-feature{max-width:860px;width:100%;margin:22px auto 23px;border:1px solid #e3e8f0;border-radius:12px;background:#fff;padding:17px 18px 14px;}
.protein-trajectory-heading{display:flex;align-items:flex-start;gap:22px;justify-content:space-between;}
.protein-trajectory-heading .number-label{color:#315ad7;font-size:10px;letter-spacing:.09em;margin-bottom:8px;}
.protein-trajectory-heading h4{font-size:22px;line-height:1.25;letter-spacing:-.035em;font-weight:670;margin:0 0 8px;color:#1d2635;}
.protein-trajectory-heading p{font-size:13.4px;line-height:1.7;color:#5f6b79;max-width:750px;margin:0 0 15px;}
.protein-trajectory-poster{border:1px solid #e6ebf2;border-radius:8px;overflow:hidden;background:#fafbfe;}
.protein-trajectory-poster>img{width:100%;height:auto;max-height:340px;object-fit:contain;}
.protein-trajectory-posterbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border-top:1px solid #e9edf3;}
.protein-trajectory-posterbar>span{display:inline-flex;align-items:center;gap:7px;color:#7b8590;font-size:11px;}
.protein-trajectory-dot{width:9px;height:9px;background:#9acba7;border-radius:50%;display:inline-block;}
.protein-trajectory-launch{display:inline-flex;gap:12px;align-items:center;justify-content:center;border:1px solid #c4cfee;background:#edf2ff;color:#3157c2;font-size:12.4px;line-height:1.35;font-weight:720;border-radius:7px;padding:9px 13px;white-space:nowrap;transition:background .2s;}
.protein-trajectory-launch:hover{background:#dce6ff;}
.protein-trajectory-active[hidden], .protein-trajectory-poster[hidden] {display:none!important;}
.protein-trajectory-active{border:1px solid #dfe5ee;border-radius:9px;overflow:hidden;}
.protein-trajectory-activebar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f9fbff;border-bottom:1px solid #e2e6ed;padding:10px 12px;color:#687484;font-size:11px;line-height:1.5;}
.protein-trajectory-activebar button{background:#fff;border:1px solid #d2d9e5;border-radius:6px;color:#46546b;font-size:11px;font-weight:710;white-space:nowrap;padding:6px 10px;}
.protein-trajectory-active iframe{width:100%;height:535px;border:0;display:block;background:#fff;}
.protein-trajectory-footnote{font-size:11.8px;color:#7c8692;line-height:1.6;margin:11px 0 0;}
.protein-static-heading{max-width:860px;width:100%;margin:0 auto 12px;display:flex;justify-content:space-between;gap:8px 15px;align-items:baseline;}
.protein-static-heading>span:last-child{font-size:11.6px;color:#87909d;}
@media(max-width:690px){
.protein-trajectory-feature{padding:12px 11px 10px;margin:18px auto 20px;}
.protein-trajectory-heading h4{font-size:19px;}
.protein-trajectory-heading p{font-size:12.5px;}
.protein-trajectory-posterbar{flex-wrap:wrap;justify-content:center;text-align:center;}
.protein-trajectory-launch{min-height:39px;}
.protein-trajectory-active iframe{height:875px;}
.protein-trajectory-activebar{align-items:flex-start;font-size:10.5px;}
.protein-static-heading{flex-direction:column;gap:4px;}
}

/* V33 — compact scientific media aligned to the editorial reading grid. */
:root{--martini-media-width:var(--martini-reading-width, 860px)}
/* The toy viewer and all its text use the same centered measure as the article. */
.toy-section>.section-heading,
.toy-section>.toy-example-switch,
.toy-section>.section-intro,
.toy-section>.toy-research-widget,
.toy-section>.figure-note,
.toy-section>.toy-annotation{
  width:100%;max-width:var(--martini-media-width);margin-left:auto;margin-right:auto;
}
.toy-section .toy-research-widget{padding:18px 19px 16px;border-radius:10px}
.toy-section .toy-three-panels{gap:13px}
.toy-section .toy-widget-controls{margin-bottom:12px;gap:18px}
.toy-section .toy-final-metrics{gap:27px}
.toy-section .toy-final-metrics strong{font-size:32px!important}
.toy-section .toy-frame figcaption{font-size:9.7px}
.toy-section .toy-playbar{margin-top:14px;padding-top:13px}
.toy-section .toy-tab{font-size:12.5px;padding:9px 13px}
/* Within the narrower reading column, compare four methods as a true 2 x 2 matrix. */
.results-section .gallery-section{width:100%;max-width:var(--martini-media-width);margin-left:auto;margin-right:auto}
.results-section .gallery-stage{width:100%;max-width:100%!important}
.results-section .gallery-grid{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 grid-auto-flow:row!important;grid-auto-columns:auto!important;
 overflow:visible!important;scroll-snap-type:none!important;
 gap:12px;
}
.results-section .gallery-method{min-width:0;padding:11px}
.results-section .gallery-method-images{gap:8px}
/* The final static ligand comparisons share the width of the trajectory section above. */
.results-section .protein-examples>.protein-grid{
 width:100%;max-width:var(--martini-media-width);margin-left:auto;margin-right:auto;
 grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;
}
.results-section .protein-examples .protein-card{padding:10px 10px 14px}
.results-section .protein-examples .protein-card img{height:226px}
/* An unmissable but restrained primary action for the interactive molecular viewer. */
.protein-trajectory-launch{
 background:#315ad7;color:#fff;border:1px solid #315ad7;
 box-shadow:0 3px 10px rgba(36,76,184,.18);
 padding:11px 17px;min-height:44px;border-radius:8px;
 font-size:13.5px;font-weight:750;letter-spacing:-.005em;gap:10px;
 transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.protein-trajectory-launch:hover{background:#2446ae;border-color:#2446ae;box-shadow:0 5px 13px rgba(36,76,184,.23);transform:translateY(-1px)}
.protein-trajectory-launch:focus-visible{outline:3px solid #9fb9ff;outline-offset:3px}
.protein-trajectory-launch svg{flex:0 0 auto}
/* Keep mobile examples large enough to judge sample defects. */
@media(max-width:700px){
 .results-section .gallery-grid{
  display:grid!important;grid-template-columns:none!important;grid-auto-flow:column!important;
  grid-auto-columns:minmax(255px,76vw)!important;overflow-x:auto!important;
  overscroll-behavior-inline:contain;scroll-snap-type:x mandatory!important;
  padding-bottom:9px;scrollbar-width:thin;
 }
 .results-section .gallery-method{scroll-snap-align:start;padding:9px}
 .results-section .protein-examples>.protein-grid{grid-template-columns:1fr;gap:12px}
 .results-section .protein-examples .protein-card img{height:235px}
 .toy-section .toy-research-widget{padding:12px 12px 13px}
 .toy-section .toy-three-panels{gap:10px}
 .toy-section .toy-tab{font-size:11.5px;padding:9px 11px}
 .toy-section .toy-final-metrics{gap:12px}
 .toy-section .toy-final-metrics strong{font-size:26px!important}
 .protein-trajectory-launch{width:100%;min-height:46px;font-size:13.6px}
}
@media(max-width:390px){
 .results-section .gallery-grid{grid-auto-columns:minmax(245px,76vw)!important}
 .toy-section .toy-final-metrics strong{font-size:24px!important}
}


/* V34 — Let the 3D trajectories tell the protein story; original paper poses remain accessible. */
.protein-examples .gallery-header{justify-content:flex-start}
.protein-examples .protein-trajectory-posterbar>span{color:#687586}
.protein-static-details{width:100%;max-width:860px;margin:7px auto 0;border-top:1px solid #e6ebf2}
.protein-static-details>summary{display:flex;align-items:center;gap:13px;list-style:none;cursor:pointer;padding:16px 2px 14px;color:#385ec7}
.protein-static-details>summary::-webkit-details-marker{display:none}
.protein-static-details>summary:hover .protein-static-action{color:#1f3eaa}
.protein-static-details>summary:focus-visible{outline:2px solid #315ad7;outline-offset:3px;border-radius:4px}
.protein-static-action{font-size:13px;font-weight:710;letter-spacing:-.01em}
.protein-static-subtitle{font-size:11px;color:#929aa6;font-weight:450}
.protein-static-chevron{font-size:22px;color:#7183a8;margin-left:auto;line-height:1;transition:transform .2s}
.protein-static-details[open] .protein-static-chevron{transform:rotate(180deg)}
.results-section .protein-examples .protein-static-details>.protein-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;width:100%;gap:16px;margin:3px 0 7px}
.results-section .protein-examples .protein-static-details .protein-card{padding:10px 10px 14px}
.results-section .protein-examples .protein-static-details .protein-card img{height:226px}
@media(max-width:700px){
  .protein-static-details>summary{flex-wrap:wrap;gap:2px 10px;padding:14px 1px 13px}
  .protein-static-action{font-size:12.8px}
  .protein-static-subtitle{font-size:10.5px}
  .protein-static-chevron{margin-left:auto;align-self:center}
  .results-section .protein-examples .protein-static-details>.protein-grid{grid-template-columns:1fr;gap:12px}
  .results-section .protein-examples .protein-static-details .protein-card img{height:235px}
}
@media(prefers-reduced-motion:reduce){.protein-static-chevron{transition:none}}

/* V35 — final-pose images presented as a sibling card to the 3D trajectory explorer. */
.protein-examples .protein-final-feature{
  margin-top:16px;
  margin-bottom:0;
}
.protein-final-feature .protein-trajectory-heading h4{
  margin-bottom:17px;
}
.results-section .protein-examples .protein-final-feature > .protein-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  width:100%;
  max-width:100%;
  margin:0;
}
.results-section .protein-examples .protein-final-feature .protein-card{
  padding:10px 10px 14px;
}
.results-section .protein-examples .protein-final-feature .protein-card img{
  height:226px;
}
.protein-final-feature .protein-card figcaption{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  padding-top:10px;
}
.protein-final-feature .protein-card figcaption span{
  font-size:11.7px;
  line-height:1.7;
}
@media (max-width:700px){
  .protein-final-feature .protein-trajectory-heading h4{margin-bottom:14px;}
  .results-section .protein-examples .protein-final-feature > .protein-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .results-section .protein-examples .protein-final-feature .protein-card img{
    height:235px;
  }
}

/* V36 — original paper's four label-free 3D pose renderings with one consistent site legend. */
.protein-examples .protein-trajectory-posterbar{justify-content:flex-end;}
.results-section .protein-examples .protein-final-feature > .protein-pose-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:100%;max-width:100%;margin:0;
}
.results-section .protein-examples .protein-final-feature .protein-pose-card{
  min-width:0;padding:9px 9px 12px;border:1px solid #e8ebf0;border-radius:9px;background:#fff;
}
.results-section .protein-examples .protein-final-feature .protein-pose-card img{
  display:block;width:100%;height:auto!important;aspect-ratio:821 / 558;object-fit:contain;
  background:#fff;border-radius:5px;
}
.protein-final-feature .protein-pose-card .protein-pose-caption{
  display:block;padding:8px 4px 0;color:#586372;
}
.protein-final-feature .protein-pose-caption>strong{
  display:block;margin:0 0 7px;font-size:15px;line-height:1.35;font-weight:720;color:#202936;letter-spacing:-.02em;
}
.protein-final-feature .protein-pose-values{
  width:100%;border-collapse:collapse;table-layout:auto;font-variant-numeric:tabular-nums;
}
.protein-final-feature .protein-pose-values thead th{
  color:#9ba4b1;font-size:9.5px;letter-spacing:.02em;font-weight:680;text-align:right;
  padding:4px 3px 5px;white-space:nowrap;border-bottom:1px solid #edf0f4;
}
.protein-final-feature .protein-pose-values thead th:first-child{text-align:left}
.protein-final-feature .protein-pose-values tbody th,
.protein-final-feature .protein-pose-values tbody td{
  padding:5px 3px 3px;font-size:11px;line-height:1.45;white-space:nowrap;
  text-align:right;color:#637080;font-weight:480;
}
.protein-final-feature .protein-pose-values tbody th{text-align:left;color:#4c5a6c;font-weight:600}
.protein-final-feature .protein-pose-values tbody td.pose-primary{color:#263244;font-size:13.5px;font-weight:740}
.protein-pose-key{display:inline-block;width:9px;height:9px;vertical-align:baseline;margin-right:7px;border-radius:3px;background:#86c8a1;flex:none}
.protein-pose-key.martini{background:#77a6d6}
.protein-pose-key.potentials{background:#c9ac90}
.protein-pose-key.crystal{background:#86c8a1}
.protein-pose-global-legend{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 25px;
  border-top:1px solid #e8edf3;padding:13px 0 1px;margin-top:17px;color:#596574;font-size:11.5px;line-height:1.4;
}
.protein-pose-global-legend span{display:inline-flex;align-items:center;white-space:nowrap;gap:2px}
@media(max-width:700px){
  .results-section .protein-examples .protein-final-feature > .protein-pose-grid{grid-template-columns:1fr;gap:12px}
  .protein-final-feature .protein-pose-caption>strong{font-size:15px}
  .protein-final-feature .protein-pose-values tbody th,.protein-final-feature .protein-pose-values tbody td{font-size:11.4px}
  .protein-final-feature .protein-pose-values tbody td.pose-primary{font-size:13.5px}
}
@media(max-width:365px){
  .protein-final-feature .protein-pose-values thead th{font-size:9px}
  .protein-final-feature .protein-pose-values tbody th,.protein-final-feature .protein-pose-values tbody td{font-size:10.1px}
  .protein-final-feature .protein-pose-values tbody td.pose-primary{font-size:12px}
  .protein-pose-key{margin-right:4px;width:8px;height:8px}
  .protein-pose-global-legend{gap:8px 14px;font-size:10.5px}
}

/* v37: consistent, single crystal key and scroll-free, content-height 3D viewer */
.protein-final-feature .protein-trajectory-heading{align-items:center;flex-wrap:wrap;gap:8px 20px;margin-bottom:9px}
.protein-final-crystal-key{display:inline-flex;align-items:center;gap:5px;margin-left:auto;white-space:nowrap;font-size:11px;font-weight:600;color:#667482}
.protein-final-crystal-key .protein-pose-key{margin:0;width:9px;height:9px}
.protein-trajectory-active iframe{height:690px;min-height:620px;overflow:hidden}
@media(max-width:690px){.protein-trajectory-active iframe{height:980px;min-height:700px}.protein-final-crystal-key{font-size:10.5px}}

/* V38: smaller, single-line abstract summary at desktop widths. Keep responsive wrapping on smaller screens. */
@media (min-width: 901px) {
  .motivation-section > .abstract-figure figcaption.abstract-standfirst {
    font-size: 14.35px;
    letter-spacing: -0.015em;
    line-height: 1.5;
    max-width: 100%;
  }
}

/* V39: vector abstract figure, optically centred on the article reading column. */
.motivation-section > .abstract-figure {
  max-width: 812px;
  width: min(100%, 812px);
  margin-left: auto;
  margin-right: auto;
}
.motivation-section > .abstract-figure .figure-zoom-trigger {
  width: 100%;
  display: block;
}
.motivation-section > .abstract-figure img {
  width: 100%;
  height: auto;
  display: block;
  margin-inline: auto;
}
@media (max-width: 900px) {
  .motivation-section > .abstract-figure { max-width: 100%; width: 100%; }
}


/* v45 — consistent minimal crystal-reference key across 3D and final poses. */
.protein-trajectory-feature:not(.protein-final-feature) .protein-trajectory-heading > div{flex:1;min-width:0}
.protein-trajectory-feature:not(.protein-final-feature) .protein-trajectory-heading > .protein-final-crystal-key{margin-top:3px}
.protein-final-crystal-key{font-size:11.5px;gap:7px;color:#667482;font-weight:600}
.protein-final-crystal-key .protein-pose-key.crystal{width:10px;height:10px;margin:0;background:#5fb383;border-radius:2px}
@media(max-width:700px){
 .protein-trajectory-feature:not(.protein-final-feature) .protein-trajectory-heading{flex-wrap:wrap;gap:0 12px}
 .protein-trajectory-feature:not(.protein-final-feature) .protein-trajectory-heading > div{flex-basis:100%}
 .protein-trajectory-feature:not(.protein-final-feature) .protein-trajectory-heading > .protein-final-crystal-key{margin:0 0 12px}
}

/* V46: integrate the crystal key into the final-pose section title, not in far-right white space. */
.protein-final-feature .protein-trajectory-heading{margin-bottom:17px;align-items:center;}
.protein-final-feature .protein-trajectory-heading > .protein-final-heading-line{
  display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;
  gap:6px 13px; flex:0 1 auto;min-width:0;
}
.protein-final-feature .protein-final-heading-line h4{margin:0;font-size:22px;line-height:1.25;}
.protein-final-feature .protein-final-heading-line .protein-final-crystal-key{
  margin:0;display:inline-flex;align-items:center;gap:8px;
  font-size:13px;line-height:1.35;font-weight:600;color:#222b38;
}
.protein-final-feature .protein-final-heading-line .protein-final-crystal-key .protein-pose-key{
  display:inline-block;margin:0;width:12px;height:12px;border-radius:3px;background:#5fb383;
}
@media(max-width:690px){
  .protein-final-feature .protein-final-heading-line h4{font-size:19px;}
  .protein-final-feature .protein-final-heading-line .protein-final-crystal-key{font-size:12px;}
}
