.hero-landscape [data-open-room]{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;background:#eeeae2;color:var(--ink);border:0;padding:16px 22px;font-size:14px}.hero-landscape [data-open-room] span{font-size:23px;transition:transform .25s}.hero-landscape [data-open-room]:hover span{transform:translate(3px,-3px)}
.room-invite{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 0;margin-bottom:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.room-invite p{font-size:17px;max-width:600px}.room-invite p span{display:block;font-size:13px;color:var(--muted);margin-top:5px}.room-invite .button{flex-shrink:0}.world-hotspot::after{content:attr(data-label);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);white-space:nowrap;padding:4px 8px;background:var(--ink);color:var(--paper);font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}.world-hotspot:hover::after,.world-hotspot:focus-visible::after{opacity:1}
body.room-open{position:fixed;width:100%;overflow:hidden}.observation-room{--room-ink:#e9e5d9;--room-line:#e9e5d92b;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#23271f;color:var(--room-ink);overscroll-behavior:contain}.observation-room::backdrop{background:#1c211ce6}.observation-room[open]{display:flex;flex-direction:column}.room-header{display:flex;align-items:center;gap:25px;justify-content:space-between;padding:18px 30px;border-bottom:1px solid var(--room-line);flex-shrink:0}.room-brand{display:flex;align-items:center;gap:14px}.room-brand img{width:29px;height:35px;filter:brightness(0) invert(.88)}.room-brand strong{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:13px;font-weight:500}.room-brand span{font-size:12px;color:#b5bdab}.room-header h2{font-family:Oswald,sans-serif;font-size:22px;font-weight:400;text-transform:uppercase;letter-spacing:.025em}.room-close{display:flex;align-items:center;gap:20px;min-height:44px;background:none;border:1px solid var(--room-line);color:inherit;padding:8px 15px;font-size:13px}.room-close span{font-size:23px;line-height:1}.room-close:hover{background:#ffffff0b}.room-body{display:grid;grid-template-columns:minmax(0,1fr) 365px;min-height:0;flex:1;overflow:auto}.room-stage{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:#e9e3d6;color:var(--ink)}.room-layers{padding:12px 24px;display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line);flex-shrink:0}.room-layers>span{font-size:12px;color:var(--muted);margin-right:auto}.room-layers button{border:1px solid transparent;background:none;padding:8px 12px;min-height:44px;font-size:13px}.room-layers button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.room-layers button:hover{border-color:var(--ink)}#room-scene-host{flex:1;min-height:0;display:flex;flex-direction:column}.observation-room .scene-panel{position:relative!important;top:auto!important;display:flex;flex-direction:column;flex:1;min-height:0;border:0;border-radius:0;background:transparent}.observation-room .world-toolbar{padding:10px 24px;flex-shrink:0;background:#f1eddf}.observation-room .scene-panel.night{background:#2b302b;color:#eeeae2}.observation-room .scene-panel.night .world-toolbar{background:#292e29}.observation-room .world-view{height:auto!important;flex:1;min-height:230px}.observation-room .world-description{display:none}.observation-room .playback{display:none}.room-legend{padding:16px 24px;display:flex;gap:28px;align-items:baseline;border-top:1px solid var(--line);flex-shrink:0;background:#eee9dc}.room-legend strong{font-size:13px;font-weight:500;white-space:nowrap}.room-legend p{font-size:12px;color:var(--muted);line-height:1.6;max-width:650px}.room-console{padding:25px 25px 20px;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.room-console .eyebrow{font-size:11px;color:#bac2a9}.room-object{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:12px 0 22px}.room-object strong{font-family:Oswald,sans-serif;font-weight:400;text-transform:uppercase;font-size:35px;line-height:1.1}.room-object span{font-size:11px;color:#c7b686}.room-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-bottom:22px;border-bottom:1px solid var(--room-line)}.room-events button{display:flex;flex-direction:column;gap:8px;align-items:center;padding:10px 5px 8px;min-height:64px;background:none;border:1px solid var(--room-line);font-size:11px;color:#b6bfad}.room-events svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.room-events button[aria-pressed=true]{border-color:#d4b477;background:#d4b47717;color:#eed3a1}.room-events button:hover{background:#ffffff08}.room-progress{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#bac2a9;margin:22px 0 14px}.room-timeline{display:flex;gap:5px;padding:0;list-style:none;margin:0 0 22px}.room-timeline li{height:3px;flex:1;background:#e9e5d923}.room-timeline li[aria-current],.room-timeline li.is-past{background:#d4b477}.room-console h3{font-family:'Golos Text',sans-serif;font-size:25px;font-weight:400;line-height:1.22;letter-spacing:-.04em;margin-bottom:17px}.room-console h3:focus{outline:0}.room-console h3:focus-visible{outline:2px solid #d4b477;outline-offset:5px}.room-copy{font-size:14px;line-height:1.75;color:#c7ccbf;min-height:48px}.room-choices{display:grid;gap:8px;margin-top:22px}.room-choices button{display:flex;align-items:center;text-align:left;gap:12px;padding:14px 12px;background:#ffffff05;border:1px solid #e9e5d93d;min-height:67px;color:inherit;font-size:13px;line-height:1.55;transition:transform .2s}.room-choices button>span:first-child{color:#d4b477;font-size:11px;flex-shrink:0}.room-choices button:hover{background:#d4b47714;transform:translateX(3px);border-color:#d4b477}.room-console .button{min-height:52px;padding:13px 15px;font-size:13px;width:100%;margin-top:23px}.room-restart{background:none;border:0;min-height:44px;font-size:12px;text-align:left;color:#cfbb94;margin-top:12px;padding:8px 0;text-decoration:underline;text-underline-offset:5px}.room-footnote{border-top:1px solid var(--room-line);padding-top:18px;margin-top:auto;font-size:11px;line-height:1.65;color:#aeb6a4}.room-footnote p{margin-top:20px}.observation-room :focus-visible{outline-color:#d4b477}.room-stage :focus-visible{outline-color:#a06923}
@media(min-width:1600px){.room-body{grid-template-columns:minmax(0,1fr) 430px}.room-console{padding:35px}.room-console h3{font-size:31px}.room-copy{font-size:16px}.room-choices button{font-size:15px}.room-header{padding:20px 35px}.room-console .button{font-size:15px}}
@media(max-width:1000px){.room-body{grid-template-columns:minmax(0,1fr) 320px}.room-console{padding:20px}.room-header{padding:12px 20px}.room-header h2{font-size:20px}.room-layers{padding:8px 12px;gap:3px}.room-layers>span{display:none}.room-layers button{flex:1;font-size:12px;padding-inline:8px}.observation-room .world-toolbar{padding:8px 12px;flex-wrap:wrap}.room-legend{display:block;padding:12px 18px}.room-legend p{margin-top:5px}.room-console h3{font-size:23px}.room-copy{font-size:13px}}
@media(max-width:700px){.room-invite{display:block}.room-invite p{font-size:17px}.room-invite .button{margin-top:20px;width:100%}.hero-landscape [data-open-room]{font-size:13px;padding:12px 16px;min-height:50px}.room-header{padding:9px 14px;gap:12px}.room-brand img{width:24px;height:30px}.room-brand strong{font-size:10px}.room-brand span{font-size:10px}.room-header h2{display:none}.room-close{gap:12px;font-size:12px;padding-inline:10px}.room-body{display:block;overflow-y:auto}.room-stage{overflow:visible;position:relative}.room-console{overflow:visible;padding:23px}.observation-room .world-view{flex:none;height:clamp(245px,38svh,380px)!important;min-height:245px}.observation-room .zone-tabs{width:auto;flex:1}.observation-room .zone-tabs button{font-size:12px;padding:8px}.observation-room #daynight{font-size:12px;padding:8px;min-width:0;white-space:nowrap}.observation-room .world-toolbar{gap:4px;flex-wrap:nowrap;padding:5px 8px}.room-layers{padding:5px 8px}.room-layers button{font-size:12px}.room-legend{padding:10px 16px}.room-legend strong{font-size:12px}.room-legend p{font-size:11px}.room-object{margin-bottom:18px}.room-object strong{font-size:32px}.room-console h3{font-size:27px}.room-copy{font-size:15px}.room-choices button{font-size:14px;min-height:64px}.room-console .button{font-size:14px}.room-footnote{margin-top:25px}.room-footnote p{margin-top:0}.room-console .room-footnote{font-size:12px}.room-events{padding-bottom:20px}.room-events button{font-size:12px}.room-progress{margin-top:18px}.room-timeline{margin-bottom:18px}}
@media(max-width:350px){.room-brand{gap:8px}.room-brand strong{letter-spacing:.03em}.room-console{padding:20px 16px}.observation-room #daynight-label{font-size:11px}.observation-room .zone-tabs button{padding-inline:5px}}
@media(prefers-reduced-motion:reduce){.room-choices button,.hero-landscape [data-open-room] span{transition:none}}
body:not(.has-motion) .room-choices button,body:not(.has-motion) .hero-landscape [data-open-room] span{transition:none}

.show-labels .world-hotspot::after{opacity:1}
@media(max-width:1000px){.show-labels .world-hotspot:not([aria-pressed=true])::after{opacity:0}.show-labels .world-hotspot:hover::after,.show-labels .world-hotspot:focus-visible::after{opacity:1}}
.room-mobile-view{display:none}
.room-console>*{flex-shrink:0}
.room-close{min-width:44px;justify-content:center}
@media(max-width:700px){
 .room-body{display:flex;flex-direction:column;overflow:hidden}
 .room-stage{flex:0 0 46%;min-height:300px;overflow:hidden}
 .observation-room .world-view{flex:1;height:auto!important;min-height:150px}
 .room-legend{padding:7px 14px}.room-legend strong{display:none}.room-legend p{margin:0;font-size:10px;line-height:1.45}
 .room-console{flex:1;overflow-y:auto;min-height:0;padding:15px 18px;overscroll-behavior:contain}
 .room-console>.eyebrow,.room-object{display:none}
 .room-events{padding-bottom:12px}.room-events button{min-height:46px;flex-direction:row;justify-content:center;gap:8px;padding:8px 6px}
 .room-events svg{width:16px;height:16px}.room-progress{margin:12px 0 8px}.room-timeline{margin-bottom:13px}
 .room-console h3{font-size:23px;margin-bottom:12px}.room-copy{font-size:13px;min-height:0;line-height:1.65}
 .room-choices{margin-top:15px;gap:7px}.room-choices button{font-size:13px;min-height:54px;padding:10px 12px}
 .room-console .button{margin-top:16px}.room-footnote{font-size:11px!important;margin-top:20px;padding-top:14px}
 .room-brand img{display:none}.room-header{gap:8px;padding-inline:10px}.room-brand strong{font-size:10px}.room-brand span{display:none}
 .room-close{font-size:0;gap:0;padding:8px 12px}.room-close span{font-size:25px}.room-mobile-view{display:block;margin-left:auto;min-height:44px;background:transparent;color:inherit;border:1px solid var(--room-line);font-size:12px;padding:8px 12px}
 .observation-room.room-explore .room-stage{flex:1;min-height:0}.observation-room.room-explore .room-console{display:none}
}
@media(max-width:700px) and (max-height:640px){.room-stage{min-height:240px;flex-basis:48%}.observation-room .world-view{min-height:110px}.room-legend{display:none}.room-layers,.observation-room .world-toolbar{padding-block:0}}

.object-image{position:relative}.object-card .object-image [data-open-room]{position:absolute;bottom:18px;right:18px;margin:0;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:46px;padding:10px 16px;border:1px solid #33291f45;background:#fbfaf6eb;font-size:13px;color:var(--ink)}.object-card .object-image [data-open-room]:hover{background:var(--ink);color:var(--paper)}

@media(min-width:600px) and (max-height:520px){
 .room-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);overflow:hidden}
 .room-stage,.observation-room.room-explore .room-stage{min-height:0;overflow:hidden;flex:none}
 .observation-room.room-explore .room-console{display:flex}.room-mobile-view{display:none}
 .room-header{padding:7px 16px}.room-brand img{width:22px;height:27px}.room-brand span{display:none}.room-header h2{font-size:19px}.room-close{padding:5px 12px}
 .room-layers{padding:0 12px;gap:4px}.room-layers>span{display:none}.room-layers button{flex:1;font-size:12px;padding:6px 8px}
 .observation-room .world-toolbar{flex-wrap:nowrap;padding:0 8px;gap:3px}.observation-room .zone-tabs{flex:1}.observation-room .zone-tabs button{padding:6px 8px;font-size:12px}.observation-room #daynight{padding:6px;font-size:11px;white-space:nowrap}
 .observation-room .world-view{min-height:100px}.room-legend{padding:6px 12px}.room-legend strong{display:none}.room-legend p{margin:0;font-size:10px;line-height:1.4}
 .room-console{padding:14px 18px}.room-console>.eyebrow,.room-object{display:none}.room-events{padding-bottom:10px}.room-events button{min-height:44px;flex-direction:row;justify-content:center;gap:7px;padding:6px;font-size:11px}.room-events svg{width:16px;height:16px}
 .room-progress{margin:10px 0 7px}.room-timeline{margin-bottom:12px}.room-console h3{font-size:22px;margin-bottom:12px}.room-copy{font-size:13px;line-height:1.6}.room-choices{margin-top:14px}.room-choices button{font-size:12px;min-height:50px;padding:8px 10px}.room-console .button{font-size:12px;margin-top:15px;padding:10px;min-height:46px}.room-footnote{font-size:10px;padding-top:12px;margin-top:20px}.room-footnote p{margin-top:0}
}

.observation-room .world-toolbar{flex-wrap:wrap}
.observation-room .zone-tabs{flex:1 1 210px;flex-wrap:wrap;min-width:0;max-width:100%}
.observation-room .zone-tabs button{flex:1;white-space:normal}
.observation-room.room-flow .room-body{display:block;overflow-y:auto}
.observation-room.room-flow .room-stage{min-height:0;overflow:visible}
.observation-room.room-flow .scene-panel{flex:none}
.observation-room.room-flow .world-view{flex:none;height:clamp(240px,40svh,380px)!important;min-height:240px}
.observation-room.room-flow .room-console{overflow:visible;min-height:0}
.world-controls{position:absolute;inset:auto 18px 12px;z-index:3;display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:8px;pointer-events:none}
.world-controls .world-tools{position:static;flex-wrap:wrap;max-width:100%;pointer-events:auto}
.world-controls .motion-button{position:static;margin-left:auto;max-width:100%;pointer-events:auto}
@media(max-width:600px){.world-controls{inset:auto 10px 8px}}

.model-failed #world-canvas{visibility:hidden}
