:root{color-scheme:dark;--gold:#e7c58f;--ink:#192323;--glass:rgba(24,33,33,.83);--line:rgba(255,255,255,.19)}
*{box-sizing:border-box}body{margin:0;background:#192323;color:#fff;font-family:Inter,"Segoe UI",Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{border:0}button:disabled{opacity:.45;cursor:wait}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}#tour{height:100dvh;min-height:430px;overflow:hidden;position:relative;isolation:isolate}#panorama{width:100%;height:100%;display:block;touch-action:none;cursor:grab;background:#394443;outline-offset:-5px}#panorama.dragging{cursor:grabbing}.shade{position:absolute;left:0;right:0;pointer-events:none}.top-shade{top:0;height:320px;background:linear-gradient(180deg,rgba(9,19,19,.72),rgba(9,19,19,.2) 72%,transparent)}.bottom-shade{bottom:0;height:310px;background:linear-gradient(0deg,rgba(9,19,19,.91),rgba(9,19,19,.5) 65%,transparent)}header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:27px 34px;z-index:4}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:white}.brand-mark{width:43px;height:48px;border:1px solid rgba(231,197,143,.65);color:var(--gold);display:grid;place-items:center;border-radius:3px}.brand-mark svg{width:28px;height:28px}.brand strong{display:block;font-size:22px;letter-spacing:5px;font-weight:500;line-height:1.15}.brand small{display:block;font-size:8px;letter-spacing:2.45px;margin-top:5px;color:#e0e6e3}.header-actions{display:flex;gap:9px;align-items:center}.icon-button{width:42px;height:42px;background:rgba(17,28,28,.48);border:1px solid var(--line);border-radius:50%;display:inline-grid;place-items:center;backdrop-filter:blur(14px);transition:background .2s}.icon-button:hover,.text-button:hover{background:rgba(61,75,73,.9)}.icon-button.active{color:var(--gold);border-color:var(--gold)}.preview-tag{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.4px;padding:11px 14px;margin-right:10px;border:1px solid var(--line);border-radius:30px;background:rgba(17,28,28,.3);backdrop-filter:blur(10px)}.preview-tag i{width:5px;height:5px;background:var(--gold);border-radius:50%}.room-heading{position:absolute;top:129px;left:35px;pointer-events:none;z-index:2;text-shadow:0 2px 14px #15202088}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.5px;color:var(--gold)}h1{font-family:Georgia,"Times New Roman",serif;font-size:46px;font-weight:400;letter-spacing:-1.4px;line-height:1.12;margin:12px 0 12px}.room-heading p{font-size:11px;margin:0;color:#e5e9e6;display:flex;align-items:center;gap:11px}.room-heading #room-count{font-variant-numeric:tabular-nums;letter-spacing:1px}.dot-divider{opacity:.55}#hotspots{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}.hotspot{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(-50%,-50%);background:none;padding:10px;pointer-events:auto;min-width:70px}.hotspot-disc{width:46px;height:46px;border:1px solid rgba(255,255,255,.9);border-radius:50%;display:grid;place-items:center;background:rgba(24,33,33,.52);box-shadow:0 0 0 7px rgba(255,255,255,.11),0 4px 18px #0004;backdrop-filter:blur(8px);transition:transform .2s,background .2s}.hotspot-disc svg{width:24px;height:24px;stroke-width:2}.hotspot-label{padding:6px 10px;border-radius:4px;background:rgba(19,31,30,.83);white-space:nowrap;font-size:10px;box-shadow:0 2px 12px #0002;letter-spacing:.15px}.hotspot:hover .hotspot-disc{transform:scale(1.14);background:#e7c58f;color:#25312d;border-color:#e7c58f}.hint{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);border:1px solid #ffffff25;border-radius:40px;display:flex;gap:9px;align-items:center;white-space:nowrap;font-size:11px;padding:12px 17px;background:#1b2a29a8;backdrop-filter:blur(12px);pointer-events:none;transition:opacity .8s;z-index:2}.hint svg{width:19px;height:19px}.hint span{opacity:.45}.hint.dismissed{opacity:0}.map-panel{position:absolute;top:113px;right:34px;width:300px;border:1px solid #ffffff35;border-radius:12px;background:rgba(249,248,243,.97);color:var(--ink);box-shadow:0 20px 70px #10222244;z-index:5;overflow:hidden;transition:opacity .2s,transform .2s;max-height:calc(100dvh - 350px);overflow-y:auto}.map-panel.closed{opacity:0;transform:translateX(24px);pointer-events:none;visibility:hidden}.panel-header{padding:19px 17px 13px 20px;display:flex;align-items:center;justify-content:space-between}.panel-header .eyebrow{font-size:8px;color:#7a745e;letter-spacing:1.7px}h2{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400;margin:5px 0 0}.dark{background:transparent;border-color:#1c29291a;color:#33413d;width:30px;height:30px}.dark svg{width:17px;height:17px}.dark:hover{background:#17282812}.floor-map{position:relative;margin:0 12px;border-radius:5px;background:white;overflow:hidden}.floor-map img{display:block;width:100%;height:auto;opacity:.83}.map-point{position:absolute;width:15px;height:15px;padding:0;transform:translate(-50%,-50%);border-radius:50%;background:#fdfcf8;border:2px solid #627d76;box-shadow:0 1px 5px #0005;transition:transform .2s,background .2s;z-index:2}.map-point:hover{transform:translate(-50%,-50%) scale(1.4);background:var(--gold);z-index:3}.map-point[aria-current="location"]{width:17px;height:17px;background:#253e35;border:3px solid var(--gold);box-shadow:0 0 0 5px #e7c58f66,0 1px 5px #0006;z-index:4}.map-footer{display:flex;gap:6px;align-items:center;justify-content:center;margin:15px 8px 0;font-size:9px;color:#53635b}.map-key{width:8px;height:8px;border-radius:50%;background:#294238;border:2px solid #d8b477}.map-key.hollow{background:white;border:1.5px solid #627d76;margin-left:10px}.map-note{text-align:center;font-size:8px;color:#7c837c;margin:9px 0 14px}.bottom-ui{position:absolute;bottom:0;left:0;right:0;padding:0 34px 13px;z-index:6;pointer-events:none}.bottom-ui>*{pointer-events:auto}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.view-tools,.camera-tools{display:flex;gap:9px;align-items:center}.text-button{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:12px 15px;font-size:11px;background:var(--glass);backdrop-filter:blur(16px);height:43px}.text-button svg{width:17px;height:17px}.text-button.active{border-color:#e7c58f70}.text-button.active svg{color:var(--gold)}.text-button small{border-radius:3px;padding:2px 4px;background:#ffffff18;color:#d7e1da;font-size:9px}.zoom-tools{display:flex;border-radius:25px;border:1px solid var(--line);align-items:center;background:var(--glass);height:42px}.zoom-tools button{font-size:22px;font-weight:300;background:none;width:39px;height:39px;line-height:1}.zoom-tools button:hover{color:var(--gold)}.zoom-tools span{height:16px;border-left:1px solid var(--line)}.room-strip{display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#e7c58f50 transparent;padding:4px 2px 9px;scroll-behavior:smooth;max-height:145px;transition:opacity .2s,max-height .25s}.room-strip.closed{max-height:0;opacity:0;padding:0;visibility:hidden}.room-card{background:#32423f;border:1px solid #ffffff35;border-radius:7px;width:142px;height:92px;flex-shrink:0;position:relative;overflow:hidden;text-align:left;padding:0;transition:border-color .2s,transform .2s}.room-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0e1b19dd,transparent 85%)}.room-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.room-card:hover img{transform:scale(1.07)}.room-card[aria-current="location"]{border:2px solid var(--gold)}.room-card[aria-current="location"]:before{content:"";position:absolute;right:8px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--gold);z-index:3;box-shadow:0 0 0 3px #172c2355}.room-card span{position:absolute;left:10px;right:5px;bottom:9px;z-index:2;font-size:10px;font-weight:500;line-height:1.3}.room-card small{display:block;color:#e7c58faa;font-size:8px;letter-spacing:1px;margin-bottom:4px}.tour-footer{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.6px;color:#c2d0c3a0;margin-top:9px}.tour-footer span:nth-child(2){letter-spacing:.1px;font-family:Georgia,serif;font-style:italic;font-size:12px;color:#d5dfd0b8}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#192323b3;backdrop-filter:blur(7px);z-index:10;opacity:1;transition:opacity .3s;font-size:12px;color:#f1ede1;pointer-events:none}.loading.hidden{opacity:0;visibility:hidden}.spinner{width:30px;height:30px;border:1px solid #ffffff30;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#fatal{position:absolute;z-index:12;inset:25%;background:#172a27;padding:30px;border-radius:12px}#fatal p{line-height:1.7;font-size:14px}#fatal button{background:var(--gold);color:var(--ink);padding:12px;border-radius:5px}.toast{position:absolute;left:50%;bottom:250px;transform:translate(-50%,10px);opacity:0;pointer-events:none;z-index:12;background:#192d29ed;border:1px solid #ffffff30;padding:12px 20px;border-radius:30px;font-size:12px;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{color-scheme:light;border:1px solid #c8cabb;background:#f8f7f1;color:var(--ink);max-width:460px;width:calc(100% - 34px);padding:35px;border-radius:14px;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#0a1e1bc4;backdrop-filter:blur(7px)}dialog .eyebrow{color:#887747;font-size:8px}dialog h2{font-size:32px;line-height:1.15;letter-spacing:-.6px;margin:14px 0}dialog>p{font-size:12px;line-height:1.6;color:#66716a}.dialog-close{position:absolute;right:15px;top:15px}.help-row{display:flex;gap:18px;padding-top:22px}.help-row>b{color:#9b855a;font-size:10px;font-weight:500;padding-top:4px}.help-row strong{font-size:13px;font-weight:600}.help-row p{font-size:12px;line-height:1.6;color:#66716a;margin:6px 0}.quality-note{margin-top:24px;padding:15px;background:#eae8dc;border-radius:7px}.quality-note strong{font-size:11px}.quality-note p{font-size:10px;line-height:1.65;margin:6px 0 0;color:#627066}.primary-button{width:100%;margin-top:23px;padding:14px 16px;background:#213c31;color:#f8f7f1;display:flex;justify-content:space-between;border-radius:5px;font-size:12px}.primary-button:hover{background:#31503f}
@media(min-width:1600px){.map-panel{width:335px;top:126px}.room-card{width:160px;height:103px}.room-heading{top:145px}h1{font-size:54px}.toolbar{margin-bottom:23px}.bottom-ui{padding-bottom:18px}}
@media(max-height:740px) and (min-width:761px){.map-panel{width:250px;top:105px;max-height:calc(100dvh - 280px)}.panel-header{padding:12px 15px}.map-footer{margin-top:8px}.map-note{margin:6px 0 8px}.room-card{height:77px;width:125px}.room-heading{top:116px}h1{font-size:39px}.bottom-ui{padding-bottom:10px}.toolbar{margin-bottom:13px}.tour-footer{margin-top:4px}}
@media(max-width:760px){header{padding:19px 18px}.brand-mark{width:34px;height:40px}.brand-mark svg{width:24px}.brand strong{font-size:18px;letter-spacing:3.6px}.brand small{font-size:6px;letter-spacing:2px}.brand{gap:9px}.preview-tag{display:none}.header-actions{gap:7px}.icon-button{width:36px;height:36px}.icon-button svg{width:18px;height:18px}.room-heading{left:20px;top:108px}.eyebrow{font-size:8px}h1{font-size:36px;margin-top:10px}.room-heading p{font-size:10px}.bottom-ui{padding:0 17px max(13px,env(safe-area-inset-bottom));}.toolbar{margin-bottom:14px}.text-button{height:39px;padding:10px 11px;gap:7px;font-size:10px}.text-button small{display:none}.view-tools{gap:7px}.zoom-tools{height:36px}.zoom-tools button{height:34px;width:30px;font-size:21px}.camera-tools{gap:7px}.room-card{width:118px;height:79px}.room-card span{font-size:9px}.room-card small{font-size:7px}.room-strip{gap:8px}.tour-footer span:first-child{display:none}.tour-footer{font-size:7px;letter-spacing:1px}.tour-footer span:nth-child(2){font-size:11px}.map-panel{width:min(330px,calc(100% - 34px));top:91px;right:17px;max-height:calc(100dvh - 296px)}.map-panel.closed{transform:translateY(15px)}.panel-header{padding:15px 16px 10px}.map-panel h2{font-size:23px}.map-footer{margin-top:10px}.map-note{margin:6px 0 11px}.hint{font-size:10px;gap:6px;padding:10px 14px;top:49%}.hint span{display:none}.hint{white-space:normal;width:260px;text-align:center;justify-content:center;line-height:1.5}.hotspot-disc{width:39px;height:39px}.hotspot-label{font-size:9px}.toast{bottom:215px;font-size:11px;width:max-content;max-width:90%;text-align:center}dialog{padding:27px}dialog h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.room-heading h1{max-width:calc(100vw - 410px)}dialog{max-height:88dvh;overflow-y:auto}.source-note{font-size:10px!important;overflow-wrap:anywhere}.source-note strong{color:#43574a;font-weight:500}.photo-guide{margin-top:20px;border-top:1px solid #d8dace;padding-top:15px}.photo-guide summary{font-size:12px;color:#35533f;cursor:pointer;line-height:1.6}.photo-guide-row{padding:10px 0;border-bottom:1px solid #dedfd6;display:grid;gap:4px}.photo-guide-row span{font-size:10px;overflow-wrap:anywhere;color:#747b6f}.photo-guide-row strong{font-size:11px;font-weight:500;color:#334c3e}@media(max-width:760px){.room-heading h1{max-width:calc(100vw - 40px);font-size:32px}}@media(min-width:761px) and (max-width:1000px){.room-heading h1{max-width:calc(100vw - 340px)}}

/* Joey Chen identity shared with the property website. */
@font-face{font-family:Manrope;src:url('../assets/manrope.ttf') format('truetype');font-weight:400 800;font-display:swap}
.brand{gap:12px;font-family:Manrope,Arial,sans-serif}.brand-mark{width:44px;height:44px;border:0;border-radius:9px;overflow:hidden}.brand-mark img{display:block;width:100%;height:100%}.brand strong{font-family:Manrope,Arial,sans-serif;font-size:22px;font-weight:750;letter-spacing:-.8px;line-height:1.15}.brand small{font-family:Manrope,Arial,sans-serif;font-size:7px;font-weight:600;letter-spacing:1.3px;margin-top:6px;color:#d8e4ff}
@media(max-width:760px){.brand{gap:9px}.brand-mark{width:35px;height:35px;border-radius:7px}.brand strong{font-size:18px;letter-spacing:-.6px}.brand small{font-size:5.5px;letter-spacing:.8px;margin-top:5px}}

/* Review controls stay close to the room title on phones and desktop. */
.comparison-panel{pointer-events:auto;margin-top:20px;max-width:345px;text-shadow:none}
.comparison-switch{display:inline-flex;padding:4px;border:1px solid #ffffff55;border-radius:999px;background:#111f25d9;backdrop-filter:blur(15px);box-shadow:0 5px 18px #0002}
.comparison-switch button{padding:10px 14px;border-radius:999px;background:transparent;color:#e0e8f3;font-size:12px;font-weight:600;min-width:0;transition:background .15s,color .15s}
.comparison-switch button[aria-pressed="true"]{background:#eaf1ff;color:#142d5f;box-shadow:0 2px 8px #0002}
.comparison-status{margin:9px 5px 0;font-size:10px;line-height:1.5;color:#fff;background:#112331b8;border-radius:5px;padding:5px 9px;width:fit-content;max-width:100%}
.preview-tag i{background:#9dc0ff}.comparison-switch button:disabled{cursor:wait;opacity:.65}
@media(max-width:760px){.room-heading{top:91px}.room-heading h1{font-size:28px;margin:8px 0;max-width:calc(100vw - 40px)}.comparison-panel{margin-top:14px}.comparison-switch button{font-size:11px;min-width:96px;padding:9px 15px}.comparison-status{font-size:9px;max-width:300px}.tour-footer span:nth-child(2){font-size:10px}}
@media(max-height:600px){.room-heading{top:88px}.room-heading h1{font-size:27px}.comparison-panel{margin-top:9px}.comparison-status{margin-top:4px}.room-strip{max-height:0;visibility:hidden}.room-strip.closed{max-height:0}}
