:root{color-scheme:dark;--ink:#202221;--accent:#f6df69;--text:#faf9f5;--muted:#cccfc8;--line:#ffffff26;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--text)}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,#panorama:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{transition:background .18s,color .18s,transform .18s}button:active:not(:disabled){transform:scale(.97)}[hidden]{display:none!important}
#tour{height:100dvh;min-height:560px;position:relative;isolation:isolate;overflow:hidden}#panorama{position:absolute;inset:0;background:#373b36;outline-offset:-4px;cursor:grab}#panorama:active{cursor:grabbing}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#101714bb 0%,#10171438 27%,transparent 49%,#121613aa 74%,#151917f5 100%)}.topbar{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:30px 42px;gap:20px}.brand{display:flex;align-items:center;gap:22px}.brand img{width:144px;height:54px;object-fit:contain}.brand-divider{height:34px;width:1px;background:#ffffff5c}.brand-caption{font-size:10px;line-height:1.65;letter-spacing:2px;font-weight:600}.header-actions{display:flex;gap:20px;align-items:center}.badge{border:1px solid #ffffff50;border-radius:3px;padding:8px 10px;font-size:9px;letter-spacing:1.7px}.quiet{border:1px solid #ffffff50;background:#20272366;border-radius:4px;padding:12px 16px;font-size:12px}.quiet:hover{background:#343b31}.quiet span{margin-left:12px;font-size:17px}.property-info{position:absolute;top:145px;left:44px;max-width:min(720px,75vw);pointer-events:none;text-shadow:0 2px 18px #14181255}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.1px;line-height:1.5;margin:0 0 14px}.property-info h1{font-size:clamp(32px,4.3vw,61px);font-weight:400;line-height:1.03;letter-spacing:-2px;margin:0;text-wrap:balance;overflow-wrap:anywhere}.property-info>p:last-child{font-size:13px;font-weight:400;color:#f3f1e8d9;margin-top:17px}.look-hint{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:11px;white-space:nowrap;padding:12px 17px;background:#202723b8;border:1px solid #ffffff29;border-radius:30px;font-size:11px;pointer-events:none;transition:opacity .5s}.look-hint>span:first-child{font-size:19px}.hint-divider{opacity:.4}.touch-hint{display:none}.look-hint.dismissed{opacity:0}.bottom-ui{position:absolute;bottom:0;left:0;right:0;padding:0 42px 20px;pointer-events:none}.bottom-ui button,.bottom-ui nav{pointer-events:auto}.view-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.room-heading .eyebrow{display:block;font-size:8px;margin-bottom:9px;color:#e4e8dd}.room-heading>div{display:flex;align-items:baseline;gap:22px}.room-heading h2{font-size:25px;letter-spacing:-.7px;font-weight:400;margin:0;max-width:min(52vw,600px);overflow-wrap:anywhere}.room-heading #room-count{font-size:10px;color:#e0e3d8;font-variant-numeric:tabular-nums;white-space:nowrap}.controls{display:flex;align-items:center;background:#242925ec;border:1px solid #ffffff24;border-radius:6px;padding:4px;pointer-events:auto;box-shadow:0 4px 18px #0002}.controls button{border:0;background:none;width:41px;height:39px;border-radius:3px;display:grid;place-items:center}.controls button span{font-size:23px;font-weight:300}.controls button:hover{background:#ffffff13}.controls button[aria-pressed=true]{color:var(--accent);background:#f6df6912}.control-divider{height:18px;width:1px;background:var(--line);margin:0 4px}#zoom-label{font-size:10px;width:35px;text-align:center;font-variant-numeric:tabular-nums;color:#cbd1c7}
#rooms{display:flex;gap:12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#ffffff45 transparent;padding:4px 3px 10px;margin:0 -3px;scroll-snap-type:x proximity}.room-card{position:relative;flex:0 0 174px;height:101px;padding:0;border:1px solid #ffffff40;background:#262c26;border-radius:4px;overflow:hidden;scroll-snap-align:start;text-align:left}.room-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s;opacity:.85}.room-card:hover img{transform:scale(1.045);opacity:1}.room-card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,#141a13c9)}.room-card[aria-current=true]{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.room-card[aria-current=true] img{opacity:1}.room-card .room-label{position:absolute;bottom:10px;left:11px;right:20px;z-index:1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-card .room-number{position:absolute;right:9px;top:9px;z-index:1;font-size:8px;background:#20252199;padding:4px;border-radius:2px}.room-card[aria-current=true] .room-number{background:var(--accent);color:#24271d}.add-card{flex:0 0 110px;height:101px;border:1px dashed #ffffff40;background:#ffffff03;border-radius:4px;color:#dfdfd8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:10px}.add-card:hover{background:#ffffff10}.add-card span{font-size:24px;font-weight:300}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:13px;padding-top:14px;border-top:1px solid var(--line);color:#c1c8bb;font-size:10px}footer>div{display:flex;gap:20px;align-items:center}.text-button{border:0;background:none;padding:5px 0;color:#eee;font-size:10px}.text-button:hover{color:var(--accent)}.text-button span{margin-left:9px}.footer-divider{height:13px;width:1px;background:var(--line)}
.loading{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);padding:16px 22px;background:#202723e8;border:1px solid var(--line);border-radius:6px;font-size:13px;display:flex;gap:12px;align-items:center;max-width:85vw}.loading>span{width:7px;height:7px;border-radius:50%;background:var(--accent)}.notice{position:absolute;bottom:280px;left:50%;transform:translateX(-50%);max-width:90vw;background:#222923f5;border:1px solid #f6df6960;border-radius:5px;padding:14px 20px;font-size:12px;text-align:center;z-index:3}.pnlm-load-box,.pnlm-about-msg{display:none!important}.pnlm-error-msg{background:#222923;color:white}.pnlm-container{font-family:inherit}
dialog{width:min(510px,calc(100vw - 32px));max-height:calc(100dvh - 32px);background:#f5f4ed;color:#242820;border:0;border-radius:10px;padding:30px;box-shadow:0 30px 120px #0008;overflow:auto}dialog::backdrop{background:#111914b0;backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-top .eyebrow{margin:0;color:#68705e}.close{border:0;background:transparent;color:#3b4335;font-size:27px;padding:0 4px;line-height:1}dialog h2{font-size:29px;line-height:1.1;font-weight:400;letter-spacing:-1px;margin:22px 0 12px}dialog p{font-size:13px;line-height:1.6;color:#666e60;margin:0 0 20px}label{display:block;font-size:11px;font-weight:600;margin:19px 0 7px}label span{font-weight:400;color:#737968}input:not([type=file]){width:100%;background:#fff;color:#222;border:1px solid #d7dacf;border-radius:4px;padding:12px;font-size:13px}input::placeholder{color:#888f80}.upload-box{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;border:1px dashed #9fa58e;border-radius:5px;padding:18px;background:#e9ebe1;cursor:pointer}.upload-box:hover{background:#e1e5d7}.upload-box strong{font-size:13px}.upload-box>span{font-size:11px}.upload-box .upload-symbol{font-size:25px;color:#343d2c}#photos{width:100%;font-size:11px;color:#616955;padding:4px 0 8px}#photos::file-selector-button{border:1px solid #bbc2ab;border-radius:3px;background:#e9ebe1;padding:6px;color:#3d4932;margin-right:10px}.small{font-size:11px;line-height:1.55}#import-message{margin:0 0 12px;color:#8c3e24;overflow-wrap:anywhere}.primary{width:100%;display:flex;justify-content:space-between;background:#272f23;border:0;color:white;border-radius:4px;padding:14px 17px;font-size:12px}.primary:hover{background:#3d4a32}.privacy{font-size:10px;text-align:center;margin:12px 0 0}dl{margin:24px 0}dt{font-size:12px;font-weight:600;margin-top:19px}dd{font-size:12px;line-height:1.6;color:#626c58;margin:5px 0}#credits{border-top:1px solid #d7ddcd;padding-top:18px;margin-bottom:0}
@media(max-width:700px){#tour{min-height:540px}.topbar{padding:22px 21px;gap:8px}.brand img{width:108px;height:40px}.brand{gap:13px}.brand-caption{font-size:8px;letter-spacing:1px}.brand-divider{height:28px}.header-actions{gap:8px}.badge{display:none}.quiet{font-size:10px;padding:9px 10px}.quiet span{margin-left:3px;font-size:13px}.property-info{top:120px;left:22px;max-width:calc(100vw - 44px)}.property-info .eyebrow{font-size:8px;letter-spacing:1.6px}.property-info h1{font-size:39px;letter-spacing:-1.5px}.property-info>p:last-child{font-size:11px;max-width:290px}.bottom-ui{padding:0 20px 17px}.view-bar{display:block;margin-bottom:15px}.room-heading>div{justify-content:space-between}.room-heading h2{font-size:22px;max-width:78vw}.room-heading .eyebrow{font-size:7px;margin-bottom:5px}.controls{position:absolute;bottom:234px;left:50%;transform:translateX(-50%)}.controls button{width:38px;height:36px}.room-card{flex-basis:137px;height:84px}.add-card{flex-basis:94px;height:84px}.room-card .room-label{font-size:10px}footer{font-size:8px;align-items:flex-start;line-height:1.6;margin-top:4px;padding-top:11px}footer>span{max-width:145px}footer>div{gap:10px}.text-button{font-size:9px;white-space:nowrap}.text-button span{margin-left:4px}.look-hint{top:auto;bottom:293px;transform:translateX(-50%);padding:8px 13px;font-size:9px;gap:7px}.look-hint>span:first-child{font-size:16px}.desktop-hint{display:none}.touch-hint{display:inline}.notice{bottom:285px;font-size:11px;width:max-content}.loading{top:43%}dialog{padding:24px}}
@media(max-height:650px) and (min-width:701px){.topbar{padding-top:18px}.property-info{top:107px}.property-info h1{font-size:36px}.property-info>p:last-child{display:none}.room-card,.add-card{height:77px}.view-bar{margin-bottom:12px}.bottom-ui{padding-bottom:10px}.look-hint{top:50%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media(max-height:700px) and (max-width:700px){.property-info{top:102px}.property-info h1{font-size:28px;letter-spacing:-1px}.property-info>p:last-child,.look-hint{display:none}}
@media(max-height:500px) and (orientation:landscape){#tour{min-height:100dvh}.topbar{padding:12px 22px}.brand img{width:100px;height:37px}.property-info{top:82px;left:22px;max-width:58vw}.property-info h1{font-size:25px;letter-spacing:-.7px}.property-info .eyebrow{margin-bottom:8px}.property-info>p:last-child,.look-hint{display:none}.bottom-ui{padding:0 22px 9px}.view-bar{margin-bottom:9px;display:flex}.room-heading h2{font-size:18px}.room-heading .eyebrow{margin-bottom:4px}.room-card,.add-card{height:62px}.room-card{flex-basis:132px}.controls{position:static;transform:none}.controls button{height:33px;width:36px}footer{margin-top:3px;padding-top:7px}#rooms{padding-bottom:5px}}
#admin-link{color:inherit;text-decoration:none;white-space:nowrap}
@media(max-width:700px){.header-actions{flex-wrap:wrap;justify-content:flex-end}.topbar .brand-caption,.topbar .brand-divider{display:none}.header-actions .quiet{font-size:9px}}

#floorplan-dialog{width:min(920px,94vw);max-width:94vw;max-height:90dvh;overflow:auto}#viewer-plan{background:#fff;border-radius:4px;margin-top:18px;overflow:auto;max-height:60dvh}#viewer-plan>svg{height:auto;max-width:none;display:block}.plan-zoom{display:flex;gap:8px;margin-top:12px}.plan-zoom button{min-width:44px;min-height:44px;background:#fff;color:#28392e;border:1px solid #a3afa4;border-radius:4px;padding:10px 14px}.plan-zoom button:disabled{background:#e8ede7;color:#52614f;opacity:1;cursor:default}#viewer-plan g:focus-visible{outline:2px solid #6b823d}#viewer-floor,#viewer-plan-mode{max-width:240px;padding:10px;border:1px solid #666;background:#fff;color:#28342a;border-radius:4px}#plan-room-links{display:flex;gap:12px;flex-wrap:wrap}#plan-room-links button{border:1px solid #7f8a78;padding:10px;border-radius:4px}@media(max-width:700px){footer>div{flex-wrap:wrap;row-gap:10px}#floorplan-dialog{padding:22px}#viewer-plan{max-height:52dvh}}
#vr-dialog p{overflow-wrap:anywhere}#vr-dialog .vr-note{margin:16px 0 0}#vr-status{font-weight:600}#vr-open{min-height:32px}footer>div{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}#vr-dialog button:focus-visible{outline-color:#526c2b}

.plan-view-options{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-end}.plan-view-options>div{min-width:0}.plan-view-options label{display:block;margin-bottom:7px}.plan-view-options select{max-width:100%!important;font-size:14px}@media(max-width:700px){.plan-view-options>div{flex:1 1 180px}.plan-view-options select{width:100%;font-size:16px}}
