:root{font-family:Inter,Arial,sans-serif;color:#272d2b;background:#e9ece7;--header:84px;--paper:#f2f1ec;--ink:#27332e;color-scheme:light}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #c48a50;outline-offset:-4px}[hidden]{display:none!important}
.facility-header{height:var(--header);position:relative;z-index:10;display:flex;align-items:center;gap:28px;padding:0 32px;background:var(--paper);border-bottom:1px solid #c9cdc6}
.facility-brand{color:#29332e;text-decoration:none;letter-spacing:.2em;font-weight:600;font-size:17px;white-space:nowrap}.facility-brand span{display:block;letter-spacing:.24em;font-size:8px;font-weight:400;margin-top:7px;color:#627067}
.facility-header nav{display:flex;gap:6px;margin:auto}.facility-header nav button{position:relative;border:0;background:transparent;color:#637066;min-height:46px;padding:0 18px;font-size:12px}.facility-header nav button[aria-current]{color:#203b2e}.facility-header nav button[aria-current]:after{content:'';position:absolute;height:2px;bottom:2px;left:18px;right:18px;background:#9c7355}
.solid-button,.light-button{display:flex;align-items:center;justify-content:center;gap:30px;border:0;border-radius:3px;min-height:46px;padding:13px 20px;font-size:11px;line-height:1.4}.solid-button{color:#f5f4ed;background:#2e4438}.solid-button:hover{background:#20372b}.light-button{background:#f2f0e5;color:#22372b}.light-button:hover{background:white}
#facilityStage{position:relative;height:calc(100dvh - var(--header));isolation:isolate;background:#9aaeb4}#facilityCanvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.scene-shade{position:absolute;inset:40% 0 0;pointer-events:none;background:linear-gradient(0deg,#10211dd6,transparent 95%)}
.place-caption{position:absolute;left:44px;bottom:89px;max-width:440px;color:#f4f3e9;pointer-events:none}.eyebrow{font-size:9px;font-weight:500;letter-spacing:.2em;margin:0 0 18px;color:#d9dacc}.place-caption h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:48px;line-height:1.01;letter-spacing:-.015em;margin:0 0 14px}.place-caption>p:not(.eyebrow){max-width:365px;font-size:12px;line-height:1.75;color:#d8dfd6;margin:0 0 23px}.place-actions{display:flex;gap:12px;pointer-events:auto;flex-wrap:wrap}.place-actions .quiet-button{padding:12px 4px;font-size:11px}.quiet-button{background:none;color:inherit;min-height:44px;border:0;text-underline-offset:5px;text-decoration:underline;font-size:10px}
.movement-panel{position:absolute;bottom:88px;right:40px;text-align:right;color:#f0f1e9}.movement-panel p{font-size:10px;color:#d1d8cd;margin:0 0 14px}.movement-panel p span{font-size:10px;letter-spacing:.1em}.movement-buttons{display:flex;gap:5px;justify-content:flex-end}.movement-buttons button{width:44px;height:44px;background:#ebeee4e8;border:1px solid #ffffff36;border-radius:3px;color:#314637;font-size:18px;user-select:none}.movement-buttons button:active{background:#bbcfbc}.movement-panel .quiet-button{color:#e7ebdf;margin-top:7px}
.scene-note{position:absolute;bottom:0;left:0;right:0;min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:12px 40px;color:#cbd5c8;border-top:1px solid #e0ebde33;font-size:9px;letter-spacing:.02em;background:#16282055}.scene-note span{font-size:8px;color:#b8c4b5}
.workspace{height:calc(100dvh - var(--header));position:relative}.workspace iframe{display:block;width:100%;height:100%;border:0;background:var(--paper)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.loading-message{position:absolute;inset:0;display:grid;place-items:center;background:#e6eae3;color:#374d3d;font-size:13px;letter-spacing:.05em}.failure-message{position:absolute;inset:0;padding:15vh 8vw;background:var(--paper);color:var(--ink)}.failure-message h1{font:500 42px 'Cormorant Garamond',Georgia,serif}.failure-message p{font-size:14px;max-width:500px;line-height:1.8}.failure-message a{color:#2d5640}
body[data-room]:not([data-room=outside]) .place-caption h1{font-size:42px}body[data-room]:not([data-room=outside]) .place-caption{max-width:440px}
@media(max-width:1000px){.facility-header{gap:16px;padding:0 22px}.facility-header nav{gap:0}.facility-header nav button{padding:0 11px}.facility-header nav button[aria-current]:after{left:11px;right:11px}.solid-button{padding:12px 15px;gap:10px;font-size:10px}.place-caption{left:28px;bottom:82px}.movement-panel{right:28px}.scene-note{padding:12px 28px}}
@media(max-width:700px){:root{--header:126px}.facility-header{height:var(--header);display:grid;grid-template-columns:1fr auto;grid-template-rows:54px 56px;gap:0 12px;padding:8px 18px}.facility-brand{font-size:14px}.facility-brand span{font-size:7px;margin-top:4px}.facility-header nav{grid-column:1/-1;grid-row:2;width:100%;justify-content:space-between}.facility-header nav button{font-size:11px;flex:1;padding:0 6px}.solid-button{grid-column:2;grid-row:1;min-height:40px;font-size:9px}.place-caption{left:22px;bottom:157px;max-width:calc(100% - 44px)}.place-caption h1,body[data-room]:not([data-room=outside]) .place-caption h1{font-size:37px}.place-caption>p:not(.eyebrow){font-size:11px;max-width:295px;margin-bottom:14px}.eyebrow{font-size:8px;margin-bottom:12px}.light-button{min-height:44px;padding:11px 15px;font-size:10px;gap:15px}.place-actions{gap:12px}.movement-panel{bottom:49px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:10px}.movement-panel p{display:none}.movement-panel .quiet-button{margin:0}.scene-note{min-height:40px;padding:10px 22px;font-size:8px}.scene-note span{display:none}.scene-shade{inset:30% 0 0}}
@media(max-height:620px) and (min-width:701px){:root{--header:66px}.place-caption{bottom:65px}.place-caption h1{font-size:34px}.place-caption>p:not(.eyebrow){display:none}.movement-panel{bottom:60px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.view-tools{position:absolute;top:18px;right:24px;display:flex;align-items:center;gap:10px;padding:4px;background:#f3f4eef2;border:1px solid #c2cabd;border-radius:4px;color:#304436}.view-tools button{width:44px;height:44px;border:0;background:#e1e7dd;color:inherit;font-size:24px;border-radius:3px}.view-tools span{font-size:11px}.travel-feedback{position:absolute;left:24px;top:22px;display:flex;align-items:center;gap:12px;max-width:calc(100% - 220px);padding:8px 14px;background:#f3f4eef2;border:1px solid #c2cabd;border-radius:4px;color:#304436;font-size:12px;min-height:44px;pointer-events:none}.travel-feedback button{pointer-events:auto;min-height:44px;border:0;background:#2e4438;color:white;border-radius:3px;padding:0 18px}#facilityCanvas{cursor:crosshair}#facilityCanvas:active{cursor:grabbing}
@media(max-width:700px){body[data-workspace]{--header:64px}body[data-workspace] .facility-header{display:flex;justify-content:space-between;padding:8px 18px}body[data-workspace] .facility-header nav{display:none}}
@media(max-width:1023px){.place-caption{max-width:58%}.place-caption>p:not(.eyebrow){max-width:320px}.view-tools{top:12px;right:16px}.travel-feedback{left:16px;top:16px;font-size:11px}.movement-panel p{display:none}}
@media(max-width:700px){.view-tools{right:12px;top:12px;gap:2px}.view-tools span{display:none}.travel-feedback{left:12px;top:12px;max-width:calc(100% - 118px);font-size:11px;line-height:1.5;padding:8px 10px;min-height:54px}.travel-feedback button{padding:0 10px}.place-caption{left:20px;bottom:152px;max-width:calc(100% - 40px)}.place-caption h1,body[data-room]:not([data-room=outside]) .place-caption h1{font-size:30px;line-height:1.1}.place-caption .eyebrow{margin-bottom:9px}.place-caption>p:not(.eyebrow){display:none}.place-actions{gap:5px}.place-actions .quiet-button{font-size:11px}.movement-panel{bottom:64px}.scene-note{padding-bottom:max(12px,env(safe-area-inset-bottom))}.facility-header .solid-button{min-height:44px}}
@media(max-width:700px) and (max-height:560px){:root{--header:62px}.facility-header{display:flex;gap:8px;padding:0 12px}.facility-brand{font-size:10px}.facility-brand span{font-size:6px;letter-spacing:.12em}.facility-header nav{width:auto;flex:1}.facility-header nav button{font-size:9px;min-height:44px;padding:0 7px}.solid-button{font-size:8px;padding:9px 10px}.place-caption{bottom:57px;left:20px;max-width:55%}.place-caption h1,body[data-room]:not([data-room=outside]) .place-caption h1{font-size:27px;line-height:1.05;margin-bottom:8px}.place-caption .eyebrow{margin-bottom:8px;font-size:7px}.place-caption>p:not(.eyebrow){display:none}.place-actions{gap:8px}.place-actions .quiet-button{font-size:8px;min-height:34px}.light-button{min-height:36px;font-size:9px}.movement-panel{left:auto;right:18px;bottom:48px;display:block}.movement-panel .quiet-button{min-height:30px}.movement-buttons button{width:40px;height:40px}.scene-note{min-height:32px;padding:9px 20px;font-size:7px}.failure-message{padding:20px 24px;overflow:auto}.failure-message h1{font-size:28px}}
