.brandmark{font-family:Georgia,serif}.study-tools{position:fixed;z-index:20;top:145px;left:28px;display:flex;gap:7px;flex-wrap:wrap}.study-tools button,.study-tools a,.click-actions button,#open-study{min-height:44px;border:1px solid #657a66;background:#f9faef;color:#234731;border-radius:7px;padding:10px 13px;font:600 12px system-ui;text-decoration:none;display:flex;align-items:center;justify-content:center}.click-actions{display:flex;gap:8px;margin:10px 0}.click-actions button{flex:1;background:#28533d;color:white}.lot-stats{grid-template-columns:1fr}.lot-stats small{display:block;font-size:10px;line-height:1.5;color:#52684e}.lot-stats strong{font-size:25px}.panel-summary h2{font-size:22px}.panel-summary .house-area{display:none}#open-study{pointer-events:auto;margin-bottom:18px;cursor:pointer}.lot-footer{flex-wrap:wrap}.lot-card{max-height:62vh;overflow:auto}.views button,.dates button,.toggles label{min-height:44px}.study-tools #fullscreen{display:none}.embed .study-tools #fullscreen{display:flex}.embed .masthead,.embed footer,.embed .compass,.embed .view-caption,.embed .sound-button,.embed .explore-tools,.embed #fly,.embed .lot-card{display:none!important}.embed .panel{display:block!important;max-height:52vh;overflow:auto}.embed .panel-details{display:block}.embed .simulation-toggle,.embed .concept-note,.embed .house-state,.embed .sun-note{display:none}.embed .study-tools{top:12px;left:12px}.embed #loading{z-index:100}.embed .top-actions{display:none}.embed .panel-summary{display:none}
@media(max-width:700px){.study-tools{top:135px;left:15px;right:15px}.lot-open .panel.mobile-open{display:block;z-index:30;max-height:62dvh;overflow:auto}.lot-open:has(.panel.mobile-open) .lot-card{display:none}.lot-card{max-height:51dvh}.panel.mobile-open .panel-details{display:block}.panel.mobile-open{bottom:0}.lot-open .compass{top:194px}.embed .panel{bottom:0;left:0;right:0;width:100%;padding:12px 16px}.embed .sheet-handle{display:none}.embed .views{grid-template-columns:repeat(3,1fr);margin:0}.embed .sun-controls{margin-top:8px;padding-top:8px}.embed .section-line{display:none}.embed .range-ticks{display:none}.embed .toggles{margin:6px 0;display:flex;gap:15px}.embed .time-row{margin:5px 0}.embed .dates{margin-top:0}}

