/* Shared screen layout for both proposals. The four-page print sources stay intact. */
:root{--proposal-max-width:1200px;--proposal-gutter:clamp(24px,7vw,112px)}
body .paper-page,body .reading-note,body .web-atlas{
 width:calc(100% - 2 * var(--proposal-gutter));max-width:var(--proposal-max-width);
 margin-left:auto;margin-right:auto;
}
body .reading-nav,body .web-footer{
 padding-left:max(var(--proposal-gutter),calc((100% - var(--proposal-max-width))/2));
 padding-right:max(var(--proposal-gutter),calc((100% - var(--proposal-max-width))/2));
}
body .paper-page{
 --prose-size:clamp(15px,1.15vw,18px);
 --column-gap:clamp(28px,3.4vw,68px);
 zoom:1;height:auto;min-height:0;
 margin-top:0;margin-bottom:48px;padding:0;overflow:visible;
}
body .page-content{height:auto;min-height:0;padding-top:28px;padding-bottom:0}
body .reading-note{margin-top:26px;margin-bottom:6px;padding:0;font-size:10px;line-height:1.6}
body .paper-header{height:46px;font-size:10px;gap:24px}
body .paper-header span:last-child{font-size:9px}
body .paper-page footer{position:static;margin:32px 0 0;padding:12px 0 0;font-size:10px;line-height:1.5;gap:24px}
body .paper-page+.paper-page{padding-top:8px}

