/* Owner: ARCHITECT (frozen). 3D holder, canvas and still states the scene engine relies on. */
.aquarium-scene{position:relative;isolation:isolate;overflow:hidden;min-height:280px;background:#c6c6b9}
.aquarium-canvas{display:block;width:100%;height:100%;position:absolute;inset:0;outline:none;touch-action:pan-y}
.aquarium-scene.scene-interactive .aquarium-canvas{cursor:grab;touch-action:none}
.aquarium-scene.scene-interactive .aquarium-canvas.is-dragging{cursor:grabbing}
.aquarium-canvas:focus-visible{outline:3px solid #d4caa1;outline-offset:-5px}
.aquarium-scene.scene-unavailable .aquarium-canvas{opacity:0}
:root[data-motion=reduce] .aquarium-canvas{scroll-behavior:auto}

.scene-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scene-ready>.scene-poster,.scene-ready>img,.scene-ready>picture{display:none}
/* The story still (studio/build/stage.mjs): a rendered end state, wide or tall. */
.aquarium-stage>picture{position:absolute;inset:0;display:block}
.aquarium-stage>picture>img{display:block;width:100%;height:100%;object-fit:cover}
.scene-error{position:absolute;bottom:15px;left:15px;right:15px;background:var(--paper);padding:15px;font-size:12px;z-index:5}
.aquarium-freeze{display:block;width:100%;height:100%;position:absolute;inset:0;pointer-events:none}
.aquarium-scene.scene-loading .aquarium-canvas{opacity:0}

/* Story notes (scene/notes.js, markup in studio/build/stage.mjs): labels on leader lines in the construction story
   (item 11) and dimension lines in the scale story (item 12). Shown on the live canvas only. */
.scene-notes{position:absolute;inset:0;z-index:2;pointer-events:none;display:none}
.scene-live>.scene-notes{display:block}
.scene-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.scene-lines path{fill:none;stroke:var(--ink);stroke-width:1.25;stroke-linecap:round}
.scene-lines .dash{stroke-dasharray:6 5;stroke-linecap:butt}
.scene-lines .dot{stroke-width:7}
.scene-note{position:absolute;left:0;top:0;padding:5px 9px;background:rgba(241,238,229,.94);color:var(--ink);font:700 13px/1.3 Manrope,Arial,sans-serif;white-space:nowrap;opacity:0;transition:opacity .3s,background-color .3s,color .3s}
.scene-note small{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.scene-note.is-shown{opacity:1}
.scene-note.is-current{background:var(--ink);color:var(--paper)}
:root[data-motion=reduce] .scene-note{transition:none}