#embed-next-lot{display:none}.embed #embed-next-lot{display:flex}.embed #study-controls{display:none}
/* P0: touch-first mobile sheet; the canvas owns the first two thirds. */
@media(max-width:1023px){
 .mobile-ui #panel,.mobile-ui #explore-tools,.mobile-ui .sheet-handle,.mobile-ui .view-caption,.mobile-ui .compass,.mobile-ui #embed-next-lot{display:none!important}
 .mobile-ui .masthead{top:max(12px,env(safe-area-inset-top));left:15px}.mobile-ui .sound-button{top:max(12px,env(safe-area-inset-top))}
 .mobile-ui .study-tools{top:65px;left:15px;right:15px;gap:6px;z-index:25}.mobile-ui .study-tools button,.mobile-ui .study-tools a{font-size:11px;padding:8px 11px;min-height:44px}.mobile-ui #mobile-reopen{display:none}.mobile-ui.sheet-closed #mobile-reopen{display:flex}.mobile-ui.sheet-closed #mobile-search-open{display:none}
 .mobile-ui #lot-card{position:fixed;display:flex!important;flex-direction:column;left:0;right:0;bottom:0;top:auto;width:100%;height:calc(var(--study-vh,100svh)*.33);max-height:none;min-height:0;padding:0 15px max(8px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;z-index:30;overflow:hidden;box-sizing:border-box;background:#f5f7ee;transition:height .18s ease;touch-action:pan-y}
 .mobile-ui #lot-card[data-state=expanded]{height:calc(var(--study-vh,100svh)*.78)}.mobile-ui #lot-card[hidden]{display:none!important}
 .mobile-sheet-head{position:relative;flex:none;height:59px;z-index:2;background:#f5f7ee}.mobile-ui #mobile-sheet-handle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:calc(100% - 48px);min-height:56px;margin:0;padding:4px;border:0;background:transparent;color:#254631;font:600 12px system-ui;touch-action:none}.drag-grip{width:36px;height:4px;border-radius:2px;background:#a5b5a8;margin:1px 0 2px}.mobile-ui #mobile-sheet-handle small{font-size:9px;color:#5c715f;font-weight:400}.mobile-ui #lot-close{position:absolute;right:0;top:6px;width:44px;height:44px;min-height:44px;border:1px solid #bfcec1;border-radius:50%;background:#edf2e8;color:#294735;z-index:3;font-size:26px}
 #mobile-sheet-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:4px}.mobile-ui .click-actions{margin:0 0 7px;gap:8px}.mobile-ui .click-actions button{min-height:48px;display:flex;flex-direction:column;gap:2px;font-size:13px}.mobile-ui .click-actions button span{font-size:9px;font-weight:400;opacity:.8}
 .mobile-camera-chips,.mobile-ui .views{display:flex;overflow-x:auto;gap:6px;grid-template-columns:none;scrollbar-width:none;margin:0 0 4px}.mobile-camera-chips button,.mobile-ui .views button{min-height:44px;flex:0 0 auto;padding:8px 13px;font:600 11px system-ui;border:1px solid #bdcdbd;background:#e8efe3;color:#274a33;border-radius:24px;white-space:nowrap}.mobile-camera-chips button:first-child{flex:1}
 #mobile-more-toggle{display:block;min-height:44px;width:100%;border:0;border-top:1px solid #cfdbcb;background:transparent;color:#315739;font:600 12px system-ui;text-align:center;margin:0}
 .mobile-ui #mobile-house-details[hidden],.mobile-ui #mobile-more[hidden]{display:none!important}.mobile-ui #mobile-more .panel-details{display:block}.mobile-ui #mobile-more h3{font:500 19px Georgia,serif;margin:10px 0 14px}.mobile-ui #mobile-more .simulation-toggle{display:flex!important;min-height:48px}.mobile-ui #mobile-more .toggles{display:flex;gap:25px}.mobile-ui .toggles label{min-height:44px;min-width:95px;font-size:13px}.mobile-ui .toggles input,.mobile-ui #simulation{width:24px;height:24px}.mobile-ui #mobile-more .dates button{min-height:48px}.mobile-ui #hour{min-height:44px;touch-action:none}.mobile-ui #lot-search{display:flex;margin:18px 0 8px;min-height:48px;gap:6px;width:100%}.mobile-ui #lot-input{min-height:44px;width:100%;min-width:0;font-size:16px}.mobile-ui #lot-search button{min-height:44px;min-width:64px}
 .mobile-ui #mobile-house-details .lot-heading{padding-top:12px}.mobile-ui .sun-note{display:block}.mobile-ui.embed .study-tools #fullscreen{display:flex}.mobile-ui.embed #mobile-search-open{display:none}.mobile-ui.embed #study-controls{display:flex}.mobile-ui.embed .top-actions{display:none}
}

.mobile-camera-chips button[aria-pressed=true]{background:#28533d;color:#fff}#mobile-sheet-title{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

#desktop-drawer-tab{display:none}
@media(min-width:1024px){
 .desktop-ui #panel,.desktop-ui #explore-tools,.desktop-ui #mobile-reopen,.desktop-ui #embed-next-lot,.desktop-ui #fly{display:none!important}
 .desktop-ui .study-tools{top:145px;left:38px;right:auto;max-width:500px}
 .desktop-ui .top-actions{right:auto;left:38px;top:205px}
 .desktop-ui #lot-card{display:flex!important;position:fixed;left:auto;right:0;top:0;bottom:0;width:380px;height:100dvh;max-height:none;min-height:0;flex-direction:column;overflow:hidden;border-radius:0;padding:0 18px 18px;background:#f5f7eef5;z-index:30;box-shadow:-12px 0 50px #142c3225;animation:drawer-in .2s ease}
 .desktop-ui #lot-card[hidden]{display:none!important}
 .desktop-ui #desktop-drawer-tab{display:block;position:fixed;right:380px;top:26px;z-index:31;min-height:48px;padding:12px 16px;background:#f5f7ee;border:1px solid #b9caba;border-radius:10px 0 0 10px;font-weight:600;box-shadow:-5px 3px 20px #142c3215}
 .desktop-ui.sheet-closed #desktop-drawer-tab{right:0}
 .desktop-ui .mobile-sheet-head{height:84px;position:relative;flex:none;border-bottom:1px solid #cfdbcb;margin-bottom:12px}
 .desktop-ui #mobile-sheet-handle{width:calc(100% - 48px);height:84px;padding:16px 0;background:transparent;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;text-align:left}
 .desktop-ui #mobile-sheet-title{font:500 17px Georgia,serif}.desktop-ui #mobile-sheet-handle small{font-size:11px;color:#5c715f}
 .desktop-ui #lot-close{position:absolute;right:0;top:20px}
 .desktop-ui #mobile-sheet-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:12px}
 .desktop-ui .click-actions{margin:0 0 12px}.desktop-ui .click-actions button{display:flex;flex-direction:column;gap:4px;min-height:60px;font-size:14px}.desktop-ui .click-actions button span{font-size:10px;font-weight:400}
 .desktop-ui .mobile-camera-chips,.desktop-ui .views{display:flex;gap:5px;overflow-x:auto;margin:0 0 12px;scrollbar-width:thin}
 .desktop-ui .mobile-camera-chips button,.desktop-ui .views button{flex:0 0 auto;padding:10px 12px;min-height:44px;border:1px solid #bdcdbd;border-radius:22px;background:#e8efe3;font-size:11px}
 .desktop-ui .mobile-camera-chips button[aria-pressed=true],.desktop-ui .views button[aria-pressed=true]{background:#28533d;color:#fff}
 .desktop-ui #mobile-more-toggle{display:block;width:100%;min-height:44px;background:transparent;border-block:1px solid #cfdbcb;margin-bottom:12px;font-weight:600}
 .desktop-ui #mobile-more h3{font:500 19px Georgia,serif;margin:14px 0}
 .desktop-ui #mobile-more .panel-details{display:block}.desktop-ui #mobile-more .simulation-toggle{display:flex!important;border:0;padding:0;min-height:48px}
 .desktop-ui #lot-search{display:flex;gap:8px;margin-top:24px}.desktop-ui #lot-input{flex:1;min-width:0}
 .desktop-ui .toggles label{font-size:13px;min-width:110px}.desktop-ui .toggles input,.desktop-ui #simulation{width:22px;height:22px}
 .desktop-ui.embed #lot-card{display:flex!important}.desktop-ui.embed #lot-card[hidden]{display:none!important}
 @keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
}

/* Gesture surfaces do not select text; typing and editing keep native selection. */
body,canvas,#map,#viewer-3d,button,a,label{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
canvas,#scene{touch-action:none}
input,textarea,[contenteditable=true]{user-select:text!important;-webkit-user-select:text!important;-webkit-touch-callout:default}

.sun-only #experience>*:not(#scene):not(.vignette):not(#loading):not(#sun-only-controls):not(#sun-only-back){display:none!important}
.sun-only #sun-only-controls{position:fixed;right:24px;bottom:24px;width:360px;z-index:30;padding:18px 20px;background:#f5f7eef5;border:1px solid #bdcdbd;border-radius:16px;color:#213d43;user-select:none;-webkit-user-select:none}
.sun-only-title{font:500 16px Georgia,serif;margin-bottom:8px}.sun-only .sun-controls{border:0;margin:0;padding:0}.sun-only .section-line{display:flex;align-items:center;justify-content:space-between}.sun-only #sun-state{font-size:11px}.sun-only .sun-note,.sun-only .range-ticks{display:none}.sun-only .dates{margin-top:10px}.sun-only .dates button{min-height:48px}.sun-only .time-row{margin-top:10px}.sun-only #hour{touch-action:none;min-height:44px}.sun-only #sun-only-back{position:fixed;right:16px;top:12px;z-index:31;width:44px;height:44px;border:1px solid #b9caba;border-radius:50%;background:#f5f7ee;display:flex;align-items:center;justify-content:center;font-size:26px;text-decoration:none}
@media(max-width:1023px){.sun-only #sun-only-controls{right:0;left:0;bottom:0;width:100%;padding:12px 18px max(8px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;max-height:calc(var(--study-vh,100svh)*.35);overflow:auto}.sun-only-title{font-size:14px;margin-bottom:7px}.sun-only .dates small{display:none}.sun-only .dates{margin-top:8px}.sun-only .time-row{margin-top:4px}}
@media(min-width:1024px){.desktop-ui .study-tools{top:178px}.desktop-ui .top-actions{top:238px}.desktop-ui .compass{top:305px}}

/* WebKit native menulists ignore min-height alone; explicit size keeps touch targets usable. */
select#tryon-dorms,select#dorms{height:44px!important;min-height:44px!important;box-sizing:border-box;appearance:none;-webkit-appearance:none;font-size:16px;line-height:normal;padding:9px 30px 9px 9px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23284535' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px}
#sun-toggle,#fleet-sun-close{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
#sun-panel.is-collapsed{height:auto!important;min-height:0!important;max-height:64px!important;padding-bottom:8px!important}
#sun-panel [data-season],#sun-time{height:44px;min-height:44px;touch-action:manipulation}#sun-time{touch-action:none}
.click-actions #next-house{background:transparent;color:#28533d;border-color:#657a66}
@media(min-width:1024px){.desktop-ui:not(.sheet-closed) footer{right:408px}}
footer a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;box-sizing:border-box;padding:8px 6px}
@media(max-width:1023px){.mobile-ui.sheet-closed footer{display:flex;left:15px;right:15px;bottom:calc(8px + env(safe-area-inset-bottom))}}
