/* The excavation drawing owns the stage. Chrome stays at the edge. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.assembly-active{background:#f3f0e8}
.assembly-active .masthead,.assembly-active .deckbar{background:#f3f0e8}
.assembly-active .masthead{position:sticky;top:0;z-index:40}
.assembly-active .deckbar{position:fixed;bottom:0;left:4vw;right:4vw;margin:0;z-index:40}
.assembly-active #stage{padding-top:18px;padding-bottom:100px}
.assembly-scroll{height:410svh;position:relative}
.assembly-pin{position:sticky;top:90px;height:calc(100svh - 192px);display:flex;flex-direction:column;gap:15px;min-height:0}
.assembly-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-shrink:0}
.assembly-heading h2{font-size:clamp(38px,4.2vw,62px);line-height:1;letter-spacing:-.035em;color:#302d28}
.assembly-site-label{display:flex;align-items:center;gap:16px;color:#635d51;font-size:12px}
#assemblySite{font:inherit;font-size:14px;color:#302d28;background:transparent;border:0;border-bottom:1px solid #9d9688;padding:9px 28px 9px 0;border-radius:0;max-width:200px}
.assembly-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:45px;flex:1;min-height:0}
.assembly-board{position:relative;margin:0;min-width:0;min-height:0;overflow:hidden}
.assembly-board-location{position:absolute;top:13px;left:0;color:#635d51;font-size:13px;z-index:1}
.assembly-drawing{position:absolute;inset:36px 0 28px;isolation:isolate}
.assembly-plane{position:absolute;inset:0;transform-origin:center;will-change:transform,opacity}
.structure-svg{display:block!important;width:100%!important;height:100%!important;fill:none;stroke:none;overflow:visible}
.structure-svg path{stroke:none;stroke-width:0}.structure-svg text{stroke:none}
.structure-piece{transform-box:fill-box;transform-origin:center;will-change:transform,opacity}
.assembly-drawing-meta{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#756c5d;font-size:10px}
#assemblyOriginal{font:inherit;color:#463e30;background:none;text-decoration:underline;text-underline-offset:4px;padding:6px 0;white-space:nowrap}
#assemblyOriginal:hover{color:var(--brick)}
.assembly-layer-key{position:absolute;inset:18% auto 18% 0;display:flex;flex-direction:column;justify-content:space-between;color:#635d51;font-size:11px;opacity:0;pointer-events:none}
.assembly-reading{display:flex;flex-direction:column;gap:22px;justify-content:center;min-width:0;min-height:0;border-left:1px solid #d7d0c2;padding-left:26px}
.assembly-text h3{font-size:clamp(26px,2.8vw,39px);line-height:1.06;letter-spacing:-.03em;margin-bottom:18px;color:#302d28;text-wrap:balance}
.assembly-text p{font-size:17px;color:#4f493e;line-height:1.5;margin:0;max-width:30ch}
.assembly-fact{margin:0}
.assembly-fact dt{font-size:11px;color:#756c5d;margin-bottom:6px}
.assembly-fact dd{font-size:21px;color:#8b4835;line-height:1.2;margin:0;text-wrap:balance}
.assembly-fact[hidden]{display:none}
.assembly-parts{display:flex;flex-direction:column;gap:6px;color:#635d51;font-size:11px;line-height:1.4}
.assembly-parts span{display:block}
.assembly-parts:empty{display:none}
.assembly-provenance{font-size:10px;color:#756c5d;line-height:1.5;margin:0;max-width:36ch}
.assembly-scrubber{flex-shrink:0;padding-top:10px}
.assembly-sequence{display:flex;gap:36px;align-items:center}
.assembly-sequence button{background:none;color:#756c5d;font-size:14px;padding:8px 0 10px;position:relative}
.assembly-sequence [aria-current=step]{color:#8b4835}
.assembly-sequence [aria-current=step]:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:#8b4835}
.assembly-sequence button:last-child{margin-left:auto}
#assemblyRange{width:100%;height:7px;margin:8px 0 10px;accent-color:#8b4835;cursor:ew-resize}
.assembly-scroll-instruction{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#756c5d;font-size:11px}
#assemblyProgress{font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}
.image-button:has(.structure-svg){width:100%;height:100%;min-height:120px;background:transparent}
.image-button .structure-svg{min-height:160px;max-height:52vh}
.hero-figure .structure-svg{height:46vh!important;min-height:240px}
.diagram-pair .structure-svg{height:24vh!important;min-height:140px}
.atlas-detail .structure-svg{min-height:130px;max-height:30vh}
.structure-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--brick);background:none;border-bottom:1px solid var(--line);padding:7px 0;margin:3px 0 7px}
@media(min-width:901px) and (max-height:780px){.assembly-active #stage{padding-top:12px}.assembly-pin{top:73px;height:calc(100svh - 158px);gap:10px}.assembly-heading h2{font-size:44px}.assembly-layout{grid-template-columns:minmax(0,1fr) 245px;gap:35px}.assembly-reading{gap:14px;padding-left:22px}.assembly-text h3{font-size:31px;margin-bottom:13px}.assembly-text p{font-size:16px;line-height:1.4}.assembly-fact dd{font-size:20px}.assembly-parts{gap:4px;font-size:10px}.assembly-provenance{font-size:9px}.assembly-scrubber{padding-top:2px}.assembly-board-location{top:7px}.assembly-drawing{top:25px}}
@media(min-width:1500px){.assembly-layout{grid-template-columns:minmax(0,1fr) 320px;gap:60px}.assembly-text p{font-size:21px}.assembly-parts{font-size:13px}.assembly-provenance{font-size:12px}.assembly-board-location{font-size:15px}.assembly-drawing-meta{font-size:12px}.assembly-fact dd{font-size:25px}}
@media(max-width:900px){.assembly-layout{grid-template-columns:minmax(0,1fr) 210px;gap:24px}.assembly-reading{padding-left:20px;gap:16px}.assembly-text h3{font-size:28px}.assembly-text p{font-size:15px}.assembly-parts{font-size:10px}.assembly-heading h2{font-size:38px}.assembly-site-label{gap:8px;font-size:10px}.assembly-pin{top:75px;height:calc(100svh - 170px)}}
@media(max-width:600px){.assembly-active .deckbar{left:5vw;right:5vw}.assembly-active #stage{padding-top:8px}.assembly-pin{top:71px;height:calc(100svh - 159px);gap:9px}.assembly-scroll{height:450svh}.assembly-heading h2{font-size:29px;white-space:nowrap}.assembly-site-label{display:block;font-size:9px;text-align:right}.assembly-site-label select{display:block;max-width:140px;font-size:11px!important;padding:5px 15px 5px 0!important}.assembly-layout{display:flex;flex-direction:column;gap:15px}.assembly-board{flex:1;min-height:200px}.assembly-board-location{font-size:10px;top:6px}.assembly-drawing{inset:26px 0 29px}.assembly-reading{flex-shrink:0;display:grid;grid-template-columns:1fr auto;gap:9px 14px;border-left:0;border-top:1px solid #d7d0c2;padding:13px 0 0}.assembly-text{grid-column:1/-1}.assembly-text h3{font-size:26px;margin-bottom:7px}.assembly-text p{font-size:14px;line-height:1.4;max-width:none}.assembly-fact{grid-column:1/-1;display:flex;gap:15px;justify-content:space-between;align-items:baseline}.assembly-fact dt{font-size:10px;margin:0}.assembly-fact dd{font-size:14px}.assembly-parts{display:none}.assembly-provenance{grid-column:1/-1;font-size:9px;line-height:1.35;max-width:none}.assembly-sequence{gap:22px}.assembly-sequence button{font-size:11px;padding:9px 0}.assembly-scroll-instruction{font-size:9px}.assembly-drawing-meta{font-size:8px;line-height:1.4;align-items:end}.assembly-drawing-meta>span{max-width:24ch}.assembly-drawing-meta button{font-size:10px!important}.assembly-layer-key{font-size:9px;inset:17% auto 17% 0}.assembly-scrubber{padding-top:0}.assembly-sequence button:last-child{margin-left:auto}.hero-figure .structure-svg{height:36vh!important}.atlas-detail .structure-svg{max-height:35vh}}
@media(max-width:600px) and (max-height:750px){.assembly-board{min-height:150px}.assembly-text p{font-size:13px}.assembly-text h3{font-size:23px}.assembly-reading{padding-top:9px;gap:6px}.assembly-layout{gap:9px}.assembly-pin{gap:5px}}
@media(prefers-reduced-motion:reduce){.structure-piece,.assembly-plane{will-change:auto}}

/* Materials share one light source; the stage has no card boundary. */
.structure-svg{--model-soil-left:#e6dcc9;--model-soil-right:#cdbda4;--model-soil-floor:#d1bea0;--model-soil-front:#c8b694;--model-brick-top:#c18357;--model-brick-front:#8d563a;--model-brick-right:#a96b45;--model-brick-joint:#6b4936;--model-wood-top:#8a805c;--model-wood-front:#554f39;--model-wood-right:#71684b;--model-road-top:#7a858a;--model-road-front:#4c5b62;--model-road-right:#62727a;--model-opening:#302b24;--model-concrete-top:#a7b2af;--model-concrete-front:#778783;--model-concrete-right:#929e99;--model-water:#5e9fac;--model-water-light:#7db4bc;--model-steel:#8d9790;--model-steel-light:#a8b3aa;--model-conduit:#cbb46a;--model-valve:#b96d4b;--model-fitting:#8c9e72;--model-edge:#867d69;--model-leader:#777468;--model-copy:#2b3431;--model-dimension:#635e50;--model-target:#575b44;--model-footpath:#d9d3c2}
.assembly-active{background:#10232e;color:#dbe5dd;--paper:#10232e;--navy:#e1e9e2;--ink:#dbe5dd;--muted:#9cafb0;--line:#34505c;--brick:#cba27c}
.assembly-active .masthead,.assembly-active .deckbar{background:#10232e;border-color:#3b535e}
.assembly-active .structure-svg,.native-dialog .structure-svg{--model-soil-left:#405b65;--model-soil-right:#314d5a;--model-soil-floor:#2d4552;--model-soil-front:#76929a;--model-brick-top:#d2a078;--model-brick-front:#905b42;--model-brick-right:#b87f59;--model-brick-joint:#75523d;--model-wood-top:#a39b72;--model-wood-front:#66644d;--model-wood-right:#858167;--model-road-top:#4c626d;--model-road-front:#283e4b;--model-road-right:#3b5260;--model-opening:#091b24;--model-concrete-top:#a4bab7;--model-concrete-front:#698d91;--model-concrete-right:#8aa7a7;--model-building-west-top:#d3d5b6;--model-building-west-front:#7d9894;--model-building-west-right:#a4b8a8;--model-building-east-top:#d7c5b3;--model-building-east-front:#838f8c;--model-building-east-right:#b4b3a4;--model-water:#74b9c2;--model-water-light:#9bcfd1;--model-steel:#a0b1ac;--model-steel-light:#bdcbc1;--model-conduit:#cbb57b;--model-valve:#d18d67;--model-fitting:#abb587;--model-edge:#76939a;--model-leader:#87a3a8;--model-copy:#e1e9e2;--model-dimension:#cfb595;--model-target:#d4b78a;--model-footpath:#859c9f}
.assembly-active .wordmark,.assembly-active h2,.assembly-active h3,.assembly-active #assemblySite{color:#e1e9e2}
.assembly-active .wordmark span,.assembly-active .conference{color:#bca58b}
.assembly-active #assemblySite{border-color:#759096;background:#10232e}
.assembly-active .assembly-board-location,.assembly-active .assembly-site-label{color:#a5b9b9}
.assembly-active .assembly-reading{border-color:#34505c}
.assembly-active .assembly-text p{color:#bdcdca}
.assembly-active .assembly-fact dt,.assembly-active .assembly-provenance,.assembly-active .assembly-drawing-meta,.assembly-active .assembly-scroll-instruction,.assembly-active .assembly-layer-key{color:#96acab}
.assembly-active .assembly-fact dd,.assembly-active .assembly-sequence [aria-current=step]{color:#d5b591}
.assembly-active .assembly-sequence button{color:#9bb2b3}
.assembly-active .assembly-sequence [aria-current=step]:after{background:#d5b591}
.assembly-active #assemblyRange{accent-color:#c6aa85}
.assembly-active #assemblyOriginal{color:#c9d7d1}
.assembly-active .arrow{background:#294653;color:#e1e9e2;border-color:#55737d}
.assembly-active .quiet:hover{background:#264450}
.assembly-active .next{background:#c6aa85;color:#10232e}
.assembly-active ::selection{background:#c6aa85;color:#10232e}
.model-callout .callout-copy{transform-box:fill-box;transform-origin:center;will-change:transform,opacity}

.assembly-figure-tools{display:flex;gap:18px;align-items:center}
#assemblyInspect{font:inherit;background:none;color:#d5b591;padding:6px 0;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.assembly-active .dialog-close,.assembly-active .zoom-controls,.native-dialog .dialog-close,.native-dialog .zoom-controls{background:#294653;color:#e1e9e2}
#enlarged[hidden]{display:none!important}
.native-dialog{background:#10232e;color:#e1e9e2;overflow:hidden;padding:64px 22px 75px}
#nativeInspector{height:calc(100% - 32px);display:flex;flex-direction:column;min-height:0}
.native-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px;padding-bottom:8px}
#nativeInspectorLayer{background:#294653;color:#e1e9e2;border:1px solid #6e8b94;padding:9px;font:inherit;font-size:13px;max-width:240px}
.native-inspector-hint{font-size:12px!important;text-align:left!important;color:#a5b9b9;margin:0 0 10px!important}
.native-inspector-viewport{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain;scrollbar-color:#819d9f #1c3440;scrollbar-width:thin;touch-action:pan-x pan-y;background:#10232e}
#nativeInspectorCanvas{min-width:1100px;margin:auto}
#nativeInspectorCanvas .structure-svg{max-height:none!important}
.native-dialog #imageCaption{color:#a5b9b9}
@media(max-width:600px){.assembly-figure-tools{gap:12px;flex-direction:column;align-items:end}.assembly-drawing-meta{align-items:center}.assembly-drawing{bottom:43px}.native-dialog{padding:57px 12px 69px;width:98vw;height:96svh}.native-inspector-head{gap:10px;font-size:12px}#nativeInspectorLayer{font-size:11px;max-width:190px}.native-inspector-hint{font-size:10px!important}.native-dialog .dialog-close{top:3vh;right:4vw}.native-dialog .zoom-controls{bottom:4vh}}

.assembly-active .motion-toggle{background:#294653;color:#e1e9e2}
.assembly-active .motion-toggle:hover{background:#3b5b68}

#imageDialog:not(.native-dialog){color:#263b49}
.overview-figure{height:12vh;min-height:100px;overflow:hidden;background:#f8f7f3}
.overview-figure .structure-svg{min-height:0;max-height:100%}
@media(max-width:600px){.overview-figure{height:120px}}
