:root{color-scheme:light;--bg:#ecebe1;--paper:#f8f6eb;--ink:#1b3332;--muted:#4b6660;--sub:#657c75;--rule:#b6c5bb;--accent:#b95039;--teal:#2f7d70;--teal2:#3e9d88;--panel:#dce6dc;--panel2:#f1f2e8;--orb:rgba(56,132,112,.1);--shadow:rgba(17,49,42,.14);--header:rgba(236,235,225,.95)}
:root[data-theme="dark"]{color-scheme:dark;--bg:#0b191c;--paper:#11272a;--ink:#e9f1e8;--muted:#b4c9c0;--sub:#96ada4;--rule:#3a5b57;--accent:#f0a083;--teal:#91d4be;--teal2:#8acbb4;--panel:#18383a;--panel2:#173235;--orb:rgba(99,211,177,.085);--shadow:rgba(0,0,0,.45);--header:rgba(11,25,28,.95)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.05em}button{cursor:pointer;font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:#fff}.wide{max-width:1480px;margin-inline:auto;padding-inline:clamp(20px,4.2vw,78px)}.mono{font:600 11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.085em}.skip-link{position:absolute;top:-200px;left:18px;background:var(--ink);color:var(--bg);padding:10px;z-index:100}.skip-link:focus{top:90px}.reading-progress{position:fixed;height:2px;top:0;left:0;width:0;z-index:100;background:var(--accent);pointer-events:none}
.site-header{position:sticky;top:0;z-index:80;backdrop-filter:blur(18px);background:var(--header);border-bottom:1px solid var(--rule)}.head-content{min-height:75px;display:flex;gap:clamp(12px,1.7vw,22px);align-items:center}.brand{display:flex;flex-direction:column;line-height:1.12;flex:none}.brand-name{font:400 clamp(15px,1.3vw,19px) Georgia,"Times New Roman",serif;letter-spacing:-.035em}.brand small{font-size:9px;color:var(--teal);margin-top:5px;letter-spacing:.16em}.desktop-nav{display:flex;align-items:center;gap:clamp(10px,1.25vw,21px);margin-left:auto}.desktop-nav a{font-size:12px;font-weight:650;white-space:nowrap}.lang-toggle{margin-left:auto;padding:8px}.theme-toggle{background:transparent;border:1px solid var(--rule);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--ink);font-size:22px;flex:none}.theme-toggle:hover{background:var(--panel)}.mobile-nav{display:none;position:relative;margin-left:auto}.mobile-nav summary{cursor:pointer;list-style:none;display:grid;place-items:center;border:1px solid var(--rule);width:44px;height:44px;font-size:19px;border-radius:4px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;top:calc(100% + 14px);right:-90px;width:min(80vw,340px);padding:15px;background:var(--paper);border:1px solid var(--rule);box-shadow:0 20px 60px var(--shadow);display:grid}.mobile-nav nav a{padding:11px 8px;border-bottom:1px solid var(--rule);font-size:14px}.mobile-nav nav a:last-child{border:0}
/* Asymmetric editorial hero with a fixed scientific figure, immediately visible */
.experiment{position:relative;isolation:isolate;overflow:clip}.experiment:before{content:"";position:absolute;right:-12vw;top:1vw;width:80vw;height:80vw;max-width:1120px;max-height:1120px;background:radial-gradient(circle,var(--orb),transparent 67%);z-index:-1;pointer-events:none}.experiment-prelude{display:flex;gap:20px;justify-content:space-between;padding-top:24px;color:var(--teal)}.preview-flag{font-size:10px;color:var(--sub)}.lab-columns{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(26px,4vw,70px);align-items:stretch}.lab-visual{grid-column:2;grid-row:1;position:sticky;top:85px;align-self:start;min-width:0;min-height:calc(100svh - 105px);display:flex;flex-direction:column;justify-content:center;gap:10px}.lab-story{grid-column:1;grid-row:1;min-width:0}.hero-copy{display:flex;flex-direction:column;justify-content:center;min-height:min(780px,calc(100svh - 114px));padding-block:45px 35px}.eyebrow{color:var(--teal);font-size:11px;letter-spacing:.13em}.hero-copy h1{font:400 clamp(3.9rem,6.45vw,8.0rem)/.96 Georgia,"Times New Roman",serif;letter-spacing:-.083em;margin:35px 0 28px;max-width:680px}.hero-copy h1 em{color:var(--accent);font-weight:400}.lede{font:400 clamp(1.07rem,1.5vw,1.36rem)/1.6 Georgia,serif;max-width:550px;color:var(--muted)}.hero-actions{margin-top:25px;display:flex;align-items:center;gap:34px;flex-wrap:wrap}.underline-link{font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:10px;display:inline-flex;gap:38px;align-items:center}.underline-link span{font-size:22px;color:var(--accent)}.understated-link{font-size:13px;color:var(--teal)}.hero-byline{margin-top:clamp(38px,6vw,100px);font:600 11px/1.5 ui-monospace,monospace;letter-spacing:.09em;color:var(--sub)}.hero-byline span{color:var(--accent)}
.diagram-shell{position:relative;overflow:hidden;border:1px solid var(--rule);width:100%;aspect-ratio:1.09;background:linear-gradient(145deg,var(--panel2),var(--panel));min-height:0;box-shadow:0 30px 85px -60px var(--shadow)}.diagram-shell:before{position:absolute;content:"";inset:-10%;pointer-events:none;background:radial-gradient(circle at 53% 50%,var(--orb),transparent 65%)}.diagram-top{position:absolute;top:4.2%;left:5%;right:5%;display:flex;justify-content:space-between;color:var(--sub);z-index:2;font-size:10px}.svg-stage{position:absolute;left:-2%;top:5%;height:85%;width:104%;overflow:visible}.svg-stage .ring{fill:none;stroke:var(--rule);stroke-width:1;opacity:.55}.svg-stage .lattice{fill:none;stroke:var(--teal);stroke-width:1;opacity:.3}.svg-stage .plane-shape{fill:var(--teal);fill-opacity:.12;stroke:var(--teal);stroke-opacity:.56;stroke-width:1.7}.svg-stage .line-subspace{stroke:var(--accent);stroke-width:2.6;opacity:0}.svg-stage .axis{stroke:var(--sub);stroke-opacity:.45;stroke-width:1;stroke-dasharray:4 7}.svg-stage .initial-ghost{stroke:var(--sub);stroke-dasharray:4 7;stroke-width:1.2;opacity:0}.svg-stage .active-vector{stroke:var(--accent);stroke-width:4.5;stroke-linecap:round}.svg-stage .drop{stroke:var(--accent);stroke-width:1.7;stroke-dasharray:4 7;opacity:0}.svg-stage .origin{fill:var(--ink)}.svg-stage .endpoint{fill:var(--accent);stroke:var(--paper);stroke-width:2}.svg-stage .proj-dot{fill:var(--teal);stroke:var(--paper);stroke-width:2}.svg-stage text{font:600 15px ui-monospace,monospace;fill:var(--ink)}.svg-stage .accent-label{fill:var(--accent)}.svg-stage .plane-label{fill:var(--teal)}.svg-stage .frag{fill:var(--teal);opacity:0;transform-box:fill-box;transform-origin:center}.svg-stage .impact-ring{fill:none;stroke:var(--accent);opacity:0;stroke-width:2}.diagram-annotations{position:absolute;bottom:4%;left:5%;right:5%;display:flex;align-items:end;justify-content:space-between;z-index:4;gap:16px}.diagram-annotations strong{display:block;font-size:12px}.diagram-annotations small{display:block;color:var(--sub);font-size:10px;padding-top:5px}.diagram-controls{display:flex;align-items:center;gap:13px;white-space:nowrap}.diagram-controls button{min-width:38px;height:38px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font-size:19px}.diagram-controls button:hover{background:var(--panel2)}#stage-count{color:var(--sub);font-size:11px}.order-toggle{font:650 12px/1.5 ui-monospace,monospace;letter-spacing:.03em;background:transparent;color:var(--ink);padding:10px 12px;border:1px solid var(--rule);align-self:flex-end}.order-toggle:hover{border-color:var(--accent)}.order-toggle span{color:var(--accent);padding-left:18px}.model-disclaimer{font:500 10px/1.5 ui-monospace,monospace;color:var(--sub);max-width:630px}.stages{border-top:1px solid var(--rule)}.stage-card{min-height:66svh;padding:clamp(48px,8vh,85px) 15px clamp(48px,8vh,85px) 0;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--rule)}.stage-card h3{font:400 clamp(2.3rem,3.4vw,4.1rem)/1.08 Georgia,serif;letter-spacing:-.062em;margin:20px 0}.stage-card p{font-size:15px;color:var(--muted);max-width:470px}.stage-index{color:var(--accent)}.stage-formula{color:var(--teal);margin-top:9px;font-size:13px}.demo-summary{padding:30px 0 75px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:20px;justify-content:space-between;border-top:1px solid var(--rule)}.demo-summary p{max-width:430px;font-size:13px;color:var(--muted)}.demo-summary .math-explanation{max-width:480px;font-size:12px}.demo-summary a{flex:none}
.identity-band{border-block:1px solid var(--rule);background:var(--panel2);padding-block:26px 34px}.identity-kicker{color:var(--teal);font-size:11px}.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.identity-grid p{font:400 clamp(1.15rem,1.6vw,1.7rem)/1.4 Georgia,serif;letter-spacing:-.025em;margin:18px 0 0;max-width:640px}.jump-links{display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-end}.jump-links a{font-size:13px;font-weight:700;border-bottom:1px solid var(--rule);padding-bottom:8px}
.body-section{padding-block:clamp(72px,8vw,138px);border-top:1px solid var(--rule);scroll-margin-top:75px}.sect-n{color:var(--teal)}.sect-head{display:grid;grid-template-columns:1fr 2fr;column-gap:25px;align-items:start;margin-bottom:54px}.sect-head .sect-n{grid-column:1}.sect-head h2{font:400 clamp(3rem,5.6vw,6.6rem)/1.01 Georgia,serif;letter-spacing:-.075em;grid-column:2;margin:0}.sect-head h2 em{font-weight:400;color:var(--accent)}.sect-intro{grid-column:2;max-width:740px;color:var(--muted);font-size:16px;margin:22px 0 0}.research-list{border-top:1px solid var(--rule)}.research-entry{display:grid;grid-template-columns:1fr 2fr;gap:25px;padding:clamp(28px,3vw,48px) 0;border-bottom:1px solid var(--rule)}.research-entry .research-meta{color:var(--teal);font-size:10px;padding-top:14px}.research-entry h3{font:400 clamp(2rem,3.5vw,4.1rem)/1.1 Georgia,serif;max-width:720px;margin:0 0 18px}.research-entry p{max-width:750px;color:var(--muted);font-size:15px}.research-entry[data-area="0"] h3,.research-entry[data-area="1"] h3{font-size:clamp(2.6rem,4vw,5rem)}.inline-source{color:var(--teal);font-size:12px;font-weight:700}.section-tail{display:flex;justify-content:flex-end;gap:28px;flex-wrap:wrap;margin-top:38px;font-weight:700;font-size:13px}.section-tail a{border-bottom:1px solid var(--ink);padding-bottom:8px}.pub-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}.pub-entry{display:grid;grid-template-columns:55px 1fr auto;align-items:start;gap:25px;border-bottom:1px solid var(--rule);padding:30px 0}.pub-no{color:var(--teal)}.pub-entry h3{font:400 clamp(1.35rem,2.25vw,2.55rem)/1.24 Georgia,serif;letter-spacing:-.03em;margin:0 0 8px;max-width:880px}.pub-entry p{color:var(--muted);font-size:13px;margin:0}.pub-doi{font-weight:700;font-size:12px;white-space:nowrap;color:var(--teal)}.thesis-link{font-weight:500;color:var(--muted)}
.code-section{background:var(--panel2);max-width:none;padding-inline:max(calc((100vw - 1480px)/2 + 78px),clamp(20px,4.2vw,78px))}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule)}.tool-entry{display:flex;flex-direction:column;min-height:170px;padding:30px 20px 30px 0;border-bottom:1px solid var(--rule)}.tool-entry:nth-child(even){border-left:1px solid var(--rule);padding-left:35px}.tool-name{font:400 clamp(1.8rem,2.8vw,3.5rem)/1.1 Georgia,serif}.tool-desc{font-size:14px;color:var(--muted);margin-top:12px}.teaching-list{padding:0;list-style:none;border-top:1px solid var(--rule)}.list-entry{display:grid;grid-template-columns:1.6fr 1fr auto;gap:20px;align-items:start;padding:27px 0;border-bottom:1px solid var(--rule)}.list-entry>span{font:400 25px/1.22 Georgia,serif;letter-spacing:-.02em}.list-entry small{color:var(--muted);font-size:13px}.list-entry a{font-weight:700;font-size:12px;color:var(--teal)}.outreach-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}.out-item{padding:25px 24px 28px 0;border-bottom:1px solid var(--rule)}.out-item:not(:first-child){border-left:1px solid var(--rule);padding-left:25px}.out-item .mono{color:var(--teal)}.out-item p{font:400 22px/1.3 Georgia,serif;letter-spacing:-.02em;margin:18px 0 25px}.out-item a{font-size:12px;font-weight:700}.profile-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--rule)}.profile-grid li{display:flex;flex-direction:column;padding:28px 20px 35px 0;border-bottom:1px solid var(--rule)}.profile-grid li:nth-child(even){padding-left:30px;border-left:1px solid var(--rule)}.profile-grid strong{font:400 28px Georgia,serif;margin-bottom:8px}.profile-grid span{font-size:13px;color:var(--muted)}.contact-section{padding:clamp(65px,8vw,120px) 0;background:var(--ink);color:var(--bg)}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px}.contact-section .sect-n{color:var(--teal2)}.contact-section h2{color:var(--bg);font:400 clamp(3rem,5vw,6rem)/1.05 Georgia,serif;letter-spacing:-.065em;margin:20px 0 30px}.contact-section p{max-width:500px;font-size:16px;opacity:.87}.contact-details{display:flex;flex-direction:column;justify-content:center}.contact-details>.mono{opacity:.7}.mail{font:400 clamp(1rem,2.6vw,2.3rem)/1.3 Georgia,serif;margin:20px 0 35px;overflow-wrap:anywhere}.profile-links{display:flex;gap:14px 23px;flex-wrap:wrap}.profile-links a{border-bottom:1px solid currentColor;font-size:12px}.footer{display:flex;align-items:center;justify-content:space-between;padding-block:26px;color:var(--muted);font-size:11px}.footer div{display:flex;gap:22px}
@media(max-width:1180px){.desktop-nav{gap:12px}.desktop-nav a{font-size:11px}.lang-toggle{margin-left:0}.hero-copy h1{font-size:clamp(3.5rem,6.7vw,6.5rem)}}
@media(max-width:1000px){.desktop-nav{display:none}.mobile-nav{display:block}.lab-columns{gap:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.stage-card{min-height:60svh}.diagram-annotations{bottom:3%}.diagram-controls{gap:5px}}
@media(max-width:720px){html{scroll-padding-top:70px}.wide{padding-inline:19px}.head-content{min-height:65px;gap:12px}.brand-name{font-size:15px}.brand small{font-size:8px}.lang-toggle{margin-left:0}.theme-toggle{width:41px;height:41px}.experiment-prelude{padding-top:15px;font-size:9px}.preview-flag{font-size:8px}.lab-columns{display:flex;flex-direction:column}.lab-story{display:contents}.hero-copy{order:0;min-height:0;padding:32px 0 20px}.hero-copy h1{font-size:clamp(3.55rem,13.1vw,5.6rem);max-width:620px;margin:19px 0 19px}.hero-copy .eyebrow{font-size:9px}.hero-byline{margin-top:35px}.hero-actions{margin-top:16px;gap:25px}.lede{font-size:1.08rem}.lab-visual{order:1;position:sticky;top:66px;min-height:0;height:min(49svh,460px);z-index:25;background:var(--bg);padding:5px 0 2px;gap:3px;box-shadow:0 11px 22px -24px var(--shadow)}.diagram-shell{width:100%;height:calc(100% - 48px);aspect-ratio:auto}.svg-stage{top:-7%;height:105%;left:8%;width:84%}.diagram-top{top:4%;font-size:9px}.diagram-annotations{bottom:4%}.diagram-annotations small{font-size:9px}.diagram-annotations strong{font-size:10px}.diagram-controls button{min-width:33px;height:33px}.order-toggle{font-size:11px;padding:4px 8px;margin-left:auto}.model-disclaimer{font-size:9px;line-height:1.1}.stages{order:2;border-top:0}.stage-card{min-height:58svh;justify-content:flex-end;padding:45px 0 28px}.stage-card h3{font-size:clamp(2.1rem,8vw,3.4rem);margin:9px 0}.stage-card p{font-size:14px;line-height:1.45}.demo-summary{padding:28px 0 55px}.identity-grid{display:block}.jump-links{justify-content:flex-start;margin-top:20px}.body-section{padding-block:80px}.sect-head{display:block;margin-bottom:34px}.sect-head h2{font-size:clamp(2.9rem,10vw,5rem);margin:16px 0}.sect-intro{margin-top:16px}.research-entry{display:block}.research-entry .research-meta{padding:0 0 12px}.research-entry h3,.research-entry[data-area="0"] h3,.research-entry[data-area="1"] h3{font-size:clamp(2rem,8vw,3.2rem)}.pub-entry{grid-template-columns:25px 1fr;gap:10px}.pub-entry .pub-doi{grid-column:2}.pub-entry h3{font-size:22px}.tool-grid{display:block}.tool-entry:nth-child(even){padding-left:0;border-left:0}.list-entry{display:flex;flex-direction:column;gap:8px}.list-entry>span{font-size:23px}.outreach-list{display:block}.out-item:not(:first-child){border-left:0;padding-left:0}.profile-grid{display:block}.profile-grid li:nth-child(even){border-left:0;padding-left:0}.contact-grid{display:block}.contact-details{margin-top:34px}.mail{font-size:clamp(20px,6vw,32px)}.footer{gap:15px;align-items:start}}
@media(max-width:390px){.brand-name{font-size:13px}.brand small{font-size:7px}.lab-visual{height:46svh}.hero-copy h1{font-size:3.5rem}.svg-stage{top:-4%;height:99%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:720px){.hero-copy{padding:20px 0 8px}.hero-copy h1{font-size:clamp(3.15rem,12vw,4.9rem);margin:14px 0}.lede{font-size:1.01rem;line-height:1.46}.hero-actions{margin-top:10px}.hero-byline{display:none}.preview-flag{display:none}}


/* v3 · Interpretation, state history, final scroll dissolution */
.experiment-prelude{display:none}
.comparison-intro{padding:20px 0 36px;border-top:1px solid var(--rule)}
.comparison-intro h2{font:400 clamp(1.8rem,2.7vw,3rem)/1.14 Georgia,serif;max-width:530px;letter-spacing:-.048em;margin:8px 0 12px}
.comparison-intro p{font-size:14px;max-width:510px;color:var(--muted)}
.hero-copy h1{font-size:clamp(3.2rem,5.8vw,6.5rem);max-width:650px;line-height:1.01;letter-spacing:-.075em}
.hero-copy .lede{max-width:600px}
.stage-card{min-height:80svh}
.stage-card[data-step="2"]{min-height:116svh;padding-bottom:19svh}
.stage-index{font-size:10px;letter-spacing:.08em}
.state-history{stroke:var(--teal);fill:none;stroke-width:1.4;stroke-dasharray:4 7;opacity:0;vector-effect:non-scaling-stroke}
.previous-dot{fill:var(--teal);stroke:var(--paper);stroke-width:1.6;opacity:0}
.svg-stage .shard{fill:none;stroke:var(--teal);stroke-width:2.2;stroke-linecap:round;opacity:0;pointer-events:none}
.references-note{border-top:1px solid var(--rule);padding:22px 0 45px;margin:0;color:var(--muted);font-size:12px}
.references-note summary{cursor:pointer;color:var(--teal);font-size:12px;width:max-content;max-width:100%;padding:8px 0}
.references-note[open] p{max-width:850px;margin:13px 0}
.references-note a{display:inline-block;margin:8px 22px 0 0;border-bottom:1px solid var(--rule);font-weight:600}
.research-section .sect-n{font-size:11px;color:var(--sub);letter-spacing:.15em;opacity:.9}
.research-section .research-meta{font-size:10px;color:var(--accent);letter-spacing:.04em}
.diagram-shell{transition:filter .12s linear}
@media(max-width:720px){.hero-copy h1{font-size:clamp(3.05rem,11vw,4.5rem)}.comparison-intro{padding:20px 0 18px}.comparison-intro h2{font-size:1.55rem}.comparison-intro p{font-size:12px}.stage-card{min-height:67svh}.stage-card[data-step="2"]{min-height:110svh;padding-bottom:25svh}.svg-stage .plane-label,.svg-stage .accent-label{font-size:12px}}
/* Ensure the geometric panel precedes the example text on mobile; don't bury it below the fold. */
@media(max-width:720px){
 .hero-actions{gap:14px;flex-wrap:nowrap;align-items:center}
 .hero-actions .underline-link{font-size:10px;gap:9px;white-space:nowrap}
 .hero-actions .understated-link{font-size:11px;white-space:nowrap}
 .hero-copy{padding-bottom:0}
 .hero-byline{display:none}
 .comparison-intro{order:2}
 .stages{order:3}
 .stage-card{min-height:83svh;padding-bottom:38px}
 .stage-card[data-step="2"]{min-height:122svh;padding-bottom:23svh}
 .lab-visual{height:min(49svh,460px)}
 .svg-stage .plane-label,.svg-stage .accent-label{font-size:11px}
}
@media(max-width:390px){.hero-actions .underline-link{font-size:9px}.hero-actions .understated-link{font-size:10px}}
/* v4: restrained editorial accents, linked affiliations and scroll-triggered fragments. */
.accent-word{color:var(--accent)}
:root[data-theme="dark"] .accent-word{color:var(--teal)}
.profile-grid strong a{color:var(--ink);text-decoration:none;text-decoration-color:var(--accent);text-underline-offset:5px}
.profile-grid strong a:hover,.profile-grid strong a:focus-visible{color:var(--accent);text-decoration:underline}
:root[data-theme="dark"] .profile-grid strong a:hover{color:var(--teal)}
.break-runway{height:80svh;min-height:400px;pointer-events:none}
#shatter-layer{pointer-events:none;opacity:0;isolation:isolate}
#shatter-layer .fragment-tile{will-change:transform,opacity}
.diagram-shell{isolation:isolate;overflow:hidden}
@media(max-width:720px){.break-runway{height:75svh;min-height:375px}}
@media(prefers-reduced-motion:reduce){#shatter-layer{display:none}}

/* Production: fracture the whole geometric panel, not just its drawn vectors. */
.diagram-shell{isolation:isolate}
.diagram-shell.panel-is-breaking{background:transparent!important;border-color:transparent!important;box-shadow:none!important;overflow:visible}
.diagram-shell.panel-is-breaking::before{opacity:0!important}
.panel-fragments{position:absolute;inset:0;pointer-events:none;visibility:hidden;overflow:visible;z-index:0;isolation:isolate}
.panel-fragment{position:absolute;inset:0;background:linear-gradient(145deg,var(--panel2),var(--panel));box-shadow:inset 0 0 0 1px var(--rule);will-change:transform,opacity;pointer-events:none}
.panel-fragment>.diagram-top,.panel-fragment>.diagram-annotations{position:absolute;opacity:1!important;pointer-events:none}
.panel-fragment button{pointer-events:none}
.diagram-shell>.svg-stage{z-index:1;pointer-events:none}
.diagram-shell>.diagram-top{z-index:3}
.diagram-shell>.diagram-annotations{z-index:4}
@media(prefers-reduced-motion:reduce){.panel-fragments{display:none!important}.diagram-shell.panel-is-breaking{opacity:0}}

/* Mobile reading rhythm and low-cost geometry, October 2026. */
.stage-card{position:relative;transition:border-color .2s ease}
.stage-card.is-current{border-left:2px solid var(--accent);padding-left:clamp(14px,1.8vw,24px)}
@media(max-width:720px){
 .stage-card{min-height:64svh;padding:42px 0 28px;scroll-margin-top:55svh}
 .stage-card[data-step="2"]{min-height:98svh;padding-bottom:18svh}
 .stage-card.is-current{padding-left:16px}
 .stage-card h3{font-size:clamp(1.85rem,7.6vw,3rem);line-height:1.12}
 .comparison-intro{padding:20px 0 12px}
 .lab-visual{height:min(44svh,405px);top:67px}
 .diagram-shell{height:calc(100% - 44px)}
 .break-runway{height:60svh;min-height:310px}
 .model-disclaimer{margin-top:0}
 .panel-fragment{will-change:auto}
 #shatter-layer .fragment-tile{will-change:auto}
}
@media(prefers-reduced-motion:reduce){.stage-card{transition:none}}

/* Phase-to-phase reading: compact chapters with native, proximity-only scroll snap.
   Keeps wheel, touch and keyboard scrolling under the browser's control. */
@media (prefers-reduced-motion: no-preference){
  html:has(.experiment){scroll-snap-type:y proximity;scroll-padding-top:35svh}
  .stage-card{scroll-snap-align:start;scroll-snap-stop:normal;scroll-margin-top:0!important}
}
@media (min-width:721px){
  .stage-card{min-height:46svh;padding:20px 15px 18px 0;justify-content:center}
  .stage-card[data-step="2"]{min-height:64svh;padding-bottom:9svh}
  .break-runway{height:62svh;min-height:320px}
}
@media (max-width:720px){
  html:has(.experiment){scroll-padding-top:42svh}
  .stage-card{min-height:43svh;padding:12px 0 20px;justify-content:flex-end;scroll-margin-top:0!important}
  .stage-card[data-step="2"]{min-height:55svh;padding:12px 0 8svh;justify-content:center}
  .comparison-intro{padding:12px 0 6px}
  .break-runway{height:60svh;min-height:300px}
}
