:root{--paper:#f3f2ed;--panel:#faf9f5;--ink:#253131;--muted:#747c75;--line:#d7d9d0;--accent:#865b35;--olive:#697762;--slab:#54867c;--wall:#b16b54;--parapet:#bc933d;--glass:#528caa;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{border:1px solid var(--line);background:transparent;color:var(--ink)}button:hover{background:#eaece4}a{color:inherit}.skip{position:fixed;left:20px;top:-70px;z-index:30;padding:14px;background:var(--panel)}.skip:focus{top:12px}#experience{position:fixed;inset:0;display:flex;flex-direction:column}.masthead{height:74px;min-height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:38px;background:var(--panel);z-index:4}.brand{font:600 15px/1 Consolas,'Courier New',monospace;letter-spacing:2px;text-decoration:none;white-space:nowrap}.brand b{font-size:23px;color:var(--accent);vertical-align:-1px;margin-left:5px}.project-name{font:10px/1.5 Consolas,'Courier New',monospace;letter-spacing:1.5px}.project-name span{margin:0 10px;color:#a2a89c}.quiet{margin-left:auto;border:0;font:11px Consolas,'Courier New',monospace;padding:10px 0 10px 12px;white-space:nowrap}.quiet span{color:var(--accent);margin-left:12px}.workspace{display:grid;grid-template-columns:290px minmax(0,1fr);flex:1;min-height:0}.story-panel{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:27px 25px 20px;z-index:3}.edition{font:8px/1.4 Consolas,'Courier New',monospace;letter-spacing:1px;display:flex;align-items:center;gap:7px;color:var(--muted)}.edition>span:last-child{margin-left:auto}.live-dot{height:5px;width:5px;border-radius:50%;background:var(--olive);display:block}.story-copy{margin-top:46px;min-height:225px}.eyebrow{font:9px/1.5 Consolas,'Courier New',monospace;letter-spacing:1.2px;color:var(--accent);margin:0 0 17px}h1{font-size:31px;line-height:1.13;font-weight:400;letter-spacing:-1.4px;margin:0 0 18px;max-width:240px}#chapter-description{font-size:12px;line-height:1.7;color:#6a746e;max-width:235px;margin:0 0 18px;min-height:62px}.drawing-ref{font:8px/1.7 Consolas,'Courier New',monospace;letter-spacing:.5px;color:var(--muted);max-width:235px}#chapter-nav{display:flex;flex-direction:column;margin-top:18px;gap:2px}#chapter-nav button{border:0;position:relative;display:flex;gap:15px;align-items:center;padding:9px 0;text-align:left;font:10px Consolas,'Courier New',monospace;min-height:32px;color:#889086}#chapter-nav button span:first-child{font-size:8px;min-width:14px}#chapter-nav button::after{content:'';position:absolute;right:0;width:4px;height:4px;background:var(--line);border-radius:50%}#chapter-nav button[aria-current=step]{color:var(--ink)}#chapter-nav button[aria-current=step]::after{background:var(--accent);box-shadow:0 0 0 4px #865b3510}#chapter-nav button.passed{color:#68766b}.panel-bottom{margin-top:auto;padding-top:22px}.next-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font:10px Consolas,'Courier New',monospace}.next-button span{font-size:17px;color:var(--accent)}.panel-note{display:flex;justify-content:space-between;font:7px/1.4 Consolas,'Courier New',monospace;letter-spacing:1px;color:var(--muted);padding-top:15px}#viewport{position:relative;min-width:0;overflow:hidden;background:var(--paper)}#scene{width:100%;height:100%;display:block;pointer-events:none;touch-action:pan-y}body.exploring #scene{pointer-events:auto;touch-action:none}.viewport-top{position:absolute;top:26px;left:28px;right:28px;display:flex;justify-content:space-between;pointer-events:none;font:8px Consolas,'Courier New',monospace;letter-spacing:1.25px;color:#788075}.viewport-top span:last-child{color:#8c9389}.scene-footer{position:absolute;bottom:29px;left:28px;right:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none}.scale{font:8px Consolas,'Courier New',monospace;color:#7a8579;min-width:48px}.scale>div{height:6px;border-bottom:1px solid #9ba497;display:flex;justify-content:space-between;margin-bottom:6px}.scale i{height:5px;border-left:1px solid #9ba497}.scale span{display:block;text-align:center}#legend{display:flex;align-items:center;gap:8px;font:8px/1.5 Consolas,'Courier New',monospace;letter-spacing:1px;color:#737f72;padding-bottom:2px}.legend-dot{display:inline-block;width:7px;height:7px;background:#9ba497;border-radius:50%}.study-badge{pointer-events:auto;border:0;background:#f3f2edda;padding:5px 8px;font:7px/1.5 Consolas,'Courier New',monospace;letter-spacing:1px;color:#7e8978;white-space:nowrap}.study-badge span{margin-left:5px}.footline{height:31px;min-height:31px;border-top:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:var(--panel);font:7px Consolas,'Courier New',monospace;letter-spacing:1px;color:#8b9287}.footline span:nth-child(2){font-size:8px;letter-spacing:.2px;color:#6f7b6c}.progress-track{position:absolute;height:2px;bottom:0;left:0;right:0;background:#e4e6dd}.progress-track div{height:100%;width:0;background:var(--olive)}#scroll-track{height:850dvh;pointer-events:none}#sheet-labels{position:absolute;inset:0;pointer-events:none}.sheet-label{position:absolute;transform:translate(-50%,-50%);font:8px/1.5 Consolas,'Courier New',monospace;letter-spacing:.5px;white-space:nowrap;color:#65725f;background:#f3f2eded;padding:4px 8px;border:1px solid #d5d9ce}.sheet-label.target{color:var(--accent);border-color:#ac987c}.sheet-label small{margin-right:10px;color:#8b9688}.explore-button{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);padding:13px 18px;background:var(--panel);border-color:#a9b3a1;box-shadow:0 4px 20px #34452b0c;font:10px Consolas,'Courier New',monospace;white-space:nowrap}.explore-button span{color:var(--accent);margin-left:22px}#explore-panel{position:absolute;right:23px;top:64px;width:224px;background:#faf9f5f2;backdrop-filter:blur(8px);border:1px solid var(--line);padding:17px;box-shadow:0 6px 30px #27312709;font:10px/1.6 Consolas,'Courier New',monospace}.control-title{font-size:8px;letter-spacing:1px;color:var(--accent);margin:0 0 12px}.view-buttons{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:13px}.view-buttons button{font:8px Consolas,'Courier New',monospace;padding:8px;min-height:32px}.view-buttons button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}#explore-panel label{display:flex;align-items:center;gap:7px;margin:7px 0;font-size:9px}input[type=checkbox]{accent-color:var(--accent);width:13px;height:13px}.layer-toggles{border-top:1px solid var(--line);margin-top:13px;padding-top:8px;display:grid;grid-template-columns:1fr 1fr}.resume-button{font:8px Consolas,'Courier New',monospace;width:100%;padding:9px;margin-top:12px;border-color:#aab4a3}.control-hint{font-size:7px;color:#8b9386;line-height:1.7;margin:12px 0 0}#selection{position:absolute;bottom:87px;left:28px;width:280px;background:var(--panel);border:1px solid var(--line);padding:15px 35px 15px 15px;font:10px/1.5 Consolas,'Courier New',monospace}#selection-type{display:block;font-size:8px;color:var(--accent);margin-bottom:5px}#selection-name{font-weight:400;font-size:11px;word-break:break-word}#selection-note{display:block;font-size:8px;line-height:1.7;color:var(--muted);margin-top:8px}#clear-selection{position:absolute;right:7px;top:8px;border:0;font-size:18px}#loading{position:absolute;inset:0;background:var(--paper);display:flex;align-items:center;justify-content:center;gap:16px;z-index:8}.loading-mark{font:40px Consolas,'Courier New',monospace;color:var(--accent);animation:pulse 1s ease-in-out infinite alternate}#loading p{font-size:14px;line-height:1.6}#loading-progress{display:block;font:9px/2 Consolas,'Courier New',monospace;color:var(--muted)}#loading.done{display:none}#fallback{position:absolute;inset:75px 20px 80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}#fallback img{max-width:100%;max-height:75%;object-fit:contain;border:1px solid var(--line);background:white}#fallback p{font:11px/1.6 Consolas,'Courier New',monospace;color:var(--muted);max-width:480px;text-align:center}#fallback[hidden],#explore-panel[hidden],#selection[hidden],[hidden]{display:none!important}dialog{background:var(--panel);color:var(--ink);width:min(620px,calc(100vw - 30px));max-height:85dvh;padding:40px;border:1px solid #b9c1b2;box-shadow:0 30px 100px #20271b30}dialog::backdrop{background:#26302355;backdrop-filter:blur(3px)}dialog h2{font-size:30px;font-weight:400;letter-spacing:-1px;margin:0 0 20px}dialog p{font-size:12px;line-height:1.8;color:#65725f}dialog .eyebrow{font-size:8px}.dialog-close{position:absolute;right:12px;top:10px;border:0;font-size:24px}dialog dl{display:grid;grid-template-columns:125px 1fr;gap:12px;margin:24px 0;font:10px/1.6 Consolas,'Courier New',monospace}dialog dt{color:#87917e}dialog dd{margin:0}.source-note{border-left:2px solid #a69b82;padding-left:15px}.source-links{display:flex;gap:25px;margin:24px 0;font:10px/1.8 Consolas,'Courier New',monospace}.credits{font-size:9px!important;border-top:1px solid var(--line);padding-top:15px}.no-script{position:fixed;inset:0;background:var(--paper);padding:30px;z-index:50}.no-script img{width:90vw;max-height:70vh;object-fit:contain}.no-script h1{max-width:none}.no-script p{font-size:13px}body.exploring{overflow:hidden}body.exploring .panel-note span:first-child{font-size:0}body.exploring .panel-note span:first-child::after{content:'EXPLORING / CAMERA UNLOCKED';font-size:7px}body.exploring .next-button{color:#8d9587}
@keyframes pulse{to{opacity:.3}}@media(min-height:1000px){.story-copy{margin-top:65px;min-height:270px}#chapter-nav{gap:6px}}@media(max-height:760px) and (min-width:761px){.story-panel{padding-top:19px}.story-copy{margin-top:27px;min-height:210px}h1{font-size:28px}#chapter-nav{margin-top:0}#chapter-nav button{min-height:27px;padding:7px 0}.panel-bottom{padding-top:13px}.panel-note{padding-top:10px}}
@media(max-width:1000px) and (min-width:761px){.workspace{grid-template-columns:250px minmax(0,1fr)}.story-panel{padding-left:20px;padding-right:20px}.masthead{gap:20px}.project-name{font-size:8px}h1{font-size:28px}.scene-footer{left:18px;right:18px;gap:12px}#legend{font-size:7px;letter-spacing:.4px}}
@media(max-width:760px){.masthead{height:57px;min-height:57px;padding:0 16px;gap:12px}.brand{font-size:11px;letter-spacing:1px}.brand b{font-size:18px}.project-name{font-size:7px;letter-spacing:.5px;max-width:110px}.project-name span{display:none}.quiet{font-size:0;padding:8px}.quiet span{font-size:15px;margin:0}.workspace{display:flex;flex-direction:column-reverse}.story-panel{padding:16px 20px 13px;border-right:0;border-top:1px solid var(--line);flex:none;height:223px;display:grid;grid-template-columns:1fr 48px;grid-template-rows:1fr 32px;column-gap:12px}.edition{display:none}.story-copy{margin:0;min-height:0}.eyebrow{font-size:7px;margin:0 0 8px}h1{font-size:24px;line-height:1.1;letter-spacing:-.9px;max-width:none;margin:0 0 8px}h1 br{display:none}#chapter-description{font-size:11px;line-height:1.5;max-width:310px;margin:0 0 7px;min-height:0}.drawing-ref{font-size:6px;margin:0;max-width:310px;line-height:1.5}#chapter-nav{grid-column:1 / 3;grid-row:2;display:grid;grid-template-columns:repeat(8,1fr);margin:0;align-items:end;gap:8px}#chapter-nav button{padding:8px 0;min-height:28px;border-bottom:2px solid var(--line);font-size:8px;justify-content:center}#chapter-nav button span:last-child{display:none}#chapter-nav button span:first-child{font-size:8px}#chapter-nav button::after{display:none}#chapter-nav button[aria-current=step]{border-color:var(--accent)}.panel-bottom{margin:0;padding:0;display:flex;align-items:center;justify-content:end}.next-button{font-size:0;border:1px solid var(--line);width:38px;height:38px;padding:0;justify-content:center}.next-button span{font-size:20px}.panel-note{display:none}#viewport{flex:1;min-height:200px}.viewport-top{top:17px;left:17px;right:17px;font-size:6px;letter-spacing:.65px}.scene-footer{bottom:15px;left:16px;right:16px;gap:12px}.study-badge{font-size:6px;padding:4px 0}.scale{font-size:6px;min-width:35px}.scale>div{margin-bottom:3px}#legend{font-size:6px;letter-spacing:.2px;gap:4px;max-width:160px}.legend-dot{width:5px;height:5px}.footline{height:25px;min-height:25px;padding:0 16px;font-size:6px}.footline span:nth-child(2){display:none}.sheet-label{font-size:6px;padding:3px 5px}.sheet-label small{margin-right:4px}.explore-button{bottom:60px;font-size:9px;padding:11px 15px}#explore-panel{top:40px;right:12px;width:174px;padding:12px}.control-title{font-size:7px}.view-buttons{gap:3px;margin-bottom:8px}.view-buttons button{font-size:7px;padding:6px;min-height:28px}#explore-panel label{font-size:8px;margin:4px 0;gap:4px}.layer-toggles{margin-top:8px;padding-top:5px}.control-hint{font-size:6px;margin-top:8px}.resume-button{font-size:7px;padding:7px;margin-top:8px}#selection{bottom:59px;left:12px;width:215px;padding:10px 30px 10px 10px}#selection-name{font-size:9px}#selection-note{font-size:7px}.source-links{gap:12px;flex-wrap:wrap}dialog{padding:29px 24px}dialog h2{font-size:25px}dialog dl{grid-template-columns:100px 1fr;font-size:9px}.loading-mark{font-size:30px}#loading p{font-size:12px}#loading-progress{font-size:8px}#fallback{inset:50px 12px 55px}#fallback p{font-size:9px}}
@media(max-width:760px) and (max-height:650px){.story-panel{height:190px;padding-top:10px}h1{font-size:20px}.drawing-ref{display:none}#chapter-description{font-size:10px}.viewport-top{top:12px}#explore-panel{max-height:calc(100% - 85px);overflow:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
#toggle-controls{position:absolute;right:23px;top:24px;padding:6px 9px;background:var(--panel);font:9px Consolas,'Courier New',monospace}body.exploring #camera-label{visibility:hidden}#chapter-nav button{font-size:11px}#chapter-description{font-size:13px}.view-buttons button{font-size:9px}#explore-panel label{font-size:10px}
@media(max-width:760px){#toggle-controls{right:12px;top:12px;font-size:9px;min-height:29px}#chapter-nav button{font-size:8px}#chapter-description{font-size:11px}.view-buttons button{font-size:8px}#explore-panel label{font-size:9px}}
/* Drawing-to-showcase presentation, revision 2. */
h1 em{font-style:normal;color:var(--highlight,#697762);box-shadow:inset 0 -.18em color-mix(in srgb,var(--highlight,#697762) 16%,transparent)}
.workspace{grid-template-columns:324px minmax(0,1fr)}.story-panel{padding:25px 26px 18px;overflow:hidden}.story-copy{margin-top:30px;min-height:230px}h1{max-width:280px;font-size:34px}#chapter-description{font-size:14px;line-height:1.65;max-width:270px}.drawing-ref{max-width:270px}#chapter-nav{min-height:0;overflow-y:auto;margin-top:6px;gap:0;scrollbar-width:thin}#chapter-nav button{font-size:10px;min-height:29px;padding:6px 0;flex:none}#chapter-nav button[aria-current=step]{font-weight:bold}.panel-bottom{padding-top:13px}.edition{font-size:8px}#scroll-track{height:1450dvh}.viewport-top{z-index:5}.scene-footer{z-index:5}#camera-label{padding-left:10px}
#element-key{position:absolute;left:50%;transform:translateX(-50%);bottom:88px;display:flex;gap:7px;z-index:3;background:#faf9f5e8;border:1px solid var(--line);padding:8px;box-shadow:0 6px 24px #2731270a}#element-key>span{display:flex;gap:7px;align-items:center;padding:9px 11px;color:#8c9388;font:11px Consolas,monospace;border:1px solid transparent;white-space:nowrap}#element-key i{display:block;width:7px;height:7px;border:1px solid #b1b8ad;border-radius:50%}#element-key .identified{color:var(--element-colour)}#element-key .identified i{background:var(--element-colour);border-color:var(--element-colour)}#element-key .active{border-color:var(--element-colour);background:color-mix(in srgb,var(--element-colour) 10%,#faf9f5);font-weight:bold}
#drawing-gallery{position:absolute;inset:60px 180px 78px 28px;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center;z-index:2;overflow:hidden}#drawing-gallery.single{display:flex;align-items:center;justify-content:center;right:175px}.drawing-card{position:relative;min-width:0;align-self:center;background:#fff;box-shadow:0 6px 16px #38422e0c;border:1px solid #d1d6c9;isolation:isolate;clip-path:inset(0 calc(100% - var(--reveal,100%)) 0 0)}.drawing-card.from-right{clip-path:inset(0 0 0 calc(100% - var(--reveal,100%)))}.drawing-card svg{display:block;width:100%;max-height:19vh;background:#fff}.drawing-card footer{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-top:1px solid var(--line);font:9px Consolas,monospace;gap:10px}.drawing-card footer small{font-size:6px;color:var(--muted)}.single .drawing-card{width:100%}.single .drawing-card svg{max-height:65vh}.single .drawing-card footer{padding:16px;font-size:12px}.roll-edge{position:absolute;top:0;bottom:0;left:calc(var(--reveal,100%) - 12px);width:22px;background:linear-gradient(90deg,#c7c9b5a0,#fcfcf4 45%,#9ba28e);border-radius:50%;box-shadow:-5px 0 12px #1c2a201a;opacity:var(--roll-opacity,0);pointer-events:none}.from-right .roll-edge{left:auto;right:calc(var(--reveal,100%) - 12px);transform:scaleX(-1)}.level-region polygon{fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke}.level-region.marked polygon{fill:var(--floor);fill-opacity:.32;stroke:var(--floor);stroke-width:1}.level-region:hover polygon{fill-opacity:.55}.material-board .drawing-card{box-shadow:0 8px 25px #35412c10}
#level-key{position:absolute;right:24px;top:72px;width:139px;display:flex;flex-direction:column;gap:5px;z-index:4}#level-key button{display:flex;align-items:center;gap:8px;background:#faf9f5ed;border:1px solid #d6dace;text-align:left;padding:11px 9px;font:10px Consolas,monospace;min-height:38px}#level-key i{width:6px;height:15px;background:var(--floor)}#level-key small{font-size:7px;margin-left:auto;color:#7d8778}#level-key button[aria-pressed=true]{border-color:var(--floor);box-shadow:inset 3px 0 var(--floor)}
#showcase-stage{position:absolute;inset:65px 30px 78px;z-index:2;pointer-events:none;display:flex;flex-direction:column;align-items:center}#showcase-stage>span{font:9px Consolas,monospace;letter-spacing:2px;color:var(--accent)}#showcase-stage h2{font-size:29px;font-weight:400;letter-spacing:-1px;margin:15px 0}.empty-stage{position:absolute;inset:110px 15% 120px;border:1px dashed #aab7a1;transform:perspective(700px) rotateX(40deg);display:flex;align-items:center;justify-content:center}.empty-stage span{font:10px Consolas,monospace;letter-spacing:3px;color:#9ba694}.populating .empty-stage{opacity:0}#showcase-stage.populating>span,#showcase-stage.populating>h2{opacity:0}#asset-dock{display:flex;gap:15px;position:absolute;bottom:0;width:80%;justify-content:center}.dock-card{width:140px;box-shadow:0 5px 20px #26351c16;background:var(--panel);border:1px solid #bcc5b4;overflow:hidden}.dock-card img{width:100%;height:75px;object-fit:contain;background:white;padding:5px}.dock-card span{display:block;padding:9px;font:9px Consolas,monospace;letter-spacing:.4px}
#navigation-panel{position:absolute;left:24px;top:64px;width:280px;z-index:5;padding:14px;background:#faf9f5ee;border:1px solid var(--line);backdrop-filter:blur(8px)}.navigation-head{display:flex;gap:14px;align-items:center;font:12px Consolas,monospace}.navigation-head button{border:0;font-size:10px;padding:5px 0}.navigation-head strong{font-weight:400}#unit-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}#unit-list button{font:11px Consolas,monospace;padding:10px 12px;display:flex;gap:12px}#unit-list button[aria-pressed=true]{border-color:var(--accent);background:#e8e9df}#unit-list span{color:var(--accent)}#navigation-note{font:9px/1.6 Consolas,monospace;color:var(--muted);margin:10px 0 0}body.exploring #level-key{top:370px}body.exploring #explore-panel{z-index:4;right:24px;width:200px;top:64px}body.exploring #legend{visibility:hidden}
#unit-detail{position:absolute;inset:62px 20px 64px auto;width:min(570px,63%);background:#faf9f5f9;border:1px solid #bdc8b7;z-index:7;overflow-y:auto;padding:22px;box-shadow:0 12px 50px #26371d1c;scrollbar-width:thin}.detail-head{display:flex;justify-content:space-between;align-items:start}.detail-head h2{margin:0;font-size:28px;font-weight:400;letter-spacing:-.8px}.detail-head .eyebrow{margin-bottom:5px;font-size:8px}.detail-head button{border:0;font-size:24px;line-height:1;padding:2px 5px}#unit-facts{font:11px/1.6 Consolas,monospace;color:#65775e;margin:12px 0}#unit-caption{font:8px/1.5 Consolas,monospace;letter-spacing:.6px;color:var(--accent);margin:15px 0 6px}#unit-plan{display:block;width:100%;height:260px;object-fit:contain;background:white;border:1px solid #dde1d6}.position-keys{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-top:16px}.position-keys>div{min-width:0}.position-keys span{font:7px/1.4 Consolas,monospace;letter-spacing:.6px;color:#6d7a67;display:block;margin-bottom:7px}.position-keys svg{display:block;width:100%;background:white;border:1px solid #dde1d6}#unit-note{font:9px/1.7 Consolas,monospace;color:#808b7b;margin:15px 0 0}.unit-region polygon{fill:var(--floor);fill-opacity:.06;stroke:var(--floor);stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer}.unit-region.marked polygon,.unit-region:hover polygon,.unit-region:focus polygon{fill-opacity:.5;stroke-width:2}.unit-region:focus{outline:none}
@media(min-height:1000px){.story-copy{margin-top:50px;min-height:265px}#chapter-nav{gap:2px}}
@media(max-height:800px) and (min-width:761px){.story-copy{margin-top:22px;min-height:215px}h1{font-size:30px}#chapter-description{font-size:13px}#chapter-nav button{min-height:26px;padding:5px 0}#unit-plan{height:205px}#level-key button{padding:8px}body.exploring #level-key{top:335px}}
@media(max-width:1000px) and (min-width:761px){.workspace{grid-template-columns:280px minmax(0,1fr)}.story-panel{padding-left:22px;padding-right:22px}h1{font-size:29px}#chapter-description{font-size:13px}#drawing-gallery{right:155px;left:20px;gap:8px}.drawing-card footer small{display:none}#level-key{right:15px;width:126px}#unit-detail{width:75%}#navigation-panel{width:230px;left:15px}}
@media(max-width:760px){.workspace{display:flex}.story-panel{padding:14px 18px 10px;height:236px;overflow:hidden}.story-copy{margin:0;min-height:0}h1{font-size:25px;max-width:none;margin-bottom:8px}#chapter-description{font-size:11px;line-height:1.55;max-width:none;margin-bottom:6px}#chapter-nav{display:flex;flex-direction:row;grid-column:1/3;overflow:auto;gap:5px;margin:0;align-items:end}#chapter-nav button{flex:1;min-width:22px;min-height:28px;padding:6px 0;font-size:7px}#chapter-nav button span:first-child{font-size:7px}#element-key{bottom:49px;padding:4px;gap:1px;max-width:95%}#element-key>span{font-size:8px;padding:7px 6px;gap:4px}#element-key i{width:5px;height:5px}#drawing-gallery{inset:43px 14px 90px;gap:7px}.drawing-card svg{max-height:11vh}.drawing-card footer{font-size:7px;padding:5px}.drawing-card footer small{display:none}#drawing-gallery.single{right:14px;bottom:100px}.single .drawing-card svg{max-height:43vh}.single .drawing-card footer{font-size:9px;padding:10px}#level-key{top:auto!important;bottom:48px;left:12px;right:12px;width:auto;flex-direction:row;gap:3px;flex-wrap:wrap}#level-key button{font-size:8px;padding:6px 7px;gap:5px;min-height:28px;flex:1;white-space:nowrap}#level-key small{display:none}#level-key i{height:10px;width:4px}#showcase-stage{inset:48px 15px 82px}#showcase-stage h2{font-size:22px}.empty-stage{inset:85px 8% 70px}#asset-dock{width:95%;gap:8px}.dock-card{width:30%}.dock-card img{height:48px}.dock-card span{font-size:7px;padding:6px}#navigation-panel{top:43px;left:12px;width:205px;padding:10px}.navigation-head{font-size:10px}.navigation-head button{font-size:8px}#unit-list{gap:4px;margin-top:7px}#unit-list button{font-size:9px;padding:7px;gap:5px}#navigation-note{font-size:7px}body.exploring #explore-panel{right:12px;top:43px;width:174px}#unit-detail{inset:40px 10px 86px;width:auto;padding:13px}.detail-head h2{font-size:22px}#unit-facts{font-size:9px;margin:7px 0}#unit-plan{height:150px}#unit-caption{font-size:6px;margin-top:8px}.position-keys{gap:8px;margin-top:10px}.position-keys span{font-size:6px}#unit-note{font-size:7px;margin-top:9px}.explore-button{bottom:93px}#unit-detail .eyebrow{font-size:6px}}
@media(max-width:760px) and (max-height:680px){.story-panel{height:210px}h1{font-size:22px}#chapter-description{font-size:10px}#unit-plan{height:110px}}

#drawing-gallery:not(.single){grid-template-rows:repeat(4,minmax(0,1fr));align-content:stretch}
#drawing-gallery:not(.single) .drawing-card{height:100%;align-self:stretch;display:flex;flex-direction:column}
#drawing-gallery:not(.single) .paper-reveal{min-height:0;flex:1}
#drawing-gallery:not(.single) .drawing-card svg{height:100%;max-height:none}
#drawing-gallery:not(.single) footer{flex:none;min-height:27px}
body.exploring #level-key{top:72px}
body.exploring #explore-panel{top:auto;bottom:80px;left:24px;right:auto}
@media(max-height:800px) and (min-width:761px){body.exploring #level-key{top:72px}body.exploring #explore-panel{max-height:43%;overflow:auto}}
@media(max-width:760px){body.exploring #level-key{top:auto}body.exploring #explore-panel{top:43px;bottom:auto;left:auto;right:12px}#drawing-gallery:not(.single) footer{min-height:20px}}

#asset-dock{pointer-events:auto}.dock-card{padding:0;text-align:left;cursor:pointer}.dock-card:hover{border-color:var(--accent);box-shadow:0 7px 25px #26351c26}
#drawing-inspector{position:absolute;inset:62px 180px 85px 24px;background:#faf9f5fa;border:1px solid #bac5b2;z-index:6;padding:20px;box-shadow:0 15px 50px #26351c20;display:flex;flex-direction:column;min-height:0}.inspector-head{display:flex;justify-content:space-between;align-items:center;font:12px Consolas,monospace}.inspector-head strong{font-weight:400}.inspector-head button{border:0;font-size:24px}#inspector-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}#inspector-tabs button{padding:7px;font:8px Consolas,monospace}#inspector-tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}#inspector-image{min-height:0;flex:1}#inspector-image svg{display:block;width:100%;height:100%;background:white}#inspector-image .level-region{cursor:pointer}#drawing-inspector>p{font:9px/1.6 Consolas,monospace;color:var(--muted);margin:10px 0 0}
@media(max-width:760px){#drawing-inspector{inset:42px 10px 118px;padding:12px}.inspector-head{font-size:9px}#inspector-tabs{gap:4px;margin:7px 0}#inspector-tabs button{font-size:7px;padding:6px}#drawing-inspector>p{font-size:7px}body.exploring #asset-dock{bottom:40px}.dock-card img{height:36px}.dock-card span{font-size:6px}}

body.showcase-ready #scene{pointer-events:auto;cursor:pointer}

/* Browser review: paper contrast, process cues and apartment ownership. */
#viewport{background:#cbd2c7}.drawing-card{border:1px solid #151a15}.position-keys svg,#unit-plan{border-color:#3a4437}
#process-note{position:absolute;top:58px;left:24px;z-index:4;display:flex;flex-direction:column;gap:5px;background:#fafbf6f2;border:1px solid #6d7c65;padding:12px 16px;max-width:min(390px,calc(100% - 48px));box-shadow:0 3px 15px #26351c0b;pointer-events:none}
#process-title{font:500 15px/1.3 Arial,sans-serif;color:#233126}#process-detail{font:9px/1.5 Consolas,monospace;color:#5c6b56}#skip-pause{pointer-events:auto;text-align:left;border:0;border-top:1px solid #ccd5c5;padding:7px 0 0;font:9px Consolas,monospace;margin-top:3px;color:#3f5c3c}
#story-unit-labels{position:absolute;inset:0;pointer-events:none;z-index:4}.story-unit-label{position:absolute;transform:translate(-50%,-50%);padding:5px 8px;font:600 10px/1.3 Consolas,monospace;color:#122014;background:#fffffff5;border:1px solid #18251a;box-shadow:inset 0 -3px var(--unit-colour),0 2px 8px #23311c15;white-space:nowrap}
#level-complete{position:absolute;left:50%;transform:translateX(-50%);bottom:145px;z-index:4;display:flex;align-items:center;gap:12px;background:#f9fbf4f5;border:1px solid #285540;padding:13px 17px;white-space:nowrap;box-shadow:0 4px 20px #203b2515}#level-complete i{width:9px;height:25px;background:#679d88}#level-complete strong{font:600 13px Consolas,monospace;color:#234e36}#level-complete span{font:9px Consolas,monospace;color:#52684a}
@media(max-width:760px){#process-note{top:38px;left:12px;padding:9px 11px;max-width:calc(100% - 24px);gap:3px}#process-title{font-size:12px}#process-detail{font-size:7px}#skip-pause{font-size:8px;padding-top:6px}.story-unit-label{font-size:7px;padding:4px 5px}#level-complete{bottom:102px;gap:7px;padding:10px;max-width:95%}#level-complete strong{font-size:10px}#level-complete span{font-size:7px}}

/* Shared visual language with the actual Ipswich selector. */
:root{--paper:#080d20;--panel:#080d20;--ink:#f6f5ef;--muted:#b8becd;--line:#ffffff25;--accent:#d7bd91;font-family:Arial,Helvetica,sans-serif;background:#080d20;color:#f6f5ef}
button,input,select,textarea{font-family:Arial,Helvetica,sans-serif}button:hover{background:#ffffff08;color:#d7bd91;border-color:#d7bd91}
.masthead{height:78px;min-height:78px;padding:0 36px;background:#080d20;gap:20px}.brand{font:400 22px/1 Arial,Helvetica,sans-serif;letter-spacing:.32em}.project-name{display:none}.quiet{font:400 16px Arial,Helvetica,sans-serif;padding:11px 16px;border:1px solid var(--line);margin-left:0}.quiet span{margin-left:7px}.masthead .brand{margin-right:auto}.footline{height:32px;min-height:32px;background:#080d20;color:#a9b5c7;font:10px Arial,Helvetica,sans-serif;letter-spacing:.05em;padding:0 24px}.footline span:nth-child(2){font:10px Arial,Helvetica,sans-serif;color:#a9b5c7}
.workspace{display:flex;flex-direction:column-reverse;position:relative;grid-template-columns:none}.story-panel{flex:none;display:flex;flex-direction:row;align-items:center;gap:30px;height:calc(176px * (1 - var(--outro,0)));min-height:0;padding:calc(18px * (1 - var(--outro,0))) 36px;border:0;border-top:1px solid var(--line);background:#080d20;opacity:calc(1 - var(--outro,0));overflow:hidden}.edition{display:none}.story-copy{margin:0;min-height:0;flex:1;display:grid;grid-template-columns:minmax(220px,340px) minmax(240px,1fr);gap:5px 28px;align-items:start}.story-copy .eyebrow{grid-column:1;grid-row:1;font:11px/1.4 Arial,Helvetica,sans-serif;color:#b8becd;letter-spacing:.14em;margin:0}.story-copy h1{grid-column:1;grid-row:2/4;font:400 29px/1.1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:0;max-width:none;margin:5px 0 0}.story-copy h1 em{color:var(--highlight,#d7bd91);box-shadow:none}#chapter-description{grid-column:2;grid-row:1/3;font:400 16px/1.5 Arial,Helvetica,sans-serif;max-width:680px;min-height:0;color:#e1e2e6;margin:0}.drawing-ref{grid-column:2;grid-row:3;font:10px/1.4 Arial,Helvetica,sans-serif;max-width:none;letter-spacing:.06em;color:#a9b5c7;margin:0}.panel-bottom{padding:0;margin:0;width:145px;flex:none}.next-button{font:16px Arial,Helvetica,sans-serif;padding:11px 16px;border:1px solid var(--line);white-space:nowrap}.next-button span{font-size:18px;margin-left:10px}.panel-note{font:10px Arial,Helvetica,sans-serif;padding-top:10px}.panel-note span:first-child{display:none}#viewport{flex:1;min-height:220px;background:#080d20}
#chapter-nav{display:none}body.steps-open #chapter-nav{display:flex;position:fixed;right:24px;top:89px;bottom:210px;width:305px;padding:18px;background:#080d20f5;border:1px solid #d7bd91;z-index:20;overflow:auto;margin:0;gap:3px}body.steps-open #chapter-nav button{font:13px Arial,Helvetica,sans-serif;min-height:34px;color:#b8becd}body.steps-open #chapter-nav button[aria-current=step]{color:#d7bd91}.viewport-top{font:11px Arial,Helvetica,sans-serif;color:#a9b5c7}.viewport-top span:last-child{color:#a9b5c7}.scene-footer{font-family:Arial,Helvetica,sans-serif}.study-badge{background:#080d20e8;color:#b8becd;font:9px Arial,Helvetica,sans-serif}#legend{font:10px Arial,Helvetica,sans-serif;color:#a9b5c7}.scale{font:9px Arial,Helvetica,sans-serif;color:#a9b5c7}
#process-note{background:#080d20ee;border-color:#d7bd9170;max-width:400px}#process-title{font:400 16px/1.3 Arial,Helvetica,sans-serif;color:#f6f5ef}#process-detail{font:12px/1.5 Arial,Helvetica,sans-serif;color:#b8becd}#skip-pause{font:12px Arial,Helvetica,sans-serif;color:#d7bd91;border-color:#ffffff25}.story-unit-label{font-family:Arial,Helvetica,sans-serif}#level-complete{background:#080d20ee;border-color:#679d88}#level-complete strong{font:400 16px Arial,Helvetica,sans-serif;color:#c6e5d5}#level-complete span{font:12px Arial,Helvetica,sans-serif;color:#b8becd}
#element-key{background:#080d20ed;border-color:var(--line);padding:6px}#element-key>span{font:12px Arial,Helvetica,sans-serif;color:#b8becd;padding:9px 12px}#element-key .active{background:#ffffff12}#element-key .identified{color:var(--element-colour)}#level-key button{background:#080d20ed;font:12px Arial,Helvetica,sans-serif;color:#f6f5ef;border-color:var(--line)}#level-key small{color:#b8becd;font:10px Arial,Helvetica,sans-serif}.drawing-card footer{background:#080d20;color:#f6f5ef;font:12px Arial,Helvetica,sans-serif}.drawing-card footer small{font:9px Arial,Helvetica,sans-serif;color:#b8becd}
#data-board{position:absolute;inset:65px 32px 50px;z-index:3;display:grid;grid-template-columns:1fr 1.25fr;gap:28px;color:#f6f5ef}#data-board>div{background:#080d20f5;border:1px solid #ffffff35;padding:25px;min-width:0;overflow:auto}#data-board h2{font:400 24px Arial,Helvetica,sans-serif;margin:8px 0 24px}.component-grid{display:flex;flex-direction:column;gap:12px}.component-grid>div{display:flex;background:#ffffff09;border:1px solid var(--line);align-items:center;gap:18px;font-size:16px}.component-grid img{width:125px;height:85px;object-fit:contain;background:white}.data-hint{font:12px/1.6 Arial,Helvetica,sans-serif;color:#b8becd}#data-board .eyebrow,#unit-payload .eyebrow{font:11px Arial,Helvetica,sans-serif;letter-spacing:.13em;color:#d7bd91}.database-inventory table,#unit-payload table{width:100%;border-collapse:collapse;font:14px Arial,Helvetica,sans-serif}.database-inventory th,.database-inventory td,#unit-payload th,#unit-payload td{padding:11px 6px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}.database-inventory th{font-size:12px;color:#b8becd}
#showcase-stage{inset:0;justify-content:flex-start;padding-top:38px;overflow:hidden}#showcase-stage>span,#showcase-stage>h2{position:relative;z-index:2;color:#182137;margin-left:300px;font-family:Arial,Helvetica,sans-serif}#showcase-stage h2{font-size:29px}.empty-stage{display:none}#ui-scaffold{position:absolute;inset:0;pointer-events:none}#ui-sidebar{position:absolute;left:0;top:0;bottom:0;width:300px;padding:26px 24px;background:#080d20;color:#f6f5ef;border-right:1px solid var(--line);font:16px Arial,Helvetica,sans-serif;overflow:hidden}#ui-sidebar .eyebrow{font:11px/1.4 Arial,Helvetica,sans-serif;color:#b8becd;letter-spacing:.14em;margin:0 0 18px}#ui-sidebar label{font-size:11px;color:#b8becd;display:block}.ui-building{border:1px solid #526079;background:#142039;font-size:11px;padding:10px;margin-bottom:18px}.ui-placeholder{border:1px solid var(--line);padding:11px 16px;margin:16px 0;font-size:16px}#ui-sidebar h2{margin:24px 0 0;font:400 29px/1.1 Arial,Helvetica,sans-serif}.ui-arrow{display:block;font-size:90px;line-height:1;margin:22px 0}.ui-floor-buttons{display:flex;flex-wrap:wrap;gap:6px}.ui-floor-buttons span{border:1px solid var(--line);padding:10px;min-width:43px;text-align:center}.ui-view-slot{position:absolute;left:330px;right:30px;top:135px;bottom:125px;border:1px dashed #8e9985;display:flex;justify-content:center;align-items:center;color:#76836d;font-size:12px;letter-spacing:.14em}.ui-data-slot{position:absolute;right:24px;top:18px;border:1px dashed #87967c;color:#617056;padding:12px;font-size:11px;letter-spacing:.12em}.populating .ui-view-slot,.populating .ui-data-slot{opacity:0}#unit-payload{position:absolute;right:25px;top:25px;width:350px;transform-origin:top right;background:#080d20;border:1px solid var(--line);padding:14px;color:#f6f5ef;z-index:3}#unit-payload table{font-size:12px}#unit-payload td,#unit-payload th{padding:9px 5px}.dock-card{background:#080d20;border-color:var(--line);color:#f6f5ef}.dock-card span{font:12px Arial,Helvetica,sans-serif}#asset-dock{left:330px;right:30px;bottom:32px;width:auto}body.ending-selector #level-key{display:none!important}
#end-nav{display:flex;gap:12px;align-items:center}#end-nav span{padding:11px 16px;border:1px solid var(--line);font:16px Arial,Helvetica,sans-serif}#final-selector{position:fixed;inset:0;z-index:30;background:#080d20}#selector-frame{display:block;width:100%;height:100%;border:0;background:#080d20}#replay-story{position:fixed;left:245px;top:18px;z-index:35;background:#080d20e8;border-color:#d7bd9170;color:#d7bd91;padding:11px 15px;font:14px Arial,Helvetica,sans-serif}body.selector-active #experience{pointer-events:none}body.selector-active #replay-story{pointer-events:auto}
#unit-detail,#drawing-inspector,#explore-panel,#navigation-panel,dialog{background:#080d20f7;color:#f6f5ef}#unit-detail h2,#unit-facts,#unit-note,#unit-caption,#navigation-note{color:#b8becd}#unit-plan,.position-keys svg{background:white}.position-keys span{color:#b8becd}.unit-region polygon{stroke:#1e293b}.control-title{color:#d7bd91}
@media(max-width:1000px) and (min-width:761px){.story-panel{padding-left:24px;padding-right:24px;gap:20px}.story-copy{grid-template-columns:250px 1fr;gap:6px 20px}#chapter-description{font-size:14px}.story-copy h1{font-size:27px}.panel-bottom{width:130px}#data-board{inset:62px 20px 38px;gap:16px}#data-board>div{padding:16px}.component-grid img{width:90px;height:65px}}
@media(max-width:760px){.masthead{height:70px;min-height:70px;padding:0 16px;gap:5px}.brand{font-size:16px;letter-spacing:.32em}.quiet{font-size:11px;padding:9px}.quiet span{display:none}.story-panel{height:calc(220px * (1 - var(--outro,0)));padding:calc(16px * (1 - var(--outro,0))) 18px;gap:12px;display:flex;align-items:center}.story-copy{display:block;min-width:0}.story-copy h1{font-size:24px;line-height:1.1;margin:7px 0 10px}.story-copy h1 br{display:none}.story-copy .eyebrow{font-size:10px}#chapter-description{font-size:13px;line-height:1.5;max-width:none;margin:0}.drawing-ref{font-size:8px;margin-top:7px}.panel-bottom{width:38px}.next-button{font-size:0;width:38px;height:38px;padding:0}.next-button span{font-size:20px;margin:0}.panel-note{font-size:8px}.footline{font-size:9px;padding:0 10px}.viewport-top{font-size:8px;left:14px;right:14px}.scene-footer{left:12px;right:12px}#process-title{font-size:14px}#process-detail{font-size:10px}#process-note{max-width:calc(100% - 24px)}#element-key>span{font-size:10px;padding:7px 6px}#level-complete strong{font-size:12px}#level-complete span{font-size:9px}#level-key button{font-size:10px}.drawing-card footer{font-size:9px}body.steps-open #chapter-nav{top:80px;right:12px;left:12px;width:auto;bottom:240px;display:flex;flex-direction:column}body.steps-open #chapter-nav button{min-width:0;flex:none;border:0;justify-content:flex-start;font-size:13px}body.steps-open #chapter-nav button span:last-child{display:block}#data-board{inset:42px 12px 35px;display:block;overflow:auto}#data-board>div{padding:14px;margin-bottom:12px;overflow:visible}#data-board h2{font-size:20px;margin:4px 0 12px}.component-grid{flex-direction:row;gap:6px}.component-grid>div{display:block;font-size:10px;flex:1;min-width:0}.component-grid img{width:100%;height:55px}.component-grid span{display:block;padding:7px}.data-hint{font-size:11px}.database-inventory table{font-size:12px}.database-inventory td,.database-inventory th{padding:7px 4px}.database-inventory th{font-size:10px}#ui-sidebar{width:42%;padding:15px 12px}#ui-sidebar .eyebrow{font-size:8px;margin-bottom:10px}#ui-sidebar h2{font-size:20px}#ui-sidebar .ui-arrow{font-size:60px}.ui-building{font-size:9px;padding:7px}.ui-placeholder{font-size:10px;padding:8px;margin:10px 0}.ui-floor-buttons{gap:4px}.ui-floor-buttons span{font-size:11px;padding:6px;min-width:27px}#ui-sidebar .data-hint{font-size:9px}.ui-view-slot{left:46%;right:10px;bottom:100px;top:110px;font-size:9px}#showcase-stage>span,#showcase-stage>h2{margin-left:42%;font-size:19px;max-width:52%;text-align:center}#showcase-stage>span{font-size:8px}#asset-dock{left:46%;right:10px;gap:5px;bottom:18px}.dock-card img{height:36px}.dock-card span{font-size:8px}#unit-payload{width:55%;right:10px;top:120px;padding:8px}#unit-payload table{font-size:8px}#unit-payload td,#unit-payload th{padding:6px 2px}#unit-payload .eyebrow{font-size:8px}#end-nav{gap:4px}#end-nav span{font-size:11px;padding:9px}#end-nav span:nth-child(2){display:none}body.ending-selector #story-menu,body.ending-selector #sources{display:none}#replay-story{top:auto;left:auto;right:10px;bottom:35px;font-size:11px;padding:8px}.footline span:nth-child(2){display:none}}
body.model-demo #level-key{display:flex!important}

body.ending-selector #story-menu,body.ending-selector #sources{display:none}
body.ending-selector .viewport-top,body.ending-selector .scene-footer{visibility:hidden}
.ui-sidebar-slot{position:absolute;left:14px;top:18px;bottom:18px;width:272px;border:1px dashed #87967c;display:flex;align-items:center;justify-content:center;color:#617056;font:12px Arial,Helvetica,sans-serif;letter-spacing:.12em}
.populating .ui-sidebar-slot{opacity:0}.ui-data-slot{top:65px}
@media(max-width:760px){.ui-sidebar-slot{left:9px;width:calc(42% - 18px);font-size:9px}.ui-data-slot{top:65px;font-size:9px}}

body.light-scene .viewport-top,body.light-scene .viewport-top span:last-child,body.light-scene #legend,body.light-scene .scale{color:#53616b}
/* Review v3: the scene is the presentation; captions live on it. */
#experience{display:block}.masthead,.footline{display:none}.workspace{position:absolute;inset:0;display:block}#viewport{position:absolute;inset:0;width:100%;height:100%;min-height:0;flex:none}.story-panel{position:absolute;left:26px;top:24px;bottom:auto;right:auto;z-index:12;display:block;width:390px;max-width:calc(100% - 52px);height:auto!important;min-height:0;padding:16px 18px!important;border:1px solid #ffffff26;background:#080d20df;backdrop-filter:blur(8px);opacity:calc(1 - var(--outro,0))!important;overflow:visible;transition:opacity .2s}.story-copy{display:block;min-height:0;margin:0}.story-copy .eyebrow{font-size:10px;margin-bottom:8px}.story-copy h1{font-size:29px;line-height:1.1;display:block;margin:0 0 10px;text-transform:none;letter-spacing:-.5px}.story-copy h1 br{display:none}#chapter-description{display:block;font-size:15px;line-height:1.5;margin:0;color:#d9dee6;max-width:none}.drawing-ref{display:none}.panel-bottom{display:flex;width:auto;align-items:center;gap:12px;margin-top:12px}.next-button{width:auto;padding:8px 12px;font-size:13px;height:auto}.next-button span{font-size:14px}.panel-note{padding:0;font-size:10px}.panel-note span:first-child{display:none}
#process-note{position:static;max-width:none;padding:10px 0 0;margin-top:11px;border:0;border-top:1px solid #ffffff25;background:none;box-shadow:none;backdrop-filter:none;pointer-events:auto}#process-title{font-size:17px;color:#f6f5ef}#process-detail{font-size:12px}#skip-pause{font-size:12px}#element-key,#level-key,#level-complete,.viewport-top,.scene-footer{display:none!important}#presentation-tools{position:fixed;right:24px;top:24px;z-index:24;display:flex;gap:6px}#presentation-tools button{background:#080d20df;color:#f6f5ef;border:1px solid #ffffff35;backdrop-filter:blur(8px);font:13px Arial,sans-serif;padding:9px 12px}#full-screen{font-size:19px!important;line-height:1;padding:7px 10px!important}body.text-hidden .story-panel{opacity:0!important;pointer-events:none}body.selector-active #presentation-tools,body.selector-active .story-panel{display:none}body.steps-open #chapter-nav{position:fixed;left:auto;right:24px;top:74px;bottom:auto;max-height:calc(100dvh - 110px);width:310px;z-index:30;display:flex;flex-direction:column;gap:3px;padding:15px;margin:0;overflow:auto;background:#080d20fa;border:1px solid #d7bd91}.story-panel #chapter-nav button{flex:none;min-height:32px;border:0;padding:7px 0;font-size:12px;text-align:left;justify-content:flex-start}.story-panel #chapter-nav button span:last-child{display:block}.story-panel #chapter-nav button span:first-child{font-size:10px}
#story-unit-labels,#model-level-labels{position:absolute;inset:0;pointer-events:none;z-index:6}.story-unit-label{font:600 18px/1.2 Arial,sans-serif;padding:7px 10px;border:1px solid #b22d2d;color:#101c16;background:#fffffff5;box-shadow:inset 0 -4px var(--unit-colour),0 3px 10px #0002}.model-level-label{position:absolute;transform:translate(-110%,-50%);background:#080d20e8;border:1px solid var(--floor);border-left:5px solid var(--floor);padding:6px 10px;font:14px Arial,sans-serif;color:#fff;white-space:nowrap}.model-level-label:after{content:'';position:absolute;left:100%;top:50%;width:22px;border-top:1px solid var(--floor)}
/* One sheet at a time: full-size rollouts on a slightly angled stack. */
#drawing-gallery.sheet-stack{position:absolute;inset:64px 58px 45px;display:block!important;overflow:visible;z-index:8;pointer-events:none}#drawing-gallery.sheet-stack .drawing-card{position:absolute;inset:0;display:flex;flex-direction:column;width:100%;height:100%;max-height:none;min-height:0;align-self:auto;border:1px solid #1d252b;box-shadow:0 12px 35px #0003;transform-origin:center;background:#fff}#drawing-gallery.sheet-stack .paper-reveal{height:auto;flex:1;min-height:0}#drawing-gallery.sheet-stack .drawing-card svg{width:100%;height:100%;max-height:none;display:block;background:white}#drawing-gallery.sheet-stack footer{height:32px;min-height:32px;flex:none;padding:9px 14px;font-size:13px}.sheet-level-name{font-family:Arial,sans-serif;font-weight:600;fill:#10232c;stroke:#fffffff5;stroke-width:6;paint-order:stroke;stroke-linejoin:round;pointer-events:none;opacity:0}.level-region.marked .sheet-level-name{opacity:1}.level-region.marked polygon{fill-opacity:.36}
/* The library is rectangular, grouped, and gives records a drawing thumbnail. */
#data-board{position:absolute;inset:20px 24px 24px;z-index:14;display:flex;flex-direction:column;gap:14px;background:#080d20f5;padding:20px;border:1px solid #ffffff30;overflow:hidden;color:#f6f5ef}#data-board .library-heading{height:auto;min-height:0;display:flex;justify-content:space-between;align-items:end;gap:20px;padding:0 0 12px;border:0;border-bottom:1px solid #ffffff25;background:none}#data-board .library-heading .eyebrow{font-size:10px;margin:0 0 6px}#data-board h2{font:400 26px Arial,sans-serif;margin:0}#data-board .library-heading>span{font-size:12px;color:#b8becd;padding-right:220px}.asset-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;flex:none;height:36%;min-height:190px}.asset-group{border:1px solid #ffffff30;padding:12px;min-width:0;display:flex;flex-direction:column;background:#ffffff04}.asset-group h3{margin:0 0 10px;font:400 17px Arial,sans-serif;display:flex;justify-content:space-between}.asset-group h3 small{font-size:11px;color:#d7bd91}.asset-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-height:0;overflow:auto}.asset-thumbs figure{margin:0;min-width:0;border:1px solid #ffffff20;background:#ffffff07}.asset-thumbs img{display:block;width:100%;height:62px;object-fit:contain;background:white}.asset-thumbs figcaption{font:10px/1.2 Arial,sans-serif;padding:5px;color:#e1e3e8}.unit-register{min-height:0;flex:1;display:flex;flex-direction:column;border:1px solid #ffffff30;background:#ffffff04;padding:12px}.register-heading{display:flex;align-items:center;gap:18px;justify-content:space-between;padding-bottom:8px}.register-heading h3{font:400 18px Arial,sans-serif;margin:0}.register-heading span{font:11px Arial,sans-serif;color:#b8becd}.register-scroll{overflow:auto;min-height:0;flex:1}.unit-register table{width:100%;border-collapse:collapse;font:13px Arial,sans-serif}.unit-register th{position:sticky;top:0;background:#11182d;color:#b8becd;font-weight:400;text-align:left;font-size:11px;padding:9px;z-index:1}.unit-register td{padding:7px 9px;border-top:1px solid #ffffff20;white-space:nowrap}.record-preview{width:130px}.record-preview svg{display:block;width:115px;height:48px;background:white;border:1px solid #86929c}.record-preview .unit-region.marked polygon{fill:#bd583e;fill-opacity:.6;stroke:#9f281e}.library-next{font-size:12px;padding:8px 11px;white-space:nowrap}body.library-scene .story-panel{display:none}
/* Empty viewer first; the UI frame is assembled only afterward. */
.ui-sidebar-slot{display:none!important}.ui-view-slot{inset:22px;border-color:#6c7986;background:#ffffff08;color:#536271;font-size:15px}.ui-data-slot,#showcase-stage>span,#showcase-stage>h2{display:none}#showcase-stage{padding:0}.populating .ui-view-slot{opacity:0}body.ui-assembling .masthead{display:flex;position:absolute;left:0;right:0;top:0;z-index:20}body.ui-assembling .workspace{top:78px}body.ui-assembling .story-panel{left:auto;right:26px;top:80px;width:350px}body.ui-assembling #presentation-tools{display:none}body.ending-selector:not(.ui-assembling) .masthead{display:none}#ui-sidebar{border-right:1px solid #ffffff25}#asset-dock{bottom:25px}
@media(max-width:1000px){.story-panel{width:335px}.story-copy h1{font-size:26px}#chapter-description{font-size:14px}.story-unit-label{font-size:15px}#data-board .library-heading>span{display:none}.asset-thumbs img{height:48px}.asset-group{padding:9px}.register-heading span{max-width:50%;font-size:10px}}
@media(max-width:760px){.story-panel{left:12px;top:12px;max-width:calc(100% - 100px);width:300px;padding:12px!important;backdrop-filter:blur(5px)}.story-copy h1{font-size:23px;margin:0 0 8px}.story-copy .eyebrow{font-size:8px;margin-bottom:6px}#chapter-description{font-size:12px;line-height:1.45}.panel-bottom{margin-top:8px;width:auto}.next-button{font-size:11px;height:auto;width:auto;padding:7px 9px}.next-button span{font-size:13px}.panel-note{font-size:8px}#process-note{margin-top:8px;padding-top:8px}#process-title{font-size:14px}#process-detail{font-size:10px}#presentation-tools{top:12px;right:12px;flex-direction:column;gap:5px}#presentation-tools button{font-size:10px;padding:7px 9px}#full-screen{font-size:17px!important;padding:6px 9px!important}body.steps-open #chapter-nav{left:12px;right:12px;top:78px;width:auto;bottom:auto;max-height:calc(100dvh - 120px)}.story-unit-label{font-size:12px;padding:5px 7px}.model-level-label{font-size:10px;padding:5px 7px}.model-level-label:after{width:12px}#drawing-gallery.sheet-stack{inset:64px 22px 35px}#drawing-gallery.sheet-stack footer{height:28px;min-height:28px;font-size:10px;padding:8px}.sheet-level-name{stroke-width:7}#data-board{inset:12px;padding:12px;gap:10px}#data-board .library-heading{padding-bottom:9px;align-items:center}#data-board h2{font-size:21px;max-width:200px}#data-board .library-heading .eyebrow{font-size:8px}.library-next{font-size:10px;padding:7px}.asset-groups{grid-template-columns:1fr 1fr;height:43%;min-height:260px;gap:8px}.asset-group{padding:8px;min-height:0}.asset-group h3{font-size:14px;margin-bottom:7px}.asset-thumbs{gap:5px}.asset-thumbs img{height:38px}.asset-thumbs figcaption{font-size:8px;padding:4px}.unit-register{padding:8px}.register-heading{display:block;padding-bottom:7px}.register-heading h3{font-size:16px;margin-bottom:4px}.register-heading span{display:block;max-width:none;font-size:9px}.unit-register table{font-size:11px}.unit-register td{padding:6px}.unit-register th{font-size:10px;padding:7px}.record-preview svg{width:85px;height:40px}body.ui-assembling .workspace{top:70px}body.ui-assembling .story-panel{left:12px;right:auto;top:12px;max-width:calc(100% - 24px);width:310px}body.ui-assembling .story-panel{opacity:calc((1 - var(--outro,0)) * .92)!important}.ui-view-slot{inset:12px;font-size:12px}}
#drawing-gallery[hidden]{display:none!important}

#drawing-gallery.sheet-stack .drawing-card{top:50%;bottom:auto;height:auto;aspect-ratio:var(--sheet-ratio,1.8);max-height:100%;min-height:0}
body.library-scene #presentation-tools #toggle-text,body.library-scene #presentation-tools #full-screen{display:none}
.library-next{margin-right:70px}#data-board .library-heading>span{padding-right:0}
@media(max-width:760px){#data-board .library-heading{display:block}#data-board h2{max-width:calc(100% - 65px)}.library-next{margin:9px 0 0}#drawing-gallery.sheet-stack .drawing-card{height:auto;max-height:100%}.model-level-label{font-size:11px}}

/* Reviewed rollout: a substantial paper cylinder stays outside the revealed sheet. */
#drawing-gallery.sheet-stack .drawing-card{clip-path:none;overflow:visible;background:transparent;border:0;box-shadow:none}
#drawing-gallery.sheet-stack .paper-reveal,#drawing-gallery.sheet-stack .drawing-card footer{clip-path:inset(0 calc(100% - var(--reveal,100%)) 0 0)}
#drawing-gallery.sheet-stack .from-right .paper-reveal,#drawing-gallery.sheet-stack .from-right footer{clip-path:inset(0 0 0 calc(100% - var(--reveal,100%)))}
#drawing-gallery.sheet-stack .paper-reveal{background:white;border:1px solid #30343a;filter:drop-shadow(0 12px 15px #0002)}
#drawing-gallery.sheet-stack .roll-edge{--roll-width:clamp(44px,5.5vw,78px);width:var(--roll-width);left:calc(var(--reveal,100%) - var(--roll-width) / 2);right:auto;top:-3px;bottom:-3px;border-radius:48% / 3%;border:1px solid #a4a49a;background:linear-gradient(90deg,#777b7560 0%,#b8b9b0 10%,#f4f4eb 32%,#fffef8 52%,#e6e6dc 76%,#9b9e92 100%);box-shadow:-13px 4px 20px #0003,7px 0 10px #0002,inset 3px 0 4px #fff9;z-index:3}
#drawing-gallery.sheet-stack .roll-edge:before,#drawing-gallery.sheet-stack .roll-edge:after{content:"";position:absolute;left:-1px;right:-1px;height:9px;border-radius:50%;border:1px solid #9e9f94;background:radial-gradient(ellipse,#85867b 0 18%,#f7f5ea 22% 38%,#c3c3b8 42% 53%,#fffef5 57% 74%,#a8aa9e 79%)}
#drawing-gallery.sheet-stack .roll-edge:before{top:-4px}#drawing-gallery.sheet-stack .roll-edge:after{bottom:-4px}
#drawing-gallery.sheet-stack .from-right .roll-edge{left:auto;right:calc(var(--reveal,100%) - var(--roll-width) / 2);transform:scaleX(-1)}

/* The library is the next layer in the same scene; keep the source sheets in sight. */
#data-board{inset:64px clamp(45px,6vw,100px) 62px;background:#080d20ed;backdrop-filter:blur(7px);box-shadow:0 20px 60px #0004;opacity:var(--dataset-reveal,1);transform:translateY(calc((1 - var(--dataset-reveal,1)) * 22px));transform-origin:center}
#data-board .asset-group,#data-board .unit-register{opacity:var(--dataset-reveal,1);transform:translateY(calc((1 - var(--dataset-reveal,1)) * 22px))}
#data-board .unit-register tbody tr{opacity:var(--dataset-reveal,1);transform:translateX(calc((1 - var(--dataset-reveal,1)) * 14px))}
#data-board .asset-groups{padding:0;border:0;background:transparent;overflow:visible}
#data-board .unit-register{overflow:hidden}
@media(max-width:1000px){#data-board{inset:55px 48px 52px;padding:16px;gap:10px}.asset-thumbs img{height:44px}}
@media(max-width:760px){#data-board{inset:60px 25px 42px;padding:12px;gap:10px}.asset-groups{height:42%;min-height:240px}.asset-group{padding:7px}.asset-group h3{font-size:13px}.asset-thumbs img{height:34px}.asset-thumbs figcaption{font-size:8px}.register-heading span{font-size:9px}#data-board h2{font-size:20px}#drawing-gallery.sheet-stack .roll-edge{--roll-width:44px}.library-next{margin-top:8px}#data-board .library-heading{padding-bottom:8px}.register-heading{padding-bottom:5px}}
@media(prefers-reduced-motion:reduce){#data-board,#data-board .asset-group,#data-board .unit-register,#data-board .unit-register tbody tr{transform:none!important}}

#realistic-render{position:absolute;inset:0;margin:0;z-index:1;pointer-events:none;overflow:hidden;background:#d0d5d3}#realistic-render[hidden]{display:none}#realistic-render img{position:absolute;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%)}#realistic-render figcaption{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font:10px Arial,sans-serif;letter-spacing:.12em;color:#34434c;background:#f6f5efde;padding:8px 12px;white-space:nowrap}

/* Each source shelf owns its scroll area; long unit-plan lists stay in their group. */
#data-board .library-heading{flex-shrink:0}
#data-board .asset-groups{grid-template-rows:minmax(0,1fr);min-height:0;flex:0 0 36%;overflow:hidden}
#data-board .asset-group{min-height:0;overflow:hidden}
#data-board .asset-group h3{flex:0 0 auto}
#data-board .asset-thumbs{flex:1 1 0;min-height:0;grid-auto-rows:max-content;align-content:start;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
#data-board .unit-register{flex:1 1 0;min-height:0;margin-top:0}
#data-board .register-heading{flex-shrink:0}
@media(max-width:760px){#data-board .asset-groups{grid-template-rows:repeat(2,minmax(0,1fr));flex-basis:43%}}
