@font-face{font-family:Montserrat;src:url('fonts/montserrat-latin-400-normal.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:Montserrat;src:url('fonts/montserrat-latin-600-normal.woff2') format('woff2');font-display:swap;font-weight:600}@font-face{font-family:Cinzel;src:url('fonts/cinzel-latin-400-normal.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}body{margin:0;color:#333;background:#edf0ed;font:14px/1.5 Montserrat,Arial,sans-serif;overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0667c6;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Cinzel,Georgia,serif;font-weight:400}h1{font-size:22px;line-height:1.4;margin:8px 0 24px}h2{font-size:23px;margin:8px 0 14px}h3{font-size:15px}.header{height:86px;background:#fff;display:flex;align-items:center;padding:9px 28px;gap:28px;border-bottom:1px solid #dfe4dd;position:relative;z-index:20}.brand{height:65px;width:90px;display:flex;align-items:center}.brand img{width:100%;height:100%;object-fit:contain}.header-title{border-left:1px solid #e2e6e1;padding-left:26px;font-family:Cinzel,Georgia,serif;font-size:18px;letter-spacing:.1px}.header-title span{display:block;margin-top:5px;font:10px/1.5 Montserrat,Arial,sans-serif;letter-spacing:1.9px;color:#718078}nav{margin-left:auto;display:flex;gap:14px;align-items:center}.text-button{border:0;background:transparent;color:#536660;padding:6px 0;font-size:13px;text-decoration:none}.icon-button{width:36px;height:36px;border:1px solid #dce2dc;background:#fff;border-radius:50%;font-size:20px}.workspace{height:calc(100dvh - 86px);position:relative}#viewer,#canvas,#labels{position:absolute;inset:0}#viewer{outline:none}#canvas{background:radial-gradient(ellipse at 62% 45%,#f9faf7 0,#e9eeea 80%)}#canvas canvas{width:100%;height:100%;display:block;touch-action:none}#labels{pointer-events:none;overflow:hidden}.label{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;pointer-events:none;font-size:12px;background:rgba(255,255,255,.94);border:1px solid #d9e0d6;border-radius:3px;padding:5px 9px;color:#354a43;box-shadow:0 2px 8px #172e3010}.label small{margin-right:6px;color:#719540;font-size:11px;font-weight:600}.label.selected{background:#0667c6;color:#fff}.label.selected small{color:#fff}.panel{background:#ffffffee;backdrop-filter:blur(14px);border:1px solid #fff;box-shadow:0 12px 30px #20382b0c}.explorer{position:absolute;top:24px;left:24px;width:286px;padding:25px 22px 20px;max-height:calc(100% - 100px);overflow:auto;border-radius:6px;z-index:4;scrollbar-width:thin}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;color:#5b9a0c}.panel-heading{display:flex;justify-content:space-between}.section-label{font-size:10px;letter-spacing:1.5px;color:#7f897e;margin:24px 0 10px}label{display:block;font-size:12px;margin-bottom:7px;color:#475950}.search-box{display:flex;gap:8px;align-items:center;border:1px solid #d5ded4;border-radius:4px;background:#fff;padding-left:10px;min-height:42px}.search-box>span{font-size:24px;line-height:1;color:#83977d}.search-box input{width:100%;border:0;min-width:0;background:transparent;padding:10px 0;outline:0;font-size:13px}.search-box button{background:#0667c6;color:white;border:0;align-self:stretch;padding:0 12px;border-radius:0 3px 3px 0;font-size:12px;font-weight:600}.error{font-size:12px;color:#a1472f;margin:6px 0 0}.error:empty{display:none}.segmented{display:flex;background:#eff3ed;padding:3px;border-radius:4px;gap:2px}.segmented button{flex:1;border:0;background:transparent;padding:7px 2px;font-size:11px;border-radius:3px;white-space:nowrap}.segmented [aria-pressed=true]{background:#fff;box-shadow:0 1px 4px #17322012;color:#437215;font-weight:600}.tower-list{margin:18px 0}.tower-button{display:flex;width:100%;gap:13px;align-items:center;background:transparent;border:0;border-bottom:1px solid #e8ede6;padding:10px 2px;text-align:left}.tower-button:last-child{border-bottom:0}.tower-letter{display:grid;place-items:center;width:30px;height:34px;border-radius:3px;background:#f0f4ed;color:#679338;font-size:14px}.tower-button.selected .tower-letter{background:#0667c6;color:white}.tower-button span.tower-name{font-family:Cinzel,Georgia,serif;font-size:14px}.tower-name small{display:block;font-family:Montserrat,sans-serif;font-size:10px;color:#859181;margin-top:1px;letter-spacing:.3px}.tower-button .tower-symbol{margin-left:auto;color:#a7b3a2}.tower-button:hover{background:#f5f8f2}.filter-block{border-top:1px solid #e1e7dd;padding-top:14px}select{width:100%;border:1px solid #dce3d8;background:#fff;border-radius:3px;padding:9px;color:#435345;font-size:12px;margin-bottom:10px}.subtle{color:#7a8678;font-size:12px}.layer-controls{margin:15px 0 18px}.layer-controls label{display:flex;align-items:center;gap:8px;cursor:pointer;margin:12px 0}.layer-controls input{accent-color:#5b9a0c;width:15px;height:15px;margin:0}.lazer-button{width:100%;border:1px solid #dce7d0;background:#f5f9ef;color:#527b27;display:flex;justify-content:space-between;border-radius:3px;padding:10px;font-size:12px}.panel-footer{font-size:11px;line-height:1.8;border-top:1px solid #e5eae1;margin-top:19px;padding-top:15px;color:#81907c}.panel-footer span{padding:0 8px}.panel-footer button{font-size:11px;margin-top:5px}.toolbar{position:absolute;bottom:27px;left:calc(50% + 135px);transform:translateX(-50%);background:#fffefc;display:flex;gap:4px;align-items:center;border:1px solid #fff;box-shadow:0 8px 25px #14342614;border-radius:5px;padding:7px;z-index:4}.toolbar button{border:0;background:transparent;min-width:46px;height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:3px;padding:0 12px;white-space:nowrap}.toolbar button.active{background:#edf4e5;color:#578d26}.toolbar button:hover{background:#f0f4ed}.toolbar span{font-size:23px;line-height:1}.toolbar em{font-style:normal;font-size:11px}.toolbar>i{height:22px;background:#e0e6dd;width:1px;margin:0 5px}.view-badge{position:absolute;left:340px;top:28px;display:flex;align-items:center;gap:8px;font-size:12px;color:#5b6c5e;background:#fff9;backdrop-filter:blur(10px);padding:8px 12px;border-radius:4px}.view-badge i{width:6px;height:6px;border-radius:50%;background:#73ad34}.orientation{position:absolute;right:27px;top:30px;display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:1.4px;color:#768378}.orientation span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #cad3c8;background:#fff8;border-radius:50%;font-size:22px;color:#608244}.gesture-hint{position:absolute;bottom:105px;left:calc(50% + 135px);transform:translateX(-50%);font-size:11px;color:#79857d;white-space:nowrap}.scale{position:absolute;left:344px;bottom:35px;font-size:10px;color:#667967}.scale i{display:block;border:1px solid #809179;border-top:0;height:7px;margin-top:3px;width:70px}.status-note{position:absolute;right:24px;bottom:26px;font-size:9px;color:#788978;text-align:right;max-width:170px;pointer-events:none}.status-note span{padding:0 5px}.details{position:absolute;right:24px;bottom:110px;width:285px;padding:22px;border-radius:5px;z-index:5}.details .close{position:absolute;right:12px;top:10px;background:transparent;border:0;font-size:24px;color:#8c9686}.details p{font-size:12px;color:#697763;margin:10px 0 0}.details h2{padding-right:10px;font-size:24px}.detail-row{display:flex;justify-content:space-between;border-top:1px solid #e1e7dd;padding:9px 0;font-size:12px}.detail-row span{color:#7d8778}.detail-row b{font-weight:600}.detail-note{border-left:2px solid #73ad34;padding-left:10px}.detail-alert{color:#976b24!important;border-left:2px solid #bd9539;padding-left:10px}.primary{display:block;width:100%;border:0;background:#0667c6;color:#fff;border-radius:4px;padding:10px;margin-top:12px;font-size:13px}.toast{position:absolute;top:85px;left:calc(50% + 135px);transform:translateX(-50%);background:#354e37;color:#fff;box-shadow:0 6px 24px #20382b25;padding:12px 18px;z-index:10;border-radius:5px;max-width:430px;font-size:13px}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#edf1eb;z-index:15}#loading span{color:#7d8a75;font-size:13px}.spinner{border:2px solid #d0dfc7;border-top-color:#5b9a0c;border-radius:50%;width:28px;height:28px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{width:min(600px,90vw);border:1px solid #dbe2d6;border-radius:7px;padding:25px;color:#333;background:#fff;max-height:85dvh;overflow:auto;box-shadow:0 30px 100px #243b3b20;font:14px/1.7 Montserrat,Arial,sans-serif}dialog::backdrop{background:#273b3359;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:10px}.dialog-heading h2{font-size:23px}.source-dialog{width:min(1000px,92vw)}.source-image{height:62vh;overflow:auto;background:#eee}.source-image img{display:block;max-width:100%;height:auto}.source-dialog p{font-size:12px;margin:15px 0 0}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.help-grid p{font-size:13px}#validation-content ul{padding-left:20px}#validation-content p,#validation-content li{font-size:13px}#amenities-list button{display:flex;width:100%;text-align:left;justify-content:space-between;padding:13px;border:0;border-top:1px solid #e0e8da;background:#fff}#amenities-list button span{color:#7a8973;font-size:12px}.mobile-panel,.mobile-only{display:none}.editor-panel{width:310px}.editor-panel h1{margin-bottom:10px}.editor-panel label{margin-top:10px}.editor-panel .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.editor-panel input,.editor-panel textarea{max-width:100%;width:100%;border:1px solid #dce4d6;padding:8px;background:#fff;border-radius:3px}.editor-panel .search-box input{border:0}.editor-panel textarea{font-family:monospace;font-size:12px}.editor-actions{display:grid;gap:8px;margin:20px 0}.editor-actions button,.file-button,#apply-routes{border:1px solid #d5e0d0;background:#f7f9f4;padding:10px;border-radius:3px;cursor:pointer;color:#456235;text-align:center;font-size:12px}.file-button{margin:0!important}#editor-feedback{color:#376527;font-size:12px}details summary{cursor:pointer;font-size:13px}[hidden]{display:none!important}@media(min-width:1500px){.explorer{top:32px;left:32px;padding:30px 25px;width:304px}.tower-button{padding:12px 2px}.view-badge{left:366px}.scale{left:368px}.details{right:32px;width:310px}}@media(max-height:830px) and (min-width:761px){.explorer{max-height:calc(100% - 100px);padding-top:19px}.explorer h1{margin-bottom:17px;font-size:20px}.tower-list{margin:12px 0}.tower-button{padding:6px 2px}.filter-block{padding-top:10px}.filter-block label{font-size:11px}.layer-controls{margin:6px 0 12px}.section-label{margin-top:18px}.panel-footer{margin-top:13px;padding-top:10px}}@media(max-width:1100px){.status-note{display:none}.orientation{top:25px}.toolbar{bottom:20px}.gesture-hint{bottom:90px}.details{width:255px}.header-title{font-size:16px}}@media(max-width:760px){.header{height:68px;padding:5px 14px;gap:12px}.brand{height:55px;width:71px}.header-title{font-size:12px;padding-left:12px;border-left:1px solid #e5e9e0;max-width:160px}.header-title span{font-size:8px;letter-spacing:.6px;margin-top:3px}.header nav{gap:8px}.header nav .text-button{display:none}.icon-button{width:31px;height:31px;font-size:18px}.workspace{height:calc(100dvh - 68px)}.explorer{top:14px;left:14px;width:calc(100% - 28px);max-height:calc(100% - 95px);padding:18px;display:none}.explorer.open{display:block}.explorer h1{font-size:21px}.panel-heading{align-items:start}.mobile-only{display:block}.mobile-panel{display:block;position:absolute;left:14px;top:16px;z-index:3;background:#fffffff2;border:1px solid #fff;box-shadow:0 3px 15px #31532812;padding:9px 12px;border-radius:3px;font-size:12px;color:#526345}.view-badge{left:auto;right:14px;top:16px;font-size:10px;padding:8px}.orientation{top:64px;right:17px;font-size:7px;letter-spacing:.7px}.orientation span{height:32px;width:32px;font-size:18px}.toolbar{left:50%;bottom:19px;max-width:calc(100% - 20px);padding:5px;gap:1px}.toolbar button{min-width:38px;padding:0 9px;height:41px;gap:4px}.toolbar em{font-size:10px}.toolbar span{font-size:20px}.gesture-hint{left:50%;bottom:85px;font-size:10px}.scale{left:18px;bottom:104px;font-size:9px}.scale i{width:45px}.details{right:14px;left:14px;bottom:100px;width:auto;max-height:42dvh;overflow:auto;padding:17px}.details h2{font-size:21px;margin-bottom:9px}.details .detail-row{padding:6px 0;font-size:11px}.details .detail-note,.details p{font-size:11px}.details .eyebrow{font-size:9px}.toast{left:50%;top:65px;width:calc(100% - 40px);font-size:12px;max-width:350px}.help-grid{grid-template-columns:1fr;gap:0}.source-image{height:60vh}.source-image img{max-width:none;width:1100px}dialog{padding:20px}.editor-panel{display:block;width:270px;top:65px;max-height:calc(100% - 150px);padding:15px}.editor-panel label{font-size:11px}.editor-panel h1{font-size:19px}.editor-page .toolbar{left:auto;right:12px;top:15px;bottom:auto;transform:none}.editor-page .header-title{max-width:130px}.editor-page nav a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
.construction-badge{position:absolute;right:24px;top:62px;padding:9px 13px;border:1px solid #cf7b27;border-left:5px solid #df8625;border-radius:5px;background:#fff5e4ec;color:#8a420b;font-size:11px;font-weight:600;pointer-events:none}.parking-note{line-height:1.6}.journey-panel{position:absolute;z-index:8;left:calc(50% + 120px);top:24px;transform:translateX(-50%);width:min(360px,calc(100% - 36px));padding:15px 38px 15px 17px;background:#fffdf9ed;border:1px solid #dfe3df;border-radius:12px;box-shadow:0 8px 32px #17362b1c;display:grid;gap:9px}.journey-panel[hidden]{display:none}.journey-panel strong{font-size:14px}.journey-panel span{font-size:11px;color:#5d6864}.journey-panel progress{width:100%;height:6px;accent-color:#e52828}.journey-panel button{position:absolute;right:10px;top:8px;border:0;background:none;font-size:23px;cursor:pointer}#parking-data-fields input{width:100%;border:1px solid #dfe3df;border-radius:6px;padding:10px;margin-bottom:10px}@media(max-width:760px){.construction-badge{right:12px;top:51px;font-size:10px;padding:6px 9px}.journey-panel{left:50%;top:90px;width:min(360px,calc(100% - 24px));}.parking-note{font-size:10px}}
.location-pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none;filter:drop-shadow(0 3px 6px #17465c40)}.location-pin[hidden]{display:none}.location-pin strong{font-size:12px;padding:8px 12px;border-radius:7px;color:#fff;background:#0667c6;max-width:220px;text-align:center;line-height:1.4}.location-pin-symbol{display:grid;place-items:center;width:32px;height:32px;background:#0667c6;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);color:#fff;font-size:15px;margin-bottom:7px}.detail-description{white-space:pre-wrap;overflow-wrap:anywhere}.detail-description-title{font-size:11px!important;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#4b665b}#edit-description{width:100%;padding:10px;border:1px solid #dfe3df;border-radius:6px;resize:vertical;font:inherit;font-size:12px;line-height:1.5;margin-bottom:12px}

/* Navigation, credits and compact amenity locations. */
.header nav .lazer-button{width:auto;white-space:nowrap;font-size:14px;font-weight:600;padding:10px 14px}.project-credits{border-top:1px solid #e1e7dd;margin-top:14px;padding-top:10px;font-size:12px!important;line-height:1.65;color:#52615d!important}.status-note{display:block;max-width:350px;font-size:12px;bottom:8px;color:#53635b}.details{max-height:calc(100% - 150px);overflow:auto}.detail-row{gap:12px}.detail-row b{text-align:right}.location-pin strong{font-size:14px}.panel-footer .project-credits{font-size:12px}.header-title{flex-shrink:1}.source-image img{max-width:none;width:1300px}.details p,.detail-row,select,label,.search-box input{font-size:14px}.details p{line-height:1.55}
@media(max-width:1100px){.header-title{display:none}.status-note{font-size:11px;max-width:330px}.details{width:285px}}
@media(max-width:760px){.header{height:76px;padding:6px 10px;gap:8px}.workspace{height:calc(100dvh - 76px)}.header nav{gap:6px}.header nav .lazer-button{font-size:12px;white-space:normal;max-width:144px;padding:7px 9px;line-height:1.4}.status-note{left:8px;right:8px;text-align:center;max-width:none;font-size:10px;bottom:4px;line-height:1.2}.status-note br{display:none}.status-note strong{font-weight:400;margin-left:4px}.toolbar{bottom:33px}.gesture-hint{bottom:100px}.details{bottom:112px;max-height:48dvh;width:auto}.details p,.details .detail-row{font-size:14px}.details .detail-row{padding:8px 0}.construction-badge{max-width:calc(100% - 24px);font-size:11px}.view-badge{max-width:55%;font-size:11px}.explorer{max-height:calc(100% - 112px)}.scale{bottom:119px}.location-pin strong{font-size:12px}}

/* Camera presets stay above the scene; the footer reserves its own visible space. */
.workspace{height:calc(100dvh - 86px - 46px);margin-bottom:46px}
.toolbar{top:12px;bottom:auto;left:calc(50% + 140px);gap:2px;max-width:calc(100% - 345px);overflow-x:auto;background:#fffffff5;z-index:9;scrollbar-width:thin}
.toolbar button{min-height:44px;flex-shrink:0}.toolbar em{font-size:14px}.toolbar button.active{background:#075eae;color:#fff}
.status-note{position:fixed;inset:auto 0 0;max-width:none;min-height:46px;padding:10px 14px;display:flex;justify-content:center;align-items:center;gap:6px;text-align:center;background:#173f38;color:#fff;border-top:3px solid #80b94f;font-size:14px;line-height:1.45;z-index:22;pointer-events:none}
.status-note strong{font-weight:600;color:#fff}.gesture-hint{bottom:18px}.scale{bottom:44px}
.view-badge{top:78px}.construction-badge{top:123px}.orientation{top:172px}.details{top:165px;bottom:auto;max-height:calc(100% - 185px)}
@media(max-width:1100px){.toolbar{left:calc(50% + 100px);max-width:calc(100% - 315px)}.toolbar em{font-size:12px}.toolbar button{padding:0 8px}.header{height:76px}.workspace{height:calc(100dvh - 76px - 46px)}}
@media(max-width:760px){.workspace{height:calc(100dvh - 76px - 62px);margin-bottom:62px}.toolbar{top:10px;left:10px;right:10px;transform:none;max-width:none;justify-content:flex-start;padding:4px;border-radius:6px}.toolbar button{min-width:52px;padding:0 8px;min-height:44px;height:auto;gap:3px}.toolbar em{font-size:12px}.toolbar span{font-size:18px}.mobile-panel{top:74px;min-height:44px;font-size:14px}.view-badge{top:76px;right:10px}.construction-badge{top:130px;right:10px;font-size:12px}.orientation{top:176px}.details{top:auto;bottom:14px;max-height:39%;width:auto;left:10px;right:10px;padding:16px}.details p,.details .detail-row{font-size:14px}.explorer{top:70px;max-height:calc(100% - 90px)}.status-note{min-height:62px;font-size:12px;padding:8px 12px;flex-wrap:wrap;gap:3px 5px}.status-note strong{font-weight:600;margin:0}.gesture-hint{bottom:16px}.scale{bottom:44px}.journey-panel{top:177px}.toast{top:180px}.header nav .lazer-button{min-height:44px}.search-box input{font-size:16px}}
@media(max-height:520px) and (max-width:1000px){.header{height:58px}.workspace{height:calc(100dvh - 58px - 46px);margin-bottom:46px}.brand{height:46px}.status-note{min-height:46px}.details{max-height:48%;max-width:320px;left:auto}.orientation,.gesture-hint{display:none}.construction-badge{top:118px}.journey-panel{top:74px}}

/* Discreet copyright; project credits open in a native accessible dialog. */
:root{--footer-height:44px;--header-height:86px}
.workspace{height:calc(100dvh - var(--header-height) - var(--footer-height));margin-bottom:var(--footer-height)}
.status-note{height:var(--footer-height);min-height:var(--footer-height);padding:0 12px;background:#f8faf9;color:#596660;border-top:1px solid #dce3df;font-size:12px;line-height:1.4;flex-wrap:nowrap;gap:5px;pointer-events:auto}
.credits-button{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;padding:0;background:transparent;border:0;border-radius:4px;color:#596660}
.credits-button:hover{background:#edf2ef;color:#173f38}
.credits-dialog{width:calc(100% - 32px);max-width:420px;font-size:16px}
.credits-dialog p{line-height:1.8}.credits-dialog .credits-label{font-size:14px;color:#627168;margin:18px 0 4px}
.credits-dialog a{color:#075eae;overflow-wrap:anywhere}.credits-dialog .dialog-heading{align-items:center}.credits-dialog h2{font-size:22px;margin:0}
@media(max-width:1100px){:root{--header-height:76px}}
@media(max-height:520px) and (max-width:1000px){:root{--header-height:58px}}

#mobile-search-slot,#detail-summary,#detail-toggle{display:none}.toolbar #show-route{display:none}
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
 :root{--header-height:56px;--footer-height:44px}
 .header{height:56px;padding:4px 12px;gap:8px}.brand{height:46px;width:62px}.header-title{display:none}.header nav{gap:6px}.header nav .lazer-button{font-size:12px;min-height:44px;padding:6px 10px;max-width:150px;white-space:normal}.header nav .text-button{display:none}.header .icon-button{width:36px;height:36px}
 .workspace{height:calc(100dvh - var(--header-height) - var(--footer-height));margin-bottom:var(--footer-height)}
 .construction-badge,.view-badge,.orientation,.gesture-hint,.scale{display:none}
 #mobile-search-slot{display:block;position:absolute;top:10px;left:12px;right:12px;z-index:8;max-width:420px;margin:auto}#mobile-search-slot label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#mobile-search-slot .search-box{height:46px;background:#fffffff5;border-radius:8px;box-shadow:0 3px 12px #20382b18}#mobile-search-slot input{font-size:16px}#mobile-search-slot button{font-size:14px;padding:0 18px}#mobile-search-slot .error{background:#fff;padding:6px;border-radius:4px}
 .mobile-panel{display:block;top:auto;bottom:12px;left:12px;width:90px;height:48px;padding:5px;font-size:12px;line-height:1.4;border-radius:8px;z-index:9}
 .toolbar{top:auto;bottom:12px;left:112px;right:12px;transform:none;width:auto;max-width:none;justify-content:space-between;gap:2px;padding:2px;border-radius:8px;z-index:9;overflow-x:auto}.toolbar button{height:44px;min-height:44px;min-width:44px;padding:0 8px;flex-shrink:0}.toolbar em{font-size:12px}.toolbar #view-front,.toolbar #view-back,.toolbar #view-left,.toolbar #view-right,.toolbar i{display:none}.toolbar #show-route:not([hidden]){display:flex}.mobile-route .toolbar #view-top{display:none}
 .explorer{display:none;top:68px;bottom:72px;left:12px;width:calc(100% - 24px);max-height:none;padding:18px;z-index:11;border-radius:8px}.explorer.open{display:block}.explorer .mobile-only{display:block}.explorer #search-form{display:none}
 .details{top:auto;bottom:74px;left:12px;right:12px;width:auto;max-width:none;max-height:55%;padding:13px 16px;border-radius:10px;z-index:8}.details .eyebrow{display:none}.details h2{font-size:19px;margin:0 38px 3px 0}.details #detail-summary{display:block;font-size:13px;margin:0 0 5px;color:#52635b;line-height:1.45}.details #detail-toggle{display:block;border:0;background:none;padding:4px 0;min-height:28px;color:#075eae;font-size:13px}.details.mobile-compact #detail-content{display:none}.details .close{width:36px;height:36px;top:5px;right:7px}.details .detail-row{font-size:14px}
 .journey-panel{top:auto;bottom:74px;left:12px;right:12px;transform:none;width:auto;max-width:none;padding:9px 42px 9px 12px;gap:4px;border-radius:8px;z-index:8}.journey-panel strong{font-size:13px}.journey-panel span{display:none}.journey-panel progress{height:5px}.journey-panel button{top:2px;width:36px;height:36px}
 .status-note{inset:auto 0 0;height:44px;min-height:44px;max-width:none;flex-wrap:nowrap;padding:0 6px;font-size:11px}.toast{top:68px}.label{font-size:11px;padding:3px 6px}.label small{font-size:10px}
}
@media(max-height:520px) and (max-width:1100px) and (pointer:coarse){.details{width:260px;left:auto;max-height:55%}.journey-panel{left:auto;width:260px}.header{height:56px}}

@media(max-width:760px),(pointer:coarse) and (max-width:1100px){:root{--header-height:calc(56px + env(safe-area-inset-top,0px));--footer-height:calc(44px + env(safe-area-inset-bottom,0px))}.header{height:var(--header-height);padding-top:calc(4px + env(safe-area-inset-top,0px))}.status-note{height:var(--footer-height);min-height:var(--footer-height);padding-bottom:env(safe-area-inset-bottom,0px)}}

@media(max-width:760px),(pointer:coarse) and (max-width:1100px){.mobile-route #labels .label:not(.selected){display:none}}

/* Both lookup modes share the existing parking route and registered map. */
.search-modes{display:flex;gap:4px;padding:3px;background:#f5f5f0;border:1px solid #dce4d6;border-radius:7px;margin-bottom:10px}
.search-modes button{flex:1;min-height:40px;border:0;border-radius:4px;background:transparent;font:600 13px Montserrat,Arial,sans-serif;color:#526345;cursor:pointer}
.search-modes button[aria-pressed="true"]{background:#0667c6;color:#fff}
#apartment-fields select{width:100%;min-height:44px;margin-bottom:10px}
.search-result{font-size:12px;line-height:1.5;color:#0667c6;margin:8px 0 0;overflow-wrap:anywhere}
#search-form .error:empty{display:none}
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
 #mobile-search-slot #search-form{background:#fffffff5;padding:6px;border:1px solid #dce4d6;border-radius:10px;box-shadow:0 3px 12px #20382b18}
 #mobile-search-slot .search-modes{margin-bottom:6px;padding:2px}
 #mobile-search-slot .search-modes button{padding:0 8px;font-size:13px;min-height:36px}
 #mobile-search-slot #apartment-tower{font-size:16px;min-height:42px;margin-bottom:6px}
 #mobile-search-slot .search-box{box-shadow:none}
 #mobile-search-slot .search-result{font-size:12px;margin:6px 3px 0}
 .explorer{top:10px}
}

@media(max-height:520px) and (max-width:1100px) and (pointer:coarse), (max-height:520px) and (max-width:760px){
 #mobile-search-slot{right:auto;width:260px;max-width:calc(50% - 24px);margin:0}
}
