/* Shared visual system. Fiber rendering is intentionally independent. */
:root{--type-display:Newsreader,Georgia,serif;--type-body:"Segoe UI",system-ui,sans-serif;--type-label:"Courier New",monospace;--text-primary:#e6e6dc;--text-secondary:#a9b5ae;--text-quiet:#899b91;--accent:#e25463;--rule:#80978b30;--page-gutter:clamp(24px,4.5vw,88px)}
.site-header,.fiber-room>.site-header{padding-top:32px;padding-bottom:28px;background-size:9px 2px}
.site-name,.fiber-room .site-header .site-name{font:400 clamp(28px,2.7vw,42px)/1.08 var(--type-display);letter-spacing:-.025em}
.site-identity{gap:14px}.site-subtitle{width:350px;height:13px}
.site-header nav a,.fiber-room .site-header nav a{font:11px/1.5 var(--type-label);letter-spacing:.025em}
.site-header nav{gap:28px}
.gallery-page .exhibition-room{padding-inline:var(--page-gutter);grid-template-columns:minmax(260px,300px) minmax(0,1fr);grid-template-rows:auto auto minmax(460px,1fr) auto;gap:24px clamp(36px,5vw,88px)}
.gallery-page .site-header{grid-row:1;padding-bottom:28px;margin-bottom:18px}
.gallery-page .research-lens,.gallery-page[data-mode=neural] .research-lens{grid-column:1;grid-row:2/4;padding:0;align-self:start}
.gallery-page .research-lens h2{font:400 clamp(25px,2.1vw,30px)/1.13 var(--type-display);letter-spacing:-.025em;margin:0 0 18px;text-wrap:balance}
.gallery-page .research-lens>p,.gallery-page .research-explanation p{font:12px/1.7 var(--type-body);color:var(--text-secondary);margin:0;max-width:300px}
.gallery-page .research-lens>p{margin-bottom:28px}
.gallery-page .research-steps{padding-left:87px;height:184px;margin:0 0 24px}
.gallery-page .research-steps button{flex:0 0 46px;min-height:46px;padding:6px 0}
.gallery-page .research-steps button span{font:400 17px/1.2 var(--type-display)}
.gallery-page .research-steps button small{font:10px/1.4 var(--type-body);margin-top:4px;color:var(--text-quiet)}
.gallery-page #architecture-circuit{width:76px;height:180px}
.gallery-page .research-explanation{min-height:66px;margin:0 0 16px}
.gallery-page .method-source{font:10px/1.5 var(--type-label);letter-spacing:.015em;color:var(--text-quiet);margin:0;display:inline-block}
.gallery-page .atlas-entry{grid-column:2;grid-row:2;position:relative;inset:auto;justify-self:end;align-self:start;font:12px/1.6 var(--type-body);text-align:right;max-width:380px;padding:0 0 10px;border-bottom:1px solid var(--rule);margin:0}
.gallery-page .home-fiber-layers,body[data-mode=architecture] .home-fiber-layers{grid-column:2;grid-row:3;min-height:460px;height:clamp(460px,calc(100svh - 300px),700px);contain:size}
.gallery-page .room-navigation{grid-row:4;min-height:96px;padding:26px 80px 26px 0;gap:30px}
.gallery-page .room-navigation:before{background-size:9px 2px;opacity:.65}
.gallery-page .stream-selector{gap:16px 34px}
.gallery-page .stream-switch{font:400 16px/1.4 var(--type-display);gap:12px}
.gallery-page .switch-dot{transform:scale(.7);transform-origin:left center;margin-right:-4px}
.gallery-page .lab-signature{right:var(--page-gutter);bottom:24px}
.gallery-page[data-mode=neural] .method-figure{margin:24px 0!important}
.gallery-page .paired-narratives span{font:400 18px/1.15 var(--type-display)}
.gallery-page .paired-result{font:10px/1.5 var(--type-body);color:var(--text-quiet)}
.gallery-page[data-mode=neural] .research-steps{height:auto;padding:0;margin-bottom:16px;gap:22px}
.gallery-page[data-mode=neural] .research-steps button{min-height:30px;flex:0 1 auto}
.gallery-page[data-mode=neural] .research-steps button span{font:11px/1.4 var(--type-body)}
.icon-button svg{width:17px;height:17px;stroke-width:1.2}.icon-button{min-width:36px;min-height:36px}
a:focus-visible,button:focus-visible,select:focus-visible{outline:1px solid var(--text-primary);outline-offset:5px}
.publication-page .site-header{margin-inline:var(--page-gutter)}
.publication-page .paper-title{font:400 clamp(22px,2.1vw,30px)/1.2 var(--type-display)}
.publication-page .paper-row{padding-block:30px}.publication-page .eyebrow,.publication-page .paper-index{font:10px/1.6 var(--type-label);letter-spacing:.08em}
.fiber-room h2,.fiber-room[data-mode=architecture] h2{font:400 clamp(25px,2.3vw,32px)/1.15 var(--type-display)}
.fiber-room .art-controls label,.fiber-room small,.fiber-room details p{font-family:var(--type-body)}
.fiber-room select,.fiber-room aside p{font-family:var(--type-display)}
.fiber-room button,.fiber-room .art-controls span{font-family:var(--type-body)}
.fiber-room #exit-art,.fiber-room #replay-art{font-family:var(--type-label)}
.fiber-room #exit-art{top:145px}
@media(max-width:1050px){.gallery-page .exhibition-room{grid-template-columns:minmax(240px,280px) minmax(0,1fr);column-gap:32px}.gallery-page .stream-switch{font-size:15px}.gallery-page .atlas-entry{font-size:11px}}
@media(max-width:760px){
 .site-header,.fiber-room>.site-header{padding-top:24px;padding-bottom:24px}.site-name,.fiber-room .site-header .site-name{font-size:29px}.site-subtitle{width:310px;max-width:100%;height:12px}
 .gallery-page .exhibition-room{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto;gap:24px}
 .gallery-page .site-header{margin-bottom:4px}.gallery-page .atlas-entry{grid-column:1;grid-row:2;justify-self:start;text-align:left;max-width:340px}
 .gallery-page .home-fiber-layers,body[data-mode=architecture] .home-fiber-layers{grid-column:1;grid-row:3;min-height:310px;height:max(310px,55vw)}
 .gallery-page .research-lens,.gallery-page[data-mode=neural] .research-lens{grid-column:1;grid-row:4;max-width:440px}
 .gallery-page .research-lens h2{font-size:27px;max-width:340px}.gallery-page .research-lens>p,.gallery-page .research-explanation p{max-width:400px;font-size:13px}
 .gallery-page .room-navigation{grid-row:5;padding-block:24px}.gallery-page .stream-switch{font-size:16px}.gallery-page .research-explanation{min-height:0}
 .fiber-room #exit-art{top:164px}
}
/* v37: editorial breathing room, with independent layout cells for all artwork UI. */
@media(min-width:761px){.gallery-page .exhibition-room{grid-template-columns:minmax(230px,270px) minmax(0,1fr);column-gap:clamp(48px,6vw,100px)}}
.gallery-page .research-lens h2{font-size:25px;line-height:1.16;margin-bottom:20px}
.gallery-page .research-lens>p,.gallery-page .research-explanation p{font-size:11.5px;line-height:1.8;max-width:270px}
.gallery-page .research-lens>p{margin-bottom:32px}
.gallery-page .research-steps button span{font-size:16px}
.gallery-page .paired-narratives span{font-size:17px}
.gallery-page .research-explanation{margin-top:24px}
.publication-page .wrap{width:auto;max-width:1120px;margin-inline:auto;padding-inline:var(--page-gutter);box-sizing:content-box}
.publication-page .library-head{padding-top:64px;padding-bottom:48px}
.publication-page .library-head h1{font:400 clamp(40px,4.5vw,64px)/1.1 var(--type-display);letter-spacing:-.035em;margin:0}
.publication-page .library-head:after{display:none}
.publication-page .paper-row{grid-template-columns:32px minmax(0,1fr) 20px;column-gap:28px;padding-block:36px}
.publication-page .paper-info{display:flex;flex-direction:column;gap:14px;max-width:830px}
.publication-page .paper-title{font-size:clamp(22px,2.1vw,29px);line-height:1.25}
.publication-page .paper-row .eyebrow{font:10px/1.6 var(--type-label);color:var(--text-quiet);margin:0}
.publication-page .byline{font:12px/1.7 var(--type-body);color:var(--text-secondary);margin:0}
.publication-page .publication-signature{margin-top:64px;padding-block:24px;justify-content:flex-end}
.publication-page .publication-signature .lab-logo{width:46px;height:54px}
/* Grid rows are content-sized; no percentage positioning in immersive pages. */
.fiber-room[open]{display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:auto auto auto auto auto auto;gap:24px 44px;align-content:start;padding:0 var(--page-gutter) 24px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.fiber-room>.site-header{grid-column:1/-1;grid-row:1;width:auto;margin:0}
.fiber-room #exit-art{position:relative;inset:auto;grid-column:1/-1;grid-row:2;justify-self:end;margin:0;padding:0;font-size:10px;min-height:24px}
.fiber-room h2,.fiber-room[data-mode=architecture] h2{grid-column:1/-1;grid-row:3;position:relative;inset:auto;margin:0 0 8px;max-width:100%;font:400 clamp(25px,2.1vw,31px)/1.2 var(--type-display)}
.fiber-room .research-library{position:relative;inset:auto;grid-column:1;grid-row:4/7;width:auto;height:clamp(420px,65vh,680px);min-width:0;max-width:100%;margin:0;align-self:start}
.fiber-room .library-label{font:10px/1.5 var(--type-label);color:var(--text-quiet)}
.fiber-room #library-search{font:12px/1.5 var(--type-body);padding:14px 0;margin-bottom:12px}
.fiber-room .library-scroll{padding:8px 16px 36px 0;scrollbar-color:#38433f transparent;mask-image:linear-gradient(#000,#000 calc(100% - 24px),transparent)}
.fiber-room .library-scroll button{font:400 17px/1.35 var(--type-display);padding:11px 0;color:#8b9b92;transition:color .18s;overflow-wrap:anywhere}
.fiber-room .library-scroll button[aria-selected=true]{font-size:24px;line-height:1.15;padding:16px 0 22px;color:var(--text-primary)}
.fiber-room .art-controls,.fiber-room[data-mode=architecture] .art-controls,.fiber-room[data-mode=neural] .art-controls{position:relative;inset:auto;grid-column:2;grid-row:4;width:auto;margin:0;min-width:0;gap:24px;flex-wrap:wrap;align-items:center;padding-bottom:16px;min-height:0}
.fiber-room .experiment-conditions{flex-wrap:wrap;gap:12px 24px}
.fiber-room .experiment-conditions button{font:400 15px/1.4 var(--type-display)}
.fiber-room .art-controls label{font:10px/1.5 var(--type-body)}
.fiber-room select{font:12px/1.5 var(--type-body);max-width:100%;background:transparent}
.fiber-room canvas,.fiber-room[data-mode=architecture] canvas,.fiber-room[data-mode=neural] canvas{position:relative;inset:auto;grid-column:2;grid-row:5;width:100%;height:540px;min-width:0;contain:size;align-self:start;margin:0}
.fiber-room .art-output,.fiber-room[data-mode=architecture] .art-output,.fiber-room[data-mode=neural] .art-output{position:relative;inset:auto;grid-column:2;grid-row:6;width:auto;min-width:0;background:none;margin:0;padding:8px 0 0}
.fiber-room footer{position:relative;inset:auto;grid-column:1/-1;grid-row:7;min-height:44px;padding:24px 0 0;border-top:1px solid var(--rule);align-items:center}
.fiber-room .mvca-trace{flex-wrap:wrap;gap:12px 28px;padding-bottom:8px}
.fiber-room .mvca-trace button{font:400 14px/1.4 var(--type-display)}
.fiber-room .mvca-evidence{height:auto;min-height:24px;gap:20px;flex-wrap:wrap}
.fiber-room .experiment-question[open]{position:relative;inset:auto;width:auto;max-width:100%;max-height:260px;box-sizing:border-box}
.fiber-room[data-mode=neural]{grid-template-columns:200px minmax(170px,220px) minmax(0,1fr);column-gap:32px}
.fiber-room[data-mode=neural] .art-controls{grid-column:2;grid-row:4}
.fiber-room[data-mode=neural] aside{display:block;position:relative;inset:auto;grid-column:2;grid-row:5;width:auto;margin:0;padding:8px 0;max-height:540px;overflow:auto;min-width:0}
.fiber-room[data-mode=neural] aside p{font:400 14px/1.65 var(--type-display);margin:16px 0 32px}
.fiber-room[data-mode=neural] canvas{grid-column:3;grid-row:5;height:540px}
.fiber-room[data-mode=neural] .art-output{grid-column:3;grid-row:4;align-self:start;padding:0}
.fiber-room .condition-key{flex-wrap:wrap;gap:10px 24px}
.fiber-room .condition-key button{font:12px/1.4 var(--type-body)}
.fiber-room .construct-literature{max-width:100%;font:10px/1.6 var(--type-body)}
.fiber-room .construct-literature summary{text-align:left}
.fiber-room .construct-literature[open]{width:auto;max-width:100%;box-sizing:border-box;max-height:240px;box-shadow:none}
@media(min-width:1600px){.fiber-room canvas,.fiber-room[data-mode=architecture] canvas,.fiber-room[data-mode=neural] canvas{height:620px}.fiber-room[data-mode=neural] aside{max-height:620px}}
@media(max-width:1100px){
 .fiber-room[open],.fiber-room[data-mode=neural]{grid-template-columns:180px minmax(0,1fr);gap:24px 30px}
 .fiber-room[data-mode=neural] .art-controls{grid-column:2;grid-row:4}
 .fiber-room[data-mode=neural] .art-output{grid-column:2;grid-row:5}
 .fiber-room[data-mode=neural] canvas{grid-column:2;grid-row:6;height:500px}
 .fiber-room[data-mode=neural] aside{grid-column:2;grid-row:7;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
 .fiber-room[data-mode=neural] aside small{grid-column:1/-1}
 .fiber-room[data-mode=neural] footer{grid-row:8}
 .fiber-room .library-scroll button{font-size:16px}.fiber-room .library-scroll button[aria-selected=true]{font-size:22px}
}
@media(max-width:700px){
 .gallery-page .research-lens h2{font-size:25px}.gallery-page .research-lens>p,.gallery-page .research-explanation p{font-size:12px;max-width:370px}
 .publication-page .library-head{padding-top:40px;padding-bottom:32px}.publication-page .paper-row{column-gap:14px;grid-template-columns:20px minmax(0,1fr) 14px;padding-block:28px}.publication-page .paper-title{font-size:23px}
 .fiber-room[open],.fiber-room[data-mode=neural],.fiber-room[data-mode=architecture]{grid-template-columns:minmax(0,1fr);gap:24px;padding:0 22px 24px}
 .fiber-room .research-library{grid-column:1;grid-row:4;height:240px}
 .fiber-room .art-controls,.fiber-room[data-mode=architecture] .art-controls,.fiber-room[data-mode=neural] .art-controls{grid-column:1;grid-row:5}
 .fiber-room[data-mode=architecture] .mvca-agent-label{display:block;margin-left:0}
 .fiber-room canvas,.fiber-room[data-mode=architecture] canvas{grid-column:1;grid-row:6;height:500px}
 .fiber-room .art-output,.fiber-room[data-mode=architecture] .art-output{grid-column:1;grid-row:7}
 .fiber-room[data-mode=neural] .art-output{grid-column:1;grid-row:6}
 .fiber-room[data-mode=neural] canvas{grid-column:1;grid-row:7;height:420px}
 .fiber-room[data-mode=neural] aside{grid-column:1;grid-row:8;display:block}
 .fiber-room footer,.fiber-room[data-mode=neural] footer{grid-column:1;grid-row:9}
 .fiber-room h2,.fiber-room[data-mode=architecture] h2{font-size:26px}
}
.fiber-room .library-scroll button[aria-selected=true]{padding-left:18px}
.fiber-room .library-scroll button[aria-selected=true]:before{top:19px;width:6px;height:20px}
.fiber-room .art-controls:after,.fiber-room .art-controls:before{display:none}
