.mobile-dock,.mobile-explore,.mobile-joystick{display:none}
.mobile-sheet{border:0;padding:0;color:#233d35;background:#f8faf8;border-radius:24px 24px 0 0;width:100%;max-width:750px;max-height:78dvh;margin:auto auto 0;box-shadow:0 -10px 60px #10251e40}
.mobile-sheet::backdrop{background:#10231d60}
.mobile-sheet-heading{position:sticky;top:0;background:#f8faf8;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;z-index:1;border-bottom:1px solid #dce3de}
.mobile-sheet-heading button{font-size:24px;width:44px;height:44px;padding:0}
.mobile-sheet-content{padding:4px 16px max(20px,env(safe-area-inset-bottom));overflow:auto}
.mobile-sheet section{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 22px}
.mobile-sheet h3{width:100%;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#607066;margin:4px 0}
.mobile-sheet section button{min-height:44px;flex:1 0 40%;font-size:14px}
.mobile-sheet section button.active{background:#dce7dc}
.mobile-sheet label{width:100%;font-size:13px;display:grid;gap:7px}
.mobile-sheet select{width:100%;min-height:44px;font:inherit}
@media(max-width:750px){
 body{overflow:hidden}header{height:60px!important;padding:8px 14px!important;flex-wrap:nowrap!important;gap:8px!important}header strong{font-size:16px!important}header small,header nav,header>#reset{display:none!important}
 .mobile-explore:not([hidden]){display:block;min-height:44px;padding:9px 16px;font-size:13px}
 main{height:calc(100dvh - 120px - env(safe-area-inset-bottom))!important}aside{display:none!important}#viewport{width:100%;height:100%}
 .mobile-dock:not([hidden]){position:fixed;bottom:0;left:0;right:0;display:flex;height:calc(60px + env(safe-area-inset-bottom));padding:7px 12px calc(7px + env(safe-area-inset-bottom));gap:8px;background:#f8faf8;border-top:1px solid #dce3de;z-index:15}
 .mobile-dock button{flex:1;min-height:44px;padding:8px;font-size:13px}
 .room-bar,.tour-tools,.parking-tools,.walk-pad,.badge,.hint,.floor-callout{display:none!important}
 .photo-toggle{top:10px;right:10px}.photo-toggle button{min-height:36px;font-size:12px}
 .unit-strip{top:58px!important;left:8px!important;right:8px;max-width:none!important;overflow:auto;gap:6px!important}.unit-heading{display:none!important}.unit-card{min-width:110px!important;min-height:56px;font-size:12px}
 body:not([data-mobile-view=plan]) .unit-strip{display:none!important}
 .unit-details{inset:auto 8px 8px!important;width:auto!important;max-height:65%!important;padding:16px!important;z-index:12}.unit-details>*{animation:none!important}.unit-details h2{font-size:23px}.unit-details button{min-height:44px!important}.unit-details .details-close{width:44px!important}.unit-details dl{font-size:12px}.unit-rooms{display:none}
 .mobile-joystick:not([hidden]){display:grid;justify-items:center;position:absolute;bottom:18px;left:16px;z-index:10;gap:8px;user-select:none;-webkit-user-select:none}
 .joystick-base{display:grid;place-items:center;width:112px;height:112px;padding:0;border-radius:50%;border:1px solid #ffffffb0;background:#f7fcf580;box-shadow:0 4px 20px #12271d20;touch-action:none}
 .joystick-base:active{background:#f7fcf5a0}.joystick-knob{width:48px;height:48px;border-radius:50%;background:#294f41e8;border:2px solid #fff;box-shadow:0 4px 12px #0003;pointer-events:none}
 .mobile-joystick small{font-size:10px;background:#203b31d9;color:white;padding:5px 8px;border-radius:12px;pointer-events:none}
 .tour-notice{top:56px!important;bottom:auto!important;left:12px!important;right:12px!important;max-width:calc(100% - 24px)!important;font-size:12px;pointer-events:none}
 .door-prompt{right:12px!important;left:auto!important;bottom:28px!important;max-width:160px}.door-prompt button{min-height:44px}
 .strain-offer{left:8px!important;right:8px!important;bottom:8px!important;font-size:11px;z-index:14}.strain-offer button{min-height:40px;padding:8px}
 .viewing-dialog{width:calc(100% - 24px)!important;max-width:450px;max-height:85dvh;overflow:auto;padding:20px!important}.viewing-dialog input,.viewing-dialog textarea{font-size:16px;min-height:44px}
 body.plain-tour main{height:calc(100dvh - 60px)!important}.plain-note{font-size:11px!important;max-width:calc(100% - 32px)!important;bottom:16px!important}
}
@media(max-width:750px) and (max-height:500px){.mobile-joystick:not([hidden]){bottom:8px}.joystick-base{width:88px;height:88px}.mobile-joystick small{display:none}.mobile-sheet{max-height:90dvh}.unit-details{max-height:85%!important}}
@media(max-width:750px){
 .strain-offer{top:56px!important;bottom:auto!important;left:8px!important;right:8px!important;transform:none!important;max-width:none!important;flex-wrap:nowrap!important;padding:8px!important;gap:6px!important;text-align:left!important}
 .strain-offer span{flex:1;min-width:0}.strain-offer button{flex:none;font-size:11px;padding:7px!important}
 body:has(.strain-offer) .unit-strip{top:136px!important}
 .door-prompt{top:auto!important;transform:none!important}
}
.mobile-sheet[open]{display:flex;flex-direction:column}.mobile-sheet-heading{flex:none}.mobile-sheet-content{min-height:0}
.mobile-sheet-footer:not([hidden]){flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #dce3de;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:#f8faf8}.mobile-sheet-footer button{min-height:44px;background:#294f41;color:#fff;padding:10px 24px}