/* Two reading columns share a centered, bounded article area. */
body .paper-page .article-columns,
body #p1 .article-columns,
body .paper-page .analysis-columns{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 gap:var(--column-gap);font-size:var(--prose-size);line-height:1.72;
}
body .paper-page .article-columns>div{min-width:0}
body :is(#p1,#p2,#p3,#p4) .article-columns p{margin:0 0 16px;text-align:left;hyphens:none}
body :is(#p1,#p2,#p3,#p4) .article-columns h2{font-size:clamp(20px,1.55vw,26px);line-height:1.3;margin:27px 0 12px}
body :is(#p1,#p2,#p3,#p4) .article-columns h3{font-size:clamp(18px,1.4vw,23px);line-height:1.35;margin:25px 0 11px}
body :is(#p1,#p2,#p3,#p4) .article-columns>div>:is(h2,h3):first-child{margin-top:0}
body .paper-page .article-title{padding-bottom:18px}
body .paper-page h1{font-size:clamp(34px,3.7vw,60px);line-height:1.13;max-width:none}
body .paper-page h1 br{display:none}
body .paper-page .article-type{font-size:10px;line-height:1.6;margin-bottom:15px}
body .paper-page .subtitle{font-size:clamp(19px,1.7vw,26px);line-height:1.4;margin:13px 0 16px}
body .paper-page .author{font-size:16px;margin:17px 0 7px}
body .paper-page .affiliation{font-size:12px;line-height:1.65}
body .paper-page .advisors{font-size:13px;line-height:1.65;gap:var(--column-gap);margin:16px 0 24px}
body .paper-page .advisors span{font-size:12px;line-height:1.6}
body :is(#p1,#p2,#p3,#p4) .abstract{padding:12px 0 20px;margin:0 0 30px}
body .paper-page .abstract h2{font-size:16px;margin:3px 0 12px}
body .paper-page .abstract p{font-size:var(--prose-size);line-height:1.72;margin:0}
body .paper-page .abstract .keywords{font-size:12px;line-height:1.6;margin-top:13px}
body :is(#p1,#p2,#p3,#p4) .page-section{font-size:clamp(25px,2.1vw,34px);line-height:1.3;margin:0 0 20px}
body .paper-page :is(.lead,.compact){font-size:var(--prose-size);line-height:1.72;margin-bottom:20px}
body .paper-page .takeaway{font-size:15px;line-height:1.65;padding:16px 0;margin-top:25px}
body .paper-page sup{font-size:10px}

/* Figures, captions and tables align with the text area's outer edges. */
body .paper-page figure{width:100%;max-width:none;margin:24px 0 28px}
body .paper-page figure img{width:100%;height:auto!important;max-width:none}
body .paper-page :is(.figure-viewport,.architecture-stage,.static-figure){width:100%;max-width:none}
body .paper-page .live-vector{width:100%;height:auto}
body :is(#p1,#p2,#p3,#p4) figure figcaption{font-size:13px;line-height:1.6;margin-top:12px}
body .paper-page .figure-controls{font-size:12px;gap:16px;padding-top:10px}
body .paper-page .figure-controls :is(button,select,a){font-size:12px}
body .paper-page .figure-controls :is(button,select){padding:7px 11px}
body .paper-page .figure-controls input[type=range]{width:150px}
body .paper-page .figure-controls .timeline-scrub{max-width:none}
body .paper-page .web-boundary{font-size:11px;line-height:1.6}
body .paper-page .equations{font-size:16px;line-height:2;padding:15px 0;margin:12px 0 18px}
body .paper-page .equations sub{font-size:11px}
body .paper-page :is(.study-table,.score-table){font-size:13px;line-height:1.6;margin-top:20px}
body .paper-page :is(.study-table,.score-table) caption{font-size:13px;line-height:1.6;margin-bottom:10px}
body :is(#p1,#p2,#p3,#p4) :is(.study-table,.score-table) :is(td,th){padding:12px 16px 12px 0}
body .paper-page .score-table b{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
body .paper-page .score-table span{font-size:13px;line-height:1.5}
body .paper-page .map-legend{font-size:11px;line-height:1.6;flex-wrap:wrap;gap:12px;margin:12px 0}
body .paper-page .map-names{font-size:13px;line-height:1.6;gap:10px var(--column-gap);margin:16px 0}
body :is(#p1,#p2,#p3,#p4) .model-boundary{font-size:15px;line-height:1.75;margin-top:20px}

body :is(#p1,#p2,#p3,#p4) .session-flow{font-size:12px;line-height:1.6;padding:16px 0;margin:20px 0;gap:16px;flex-wrap:wrap}
body .paper-page .session-flow b{font-size:15px}
body :is(#p1,#p2,#p3,#p4) .measure-grid{gap:26px var(--column-gap);margin-top:24px}
body :is(#p1,#p2,#p3,#p4) .measure h3{font-size:17px;line-height:1.5;margin:5px 0 10px}
body :is(#p1,#p2,#p3,#p4) .measure p{font-size:14px;line-height:1.7;margin:0 0 10px}
body .paper-page :is(.slider-art,.allocation-art,.resolution-art,.replay-art){font-size:14px;line-height:1.6;margin:18px 0}
body .paper-page .allocation-art input{font-size:15px;width:44px}
body .paper-page .demo-note{font-size:12px;line-height:1.6}
body .paper-page .bibliography{margin-top:30px;padding-top:18px}
body .paper-page .bibliography h2{font-size:19px;margin-bottom:16px}
body .paper-page .references{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px var(--column-gap)}
body .paper-page .references p{font-size:13px;line-height:1.7;margin:0 0 12px;overflow-wrap:anywhere}
body .paper-page .uw-links{font-size:12px;line-height:1.7;margin-top:16px}
body .web-atlas{margin-top:42px;margin-bottom:48px;padding:28px 0 0}
body .web-atlas .atlas-heading{margin-bottom:24px}
body .web-atlas .atlas-heading h2{font-size:32px}
body .web-atlas figcaption{font-size:13px;line-height:1.6}

@media(max-width:820px){
 :root{--proposal-gutter:20px}
 body .paper-page{margin-top:0;margin-bottom:34px;--prose-size:15px;--column-gap:24px}
 body .page-content{padding-top:23px}
 body .reading-note{margin-top:22px;margin-bottom:8px;font-size:9px}
 body .paper-header{font-size:8px;gap:14px;height:42px}
 body .paper-header span:last-child{font-size:7px}
 body .paper-page .article-columns,body #p1 .article-columns,body .paper-page .analysis-columns{grid-template-columns:1fr;gap:24px}
 body .paper-page h1{font-size:36px;line-height:1.14}
 body .paper-page .article-type{font-size:9px}
 body .paper-page .author{font-size:15px}
 body .paper-page .affiliation{font-size:11px}
 body .paper-page .advisors{font-size:12px;gap:20px}
 body .paper-page .advisors span{font-size:11px}
 body :is(#p1,#p2,#p3,#p4) figure figcaption{font-size:12px}
 body .paper-page .figure-controls{font-size:11px;gap:12px}
 body .paper-page .figure-controls :is(button,select,a){font-size:11px}
 body .paper-page .figure-controls input[type=range]{width:105px}
 body .paper-page :is(.study-table,.score-table){font-size:11px}
 body .paper-page :is(.study-table,.score-table) caption{font-size:12px}
 body .paper-page .score-table b{font-size:10px}
 body .paper-page .score-table span{font-size:11px}
 body :is(#p1,#p2,#p3,#p4) :is(.study-table,.score-table) :is(td,th){padding:10px 9px 10px 0}
 body .paper-page .equations{font-size:12px;line-height:2}
 body .paper-page .equations sub{font-size:9px}
 body .paper-page .references{grid-template-columns:1fr;gap:6px}
 body .paper-page .references p{font-size:12px}
 body .paper-page .map-names{grid-template-columns:1fr;font-size:12px}
 body .paper-page .map-legend{font-size:9px}
 body .paper-page footer{font-size:9px;margin-top:25px;gap:18px}
 body .web-atlas{margin-top:30px;margin-bottom:40px;padding-top:24px}
 body .web-atlas .atlas-heading h2{font-size:28px}
}
