:root{--paper: #f1ebe2;--ink: #2a221c;--muted: #75685c;--glass: rgba(253, 250, 245, .78);--glass-strong: rgba(253, 250, 245, .92);--line: rgba(42, 34, 28, .12);--gold: #b4532a;--accent: #8a3d1e;--display: "Iowan Old Style", Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;--body: "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", system-ui, sans-serif;--safe-b: env(safe-area-inset-bottom, 0px);--shadow: 0 10px 30px rgba(42, 34, 28, .12), 0 1px 2px rgba(42, 34, 28, .08)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--paper)}body{color:var(--ink);font:14px/1.45 var(--body);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}svg{display:block}.app{position:fixed;inset:0;overflow:hidden}.stage{position:absolute;inset:0}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.4s ease .2s;pointer-events:none;z-index:1}.app.is-live .poster{opacity:0}.app:not([data-stage=intro]) .poster{display:none}.topbar{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;flex-direction:column;padding:9px 14px 10px;border-radius:14px;background:var(--glass);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:var(--shadow);transition:opacity .5s}.brand-title{font:500 19px/1.1 var(--display);letter-spacing:-.01em}.brand-sub{font-size:12px;color:var(--muted);margin-top:2px}.app[data-stage=intro] .brand{opacity:0;pointer-events:none}.top-actions{display:flex;align-items:center;gap:8px}.badge{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:7px 11px;border-radius:999px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);color:var(--accent)}.badge:empty{display:none}.icon-btn{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:12px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}.icon-btn svg{width:20px;height:20px}.icon-btn:hover{background:var(--glass-strong)}.text-btn{font-size:12px;font-weight:700;letter-spacing:.06em}.icon-btn[aria-pressed=true]{background:var(--ink);color:#fff}.intro{position:absolute;z-index:9;left:max(28px,6vw);bottom:max(54px,11vh);max-width:470px;padding:0;transition:opacity .6s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.intro:before{content:"";position:absolute;inset:-60vh -40vw -20vh -30vw;z-index:-1;background:radial-gradient(ellipse at 25% 75%,#f1ebe2f0 0,#f1ebe2b3 35%,#f1ebe200 65%);pointer-events:none}.intro.is-gone{opacity:0;transform:translateY(16px);pointer-events:none}.intro-place{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.intro h1{margin:0;font:400 clamp(46px,7vw,84px)/.98 var(--display);letter-spacing:-.035em}.nowrap{white-space:nowrap}.intro-lede{margin:16px 0 0;font:italic 400 clamp(18px,2vw,22px)/1.35 var(--display);color:#3a2f27}.facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:20px 0 28px;padding:0;list-style:none;font-size:13px;color:var(--muted)}.facts li{position:relative}.facts li+li:before{content:"";position:absolute;left:-10px;top:50%;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}.cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 24px 0 26px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:15px;font-weight:600;letter-spacing:.01em;box-shadow:0 14px 34px #2a221c47;transition:transform .25s,box-shadow .25s,background .25s}.cta svg{width:20px;height:20px;transition:transform .25s}.cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 40px #2a221c52}.cta:hover:not(:disabled) svg{transform:translate(3px)}.cta:disabled{cursor:progress;background:#4a3d33}.cta-progress{position:absolute;left:0;bottom:0;height:3px;width:calc(var(--p, 0) * 100%);background:var(--gold);transition:width .2s,opacity .4s}.cta:not(:disabled) .cta-progress{opacity:0}.cta-small{height:48px;padding:0 20px 0 22px;font-size:14px}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.cta-tour{gap:12px;padding:0 26px 0 20px}.cta .i-play{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--gold);color:#fff;box-sizing:content-box;margin:0 -2px}.cta:hover:not(:disabled) .i-play{transform:scale(1.06)}.cta-label{display:flex;align-items:baseline;gap:10px}.cta-label small{font-size:12px;font-weight:500;opacity:.62}.cta-ghost{background:#fdfaf5b3;color:var(--ink);box-shadow:inset 0 0 0 1px #2a221c33;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.cta-ghost:hover:not(:disabled){background:#fff;box-shadow:inset 0 0 0 1px #2a221c4d,0 10px 26px #2a221c24}.cta-ghost:disabled{background:#fdfaf580;color:var(--muted)}.cta-ghost .i-play{width:16px;height:16px;padding:3px}.dock{position:absolute;z-index:10;left:50%;bottom:calc(18px + var(--safe-b));transform:translate(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:6px;border-radius:18px;background:var(--glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:var(--shadow);transition:opacity .45s,transform .45s cubic-bezier(.2,.7,.2,1)}.app[data-stage=intro] .dock,.app.is-busy .dock,.app.is-touring .dock{visibility:hidden;opacity:0;transform:translate(-50%,12px);pointer-events:none}.app.is-walking .dock{pointer-events:none}.app:not([data-stage=building]) #enter{display:none}.app[data-stage=building] .dock{padding:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app[data-stage=building] .dock-back,.app[data-stage=building] .chips,.app[data-stage=building] .dock-tour{display:none}.dock-tour{flex:none;display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 14px 0 9px;border:0;border-radius:12px;background:#fff;color:var(--ink);font-size:13px;font-weight:600;box-shadow:inset 0 0 0 1px #b4532a73}.dock-tour .i-play{width:13px;height:13px;padding:4px;border-radius:50%;background:var(--gold);color:#fff;box-sizing:content-box}.dock-tour:hover{background:#fffdf9}.dock-back{flex:none;display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 14px 0 10px;border:0;border-radius:12px;background:var(--ink);color:#fff;font-size:13px;font-weight:600}.dock-back svg{width:18px;height:18px}.app[data-stage=room] .i-back,.app:not([data-stage=room]) .i-plan{display:none}.chips{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent);padding-right:14px}.chips::-webkit-scrollbar{display:none}.chip{flex:none;height:42px;padding:0 14px;border:0;border-radius:12px;background:transparent;font-size:13px;font-weight:550;color:#3a2f27;white-space:nowrap;scroll-snap-align:start;transition:background .2s,color .2s}.chip:hover{background:#2a221c12}.chip[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px #2a221c24}.motion-btn{box-shadow:none;background:transparent}.pins{position:absolute;inset:0;z-index:5;pointer-events:none}.pins:not(.is-on){visibility:hidden}.pin{position:absolute;left:0;top:0;width:0;height:0;padding:0;border:0;background:none;color:var(--ink);opacity:0;will-change:transform,opacity}.pin-label{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:flex-start;padding:7px 12px 8px;border-radius:12px;background:var(--glass-strong);box-shadow:var(--shadow);text-align:left;translate:-50% -50%;opacity:0;transition:background .2s,color .2s}.pin b{font-size:13px;font-weight:650;white-space:nowrap}.pin-short{display:none}.pin small{font-size:11px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.pin-chip{position:absolute;left:0;top:0;display:grid;place-items:center;min-width:40px;height:40px;translate:-50% -50%;opacity:0}.pin .pin-chip b{display:block;padding:0 10px;border-radius:13px;background:var(--glass-strong);box-shadow:var(--shadow);font-size:12px;line-height:26px;transition:background .2s,color .2s}.pin.is-hover .pin-label,.pin.is-selected .pin-label,.pin.is-hover .pin-chip b,.pin.is-selected .pin-chip b{background:var(--ink);color:#fff}.pin.is-hover small,.pin.is-selected small{color:#ffffffb3}.pin:focus-visible{outline:0}.pin:focus-visible .pin-label,.pin:focus-visible .pin-chip b{outline:2px solid var(--gold);outline-offset:3px}.roomcard{position:absolute;z-index:9;left:50%;bottom:calc(86px + var(--safe-b));transform:translate(-50%);display:flex;align-items:center;gap:24px;padding:10px 10px 10px 22px;border-radius:20px;background:var(--glass-strong);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:var(--shadow)}.roomcard.is-in{animation:card-in .45s cubic-bezier(.2,.7,.2,1)}.roomcard h2{margin:0;font:400 24px/1.1 var(--display);letter-spacing:-.02em;white-space:nowrap}.roomcard p{margin:3px 0 0;font-size:13px;color:var(--muted);white-space:nowrap}.roomcard-actions{display:flex;gap:8px}.roomcard .cta{box-shadow:none}#card-back{padding:0 20px 0 16px}#card-back:hover svg{transform:translate(-3px)}.app:not([data-stage=apartment]) .roomcard,.app.is-busy .roomcard,.app.is-touring .roomcard{display:none}.app.is-focused .hint{visibility:hidden}@keyframes card-in{0%{opacity:0;translate:0 10px}}.views{position:absolute;z-index:9;left:50%;top:calc(max(14px,env(safe-area-inset-top)) + 60px);transform:translate(-50%);display:flex;align-items:center;gap:2px;max-width:calc(100vw - 24px);padding:5px;border-radius:16px;background:var(--glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:var(--shadow);overflow-x:auto;scrollbar-width:none;transition:opacity .4s,transform .4s cubic-bezier(.2,.7,.2,1),visibility 0s}.views::-webkit-scrollbar{display:none}.view-btn{flex:none;height:34px;padding:0 12px;border:0;border-radius:11px;background:transparent;font-size:13px;font-weight:550;color:#3a2f27;white-space:nowrap;transition:background .2s,color .2s}.view-btn:hover{background:#2a221c12}.view-btn[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px #2a221c24}.view-fly{display:inline-flex;align-items:center;gap:7px;margin-right:4px;padding:0 13px 0 7px;background:#fff;color:var(--ink);font-weight:600;box-shadow:inset 0 0 0 1px #b4532a73}.view-fly:hover{background:#fffdf9}.view-fly svg{width:12px;height:12px;padding:4px;border-radius:50%;background:var(--gold);color:#fff;box-sizing:content-box}.view-fly .i-stop,.view-fly[aria-pressed=true] .i-play{display:none}.view-fly[aria-pressed=true] .i-stop{display:block}.view-fly[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:none}.zoom{position:absolute;z-index:9;right:max(16px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;padding:4px;border-radius:14px;background:var(--glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:var(--shadow);transition:opacity .4s,visibility 0s}.zoom .icon-btn{width:38px;height:38px;border-radius:10px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.zoom .icon-btn:hover{background:#2a221c12}.app:not([data-stage=apartment]) :is(.views,.zoom),.app.is-busy :is(.views,.zoom),.app.is-touring :is(.views,.zoom){visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s,visibility 0s .3s}.app:not([data-stage=apartment]) .views,.app.is-busy .views,.app.is-touring .views{transform:translate(-50%,-8px)}.tag{position:absolute;left:0;top:0;z-index:4;display:flex;flex-direction:column;align-items:center;pointer-events:none;opacity:0;transition:opacity .5s;will-change:transform}.tag.is-on{opacity:1}.tag span{padding:5px 11px;border-radius:999px;background:var(--ink);color:#fdfaf5;font-size:12px;font-weight:700;letter-spacing:.06em;box-shadow:var(--shadow)}.tag i{width:1px;height:34px;background:linear-gradient(var(--gold),rgba(180,83,42,.2))}.tag i:after{content:"";position:absolute;left:50%;bottom:-4px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #e2733f59}.flat-tip{position:absolute;left:0;top:0;z-index:4;display:flex;align-items:center;gap:7px;padding:6px 11px 6px 9px;border-radius:999px;background:var(--glass-strong);box-shadow:var(--shadow);font-size:12px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .25s;will-change:transform}.flat-tip.is-on{opacity:1}.flat-tip i{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 2px #fff}.flat-tip b{font-weight:700;letter-spacing:.02em}.flat-tip span{opacity:.78}.legend{position:absolute;z-index:8;right:max(16px,env(safe-area-inset-right));bottom:calc(18px + var(--safe-b));display:flex;gap:14px;padding:8px 14px;border-radius:999px;background:var(--glass-strong);box-shadow:var(--shadow);font-size:12px;font-weight:600;opacity:0;transition:opacity .6s;pointer-events:none}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 2px #fff}.is-live[data-stage=intro] .legend,.is-live[data-stage=building] .legend{opacity:1}.is-hero .legend{display:none}@media (max-width: 960px){.legend{right:auto;left:50%;transform:translate(-50%);bottom:calc(86px + var(--safe-b));white-space:nowrap}.is-live[data-stage=intro] .legend{opacity:0}}.waypoints{position:absolute;inset:0;z-index:5;pointer-events:none}.waypoint{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:8px;margin:-26px 0 0 -60px;width:120px;border:0;background:none;pointer-events:auto}.waypoint i{width:52px;height:52px;border-radius:50%;border:2px solid rgba(255,255,255,.95);background:#ffffff38;box-shadow:0 0 0 1px #2a221c1f,0 6px 18px #0000002e;transform:scaleY(.55);transition:transform .3s,background .3s;animation:breathe 2.6s ease-in-out infinite}.waypoint span{padding:5px 10px;border-radius:999px;background:var(--glass-strong);box-shadow:var(--shadow);font-size:12px;font-weight:600;white-space:nowrap}.waypoint:hover i{background:#ffffff8c;transform:scaleY(.62) scale(1.1)}.waypoint.is-edge i{transform:scale(.62);animation:none}.waypoint.is-edge:hover i{transform:scale(.72)}.waypoint i{position:relative}.waypoint[data-side=left] i,.waypoint[data-side=right] i{width:40px;height:40px;margin-top:6px;transform:none;background:#2a221c8c;animation:none}.waypoint[data-side=left]:hover i,.waypoint[data-side=right]:hover i{background:#2a221cbf;transform:scale(1.06)}.waypoint[data-side=left] i:after,.waypoint[data-side=right] i:after{content:"";position:absolute;inset:0;margin:auto;width:10px;height:10px;border:solid #fff;border-width:2px 2px 0 0;transform:translate(-2px) rotate(45deg)}.waypoint[data-side=left] i:after{transform:translate(2px) rotate(-135deg)}@keyframes breathe{50%{box-shadow:0 0 0 7px #ffffff38,0 6px 18px #0000002e}}.minimap{position:absolute;z-index:9;right:max(16px,env(safe-area-inset-right));bottom:calc(18px + var(--safe-b));width:min(380px,30vw);aspect-ratio:2130 / 1120;padding:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow);animation:rise .5s cubic-bezier(.2,.7,.2,1)}.minimap img,.minimap svg{position:absolute;inset:0;width:100%;height:100%}.minimap img{object-fit:fill}.mm-room{fill:transparent;cursor:pointer;transition:fill .2s}.mm-room:hover{fill:#b4532a2e}.mm-stop{fill:#fff;stroke:var(--ink);stroke-width:6;cursor:pointer}.mm-stop.is-current{display:none}.mm-cone{fill:#b4532a59;stroke:none;pointer-events:none}.mm-me{fill:var(--gold);stroke:#fff;stroke-width:7;pointer-events:none}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.skip{position:absolute;z-index:11;right:max(16px,env(safe-area-inset-right));bottom:calc(22px + var(--safe-b));height:44px;padding:0 14px;border:0;border-radius:999px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:12px;font-weight:600;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s}.app.is-busy:not(.is-touring) .skip{visibility:visible;opacity:.9;pointer-events:auto}.app.is-touring .waypoints{display:none}.tourbar{position:absolute;z-index:11;left:50%;bottom:calc(18px + var(--safe-b));transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:6px;border-radius:18px;background:var(--glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:var(--shadow);animation:rise .5s cubic-bezier(.2,.7,.2,1)}.tour-btn{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:12px;background:transparent;color:var(--ink)}.tour-btn:hover{background:#2a221c12}.tour-btn svg{width:20px;height:20px}#tour-pause{background:var(--ink);color:#fff}#tour-pause .i-play{width:18px;height:18px}.app:not(.is-paused) #tour-pause .i-play,.app.is-paused #tour-pause .i-pause{display:none}.tour-steps{display:flex;gap:5px;margin:0 10px;padding:0;list-style:none}.tour-steps li{position:relative;width:26px;height:4px;border-radius:2px;background:#2a221c24;overflow:hidden}.tour-steps li:after{content:"";position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(var(--fill, 0))}.caption{position:absolute;z-index:9;left:max(24px,env(safe-area-inset-left));bottom:calc(92px + var(--safe-b));max-width:min(420px,36vw);margin:0;padding:16px 20px 18px;border-radius:16px;background:var(--glass-strong);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:var(--shadow);pointer-events:none}.caption.is-in{animation:caption-in .7s cubic-bezier(.2,.7,.2,1)}.caption-kicker{margin:0 0 4px;font-size:11px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.caption h2{margin:0;font:400 28px/1.1 var(--display);letter-spacing:-.02em}.caption-line{margin:6px 0 0;font-size:14px;color:#3a2f27}@keyframes caption-in{0%{opacity:0;transform:translateY(10px)}}.app.is-touring .hint{bottom:auto;top:calc(max(14px,env(safe-area-inset-top)) + 64px)}.endcard{position:absolute;z-index:12;left:50%;bottom:calc(84px + var(--safe-b));transform:translate(-50%);width:min(440px,calc(100vw - 32px));padding:16px 20px;border-radius:20px;background:var(--glass-strong);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:var(--shadow);text-align:center;pointer-events:none;animation:caption-in .6s cubic-bezier(.2,.7,.2,1)}.endcard h2{margin:0;font:400 32px/1.08 var(--display);letter-spacing:-.02em}.endcard p{margin:6px 0 12px;color:#3a2f27}.endcard .cta-row{justify-content:center}.endcard button{pointer-events:auto}.endcard{animation-name:card-in}.hint{position:absolute;z-index:8;left:50%;bottom:calc(92px + var(--safe-b));transform:translate(-50%,8px);margin:0;padding:8px 14px;border-radius:999px;background:#2a221cc7;color:#fff;font-size:13px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .4s,transform .4s}.hint.is-on{opacity:1;transform:translate(-50%)}.loader{position:absolute;z-index:12;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;pointer-events:none}.loader circle{fill:none;stroke:#ffffff80;stroke-width:3}.loader .loader-bar{stroke:var(--gold);stroke-linecap:round;stroke-dasharray:113;stroke-dashoffset:calc(113 - (113*max(var(--p, 0),.08)));transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .2s;animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(270deg)}}.disclaimer{position:absolute;z-index:4;left:max(16px,env(safe-area-inset-left));bottom:calc(6px + var(--safe-b));max-width:min(560px,60vw);margin:0;font-size:10.5px;color:#2a221c9e;pointer-events:none}.app[data-stage=room] .disclaimer{color:#ffffffd9;text-shadow:0 1px 3px rgba(0,0,0,.45)}.error{position:absolute;z-index:20;left:50%;top:76px;transform:translate(-50%);padding:10px 16px;border-radius:12px;background:#fff3ef;color:#7a2a17;box-shadow:var(--shadow);font-size:13px}@media (max-width: 720px){.intro{left:20px;right:20px;bottom:calc(40px + var(--safe-b))}.intro:before{inset:-12vh -20px -20vh;background:linear-gradient(to top,#f1ebe2f5 0 60%,#f1ebe2cc 78%,#f1ebe200)}.intro-lede{margin-top:10px}.facts{margin:12px 0 18px}.cta{width:100%;justify-content:center}.cta-small{width:auto}.brand{padding:7px 11px 8px}.brand-title{font-size:16px}.badge{display:none}.dock{left:12px;right:12px;transform:none;max-width:none;bottom:calc(14px + var(--safe-b))}.app[data-stage=intro] .dock,.app.is-busy:not(.is-walking) .dock,.app.is-touring .dock{transform:translateY(12px)}.cta-row{flex-direction:column;align-items:stretch}.cta-row .cta{width:100%;justify-content:center}.cta-label{flex-direction:column;align-items:flex-start;gap:0;line-height:1.15}.dock-tour span{display:inline}.dock-tour{padding:0 9px}.tourbar{left:12px;right:12px;transform:none;justify-content:space-between;bottom:calc(14px + var(--safe-b))}.tour-steps{flex:1;margin:0 6px}.tour-steps li{flex:1;width:auto}.caption{left:12px;right:12px;max-width:none;bottom:calc(76px + var(--safe-b));display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;column-gap:10px;padding:8px 14px 9px;border-radius:14px}.caption h2{order:-1;min-width:0;font-size:19px}.caption-kicker{margin:0;font-size:12px;line-height:1;letter-spacing:.1em;white-space:nowrap}.caption-line{flex-basis:100%;margin:3px 0 0;font-size:13px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;max-height:2.6em}.caption.is-brief{padding-top:6px;padding-bottom:7px;transition:padding .45s ease .15s}.caption.is-brief .caption-line{opacity:0;max-height:0;margin-top:0;transition:opacity .35s ease,max-height .45s ease .15s,margin-top .45s ease .15s}.app.is-paused .caption.is-brief{padding-top:8px;padding-bottom:9px;transition:padding .35s ease}.app.is-paused .caption.is-brief .caption-line{opacity:1;max-height:2.6em;margin-top:3px;transition:max-height .35s ease,margin-top .35s ease,opacity .3s ease .1s}.app[data-stage=building] .dock{left:50%;right:auto;transform:translate(-50%)}.chip{padding:0 11px}.minimap{top:calc(max(14px,env(safe-area-inset-top)) + 54px);bottom:auto;right:12px;width:46vw}.views{top:auto;bottom:calc(76px + var(--safe-b));left:12px;right:12px;transform:none;max-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent);padding-right:16px}.app:not([data-stage=apartment]) .views,.app.is-busy .views,.app.is-touring .views{transform:translateY(8px)}.zoom,.pin-name{display:none}.pin-short{display:inline}.pin b{font-size:12px;line-height:1.25}.pin small{font-size:10.5px;line-height:1.25}.pin-label{padding:5px 9px 6px;border-radius:10px}.roomcard{left:12px;right:12px;transform:none;bottom:calc(76px + var(--safe-b));flex-direction:column;align-items:stretch;gap:10px;padding:14px}.roomcard-text{display:flex;align-items:baseline;gap:10px;padding:0 4px}.roomcard h2{font-size:22px}.roomcard-actions .cta{flex:1;justify-content:center}.app.is-focused .views{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s,visibility 0s .3s}.app[data-stage=apartment] .hint{bottom:calc(132px + var(--safe-b))}.hint{bottom:calc(82px + var(--safe-b))}.disclaimer{display:none}.skip{bottom:auto;top:calc(max(14px,env(safe-area-inset-top)) + 54px)}}@media (max-width: 720px) and (orientation: landscape){.minimap{width:30vw}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}html.is-hero .topbar,html.is-hero .intro,html.is-hero .dock,html.is-hero .views,html.is-hero .zoom,html.is-hero .roomcard,html.is-hero .minimap,html.is-hero .caption,html.is-hero .tourbar,html.is-hero .endcard,html.is-hero .skip,html.is-hero .hint,html.is-hero .loader,html.is-hero .disclaimer,html.is-hero .waypoints,html.is-hero .error{display:none!important}html.is-hero,html.is-hero body{touch-action:pan-x pan-y}html.is-hero .stage canvas{pointer-events:none;touch-action:pan-x pan-y}html.is-hero.is-free .stage canvas{pointer-events:auto;touch-action:none;cursor:grab}html.is-hero.is-free .stage canvas:active{cursor:grabbing}html.is-held,html.is-held body{touch-action:pan-x pan-y}html.is-held .stage canvas{pointer-events:none;touch-action:pan-x pan-y!important}html.is-embed .intro-place,html.is-embed .intro h1,html.is-embed .intro-lede,html.is-embed .facts,html.is-embed #lang,html.is-embed .brand{display:none}html.is-embed .topbar{justify-content:flex-end}html.is-embed .intro:before{content:none}html.is-embed .intro .cta-ghost{background:#fdfaf5eb}html.is-embed .intro{bottom:calc(24px + var(--safe-b))}@media (max-width: 720px){html.is-embed #fullscreen,html.is-embed #open-tab{display:none}html.is-embed .minimap,html.is-embed .skip{top:max(14px,env(safe-area-inset-top))}}@media (min-width: 721px){html.is-embed .intro{left:50%;bottom:calc(64px + var(--safe-b));width:max-content;max-width:calc(100% - 40px);transform:translate(-50%)}html.is-embed .intro.is-gone{transform:translate(-50%,16px)}html.is-embed .intro .cta-row{justify-content:center}}html.is-hero .tag span{display:flex;align-items:center;gap:7px;padding:5px 10px 5px 8px;border:1px solid #e8dccd;border-radius:8px;background:#fdfaf5f5;color:var(--ink);font:600 clamp(10px,2.4vw,13px)/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:0;white-space:nowrap}html.is-hero .tag span:before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--status, #4a9d62)}html.is-hero .tag i{height:clamp(18px,5vw,34px)}.cover{position:absolute;inset:0;z-index:20;background:var(--paper);opacity:0;pointer-events:none;transition:opacity .35s ease}.cover.is-on{opacity:1;transition-duration:.16s}.view-menu{flex:none}.view-menu summary{display:flex;align-items:center;min-width:44px;height:44px;padding:0 12px;cursor:pointer;font-size:13px;border-radius:12px}.view-menu summary:after{content:"\2303";margin-left:6px}.view-menu summary:hover{background:#2a221c12}.view-menu .views{top:auto;bottom:calc(100% + 10px);left:auto;right:0;transform:none;overflow:visible;mask-image:none;-webkit-mask-image:none;padding:5px}.view-btn{height:44px}.app:not([data-stage=apartment]) .view-menu{display:none}.app.is-touring .intro{visibility:hidden}.tour-btn{width:44px;height:44px;flex:none}.tourbar{animation:none}#tour-close{width:auto;padding:0 12px;font-size:13px;font-weight:600;white-space:nowrap}.tour-steps li{width:110px}.app.is-busy .minimap{visibility:hidden}.gesture-hint{position:absolute;z-index:15;left:50%;top:20%;transform:translate(-50%);max-width:calc(100% - 32px);margin:0;padding:8px 14px;border-radius:16px;background:#2a221ccc;color:#fff;font-size:12px;text-align:center;pointer-events:none;opacity:0;transition:opacity .4s}.gesture-hint.is-on{opacity:1}html.is-embed .stage canvas{touch-action:pan-y!important}html.is-embed .brand{display:flex}html.is-embed .brand-title{display:none}html.is-embed .topbar{justify-content:space-between}html.is-embed .minimap{top:68px}#credit{position:absolute;z-index:10;bottom:var(--safe-b);left:16px;min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:11px;text-decoration:none}#credit:hover{text-decoration:underline}.app[data-stage=room] #credit{color:#fff;text-shadow:0 1px 3px #000}.app[data-stage=intro] #credit,.app.is-busy #credit,.app.is-touring #credit,html.is-embed #credit,html.is-hero #credit{display:none}html:not(.is-embed):not(.is-hero) :is(.dock,.tourbar,.minimap){bottom:calc(52px + var(--safe-b))}html:not(.is-embed):not(.is-hero) :is(.roomcard,.caption,.endcard){bottom:calc(118px + var(--safe-b))}.disclaimer{left:auto;right:16px}@media (min-width: 721px){.app[data-stage=room] .dock{left:calc((100vw - min(380px,30vw) - 32px)/2);max-width:calc(100vw - min(380px,30vw) - 64px)}}@media (max-width: 720px){button,.icon-btn,.motion-btn,.chip,.dock-back,.dock-tour{min-width:44px;min-height:44px}.dock{gap:4px}.dock-back{padding:0 8px;gap:3px}.dock-tour{padding:0 7px;gap:4px}.chips{min-width:44px}.view-menu summary{padding:0 6px;font-size:12px}.pin-label,.pin-chip{min-width:44px;min-height:44px;justify-content:center}.minimap{pointer-events:none}html:not(.is-embed):not(.is-hero) .minimap{bottom:auto}.skip{left:12px;right:auto}.endcard h2{font-size:24px}.endcard .cta-row{flex-direction:row;gap:8px}.endcard .cta{width:auto;flex:1;padding:0 12px}.tour-steps{min-width:24px}.tour-steps li{width:auto}.app[data-stage=apartment] .hint{bottom:calc(112px + var(--safe-b));font-size:12px}.app[data-stage=room] .hint{top:calc(180px + env(safe-area-inset-top));bottom:auto;max-width:calc(100% - 24px);font-size:12px}#credit{left:12px;right:12px;justify-content:center}}
