/* ASTER ATLAS — spatial interface, standalone local prototype. */
#plan2d{touch-action:none;cursor:grab}#plan2d:active{cursor:grabbing}
:root{--paper:#f6f4ef;--stage:#eae8e1;--white:#fffefa;--ink:#272b29;--muted:#777c75;--line:#dedfd7;--accent:#873b40;--accent-soft:#f2e8e5;--rail:#262d2b;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Arial,sans-serif;--shadow:0 20px 70px #292b2318}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,a,input{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #a34a51;outline-offset:4px}button:disabled{opacity:.42;cursor:default}a{color:inherit;text-decoration:none}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button svg{pointer-events:none}h1,h2,h3,p{margin:0}[hidden]{display:none!important}.skip-link{position:fixed;z-index:200;top:8px;left:95px;transform:translateY(-150%);background:var(--ink);color:white;padding:12px 20px}.skip-link:focus{transform:none}
.rail{position:fixed;inset:0 auto 0 0;width:72px;background:var(--rail);color:#daddd6;display:flex;flex-direction:column;align-items:center;z-index:20}.rail-brand{font:36px var(--serif);margin-top:22px;color:#fff9eb;position:relative;line-height:1.2}.rail-brand span{position:absolute;bottom:0;right:-5px;width:6px;height:6px;background:#c27d7a}.rail-map{margin-top:43px;width:43px;height:43px;display:grid;place-items:center;background:#ffffff13;border:1px solid #ffffff13;border-radius:4px}.rail-map svg{width:22px;height:22px}.rail-word{writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;font-weight:600;letter-spacing:3.2px;opacity:.5;margin-top:38px}.rail-foot{font-size:9px;letter-spacing:2px;margin:auto 0 25px;color:#d5b9b2}.shell{margin-left:72px}.topbar{height:81px;padding:0 34px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:28px}.wordmark{display:flex;align-items:center;gap:13px;flex-shrink:0;font-size:15px;letter-spacing:3.5px}.wordmark strong{font-size:18px;letter-spacing:3px;font-weight:700}.wordmark>span:last-child{font-size:12px;letter-spacing:3px;font-weight:400;color:#6c706a}.wordmark-rule{height:21px;width:1px;background:#c9cbc3}.topbar-caption{font-size:11px;letter-spacing:.3px;color:var(--muted)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.text-button{display:flex;align-items:center;gap:8px;background:transparent;padding:9px 0;font-size:12px;white-space:nowrap}.text-button:hover{color:var(--accent)}.text-button svg{width:18px;height:18px}.icon-button{background:transparent;display:grid;place-items:center;width:38px;height:38px;border:1px solid transparent;border-radius:3px;flex-shrink:0}.icon-button:hover{background:#292e2907;border-color:var(--line)}.icon-button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}main{padding:0 34px}.page-heading{padding:29px 0 25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.8px;color:var(--accent);line-height:1.5}.heading-copy h1{font-family:var(--serif);font-size:clamp(25px,2.4vw,35px);font-weight:400;line-height:1.22;letter-spacing:-.8px;margin-top:6px}.heading-copy>p:last-child{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.5}.small-break{display:none}.view-switch{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #d6d8cf;background:#eeeee7;border-radius:6px;flex-shrink:0}.view-switch button{display:flex;align-items:center;gap:7px;padding:11px 15px;background:transparent;border-radius:3px;color:#787d75;font-size:12px;white-space:nowrap;transition:background .18s,color .18s}.view-switch button.active,.view-switch button[aria-pressed=true]{background:var(--white);color:var(--ink);box-shadow:0 1px 5px #262c2412}.view-switch button:hover{color:var(--ink)}.view-switch svg{width:17px;height:17px}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--white)}.canvas-column{min-width:0;background:var(--stage)}.stage{position:relative;height:clamp(480px,calc(100dvh - 340px),740px);min-height:480px;overflow:hidden;background:var(--stage);isolation:isolate}.stage canvas{display:block;outline:none;width:100%;height:100%}#scene3d,#plan2d,#photo-view,#scene-labels{position:absolute;inset:0}#scene-labels{pointer-events:none;overflow:hidden;z-index:3}#plan2d{padding:60px 26px 45px}#plan2d>svg{width:100%;height:100%;overflow:visible;stroke:none}#photo-view{overflow:auto;padding:64px 24px 28px;background:var(--paper);z-index:5;display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px;align-content:start}.stage-caption{position:absolute;left:25px;top:23px;z-index:6;display:flex;align-items:center;gap:12px;color:#6f756c;pointer-events:none;font-size:9px;line-height:1.6;letter-spacing:1.3px;font-weight:600}.stage-caption small{font-size:7px;letter-spacing:1.6px;font-weight:400;color:#91968c}.drawing-index{font-family:var(--serif);font-size:25px;font-weight:400;color:#4a534c;letter-spacing:-1px;border-right:1px solid #bfc6b9;padding-right:13px}.stage-tools{position:absolute;right:19px;top:19px;z-index:8;display:flex;gap:3px;padding:3px;background:#fffefad9;border:1px solid #ddded3;border-radius:5px;backdrop-filter:blur(10px)}.stage-tools .icon-button{width:33px;height:33px}.stage-tools svg{width:18px;height:18px}.stage-help{position:absolute;left:25px;bottom:20px;z-index:3;display:flex;align-items:center;gap:8px;font-size:9px;color:#82877e;pointer-events:none}.stage-help svg{width:14px;height:17px;stroke-width:1.3}.stage-signature{position:absolute;right:24px;bottom:18px;z-index:3;font-size:10px;letter-spacing:3px;font-weight:600;color:#999d94;text-align:right;pointer-events:none}.stage-signature span{display:block;font-family:var(--serif);font-size:10px;letter-spacing:0;font-style:italic;margin-top:3px;font-weight:400}.canvas-status{min-height:38px;border-top:1px solid #d8dbd1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 18px;background:#eeeee6;color:#737b70;font-size:9px;letter-spacing:.1px}.canvas-status p{display:flex;align-items:center;gap:7px}.status-dot{width:5px;height:5px;border-radius:50%;background:#b28c55;flex-shrink:0}.canvas-status-right{font-size:8px;white-space:nowrap;text-transform:uppercase;letter-spacing:.8px}#mobile-details{display:none}
.details-panel{min-width:0;background:var(--white);border-left:1px solid var(--line);padding:24px 23px 18px;display:flex;flex-direction:column;max-height:calc(clamp(480px,calc(100dvh - 340px),740px) + 38px);overflow:auto;scrollbar-width:thin;scrollbar-color:#d7d8cf transparent}.selection-block h2{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.5px;line-height:1.25;margin-top:7px}.selection-note{margin-top:11px;font-size:11px;line-height:1.7;color:#7e837b}.selection-status{font-size:9px;line-height:1.5;color:#96704c;border-left:2px solid #c9ab7c;padding-left:8px;margin-top:12px}.selection-photos{display:flex;gap:7px;margin-top:14px;overflow-x:auto;scrollbar-width:thin}.selection-photos:empty{display:none}.selection-photos .photo-card{min-width:0;width:calc(50% - 3px);flex:0 0 calc(50% - 3px);margin:0}.selection-photos .photo-card img{height:78px}.selection-photos .photo-card span{font-size:8px;margin:5px 0 0}.selection-photos .photo-card small{display:none}.rooms-block{margin-top:24px;padding-top:19px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.section-heading h3{font-size:11px;font-weight:650}.section-heading>span{font-size:7px;color:#a0a398;letter-spacing:1.1px}.room-list{display:flex;flex-direction:column;gap:3px;max-height:215px;overflow:auto;scrollbar-width:thin;scrollbar-color:#dadcd1 transparent}.room-button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid transparent;background:transparent;width:100%;padding:9px 9px 9px 3px;font-size:11px;border-radius:3px;color:#787f73;min-height:35px;line-height:1.4}.room-button:hover{background:#f4f4ed;color:var(--ink)}.room-button.active,.room-button[aria-pressed=true]{background:#eeeae2;color:#3c493d;border-color:#e5e3d8}.room-button .room-number,.room-button .number,.room-button>span:first-child:not(:only-child){font:11px var(--serif);color:#a7a899;min-width:23px;text-align:center}.room-button.active .room-number,.room-button.active .number{color:var(--accent)}.room-button .room-color,.room-button .swatch{width:6px;height:6px;border-radius:50%;min-width:6px}.room-button small{display:block;font-size:8px;opacity:.7}.layers-block{margin-top:auto;padding-top:21px}.layer-options{display:flex;flex-direction:column;gap:11px}.layer-options label{display:flex;align-items:center;gap:10px;font-size:10px;color:#767e71;position:relative;cursor:pointer;min-height:20px}.layer-options input{position:absolute;right:0;width:30px;height:20px;opacity:0;cursor:pointer;margin:0}.layer-options .switch{position:relative;width:25px;height:14px;background:#d8dace;border-radius:20px;margin-left:auto;pointer-events:none;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;background:#fff;border-radius:50%;transition:transform .2s}.layer-options input:checked+.switch{background:#6f7c69}.layer-options input:checked+.switch:after{transform:translateX(11px)}.layer-options input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:3px}.model-note{border-top:1px solid var(--line);margin-top:19px;padding-top:13px;color:#a0a395;font-size:8px;line-height:1.65;display:flex;gap:7px}.note-line{width:10px;height:1px;background:#a8ad9e;flex-shrink:0;margin-top:6px}
.scene-label{position:absolute;white-space:nowrap;transform:translate(-50%,-50%);padding:5px 8px;background:#fffefae8;border:1px solid #c5cbbd;border-radius:3px;box-shadow:0 2px 6px #343b2b10;color:#555f50;font-size:9px;letter-spacing:.2px;line-height:1.3;pointer-events:auto;cursor:pointer;max-width:155px;text-align:center}.scene-label:hover,.scene-label.active{border-color:var(--accent);color:var(--accent);background:#fffaf4}.scene-label small{font-size:7px;color:#8d9387}.room-shape{stroke:#b8c1ae;stroke-width:1.2;cursor:pointer;transition:fill .15s,stroke .15s}.room-shape:hover,.room-shape.active{stroke:var(--accent);stroke-width:2.5}.room-label{fill:#59634f;font-family:var(--sans);font-size:12px;text-anchor:middle;pointer-events:none;stroke:none}.room-label.active{fill:var(--accent)}.rack-shape{stroke:#8b927f;stroke-width:.6;fill:#c5b59b}.rack-shape:hover,.rack-shape.active{stroke:var(--accent);stroke-width:2;fill:#dbc5a8}.plan-wall{stroke:#56604e;stroke-linecap:square}.plan-door{stroke:#9caa8b;fill:none}.plan-window{stroke:#90acb3}
.photo-section{padding-top:23px}.photo-section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:13px;gap:20px}.photo-section-heading .eyebrow{font-size:7px;letter-spacing:1.5px;color:#9c8076}.photo-section-heading h2{font:18px var(--serif);letter-spacing:-.2px;margin-top:3px}.photo-strip-hint{font-size:9px;color:#9b9f94;margin-bottom:2px}.photo-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#d0d3c7 transparent;scroll-snap-type:x proximity}.photo-card{border:0;background:transparent;text-align:left;padding:0;display:block;cursor:pointer;color:#797e74;overflow:hidden;position:relative;flex:0 0 153px;scroll-snap-align:start}.photo-card img{display:block;width:100%;height:94px;object-fit:cover;border-radius:3px;border:1px solid #dedfd7;filter:saturate(.7);transition:filter .25s,opacity .25s}.photo-card:hover img,.photo-card.active img{filter:saturate(1);opacity:.9;border-color:#9a7b6e}.photo-card span{display:block;font-size:9px;line-height:1.5;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-card small{display:block;font-size:8px;color:#a1a597;line-height:1.5;margin-top:2px}.photo-card.active span{color:var(--accent)}#photo-view .photo-card{width:100%;min-width:0}#photo-view .photo-card img{height:clamp(150px,18vw,230px)}#photo-view .photo-card span{white-space:normal;font-size:11px}#photo-view .photo-card small{font-size:9px}.page-footer{display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.25px;color:#a2a598;padding:17px 0 20px}.footer-slash{margin:0 6px;color:#c6c9bd}
dialog{border:1px solid #d7d9cf;border-radius:6px;padding:0;color:var(--ink);background:var(--paper);box-shadow:0 25px 100px #101c1260;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}dialog::backdrop{background:#19211cd9;backdrop-filter:blur(7px)}.photo-dialog{width:min(900px,calc(100vw - 60px))}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:19px 24px;gap:20px;background:var(--paper)}.dialog-top h2{font:23px var(--serif);margin-top:4px}.dialog-top .eyebrow{font-size:8px}.dialog-image-wrap{position:relative;background:#292e2b;height:min(70dvh,800px);display:flex;align-items:center;justify-content:center}.dialog-image-wrap>img{max-width:100%;max-height:100%;object-fit:contain}.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:48px;display:grid;place-items:center;background:#fffefae0;border:1px solid #d9dbd3;border-radius:3px}.photo-arrow:hover{background:white}.photo-arrow.prev{left:13px}.photo-arrow.next{right:13px}.dialog-note{font-size:11px;line-height:1.6;color:#7e8578;padding:16px 24px;min-height:45px}.plan-dialog{width:min(1000px,calc(100vw - 50px))}.plan-dialog>img{display:block;width:100%;height:70dvh;object-fit:contain;background:#e5e3dc}.toast{position:fixed;z-index:100;bottom:27px;left:calc(50% + 36px);transform:translate(-50%,15px);max-width:calc(100vw - 36px);background:#30392f;color:#fffef3;font-size:12px;line-height:1.5;padding:12px 20px;border-radius:4px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast:empty{display:none}.toast.visible,.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1650px){main,.topbar{padding-left:45px;padding-right:45px}.workspace{grid-template-columns:minmax(0,1fr) 325px}.details-panel{padding:27px}.page-heading{padding-top:34px;padding-bottom:29px}.photo-card{flex-basis:180px}.photo-card img{height:106px}}
@media(max-width:1190px){.topbar-caption{display:none}.workspace{grid-template-columns:minmax(0,1fr) 253px}.details-panel{padding:20px 17px}.topbar,main{padding-left:25px;padding-right:25px}.page-heading{gap:17px}.heading-copy h1{font-size:27px}.heading-copy>p:last-child{max-width:350px}.view-switch button{padding:10px 11px;font-size:11px}.stage{height:560px}.details-panel{max-height:598px}.stage-signature{display:none}.stage-help{max-width:65%;font-size:8px}.canvas-status-right{display:none}}
@media(max-width:930px){.rail{width:58px}.shell{margin-left:58px}.rail-brand{font-size:32px}.rail-map{width:36px;height:36px}.rail-word{font-size:8px}.topbar{height:70px}.wordmark{gap:9px;letter-spacing:2px}.wordmark strong{font-size:16px}.wordmark>span:last-child{font-size:11px;letter-spacing:2px}.topbar-actions{gap:8px}.topbar-actions .text-button{font-size:10px}.topbar,main{padding-left:20px;padding-right:20px}.page-heading{align-items:flex-start;flex-direction:column;padding-top:24px;gap:20px}.heading-copy h1{font-size:30px}.view-switch{align-self:stretch;justify-content:center}.view-switch button{justify-content:center;flex:1}.workspace{grid-template-columns:1fr}.details-panel{display:none;max-height:none;border-left:0;border-top:1px solid var(--line);padding:24px}.details-open .details-panel{display:flex}.stage{height:530px;min-height:430px}#mobile-details{display:flex;font-size:9px;padding:1px}.canvas-status{min-height:40px}.layers-block{margin-top:18px}.room-list{display:grid;grid-template-columns:1fr 1fr;max-height:none;gap:5px}.selection-photos .photo-card{width:110px;flex-basis:110px}.photo-strip-hint{display:none}.photo-section{padding-top:20px}.photo-card{flex-basis:145px}.toast{left:calc(50% + 29px)}}
@media(max-width:600px){.rail{display:none}.shell{margin-left:0}.topbar{height:63px;padding:0 17px;gap:10px}.wordmark{gap:8px}.wordmark strong{font-size:15px;letter-spacing:2px}.wordmark>span:last-child{font-size:10px}.wordmark-rule{height:18px}.topbar-actions{gap:5px}.topbar-actions .text-button span{display:none}.topbar-actions .text-button{padding:8px}.topbar-actions .icon-button{width:31px}.topbar-actions svg{width:19px;height:19px}main{padding:0 14px}.page-heading{padding:22px 3px 16px;gap:17px}.heading-copy .eyebrow{font-size:8px}.heading-copy h1{font-size:27px;letter-spacing:-.6px}.small-break{display:block}.heading-copy>p:last-child{font-size:10px;max-width:280px;margin-top:9px}.view-switch{padding:3px}.view-switch button{font-size:11px;padding:10px 9px;gap:6px}.view-switch svg{width:15px;height:15px}.stage{height:58dvh;min-height:380px;max-height:600px}.stage-caption{left:16px;top:17px;font-size:8px;gap:9px}.stage-caption small{font-size:6px}.drawing-index{font-size:23px;padding-right:9px}.stage-tools{right:11px;top:13px;padding:2px;gap:0}.stage-tools .icon-button{width:28px;height:29px}.stage-tools svg{width:16px;height:16px}.stage-help{left:16px;bottom:15px;max-width:calc(100% - 30px);font-size:8px;gap:6px}.stage-help svg{width:12px}.canvas-status{padding:9px 10px;gap:8px;font-size:8px;align-items:center}.canvas-status p{gap:5px;max-width:60%;line-height:1.5}.canvas-status #mobile-details{font-size:8px;gap:3px;white-space:normal;text-align:right}.canvas-status #mobile-details svg{width:12px;height:12px}.details-panel{padding:20px}.selection-block h2{font-size:24px}.room-list{grid-template-columns:1fr}.room-button{font-size:12px;padding-top:10px;padding-bottom:10px}.section-heading h3{font-size:12px}.layer-options label{font-size:11px}.photo-section-heading h2{font-size:18px}.photo-section{padding-top:19px}.photo-strip{gap:9px}.photo-card{flex-basis:132px}.photo-card img{height:87px}.page-footer{font-size:7px;line-height:1.7;align-items:flex-start;padding-top:13px}.page-footer>span:last-child{max-width:140px;text-align:right}.scene-label{font-size:8px;padding:4px 6px;max-width:115px;white-space:normal}#plan2d{padding:55px 13px 35px}#photo-view{padding:60px 13px 20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#photo-view .photo-card img{height:168px}#photo-view .photo-card span{font-size:9px}.photo-dialog,.plan-dialog{width:calc(100vw - 18px);max-width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}.dialog-top{padding:14px 15px;gap:8px}.dialog-top h2{font-size:19px}.dialog-top .eyebrow{font-size:7px}.dialog-image-wrap{height:67dvh}.dialog-note{padding:12px 15px;font-size:10px}.photo-arrow{width:32px;height:41px}.photo-arrow.prev{left:7px}.photo-arrow.next{right:7px}.toast{left:50%;font-size:11px;bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Data-rendered view content. */
#photo-view{display:block;padding:29px 25px 25px}.gallery-heading{margin-bottom:23px;max-width:560px}.gallery-heading h2{font:29px var(--serif);letter-spacing:-.6px;margin:7px 0 9px}.gallery-heading>p:last-child{font-size:11px;line-height:1.6;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:20px 14px}.photo-card b{font-weight:500}.photo-card span small{margin-top:3px}.selection-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px 7px;overflow:visible}.selection-photos .evidence-note{grid-column:1/-1;font-size:9px;line-height:1.6;color:#9c8b73}.selection-photos .photo-card{width:100%;min-width:0}.selection-photos .photo-card b{font-size:8px}.selection-photos .photo-card span{white-space:normal;line-height:1.4}.room-button .room-number{border-bottom:1px solid var(--room-color,#c4c9bc);padding-bottom:2px;flex-shrink:0}.room-button>span>small{font-size:8px;line-height:1.5;margin-top:2px;color:#9a9f91;font-weight:400}.room-button.overview-button .room-number{font-family:var(--sans);border-bottom:none}.room-button.active>span>small{color:#868b7f}.plan-room:focus-visible .room-shape{stroke:var(--accent);stroke-width:4}.plan-room:focus{outline:none}.plan-label text{user-select:none}body[data-view="photos"] .stage-caption,body[data-view="photos"] .stage-tools,body[data-view="photos"] .stage-help,body[data-view="photos"] .stage-signature,body[data-view="2d"] .stage-help{display:none}body[data-view="photos"] .layers-block{opacity:.5;pointer-events:none}body[data-view="photos"] .stage{background:var(--paper)}
@media(max-width:600px){#photo-view{padding:21px 15px}.gallery-heading{margin-bottom:18px}.gallery-heading h2{font-size:25px}.gallery-heading>p:last-child{font-size:10px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 11px}.selection-photos .photo-card{width:100%}.selection-photos .photo-card img{height:100px}}

/* Comfortable reading sizes after desktop visual review. */
.heading-copy>p:last-child{font-size:12px}.view-switch button{font-size:13px}.selection-note{font-size:13px;line-height:1.55;color:#737b6e}.selection-status{font-size:11px;line-height:1.5}.section-heading h3{font-size:12px}.section-heading>span{font-size:9px;letter-spacing:.8px}.room-button{font-size:12px;padding-top:8px;padding-bottom:8px;line-height:1.35}.room-button .room-number,.room-button .number,.room-button>span:first-child:not(:only-child){font-size:12px}.room-button small,.room-button>span>small{font-size:10px;opacity:1;color:#818779;line-height:1.4}.room-button.active>span>small{color:#737b6c}.layer-options label{font-size:12px}.selection-photos .evidence-note{font-size:10px;line-height:1.55;color:#8b7a63}.selection-photos .photo-card b,.selection-photos .photo-card span{font-size:10px}.model-note{font-size:10px;line-height:1.5;color:#878f7d}.scene-label{font-size:11px;line-height:1.35}.scene-label small{font-size:9px}.canvas-status{font-size:11px;line-height:1.4}.canvas-status-right{font-size:9px}.photo-card span{font-size:10px}.photo-card small{font-size:9px;color:#8f9787}#photo-view .photo-card span{font-size:12px}#photo-view .photo-card small{font-size:10px}.gallery-heading>p:last-child{font-size:12px}.photo-strip-hint{font-size:10px;color:#88917f}.canvas-status #mobile-details{font-size:10px}
@media(max-width:600px){.view-switch button{font-size:12px}.heading-copy>p:last-child{font-size:11px}.scene-label{font-size:10px;max-width:125px}.canvas-status{font-size:10px}.canvas-status p{max-width:62%;line-height:1.4}.canvas-status #mobile-details{font-size:10px;line-height:1.4}.gallery-heading>p:last-child{font-size:11px}#photo-view .photo-card span{font-size:11px}.selection-note{font-size:13px}.room-button{padding-top:10px;padding-bottom:10px}}

/* First-person interior walkthrough. */
[data-view="walk"].active,[data-view="walk"][aria-pressed="true"]{background:#7f3e43!important;color:#fffaf3!important}.view-switch button{padding-left:12px;padding-right:12px}#scene3d:focus{outline:none}#scene3d:focus-visible{outline:2px solid #a97364;outline-offset:-2px}body[data-view="walk"] .workspace{position:relative;display:block}body[data-view="walk"] .stage{height:clamp(540px,calc(100dvh - 230px),960px);min-height:540px;background:#deddd4}body[data-view="walk"] .details-panel{display:none}body[data-view="walk"].details-open .details-panel{display:flex;position:absolute;z-index:18;right:14px;top:80px;width:300px;max-height:calc(100% - 145px);border:1px solid #d5d9cd;border-radius:5px;box-shadow:0 14px 50px #202d273b}body[data-view="walk"] .stage-caption,body[data-view="walk"] .stage-tools,body[data-view="walk"] .stage-help,body[data-view="walk"] .stage-signature,body[data-view="walk"] .photo-section,body[data-view="walk"] .page-footer{display:none}body[data-view="walk"] #mobile-details{display:flex;padding:2px 0;font-size:11px;color:#6e4c47}body[data-view="walk"] .canvas-status-right{display:none}body[data-view="walk"] .layers-block label:has(input:disabled){opacity:.6;cursor:default}body[data-view="walk"] #scene3d{touch-action:none;cursor:grab}body[data-view="walk"] #scene3d:active{cursor:grabbing}
.walk-hud{position:absolute;inset:0;z-index:7;pointer-events:none;color:#2c392f}.walk-location{position:absolute;left:23px;top:22px;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fffdf1e8;border:1px solid #ffffff7a;border-radius:4px;box-shadow:0 4px 20px #24322b12;backdrop-filter:blur(10px);max-width:calc(100% - 245px)}.walk-live-dot{width:6px;height:6px;border-radius:50%;background:#6f8c65;box-shadow:0 0 0 4px #758c6512;flex-shrink:0}.walk-location p{font-size:8px;letter-spacing:1.5px;color:#7d8473;font-weight:650}.walk-location strong{display:block;font:20px var(--serif);font-weight:400;line-height:1.3;margin-top:3px}.walk-exit{position:absolute;right:23px;top:22px;display:flex;align-items:center;gap:9px;padding:12px 13px;background:#fffdf1ec;border:1px solid #ffffff7a;border-radius:4px;font-size:12px;box-shadow:0 4px 20px #24322b12;pointer-events:auto;backdrop-filter:blur(10px)}.walk-exit:hover{background:#fffdf5;color:var(--accent)}.walk-exit svg{width:16px;height:16px}.walk-exit kbd{margin-left:9px;font-size:10px;color:#969a8b;border:1px solid #d7dccd;padding:2px 4px;border-radius:3px;font-family:var(--sans)}.walk-crosshair{position:absolute;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);border-radius:50%;background:#fffcf2cc;box-shadow:0 0 0 1px #333d3659}.walk-map-card{position:absolute;right:23px;bottom:22px;width:210px;background:#fffdf2e8;padding:12px 13px 9px;border:1px solid #ffffff75;border-radius:4px;box-shadow:0 4px 25px #25372d17;backdrop-filter:blur(10px)}.walk-map-card>p{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.2px;font-weight:650;color:#7b8473;margin-bottom:7px}.walk-map-card>p span{font-size:9px;font-weight:400;letter-spacing:0;color:#a16c61}#walk-minimap svg{display:block;width:100%;height:auto;fill:none;stroke:none}.walk-map-rooms polygon{stroke:#c7cdbf;stroke-width:1}.walk-map-racks rect{fill:#bcb49c;stroke:#87917b;stroke-width:1}.walk-map-walls line{stroke:#606b59;stroke-linecap:square}#walk-map-position circle{fill:#965d5030;stroke:#fffdf2;stroke-width:2}#walk-map-position path{fill:#8f3d43;stroke:#fffdf2;stroke-width:3;stroke-linejoin:round}
.walk-help{position:absolute;left:23px;bottom:24px;max-width:calc(100% - 280px);font-size:11px;color:#f7f4e9;text-shadow:0 1px 5px #1d2c1e8a}.walk-keyboard-help{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.walk-keys{display:flex;gap:3px}.walk-keys kbd{font:10px var(--sans);width:23px;height:24px;display:grid;place-items:center;border:1px solid #ffffff6b;background:#27392e68;border-radius:3px;box-shadow:0 1px 1px #25362a42;text-shadow:none}.walk-help-divider{width:1px;height:17px;background:#ffffff3d;margin:0 3px}.walk-touch-help{display:none}.walk-touch-controls{display:none;position:absolute;bottom:24px;left:23px;right:23px;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none}.walk-touch-controls button{width:47px;height:47px;display:grid;place-items:center;border:1px solid #ffffffa1;border-radius:6px;background:#fffdf1e3;color:#435841;box-shadow:0 3px 12px #2234251c;backdrop-filter:blur(10px);pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}.walk-touch-controls button.pressed,.walk-touch-controls button:active{background:#7b4e4af5;color:#fff;border-color:#b99c85}.walk-touch-controls svg{width:23px;height:23px;stroke-width:1.7}.walk-dpad{display:grid;grid-template-columns:repeat(3,47px);grid-template-rows:repeat(2,47px);gap:6px}.walk-forward{grid-column:2;grid-row:1}.walk-left{grid-column:1;grid-row:2}.walk-back{grid-column:2;grid-row:2}.walk-right{grid-column:3;grid-row:2}.walk-turn-controls{display:flex;gap:7px}.walk-turn-controls svg{width:21px;height:21px}
@media(max-width:1190px){.view-switch button{font-size:12px;padding:10px 10px}body[data-view="walk"] .stage{height:calc(100dvh - 220px);min-height:530px}}
@media(pointer:coarse){.walk-touch-controls{display:flex}.walk-keyboard-help{display:none}.walk-touch-help{display:block}.walk-help{bottom:139px;max-width:calc(100% - 46px);font-size:10px}.walk-map-card{bottom:auto;top:95px;width:175px}}
@media(max-width:930px){body[data-view="walk"] .stage{height:70dvh;min-height:500px}body[data-view="walk"] .page-heading{padding-top:19px;padding-bottom:17px;gap:14px}body[data-view="walk"] .heading-copy h1{font-size:27px}.walk-touch-controls{display:flex}.walk-keyboard-help{display:none}.walk-touch-help{display:block}.walk-help{bottom:139px;max-width:calc(100% - 46px);font-size:10px}.walk-map-card{bottom:auto;top:95px;width:175px}.walk-location strong{font-size:18px}}
@media(max-width:600px){.view-switch{gap:2px}.view-switch button{padding:10px 5px;font-size:11px;gap:4px}.view-switch button svg{width:14px;height:14px}.view-switch button span{white-space:nowrap}body[data-view="walk"] main{padding-left:8px;padding-right:8px}body[data-view="walk"] .page-heading{padding-left:7px;padding-right:7px}body[data-view="walk"] .heading-copy h1{font-size:25px}body[data-view="walk"] .stage{height:calc(100dvh - 205px);min-height:455px;max-height:none}body[data-view="walk"] .canvas-status{padding:9px 10px;align-items:center}body[data-view="walk"] .canvas-status p{max-width:62%;font-size:9px}body[data-view="walk"] #mobile-details{font-size:10px;max-width:34%;line-height:1.3;text-align:right}body[data-view="walk"].details-open .details-panel{right:7px;top:73px;width:min(300px,calc(100% - 14px));max-height:calc(100% - 125px);padding:18px}.walk-location{left:12px;top:13px;gap:8px;padding:9px 11px;max-width:calc(100% - 155px)}.walk-location p{font-size:7px;letter-spacing:1px}.walk-location strong{font-size:16px;line-height:1.2;margin-top:4px}.walk-live-dot{width:5px;height:5px}.walk-exit{right:12px;top:13px;gap:6px;padding:10px 9px;font-size:10px}.walk-exit kbd{display:none}.walk-exit svg{width:14px;height:14px}.walk-map-card{right:12px;top:77px;width:140px;padding:9px 9px 7px}.walk-map-card>p{font-size:6px;letter-spacing:.7px;margin-bottom:5px}.walk-map-card>p span{font-size:7px}.walk-touch-controls{left:14px;right:14px;bottom:17px;gap:13px}.walk-touch-controls button{width:43px;height:43px;border-radius:5px}.walk-dpad{grid-template-columns:repeat(3,43px);grid-template-rows:repeat(2,43px);gap:5px}.walk-turn-controls{gap:5px}.walk-touch-controls svg{width:20px;height:20px}.walk-help{left:14px;bottom:119px;max-width:calc(100% - 28px);font-size:9px;line-height:1.4}.walk-crosshair{width:4px;height:4px}}
.walk-help{background:#26382c80;padding:8px 11px;border:1px solid #ffffff1f;border-radius:4px;backdrop-filter:blur(8px)}

/* Keep keyboard-only navigation out of pointer screenshots and fit the walk HUD. */
.skip-link:not(:focus-visible){width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;transform:none;pointer-events:none}.skip-link:focus-visible{width:auto;height:auto;padding:12px 20px;overflow:visible;clip-path:none;transform:none;pointer-events:auto;top:8px}
body[data-view="walk"] .stage{height:calc(100dvh - 275px);min-height:320px;max-height:none}
@media(max-width:930px){body[data-view="walk"] .stage{height:calc(100dvh - 300px);min-height:300px}}
@media(max-width:600px){body[data-view="walk"] .stage{height:calc(100dvh - 310px);min-height:280px}}

/* An uninterrupted view, with reference photography kept beside the model. */
.stage{--atlas-toolbar:44px;--compare-width:330px;--compare-height:154px}
.stage-viewport{position:absolute;inset:var(--atlas-toolbar) 0 0;min-width:0;min-height:0;overflow:hidden}
.atlas-stage-actions{position:absolute;inset:0 0 auto;z-index:12;height:var(--atlas-toolbar);display:flex;align-items:center;gap:7px;padding:0 15px;background:#f7f5ee;border-bottom:1px solid #d4d8cc}
.stage-mode-caption{margin-right:auto;color:#687262;font-size:10px;font-weight:650;letter-spacing:2px;white-space:nowrap}.stage-mode-caption>span{margin:0 5px;color:#b4b8ab;font-weight:400}
.stage-action-button{height:32px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid transparent;border-radius:3px;background:transparent;color:#697362;font-size:11px;white-space:nowrap}
.stage-action-button:hover{background:#eeeee5;color:#354532}.stage-action-button[aria-expanded="true"]{background:#e9e5db;border-color:#d8d2c5;color:#7e4243}.stage-action-button svg{width:17px;height:17px}.stage-action-button kbd{font:9px var(--sans);color:#8f9687;border:1px solid #d4d8cc;border-radius:2px;padding:2px 3px;margin-left:2px}
#immersive-exit{display:none}body[data-view="photos"] #compare-toggle{display:none}
.compare-open .stage-viewport{right:var(--compare-width)}
.compare-panel{position:absolute;right:0;top:var(--atlas-toolbar);bottom:0;z-index:9;width:var(--compare-width);display:flex;flex-direction:column;min-height:0;background:#f9f7f0;border-left:1px solid #cfd4c6;overflow:hidden}
.compare-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:16px 15px 12px;flex-shrink:0}.compare-heading>div{min-width:0}.compare-heading .eyebrow{font-size:8px;letter-spacing:1.4px;color:#987d6d}.compare-heading h2{font:23px var(--serif);margin-top:5px;line-height:1.15;color:#3a4835}.compare-heading .icon-button{width:29px;height:29px;margin-top:-4px;margin-right:-4px}.compare-heading svg{width:17px;height:17px}
.compare-image-wrap{min-height:80px;flex:1;display:flex;align-items:center;justify-content:center;background:#30392e;margin:0 13px;overflow:hidden}.compare-image-wrap img{display:block;width:100%;height:100%;object-fit:contain;min-height:0}
.compare-pagination{display:flex;align-items:center;justify-content:center;gap:18px;min-height:43px;padding:3px 12px;flex-shrink:0}.compare-pagination .icon-button{width:30px;height:30px}.compare-pagination svg{width:16px;height:16px}#compare-count{font-size:11px;color:#7e8875;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.compare-note{padding:0 16px 16px;font-size:11px;line-height:1.55;color:#7b8372;max-height:108px;overflow:auto;flex-shrink:0;scrollbar-width:thin}

/* A route is guidance through this model, with its own compact control strip. */
.walk-route{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:128px minmax(0,1fr);gap:4px 13px;padding:11px 18px 10px;background:#f9f7eeed;border-top:1px solid #ffffff9c;backdrop-filter:blur(12px);pointer-events:auto;box-shadow:0 -4px 24px #30462c0a}
.route-label{align-self:center;font-size:10px;line-height:1.35;color:#78816d;letter-spacing:.35px}.route-controls{display:flex;align-items:center;gap:7px;min-width:0}.route-controls select{display:block;flex:1;min-width:0;width:100%;height:34px;padding:5px 25px 5px 9px;border:1px solid #cbd2c1;border-radius:3px;color:#4b5d42;background:#fffdf5;font:12px var(--sans);text-overflow:ellipsis;cursor:pointer;touch-action:manipulation}.route-controls select:focus-visible{outline:3px solid #a34a51;outline-offset:2px}
.route-controls button{display:flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 11px;background:#7c4545;border:1px solid #7c4545;border-radius:3px;color:#fffaf1;font-size:11px;white-space:nowrap}.route-controls button:hover{background:#6b3639}.route-controls button svg{width:15px;height:15px}#route-clear{background:transparent;border-color:#ccd2c2;color:#7c6d5c;padding:0;width:32px;flex-shrink:0}#route-clear:hover{background:#ebe7db}
.route-status{grid-column:2;font-size:10px;line-height:1.45;color:#858d79;min-height:14px}.route-status[data-status="active"]{color:#875844}.route-status[data-status="arrived"]{color:#4b7344}.route-status[data-status="unavailable"],.route-status[data-status="error"]{color:#9b5547}
.walk-map-route polyline,#walk-map-route polyline{fill:none;stroke:#ad654f;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}#walk-map-route-goal,#walk-map-route-goal circle{fill:#fff9e8;stroke:#ad654f;stroke-width:5}
.walk-help{bottom:96px}.walk-map-card{bottom:96px}.walk-touch-controls{bottom:96px}

/* The page stays intact behind a reversible full-window workspace. */
body.immersive{overflow:hidden}body.immersive .rail,body.immersive .topbar,body.immersive .page-heading,body.immersive .photo-section,body.immersive .page-footer{display:none}body.immersive .shell{margin:0}body.immersive main{padding:0}
body.immersive .workspace{position:fixed;inset:0;z-index:80;display:block;border:0;border-radius:0;overflow:hidden;background:var(--stage)}
body.immersive .canvas-column{height:100%;display:flex;flex-direction:column}body.immersive .stage{flex:1;height:auto;min-height:0;max-height:none}body.immersive .canvas-status{flex-shrink:0;min-height:38px;padding-left:18px;padding-right:18px}
body.immersive .details-panel{display:none}body.immersive.details-open .details-panel{display:flex;position:absolute;z-index:19;top:58px;right:14px;width:300px;max-height:calc(100dvh - 118px);border:1px solid #d5d9cd;border-radius:4px;box-shadow:0 14px 50px #202d273b}
body.immersive #immersive-exit{display:flex}body.immersive #mobile-details{display:flex}body.immersive .canvas-status-right{display:none}body.immersive .toast{left:50%;z-index:110}body.immersive .skip-link{left:10px}

@media(pointer:coarse){.walk-touch-controls{bottom:98px}.walk-help{bottom:212px}.walk-map-card{bottom:auto;top:95px}}
@media(max-width:1100px){.stage{--compare-width:290px}.compare-open .walk-route{grid-template-columns:1fr;gap:5px;padding:10px 14px}.compare-open .route-label{font-size:9px}.compare-open .route-status{grid-column:1}.compare-open .walk-help{bottom:111px}.compare-open .walk-map-card{bottom:111px}.compare-open .walk-location strong{font-size:17px}.compare-open .walk-location{left:15px;max-width:calc(100% - 174px);padding:10px 12px}.compare-open .walk-exit{right:15px;padding:10px;font-size:11px}.compare-open .walk-exit kbd{display:none}}
@media(max-width:930px){.walk-touch-controls{bottom:103px}.walk-help{bottom:215px}.walk-map-card{bottom:auto;top:95px}.walk-route{grid-template-columns:1fr;gap:5px;padding:9px 14px}.route-label{font-size:9px}.route-status{grid-column:1}.compare-open .walk-map-card{bottom:auto}.topbar-actions{gap:9px}.immersive-toggle{font-size:10px}}
@media(max-width:760px){
  .stage{--compare-height:154px}.compare-open .stage-viewport{right:0;bottom:var(--compare-height)}
  .compare-panel{top:auto;left:0;right:0;bottom:0;width:auto;height:var(--compare-height);display:grid;grid-template-columns:108px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 30px;gap:5px 12px;padding:11px 12px;border-left:0;border-top:1px solid #cbd2c1}
  .compare-heading{grid-column:2;grid-row:1;padding:0;gap:4px}.compare-heading .eyebrow{font-size:7px;letter-spacing:1px}.compare-heading h2{font-size:19px;margin-top:3px}.compare-heading .icon-button{width:27px;height:27px;margin:0 -3px 0 0}.compare-image-wrap{grid-column:1;grid-row:1/4;margin:0;min-height:0;height:100%}.compare-pagination{grid-column:2;grid-row:3;min-height:0;padding:0;justify-content:flex-start;gap:10px}.compare-pagination .icon-button{height:28px;width:28px}#compare-count{font-size:10px}.compare-note{grid-column:2;grid-row:2;padding:0;max-height:none;font-size:10px;line-height:1.45;align-self:start}
  .compare-open .walk-help{display:none}.compare-open .walk-map-card{top:77px;right:12px;bottom:auto;width:109px;padding:7px 7px 5px}.compare-open .walk-map-card>p{font-size:6px;letter-spacing:.5px;margin-bottom:4px}.compare-open .walk-map-card>p span{display:none}.compare-open .walk-touch-controls{bottom:101px}.compare-open .walk-route{padding:8px 12px;gap:4px}
}
@media(max-width:600px){
  .atlas-stage-actions{padding:0 10px;gap:4px}.stage-mode-caption{font-size:9px;letter-spacing:1.3px}.stage-mode-caption>span{margin:0 3px}.stage-action-button{font-size:10px;padding:0 7px;gap:5px}.stage-action-button svg{width:15px;height:15px}.stage-action-button kbd{display:none}body.immersive #immersive-exit{border-left:1px solid #d7dacc;border-radius:0;padding-left:10px}
  .walk-route{padding:9px 12px 8px;gap:4px}.route-label{font-size:9px}.route-controls{gap:6px}.route-controls select{height:32px;font-size:11px;padding-left:8px}.route-controls button{height:32px;padding:0 9px;font-size:10px}.route-controls button svg{width:13px}.route-status{font-size:9px;min-height:13px}.walk-touch-controls{bottom:100px;left:12px;right:12px}.walk-help{left:12px;bottom:202px;max-width:calc(100% - 24px);font-size:9px}.walk-map-card{top:77px;bottom:auto;width:120px}.walk-map-card>p{font-size:6px}.walk-location{max-width:calc(100% - 135px)}.walk-exit{right:12px}.compare-open .walk-location{left:12px;top:13px;padding:9px 11px;max-width:calc(100% - 135px)}.compare-open .walk-location strong{font-size:16px}.compare-open .walk-exit{right:12px;padding:10px 9px;font-size:10px}
  body.immersive .canvas-status{min-height:42px;padding:7px 12px}body.immersive .canvas-status p{max-width:64%;font-size:9px}body.immersive #mobile-details{font-size:10px;max-width:33%;line-height:1.25;text-align:right}body.immersive.details-open .details-panel{right:7px;top:54px;width:min(300px,calc(100% - 14px));max-height:calc(100dvh - 105px);padding:18px}body.immersive .stage-viewport{min-height:0}
}
@media(max-height:640px) and (min-width:761px){body.immersive .walk-help{display:none}body.immersive .walk-map-card{width:145px;bottom:95px}body.immersive .walk-location{top:15px;padding:9px 13px}body.immersive .walk-exit{top:15px}}

/* Visual preferences stay one click away, without covering the architecture. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.atlas-stage-actions{gap:5px}.stage-action-button[aria-pressed="true"]{color:#8b4348;background:#eee4dc}.stage-action-button:focus-visible{outline-offset:0}
.visual-panel{position:absolute;z-index:25;right:13px;top:calc(var(--atlas-toolbar) + 9px);width:294px;max-width:calc(100% - 26px);padding:16px 17px 15px;background:#fffdf5;border:1px solid #cdd3c3;border-radius:4px;box-shadow:0 10px 40px #253b292b;max-height:calc(100% - var(--atlas-toolbar) - 22px);overflow:auto;scrollbar-width:thin}
.visual-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:1px solid #e1e3d7;margin-bottom:14px}.visual-panel h2{font:21px var(--serif);letter-spacing:-.3px;color:#45543c}.visual-panel-heading .icon-button{width:27px;height:27px;margin:-4px -4px -4px 0}.visual-panel-heading svg{width:17px;height:17px}
.visual-panel label{display:grid;grid-template-columns:67px minmax(0,1fr);align-items:center;gap:10px;margin-top:11px;font-size:11px;color:#7c8470}.visual-panel select{width:100%;min-width:0;height:35px;padding:5px 7px;border:1px solid #d4d9ca;border-radius:3px;background:#f5f5eb;color:#495c3f;font:11px var(--sans);cursor:pointer;touch-action:manipulation}.visual-panel select:focus-visible{outline:2px solid #9c595c;outline-offset:2px}.visual-panel .viewpoint-control{grid-template-columns:1fr;gap:6px;margin-top:16px;padding-top:13px;border-top:1px solid #e1e3d7}.visual-note{font-size:10px;line-height:1.45;color:#929982;margin-top:10px}
body[data-view="2d"] #visual-toggle,body[data-view="photos"] #visual-toggle,body[data-view="2d"] #tour-start,body[data-view="photos"] #tour-start{display:none}

/* A guided viewing strip; the position remains visible on the mini-map. */
.tour-panel{position:absolute;left:20px;right:20px;bottom:18px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 16px 14px;background:#fdfbf1f2;border:1px solid #ffffffb3;border-radius:5px;box-shadow:0 7px 30px #253e2621;backdrop-filter:blur(14px)}
.tour-panel>progress{position:absolute;top:-1px;left:-1px;width:calc(100% + 2px);height:3px;border:0;background:#dfe3d2;color:#98585b;accent-color:#98585b;overflow:hidden;border-radius:5px 5px 0 0;appearance:none}.tour-panel>progress::-webkit-progress-bar{background:#dfe3d2}.tour-panel>progress::-webkit-progress-value{background:#98585b}.tour-panel>progress::-moz-progress-bar{background:#98585b}
.tour-copy{min-width:0}.tour-copy>p{display:flex;align-items:center;gap:10px;font-size:9px;line-height:1.4;color:#929985;letter-spacing:.7px}.tour-copy #tour-chapter{color:#9b6b62;font-variant-numeric:tabular-nums}.tour-copy h2{font:23px var(--serif);line-height:1.2;color:#3c5036;letter-spacing:-.3px;margin-top:4px;overflow-wrap:anywhere}
.tour-transport{display:flex;align-items:center;gap:4px;flex-shrink:0}.tour-transport .icon-button{width:34px;height:36px;color:#748367}.tour-transport .icon-button svg{width:17px;height:17px}.tour-transport .icon-button:hover{background:#e9eddf;border-color:#d9dfce;color:#4d6340}
#tour-play{display:flex;align-items:center;justify-content:center;gap:6px;min-width:94px;height:36px;padding:0 11px;background:#855056;color:#fffaf0;border:1px solid #855056;border-radius:3px;font-size:11px}#tour-play:hover{background:#724149}#tour-play svg{width:16px;height:16px}.tour-resume-icon{display:none}.tour-paused .tour-pause-icon{display:none}.tour-paused .tour-resume-icon{display:block}#tour-stop{margin-left:5px;border-left:1px solid #d8ddcc;border-radius:0}.tour-active .walk-route,.tour-active .walk-help,.tour-active .walk-touch-controls,.tour-active .walk-crosshair,.tour-active .stage-caption,.tour-active .stage-help,.tour-active .stage-signature{display:none}.tour-active .walk-map-card{bottom:119px}
@media(max-width:1190px){body:is([data-view="3d"],[data-view="walk"]) .stage-mode-caption{display:none}.atlas-stage-actions{justify-content:flex-end}.tour-panel{gap:10px;left:14px;right:14px;padding:14px 12px}.tour-copy h2{font-size:20px}.tour-copy>p{font-size:8px;gap:7px}.tour-transport{gap:2px}.tour-transport .icon-button{width:30px}#tour-play{min-width:85px;font-size:10px}}
@media(pointer:coarse){.tour-active .walk-map-card{bottom:auto;top:95px}}
@media(max-width:930px){.tour-active .walk-map-card{bottom:auto;top:95px}}
@media(max-width:600px){
  .atlas-stage-actions{gap:3px;padding:0 9px;justify-content:flex-end}.stage-action-button{padding-left:7px;padding-right:7px;font-size:10px}#compare-toggle{width:33px;padding:0;justify-content:center}#compare-toggle>span{display:none}#compare-toggle svg{width:17px;height:17px}#tour-start{margin-right:auto}.stage-mode-caption{display:none}
  .visual-panel{right:9px;top:calc(var(--atlas-toolbar) + 7px);width:286px;max-width:calc(100% - 18px);padding:14px 15px}.visual-panel h2{font-size:20px}.visual-panel select{font-size:12px;height:36px}.visual-panel label{font-size:11px}.visual-note{font-size:10px}
  .tour-panel{left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:1fr auto;gap:9px 6px;padding:12px 11px 10px}.tour-copy{grid-column:1/-1}.tour-copy>p{font-size:8px;gap:10px;letter-spacing:.5px}.tour-copy h2{font-size:20px;margin-top:3px}.tour-transport{grid-column:1/-1;justify-content:flex-end;gap:5px}.tour-transport .icon-button{width:32px;height:34px}#tour-play{height:34px;min-width:94px;font-size:11px}#tour-stop{margin-left:7px}.tour-active .walk-map-card{top:77px;bottom:auto}
}
@media(max-height:560px){.tour-panel{bottom:10px;padding-top:11px;padding-bottom:10px}.tour-copy h2{font-size:19px}.tour-active .walk-map-card{display:none}}

/* Proposed layouts: a focused plan editor, separate from the observed building. */
.editor-panel{min-width:0;max-height:calc(clamp(480px,calc(100dvh - 340px),740px) + 38px);overflow:auto;background:#fffdf6;border-left:1px solid var(--line);padding:20px 19px 22px;scrollbar-width:thin;scrollbar-color:#cfd6c3 transparent}
.editor-active .workspace{grid-template-columns:minmax(0,1fr) 320px}.editor-active .details-panel{display:none!important}.editor-active #mobile-details{display:none!important}.editor-active #compare-toggle,.editor-active #visual-toggle,.editor-active #tour-start{display:none!important}.editor-active .stage-caption,.editor-active .stage-signature{display:none}.editor-active #editor-toggle{color:#874b4d;background:#eee4dc;border-color:#d7c7bc}.editor-active #rotate-view{display:none}
.editor-heading{display:flex;align-items:flex-start;gap:9px;justify-content:space-between}.editor-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.editor-heading h2{font:25px var(--serif);line-height:1.12;letter-spacing:-.5px;margin-top:7px;color:#3f503a}.editor-heading .icon-button{width:28px;height:28px;margin-top:-4px;margin-right:-4px}.editor-heading svg{width:17px;height:17px}.editor-intro{font-size:11px;line-height:1.5;color:#8a907c;margin-top:12px}
.editor-panel button:not(.icon-button){min-height:32px;border:1px solid #d9ddce;border-radius:3px;background:#f4f4ea;padding:6px 9px;font-size:10px;color:#687c58;line-height:1.3}.editor-panel button:not(.icon-button):hover{background:#e9eedf;border-color:#bbc8ad}.editor-panel button:disabled{opacity:.38}.editor-panel .editor-primary{width:100%;background:#865054!important;border-color:#865054!important;color:#fffaf1!important}.editor-panel .editor-primary:hover{background:#744146!important}.editor-history{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:14px}.editor-history #editor-reset{grid-column:1/-1;background:transparent;color:#969782;font-size:9px;min-height:26px;padding:4px 8px}
.editor-section{margin-top:17px;padding-top:16px;border-top:1px solid #e0e4d5}.editor-section .section-heading{margin-bottom:11px}.editor-section h3{font-size:12px}.editor-section .section-heading>span{font-size:7px;letter-spacing:.6px;color:#9eaa8d}.editor-block-label{display:block;font-size:10px;line-height:1.4;color:#8c967c}.editor-panel select,.editor-panel input:not([type=file]){display:block;width:100%;height:34px;min-width:0;margin-top:5px;padding:6px 8px;border:1px solid #d4dcc8;border-radius:3px;background:#fffef8;color:#4a6140;font:11px var(--sans)}.editor-panel select{padding-right:21px;text-overflow:ellipsis}.editor-panel select:focus-visible{outline:2px solid #a34a51;outline-offset:2px}.editor-add-buttons{display:flex;gap:7px;margin-top:8px}.editor-add-buttons>button{flex:1}.editor-selection-note{font-size:10px;line-height:1.5;color:#9ba48e;margin-top:8px;overflow-wrap:anywhere}
.editor-panel fieldset{border:0;padding:0;margin:15px 0 0;min-width:0}.editor-panel legend{font-size:11px;font-weight:600;color:#677958;padding:0}.editor-units{font-size:9px;line-height:1.4;color:#aaa58b;margin:5px 0 11px}.editor-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.editor-fields-grid label{font-size:10px;color:#8c987c}.editor-fields-grid input{font-variant-numeric:tabular-nums}.editor-panel fieldset:disabled{opacity:.45}.editor-panel fieldset>.editor-primary{margin-top:11px}.editor-object-actions{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:4px;margin-top:7px}.editor-object-actions button{font-size:9px!important;padding:5px 4px!important}#editor-delete{color:#a07165;border-color:#dfd6c9;background:transparent}
.editor-message{font-size:10px;line-height:1.5;color:#80936c;min-height:0;margin-top:11px}.editor-message:empty{display:none}.editor-message.error{color:#a35449;background:#f5e9df;border-left:2px solid #c58a6e;padding:9px 10px}.editor-panel #editor-save{margin-top:8px}.editor-load-row{display:flex;gap:6px;margin-top:11px}.editor-load-row select{flex:1;margin:0;min-width:0}.editor-load-row button{flex-shrink:0}.editor-transfer{display:flex;gap:7px;margin-top:10px}.editor-transfer button{flex:1}.editor-transfer-note{font-size:9px;line-height:1.55;color:#a1a78e;margin-top:9px}
.editor-plan-hint{position:absolute;z-index:8;left:19px;right:19px;bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;color:#8d957d;font-size:10px}.editor-plan-hint>span{background:#fcfbf0e8;padding:7px 10px;border:1px solid #dfe5d2;border-radius:3px}.editor-plan-hint button{display:none;pointer-events:auto;border:1px solid #d4ddc4;border-radius:3px;padding:7px 10px;background:#fcfbf1;color:#788d65;font-size:10px}.editor-plan-hint button span{margin-left:5px}.editor-active #plan2d{padding-bottom:52px}.editor-active .room-shape{cursor:grab}.editor-object{cursor:grab;outline:none}.editor-object:hover rect{stroke:#8e6060!important;stroke-width:2!important}.editor-object.is-selected rect,.editor-object:focus-visible rect{stroke:#993d4d!important;stroke-width:3!important;fill:#e2c3ac!important}.editor-object:focus-visible{outline:none}.editor-dragging .editor-object{cursor:grabbing}.editor-dragging .editor-object.is-selected{opacity:.75}.rack-shape.desk-shape rect{fill:#c6d2b4;stroke:#728c61}.rack-shape.desk-shape path{stroke:#809b68}.walk-map-racks .walk-map-desk{fill:#b7cba1;stroke:#6f8a5b}
body.editor-active.immersive .workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px}body.editor-active.immersive .editor-panel{max-height:100dvh;height:100dvh}body.editor-active.immersive .canvas-column{height:100%;min-height:0}
@media(max-width:1190px){.editor-panel{max-height:598px;padding:18px 17px}.editor-active .workspace{grid-template-columns:minmax(0,1fr) 300px}body.editor-active.immersive .workspace{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:930px){.editor-active .workspace{grid-template-columns:1fr}.editor-panel{border-left:0;border-top:1px solid var(--line);max-height:none;padding:22px}.editor-panel .editor-fields-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-history{grid-template-columns:1fr 1fr 1.4fr}.editor-history #editor-reset{grid-column:auto}.editor-heading h2{font-size:25px}.editor-active .stage{height:52dvh;min-height:340px}.editor-plan-hint button{display:block}.editor-active .stage-mode-caption{display:block;margin-right:auto}body.editor-active.immersive .workspace{display:flex;flex-direction:column}body.editor-active.immersive .canvas-column{height:auto;flex:1;min-height:0}body.editor-active.immersive .stage{height:auto;min-height:0}body.editor-active.immersive .editor-panel{flex:0 0 43dvh;height:43dvh;max-height:43dvh;padding:16px 20px}.editor-active.immersive .editor-plan-hint{bottom:9px}}
@media(max-width:600px){#editor-toggle{padding-left:6px;padding-right:6px}#editor-toggle svg{width:14px}#editor-toggle span{font-size:10px}.editor-active #editor-toggle{margin-right:auto}.editor-active .stage-mode-caption{display:none}.editor-panel{padding:20px 17px}.editor-heading h2{font-size:24px}.editor-intro{font-size:11px}.editor-panel input:not([type=file]),.editor-panel select{font-size:12px;height:36px}.editor-panel .editor-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-fields-grid label,.editor-block-label{font-size:11px}.editor-panel button:not(.icon-button){font-size:11px;min-height:34px}.editor-history{gap:5px}.editor-history button{font-size:10px!important;padding:5px!important}.editor-history #editor-reset{font-size:9px!important}.editor-plan-hint{left:12px;right:12px;bottom:10px;gap:6px;font-size:9px}.editor-plan-hint>span{padding:7px 8px}.editor-plan-hint button{font-size:9px;padding:7px 8px}.editor-message{font-size:11px}.editor-units,.editor-transfer-note{font-size:10px}.editor-active #plan2d{padding-top:47px;padding-bottom:48px}}

/* The same proposed layout can be manipulated from above or directly in 3D. */
.editor-view-switch{display:flex;gap:5px;margin-top:15px;padding:3px;border:1px solid #d9dece;border-radius:4px;background:#ecefe3}.editor-view-switch button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:transparent!important;border-color:transparent!important;color:#8a967b!important;padding:7px 5px!important;min-width:0;white-space:nowrap}.editor-view-switch button[aria-pressed="true"]{background:#fffdf5!important;color:#805557!important;border-color:#ded8c9!important;box-shadow:0 1px 3px #283d2110}.editor-view-switch svg{width:15px;height:15px}.editor-view-note{font-size:10px;line-height:1.55;color:#929d80;margin-top:10px}.editor-active .stage-help{display:none}.editor-active[data-view="3d"] #scene3d{cursor:grab}.editor-active[data-view="3d"] #scene3d:active{cursor:grabbing}.editor-active[data-view="3d"] .editor-plan-hint>span{max-width:440px;line-height:1.4}.editor-active .editor-plan-hint button{flex-shrink:0}
@media(max-width:600px){.editor-view-switch button{font-size:11px!important}.editor-view-note{font-size:11px}.editor-active[data-view="3d"] .editor-plan-hint{align-items:flex-end}.editor-active[data-view="3d"] .editor-plan-hint>span{max-width:calc(100% - 124px)}}

/* Read-only article catalogue beside the model; addresses remain a proposal. */
.inventory-panel{min-width:0;max-height:calc(clamp(480px,calc(100dvh - 340px),740px) + 38px);overflow:auto;background:#fffdf6;border-left:1px solid var(--line);padding:22px 20px;scrollbar-width:thin;scrollbar-color:#d1d8c4 transparent}
.inventory-data-links{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:10px;font-size:9px;color:#927a65}.inventory-data-links a{text-decoration:underline;text-decoration-color:#c7bea6;text-underline-offset:3px}.inventory-data-links a:hover{color:#81494d}.inventory-storage-status{font-size:10px;line-height:1.5;color:#9d9375;margin-top:9px}.inventory-batch-row .inventory-batch-status{grid-column:1/-1;font-size:9px;line-height:1.45;color:#ad9c7e}.inventory-route-button{width:100%;padding:9px 11px;min-height:34px;margin-top:7px;border:1px solid #cad8b9;border-radius:3px;background:#eef3e4;color:#738b5e;font-size:11px}.inventory-route-button:hover{background:#e2ebd5}
.inventory-print-qr{display:block;width:32mm;height:32mm;margin:5mm 0;object-fit:contain}
body.inventory-open .workspace,body.inventory-open[data-view="walk"] .workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px}.inventory-open .details-panel{display:none!important}.inventory-open #mobile-details{display:none!important}.inventory-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.inventory-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.inventory-heading h2{font:25px var(--serif);line-height:1.13;letter-spacing:-.5px;color:#3d5035;margin-top:7px}.inventory-heading .icon-button{width:28px;height:28px;font-size:23px;line-height:1;margin:-3px -4px 0 0;color:#859474}.inventory-summary{font-size:11px;line-height:1.5;color:#7b8c6c;margin-top:13px}.inventory-freshness{font-size:9px;color:#a0a78e;margin-top:5px;font-variant-numeric:tabular-nums}.inventory-visibility{display:flex;align-items:center;gap:8px;padding-top:15px;font-size:11px;color:#6b7e5b}.inventory-visibility input{accent-color:#855056;width:14px;height:14px;margin:0}.inventory-scale-note{font-size:9px;line-height:1.5;color:#a2a48a;margin-top:7px}
.inventory-search-label{display:block;margin-top:19px;font-size:10px;color:#7c8d6b}.inventory-search-label input{display:block;width:100%;height:38px;border:1px solid #ccd7be;border-radius:3px;background:#f6f7ed;color:#4a603e;padding:8px 10px;font:12px var(--sans);margin-top:6px}.inventory-search-label input::placeholder{color:#a5ad96}.inventory-message{font-size:10px;line-height:1.5;color:#6c8559;margin-top:11px}.inventory-message:empty{display:none}.inventory-message.error,.inventory-location-warning{font-size:10px;line-height:1.5;color:#a56a53;background:#f6ebe0;border-left:2px solid #c69b7c;padding:9px 10px}.inventory-results{margin-top:12px;display:flex;flex-direction:column;gap:0}.inventory-result{display:block;text-align:left;padding:12px 2px;border-bottom:1px solid #e6e9da;background:transparent;border-radius:0;color:#687a58;min-width:0}.inventory-result:hover{background:#f0f3e5}.inventory-result strong{display:block;font-size:11px;line-height:1.4;font-weight:600;color:#4d633e;overflow-wrap:anywhere}.inventory-result span{display:block;margin-top:5px;font-size:10px;color:#8d9a7c}.inventory-result small{display:block;margin-top:4px;font-size:9px;line-height:1.4;color:#afb49c;overflow-wrap:anywhere}.inventory-pagination{display:flex;align-items:center;justify-content:space-between;gap:9px;padding-top:12px}.inventory-pagination button{width:32px;height:31px;border:1px solid #d9e0cc;border-radius:3px;background:#f3f6e9;color:#73895f}.inventory-pagination span{font-size:10px;color:#94a180;font-variant-numeric:tabular-nums}.inventory-empty{font-size:11px;line-height:1.5;color:#9ba68b;padding:12px 0}.inventory-empty.error{color:#9e6b58}.inventory-panel button:disabled{opacity:.4}.inventory-retry{padding:8px;border:1px solid #ccd6bd;border-radius:3px;background:#f3f5e9;font-size:11px;color:#70855d}
.inventory-proposal{margin-top:22px;padding-top:17px;border-top:1px solid #dce3cf}.inventory-proposal h3{font-size:12px;color:#6b8056;font-weight:600}.inventory-proposal p{font-size:10px;line-height:1.55;color:#9eaa89;margin:8px 0 11px}.inventory-primary{background:#855056;border:1px solid #855056;border-radius:3px;color:#fffaf1;padding:9px 10px;min-height:34px;font-size:11px;line-height:1.4}.inventory-primary:hover{background:#714149}.inventory-proposal .inventory-primary{width:100%}.inventory-source{margin-top:22px;padding-top:15px;border-top:1px solid #e2e7d5;font-size:10px;color:#a2ad8e;line-height:1.6}.inventory-source summary{cursor:pointer;color:#8d9f74;font-size:10px}.inventory-source p{margin-top:8px}.inventory-detail{margin-top:16px}.inventory-back{padding:5px 0 10px;background:transparent;color:#8b9b77;font-size:10px}.inventory-product-photo{display:flex;align-items:center;justify-content:center;height:160px;background:#fff;border:1px solid #e7eadf;border-radius:3px;padding:12px}.inventory-product-photo img{display:block;width:100%;height:100%;object-fit:contain}.inventory-product-photo>span{font:italic 14px var(--serif);text-align:center;color:#b7bea9}.inventory-product-name{font:20px var(--serif);line-height:1.2;letter-spacing:-.25px;color:#456037;margin-top:14px;overflow-wrap:anywhere}.inventory-product-code{font-size:9px;line-height:1.55;color:#a0ac8b;margin-top:8px;overflow-wrap:anywhere}.inventory-photo-source{font-size:8px;line-height:1.45;color:#b3bba4;margin-top:6px;overflow-wrap:anywhere}.inventory-facts{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin:17px 0 10px;padding:12px 0;border-top:1px solid #e0e6d2;border-bottom:1px solid #e0e6d2}.inventory-fact>span{display:block;font-size:9px;color:#9fad8b}.inventory-fact strong{display:block;font-size:13px;font-weight:600;color:#677f50;margin-top:5px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.inventory-group,.inventory-rack-note{font-size:10px;line-height:1.5;color:#99a985;margin-top:6px}.inventory-location-warning{margin-top:12px}.inventory-product-actions{display:flex;gap:7px;margin-top:15px}.inventory-product-actions .inventory-primary{flex:1}.inventory-product-actions>button:not(.inventory-primary){padding:8px 12px;border:1px solid #d6e0c5;border-radius:3px;background:#f5f7ec;color:#849b6b;font-size:10px}.inventory-review{margin-top:18px;padding:12px;background:#f7f2e6;border:1px solid #e9e3d0;border-radius:3px}.inventory-review h4,.inventory-batches h4{font-size:11px;color:#9a916d;font-weight:600;margin:0}.inventory-review ul{padding-left:15px;margin:8px 0 0;font-size:10px;line-height:1.55;color:#a69d80}.inventory-review li+li{margin-top:5px}.inventory-batches{margin-top:20px}.inventory-batches h4{color:#8e9f78}.inventory-batch-note{font-size:9px;line-height:1.45;color:#acb69a;margin-top:6px}.inventory-batch-list{max-height:240px;overflow:auto;scrollbar-width:thin;margin-top:9px}.inventory-batch-row{display:grid;grid-template-columns:1fr auto;gap:5px 8px;padding:9px 0;border-bottom:1px solid #e7ecd9;font-size:9px;color:#a1af8c;font-variant-numeric:tabular-nums}.inventory-batch-row strong{grid-column:1/-1;font-size:10px;font-weight:500;color:#8b9f72;overflow-wrap:anywhere}.inventory-batch-row .inventory-blocked{grid-column:1/-1;color:#ad7964;font-size:9px}
body.inventory-open.immersive .workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px}body.inventory-open.immersive .inventory-panel{height:100dvh;max-height:100dvh}body.inventory-open.immersive .canvas-column{height:100%;min-height:0}.inventory-print-sheet{display:none}
@media(max-width:1190px){.inventory-panel{padding:20px 17px;max-height:598px}body.inventory-open .workspace,body.inventory-open[data-view="walk"] .workspace,body.inventory-open.immersive .workspace{grid-template-columns:minmax(0,1fr) 305px}}
@media(max-width:930px){body.inventory-open .workspace,body.inventory-open[data-view="walk"] .workspace{grid-template-columns:1fr}.inventory-panel{max-height:none;border-left:0;border-top:1px solid var(--line);padding:22px}.inventory-results{max-height:460px;overflow:auto;scrollbar-width:thin}body.inventory-open.immersive .workspace{display:flex;flex-direction:column}body.inventory-open.immersive .canvas-column{height:auto;flex:1;min-height:0}body.inventory-open.immersive .stage{height:auto;min-height:0}body.inventory-open.immersive .inventory-panel{height:46dvh;max-height:46dvh;flex:0 0 46dvh;padding:16px 20px}.inventory-open.immersive .inventory-results{max-height:none}}
@media(max-width:600px){#inventory-toggle,#visual-toggle{width:33px;padding:0;justify-content:center}#inventory-toggle>span,#visual-toggle>span{display:none}#inventory-toggle svg{width:17px;height:17px}.inventory-panel{padding:20px 17px}.inventory-search-label input{font-size:13px;height:40px}.inventory-result strong{font-size:12px}.inventory-result span{font-size:11px}.inventory-result small{font-size:10px}.inventory-scale-note,.inventory-freshness{font-size:10px}.inventory-summary{font-size:12px}.inventory-visibility{font-size:12px}.inventory-product-name{font-size:22px}.inventory-photo-source,.inventory-product-code{font-size:10px}.inventory-batch-row,.inventory-batch-note{font-size:10px}}
@media print{body.printing-inventory-label>*{display:none!important}body.printing-inventory-label>.inventory-print-sheet{display:block!important;color:#111;background:#fff;font-family:Arial,sans-serif;padding:8mm;width:100%;max-width:105mm;border:1px solid #555}.inventory-print-kicker{font-size:9pt;letter-spacing:1px}.inventory-print-sheet h1{font-size:28pt;margin:6mm 0}.inventory-print-sheet h2{font-size:14pt;margin:0 0 5mm}.inventory-print-sheet p{font-size:11pt;margin:3mm 0}.inventory-print-sheet small{display:block;font-size:8pt;margin-top:6mm}@page{margin:12mm}}

/* Fullscreen and compact touch HUD. Width alone misses desktop-mode phones. */
:root{--atlas-safe-top:env(safe-area-inset-top,0px);--atlas-safe-right:env(safe-area-inset-right,0px);--atlas-safe-bottom:env(safe-area-inset-bottom,0px);--atlas-safe-left:env(safe-area-inset-left,0px)}
html:fullscreen,html:-webkit-full-screen{background:var(--paper)}
body.immersive .workspace{height:100vh;height:100dvh;bottom:auto;padding:var(--atlas-safe-top) var(--atlas-safe-right) var(--atlas-safe-bottom) var(--atlas-safe-left)}
#stage-fullscreen{color:var(--accent);background:var(--accent-soft);flex-shrink:0}
.walk-quick-actions{display:none;position:absolute;z-index:8;left:12px;top:62px;gap:6px;pointer-events:auto}
.walk-quick-actions button{min-height:44px;padding:0 13px;border:1px solid #d6dbcc;border-radius:5px;background:#fffdf1ed;color:#435841;font-size:12px;box-shadow:0 3px 12px #2234251c}
.walk-quick-actions button[aria-expanded="true"]{background:#7b4e4a;color:#fff;border-color:#7b4e4a}
@media (pointer:coarse), (max-width:760px), (max-height:540px){
  .atlas-stage-actions{padding:0 8px;gap:3px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
  .atlas-stage-actions::-webkit-scrollbar{display:none}
  .atlas-stage-actions .stage-mode-caption{display:none}
  .atlas-stage-actions .stage-action-button{min-width:44px;min-height:44px;flex-shrink:0;padding:0 11px;gap:6px}
  .atlas-stage-actions .stage-action-button:not(#stage-fullscreen):not(#immersive-exit)>span,
  body.immersive .atlas-stage-actions #stage-fullscreen>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .atlas-stage-actions .stage-action-button svg{width:19px;height:19px}
  .atlas-stage-actions .stage-action-button kbd{display:none}
  body.immersive .atlas-stage-actions #immersive-exit{position:sticky;right:0;margin-left:auto;background:var(--paper);border-left:1px solid var(--line);padding:0 11px}
  .walk-quick-actions{display:flex}
  .walk-map-card,.compare-open .walk-map-card,body.immersive .walk-map-card{display:none;top:62px;bottom:auto;left:auto;right:12px;width:165px;padding:9px;z-index:9}
  body.walk-map-open .walk-map-card{display:block}
  .walk-route,.compare-open .walk-route{display:none;z-index:10;left:12px;right:12px;bottom:126px;grid-template-columns:1fr;gap:6px;padding:12px;border:1px solid #cfd4c6;border-radius:6px;max-height:calc(100% - 140px);overflow:auto}
  body.walk-route-open .walk-route{display:grid}
  .walk-route .route-controls select,.walk-route .route-controls button{height:44px;font-size:12px}
  .walk-route .route-status{grid-column:1;font-size:10px}
  .walk-location,.compare-open .walk-location,body.immersive .walk-location{left:12px;top:12px;padding:9px 11px;max-width:calc(100% - 150px)}
  .walk-location p{display:none}
  .walk-location strong,.compare-open .walk-location strong{font-size:19px;line-height:24px}
  .walk-exit,.compare-open .walk-exit,body.immersive .walk-exit{right:12px;top:12px;min-height:44px;padding:10px;font-size:11px}
  .walk-exit kbd{display:none}
  .walk-help,.compare-open .walk-help,body.immersive .walk-help{display:none}
  .walk-touch-controls,.compare-open .walk-touch-controls{bottom:12px;left:12px;right:12px}
  body.immersive .canvas-status{min-height:30px;padding:4px 12px}
  body.immersive .canvas-status p{font-size:9px}
  body.immersive #mobile-details{font-size:10px;min-height:26px}
}
@media (max-height:480px){
  body.immersive .canvas-status p{display:none}
  body.immersive .canvas-status{min-height:28px;justify-content:flex-end}
  .walk-quick-actions{top:62px}
  .walk-route,.compare-open .walk-route{left:190px;right:190px;bottom:12px;max-height:calc(100% - 72px)}
}
@media (max-height:480px) and (max-width:600px){
  .walk-route,.compare-open .walk-route{left:12px;right:12px;bottom:118px;max-height:calc(100% - 125px)}
}

/* Keep compact comparison focused on the image; movement resumes on closing it. */
@media (pointer:coarse), (max-width:760px), (max-height:540px){
  body.compare-open .walk-touch-controls,body.compare-open .walk-quick-actions,body.compare-open .walk-map-card,body.compare-open .walk-route{display:none}
}
@media (min-width:931px){
  body.immersive .inventory-panel,body.immersive .editor-panel{height:100%;max-height:100%;min-height:0}
}

/* Local working tools share the atlas palette and stay usable on small screens. */
.work-dialog{width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;background:#f6f4ed;color:#303931;border:1px solid #c8cdbf;border-radius:12px;overflow:auto;box-shadow:0 24px 90px #17221955}
.work-dialog::backdrop{background:#18271f88;backdrop-filter:blur(3px)}
.work-dialog>.dialog-top{position:sticky;top:0;z-index:2;background:#f6f4ed;border-bottom:1px solid #d5d8ce;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.work-dialog h2{margin:0;font:32px Georgia,serif}.work-dialog h3{font:24px Georgia,serif;margin:16px 0}
.work-dialog button,.compare-pose-actions button,.editor-group button,#inventory-refresh{border:1px solid #c2c8b9;background:#fffdf5;color:#384436;border-radius:5px;padding:10px 14px;min-height:42px;cursor:pointer;font:inherit}
.work-dialog button:hover,.editor-group button:hover{background:#e8eadf}.work-dialog button:disabled{opacity:.45;cursor:not-allowed}
.work-dialog input:not([type=checkbox]),.work-dialog select,.work-dialog textarea,.editor-group select{box-sizing:border-box;width:100%;padding:10px;border:1px solid #bfc8b6;border-radius:4px;background:#fffef9;color:#303931;font:inherit;min-height:42px}
.work-dialog textarea{resize:vertical}.work-dialog label{display:grid;gap:7px;margin:10px 0}.work-dialog input[type=checkbox]{width:20px;height:20px;flex:none}
.work-dialog input[type=file]{max-width:100%;font-size:13px}.work-dialog p{line-height:1.55}
#workflow-content,#project-content{padding:8px 24px 28px}.workflow-scope,.project-scope{padding:14px;background:#e8eadf;border-radius:5px;font-size:14px}
.workflow-heading{display:none}.workflow-muted,.workflow-format,.workflow-persistence,.project-scope{color:#697365;font-size:14px}
.warehouse-workflow details,#project-content section{padding:12px 0;border-bottom:1px solid #d5d8ce}.warehouse-workflow summary{font-weight:600;padding:10px 0;cursor:pointer}
.workflow-actions,.workflow-file-actions,.compare-pose-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.workflow-file-label{font-size:13px}
.workflow-address-form{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.workflow-address-form .workflow-option,.workflow-address-form>button{grid-column:1/-1}
.work-dialog .workflow-option{display:flex;align-items:flex-start;gap:10px;line-height:1.4}
.workflow-line{border:1px solid #d2d7c9;border-radius:6px;padding:16px;margin:12px 0;background:#fffdf7}.workflow-line.is-complete{border-color:#789368;background:#edf2e8}
.workflow-line-name{text-align:left;width:100%;font-weight:600!important}.workflow-line-quantity{display:block;padding-top:12px}.workflow-lines{max-height:65dvh;overflow:auto}
.workflow-scan{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px}.workflow-scan label{margin:0}.workflow-warning,.work-dialog .error{color:#91503d}.workflow-confirmed{color:#446d36}
.work-dialog .inventory-primary{background:#76474b;color:#fff}.work-dialog .inventory-primary:hover{background:#61373c}
.workflow-status:empty,.project-message:empty{display:none}.workflow-status,.project-message{padding:10px;background:#edece1;border-radius:5px}
.editor-group p,.editor-group small,#editor-clearance{font-size:12px;line-height:1.55;color:#727d69}.editor-group fieldset{display:grid;gap:8px;padding:10px 0;border:0}.editor-group label{display:grid;gap:5px}
.editor-group select[multiple]{min-height:140px;font-size:12px}.editor-group option{padding:7px}
.compare-pose-actions{padding:0 18px}.compare-pose-actions button{font-size:12px;padding:7px 10px;min-height:36px}.compare-pose-actions button:disabled{opacity:.4}
#inventory-refresh{font-size:13px;width:100%}.inventory-freshness{line-height:1.5}
@media(max-width:600px){.work-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.work-dialog>.dialog-top{padding:12px}.work-dialog h2{font-size:25px}#workflow-content,#project-content{padding:8px 14px 22px}.workflow-address-form{grid-template-columns:1fr 1fr}.workflow-address-form>label:first-child{grid-column:1/-1}.workflow-scan{grid-template-columns:1fr}.work-dialog .editor-fields-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-dialog .editor-fields-grid input{min-width:0}.atlas-stage-actions{overflow-x:auto;scrollbar-width:thin}.atlas-stage-actions>.stage-action-button{flex-shrink:0}}

.product-preview-dialog{width:min(720px,calc(100vw - 20px))}.product-preview-name{margin:16px 24px!important;font-size:20px!important}.product-preview-canvas{height:min(50dvh,450px);width:100%;min-height:240px;touch-action:none}.product-preview-canvas canvas{display:block;touch-action:none}.product-preview-note{padding:0 24px 16px;font-size:13px;color:#707b67}

/* Thumb movement is independent of the second finger looking around the scene. */
.walk-touch-controls,.walk-touch-controls *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.walk-touch-controls svg,.walk-touch-controls button>span{pointer-events:none}
body[data-view="walk"] #scene3d canvas{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}
.walk-joystick-wrap{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0;pointer-events:none}
.walk-joystick{position:relative;display:grid;place-items:center;width:132px;height:132px;border:1px solid #fffdf19c;border-radius:50%;background:radial-gradient(circle,#fffdf11a 0 34%,#fffdf144 35% 36%,#26382c38 37% 100%);box-shadow:inset 0 0 22px #fffdf11c,0 4px 20px #172d2524;backdrop-filter:blur(7px);pointer-events:auto;touch-action:none;cursor:grab;outline-offset:4px}
.walk-joystick.engaged{border-color:#fffdf1;background-color:#ffffff1f;cursor:grabbing}
.walk-joystick:focus-visible{outline:3px solid #8c4d51}
.joystick-knob{position:relative;display:grid;place-items:center;width:48px;height:48px;border:1px solid #fffdf1d9;border-radius:50%;background:#fffdf1ed;color:#435841;box-shadow:0 3px 12px #182a2842;pointer-events:none;will-change:transform}
.joystick-knob svg{width:24px;height:24px}.engaged .joystick-knob{background:#7b4e4af5;color:#fff}
.joystick-guides{position:absolute;inset:0;pointer-events:none;color:#fffdf1cb;font:18px var(--sans)}.joystick-guides i{position:absolute;font-style:normal;line-height:1}.joystick-guides i:nth-child(1){top:8px;left:calc(50% - 5px)}.joystick-guides i:nth-child(2){right:8px;top:calc(50% - 9px)}.joystick-guides i:nth-child(3){bottom:8px;left:calc(50% - 5px)}.joystick-guides i:nth-child(4){left:8px;top:calc(50% - 9px)}
.joystick-caption{color:#fffdf1;font-size:10px;letter-spacing:.6px;text-shadow:0 1px 4px #192d25}
.walk-touch-controls[data-control-mode="joystick"] .walk-dpad{display:none}
.walk-touch-controls[data-control-mode="arrows"] .walk-joystick-wrap{display:none}
.walk-touch-controls .walk-control-mode{position:absolute;right:0;bottom:60px;width:auto;min-width:96px;min-height:36px;height:36px;display:flex;gap:6px;padding:0 10px;border-radius:18px;font-size:11px;touch-action:manipulation}
.walk-control-mode svg{width:16px;height:16px}
.walk-touch-controls[data-control-mode="arrows"] .walk-control-mode{bottom:110px}
@media (pointer:coarse), (max-width:760px), (max-height:540px){.walk-touch-controls{display:flex}.walk-touch-controls{left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}.walk-route,.compare-open .walk-route{bottom:177px}.walk-touch-controls button:focus-visible{outline:3px solid #8c4d51;outline-offset:3px}}
@media (max-height:540px){.walk-joystick{width:104px;height:104px}.joystick-knob{width:42px;height:42px}.joystick-caption{display:none}.walk-touch-controls{bottom:max(10px,env(safe-area-inset-bottom))}}
@media (max-height:480px) and (min-width:601px){.walk-route,.compare-open .walk-route{bottom:12px;left:156px;right:170px}}
body.tour-active .walk-touch-controls{display:none}
@media (pointer:coarse), (max-width:760px), (max-height:540px){body.compare-open .walk-touch-controls{display:none}}
