/* Paper structure: generated charts, tables, lists and references. Loaded after v5.css. */
[hidden]{display:none!important}
.article-shell h3[id],.article-shell h2+h3,.article-shell p+h3{font-size:24px;font-weight:400;line-height:1.3;margin:38px 0 14px}
.article-shell .abstract{font-size:19px;line-height:1.65}
.article-shell ol.contribution-list,.article-shell ul.plain-list{margin:12px 0 24px;padding-left:26px;font-size:19px;line-height:1.6}
.article-shell ol.contribution-list li,.article-shell ul.plain-list li{margin:0 0 12px;padding-left:4px}
.article-shell ul.plain-list{list-style:disc}
.article-shell ol.contribution-list{list-style:decimal}

/* charts */
.chart-figure{margin:36px 0 46px}
.chart-figure svg.chart{display:block;width:100%;height:auto;border-block:1px solid #0c0c0c20;padding:14px 0;background:transparent}
.chart-figure figcaption,.table-caption{font-size:17px;line-height:1.6;color:#6b755f;margin:16px 0 0}
.table-caption{margin:0 0 12px}
.chart text{font-family:var(--font-source-serif),Georgia,serif}
.chart .c-tick{font-size:14px;fill:#7c8370}
.chart .c-axis{font-size:15px;fill:#5f6a53}
.chart .c-label{font-size:16px;fill:#414637}
.chart .c-legend{font-size:15px;fill:#414637}
.chart .c-value{font-size:15px;fill:#414637;font-family:var(--font-code),monospace}
.chart .c-grid{stroke:#0c0c0c14;stroke-width:1;fill:none}
.chart .c-axisline{stroke:#0c0c0c55;stroke-width:1;fill:none}
.chart .c-err{stroke:#2e3328;stroke-width:1.2;fill:none}
.chart .c-mark{stroke:#797af2;stroke-width:1.2;stroke-dasharray:5 4;fill:none}
.chart .lay-floor{fill:#eff0e7;stroke:#aab09f}
.chart .lay-box{fill:#f9f9f3;stroke:#7d8870;stroke-width:1.2}
.chart .lay-text{font-size:11.5px;fill:#414637}
.chart .lay-reach{fill:#797af20d;stroke:#a19ec8;stroke-dasharray:4 4}
.chart .lay-arm{fill:#797af2}
.chart .lay-cam{fill:#4f5946}

/* tables */
.table-block{margin:34px 0 42px}
.table-wrap{overflow-x:auto;scrollbar-width:thin;border-block:1px solid #0c0c0c30}
.data-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45;color:#2e3328}
.data-table th,.data-table td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #0c0c0c14}
.data-table thead th{font-weight:500;color:#5f6a53;font-size:14px;border-bottom:1px solid #0c0c0c30;white-space:nowrap}
.data-table tbody th{font-weight:400}
.data-table tbody tr:last-child th,.data-table tbody tr:last-child td{border-bottom:0}
.data-table--num td{text-align:right;font-family:var(--font-code),monospace;font-size:14.5px;white-space:nowrap}
.data-table--num thead th:not(:first-child){text-align:right}
.data-table--num tbody th{white-space:nowrap}
.data-table strong{font-weight:700;color:#0c0c0c}
.data-table--wide td{min-width:110px}
.data-table--wide td:nth-child(2){min-width:260px}

/* media */
.research-media--natural img{aspect-ratio:auto!important}
.variation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#e9ece2}
.variation-grid img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}

/* references */
.article-shell ol.ref-list{list-style:none;counter-reset:ref;padding:0;margin:10px 0 30px;font-size:17px;line-height:1.55;color:#414637}
.article-shell ol.ref-list li{counter-increment:ref;position:relative;padding-left:44px;margin:0 0 12px}
.article-shell ol.ref-list li::before{content:"[" counter(ref) "]";position:absolute;left:0;color:#7c8370;font-family:var(--font-code),monospace;font-size:14px;top:2px}


@media(max-width:820px){.article-shell .abstract{font-size:17px}.article-shell ol.contribution-list,.article-shell ul.plain-list{font-size:17px;padding-left:22px}.chart-figure svg.chart{min-width:640px}.chart-figure{overflow-x:auto}.chart-figure figcaption,.table-caption{font-size:16px}.data-table{font-size:14.5px}.data-table th,.data-table td{padding:8px 9px}.variation-grid{grid-template-columns:1fr}.article-shell ol.ref-list{font-size:16px}}
@media print{.chart-figure svg.chart{min-width:0}.table-wrap{overflow:visible}}
.evidence-film .research-media--natural{background:transparent;aspect-ratio:auto;height:auto}
.evidence-film .research-media--natural img{aspect-ratio:auto;height:auto}
.evidence-film .research-media:has(> video){aspect-ratio:auto}

/* Keep equations and chart captions readable at narrow widths. */
.equation-formulas{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:center;min-width:0;flex:1}
.equation-row .equation-formulas math{flex:0 1 auto;min-width:0;text-align:left}
.chart-scroll{overflow-x:auto;scrollbar-width:thin}
.chart-scroll:focus-visible,.table-wrap:focus-visible{outline:2px solid #797af2;outline-offset:4px}
@media(max-width:820px){
 .chart-figure{overflow:visible}
 .chart-scroll svg.chart{min-width:900px}
 .equation-row{overflow:visible;align-items:flex-start}
 .equation-formulas{display:block;overflow-x:auto;scrollbar-width:thin}
 .equation-row .equation-formulas math{display:block;font-size:18px;margin:10px 0;text-align:left}
 .equation-row>span{padding-top:12px}
}
/* integrated pass: wide stills match the chart width, and the dense ones scroll on phones */

@media(max-width:820px){.figure-wide .media-scroll{overflow-x:auto}.figure-wide .media-scroll img{min-width:var(--scroll-min,0)}}
/* media polish: one chart type system. numbers use lining tabular figures, direct labels sit at line ends, figure and table labels are bold */
.chart text{font-variant-numeric:lining-nums tabular-nums}
.chart .c-direct{font-size:15px;font-weight:600}
.chart .c-value--accent{font-size:13px;fill:#5b5bd6;font-weight:600}
.chart-figure figcaption .ref-num,.table-caption .ref-num,figure figcaption .ref-num{font-weight:600;color:#2e3328}
/* media polish: every figure and table caption uses the same size, colour and measure */
.article-shell figure>figcaption,.article-shell figure>figcaption p,.article-shell .table-caption,.article-shell .diagram-caption{font-size:16.5px!important;line-height:1.6!important;color:#5f6a53!important;max-width:820px}
.article-shell figure>figcaption{margin-top:14px}
@media(max-width:820px){.article-shell figure>figcaption,.article-shell figure>figcaption p,.article-shell .table-caption,.article-shell .diagram-caption{font-size:15.5px!important}}
/* media polish: numeric table columns align right; stills and loops keep their own aspect, with no letterbox band */
.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.shot-figure .research-media:not(.media-scroll){aspect-ratio:auto;background:none}
.shot-figure .research-media:not(.media-scroll) img,.shot-figure .research-media:not(.media-scroll) video{height:auto}
/* media polish: on phones, dense figures keep a readable width and scroll sideways, in the page and in the expanded view */
.swipe-hint{display:none}
@media(max-width:820px){
.media-scroll{overflow-x:auto;scrollbar-width:thin}
.media-scroll>img,.media-scroll>video{min-width:var(--scroll-min,0);width:100%;height:auto}
.article-shell .swipe-hint{display:block;font-size:13px!important;color:#7c8370!important;margin:6px 0 0!important}
#asset-view{overflow-x:auto}
#asset-view>img,#asset-view>video{min-width:var(--scroll-min,0);width:100%;max-width:none!important;max-height:none!important;height:auto}
}
/* media polish: each cell's still and loop sit side by side on wide screens */
.figure-pair>figure{margin:28px 0}

/* Keep phone navigation in the reading flow so it cannot cover the paper. */
@media(max-width:820px){
 .mobile-outline{margin:0 0 24px;text-align:right}
 .mobile-outline__trigger{position:static}
}

.article-shell .article-authors__date{margin:6px 0 0;font-size:15px;color:#7c8370;font-family:var(--font-code),monospace;letter-spacing:.02em}
.article-shell pre.citation{background:#f4f4ee;border:1px solid #e1e3d8;padding:14px 16px;font-size:13.5px;line-height:1.5;overflow-x:auto;margin:10px 0 30px;color:#414637}

/* Local revision: centered, function-labelled equations. */
.equation-row{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:12px;align-items:center;overflow:visible}
.equation-row .equation-formulas{grid-column:2;display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:30px 38px;width:100%;min-width:0}
.equation-row>span{grid-column:3;text-align:right;align-self:center;padding:0}
.equation-unit{min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin;text-align:center}
.article-shell .equation-subtitle{font-size:16px;line-height:1.4;font-weight:400;text-align:center;color:#6b755f;margin:0 0 15px}
.equation-row .equation-formulas .equation-unit math{display:block;flex:none;width:max-content;min-width:0;max-width:none;margin:0 auto;text-align:center}
@media(max-width:820px){.equation-row{grid-template-columns:0 minmax(0,1fr) 25px;gap:8px}.equation-row .equation-formulas{gap:25px}.article-shell .equation-subtitle{font-size:15px}.equation-row .equation-formulas .equation-unit math{font-size:18px;margin:0 auto}.equation-unit{width:100%}}

/* one reading column and one shared figure width */
.article-body{padding:72px 32px 104px 0}
.article-body[data-outline-open=true] .article-layout{width:100%;max-width:none;margin:0;grid-template-columns:192px minmax(0,1080px);justify-content:start;column-gap:clamp(28px,4vw,64px)}
.article-body[data-outline-open=true] .article-outline{grid-column:1;justify-self:start;width:100%;margin:0;padding:0 16px;border-left:0;top:28px;max-height:calc(100svh - 56px)}
.article-outline a:before{left:-16px;width:2px}
.article-body[data-outline-open=true] .article-shell{grid-column:2;width:100%;min-width:0;max-width:none}
.article-shell>p,.article-shell>h2,.article-shell>h3,.article-shell>ol,.article-shell>ul,.article-title-block{max-width:780px}
.article-shell>figure,.article-shell>.figure-pair,.article-shell>.table-block{width:100%;max-width:100%;margin:36px 0 44px}
.article-shell figure>figcaption,.article-shell .table-caption{max-width:780px}
.figure-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.figure-pair>figure{width:100%;max-width:100%;margin:0;min-width:0}
.figure-pair .research-media{aspect-ratio:16/9!important;display:grid;place-items:center}
.figure-pair .research-media>img,.figure-pair .research-media>video{width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:contain}
.article-shell>figure>.research-media{width:100%;aspect-ratio:auto;background:transparent}
.article-shell>figure>.research-media>img,.article-shell>figure>.research-media>video{display:block;width:100%;height:auto;max-height:min(62svh,580px);aspect-ratio:auto!important;object-fit:contain;background:transparent}
.article-shell>figure>.research-media:has(video){background:#e9ece2}
.static-diagram svg{height:auto}
.branch-stage{height:clamp(280px,46svh,400px)}
@media(max-width:1100px) and (min-width:821px){
 .article-body{padding-right:24px}
 .article-body[data-outline-open=true] .article-layout{grid-template-columns:164px minmax(0,1fr);column-gap:28px}
 .article-outline a{font-size:14px;padding-block:8px}
 .figure-pair{gap:20px}
}
@media(max-width:820px){
 .article-body{padding:38px 20px 76px}
 .article-body[data-outline-open=true] .article-layout{display:block}
 .article-body[data-outline-open=true] .article-shell{width:100%}
 .figure-pair{grid-template-columns:1fr;gap:30px}
 .article-shell>figure,.article-shell>.figure-pair,.article-shell>.table-block{margin:28px 0 34px}
 .article-shell>figure>.research-media>img,.article-shell>figure>.research-media>video{min-width:0;max-height:62svh}
 .article-shell .swipe-hint{display:none}
 .static-diagram{overflow-x:auto}
}
@media print{
 .article-body{padding:0}
 .article-body[data-outline-open=true] .article-layout{display:block}
 .article-shell>figure>.research-media>img,.article-shell>figure>.research-media>video{max-height:none}
}

/* a readable title over the opening film */
.article-hero__subtitle{display:block;max-width:1040px;width:90%;font-size:clamp(24px,3.2vw,48px);font-weight:400;line-height:1.15;text-wrap:balance;color:#fff;text-shadow:0 2px 24px #0009;letter-spacing:-.015em}
@media(max-width:820px){.article-hero__title{gap:10px}.article-hero__subtitle{width:94%;font-size:clamp(18px,3.6vw,28px);line-height:1.18}}


/* author and logo placement follows the reference paper */
.article-shell .article-authors__names .article-author-link{border:0;padding:0;color:inherit;text-decoration:none}
.article-shell .article-authors__names .article-author-link:hover,.article-shell .article-authors__names .article-author-link:focus-visible{text-decoration:underline;text-underline-offset:3px}
.article-logo-row{gap:clamp(24px,4vw,48px);margin-top:22px;container-type:normal;align-items:center}
.article-logo-link{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none;border:0;color:#25291f}
.article-logo-row .article-logo-row__image{height:44px;width:auto;max-width:none;object-fit:contain}
.standard-matter-lockup{gap:9px}
.standard-matter-lockup span{font-size:20px;line-height:1.03;font-weight:600;letter-spacing:-.035em}
@media(max-width:520px){.article-logo-row{gap:24px}.article-logo-row .article-logo-row__image{height:36px}.standard-matter-lockup{gap:6px}.standard-matter-lockup span{font-size:17px}}

.article-company-link{color:inherit;text-decoration:none;border-bottom:1px solid #a5ae95;padding-bottom:2px}.article-company-link:hover,.article-company-link:focus-visible{border-bottom-color:currentColor}
