/* Portable edition polish: readable focus, quality control, small-screen safe areas. */
:root{color-scheme:dark}button,a,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid #f2d69b;outline-offset:4px}button:disabled{opacity:.4;cursor:not-allowed}.quality-picker{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.quality-picker select{appearance:auto;color:#f5f0e4;background:#183b40d9;border:1px solid #ffffff35;border-radius:20px;padding:9px 7px;font:inherit;min-height:36px}.retry-button{border:1px solid #b8c8bb;background:#e9e6d9;color:#183b40;border-radius:25px;padding:12px 22px;cursor:pointer;margin:12px}.load-state p{max-width:35ch;line-height:1.6}.load-state a{color:#e8dfc9;margin:10px}.offline-map-base text{font-family:system-ui,sans-serif}.miami-base-tiles{display:none}
@media(max-width:700px){.quality-picker>span{display:none}.quality-picker select{font-size:10px;padding:7px 5px}.top-actions{gap:6px}.topbar{padding-top:max(16px,env(safe-area-inset-top))}.bottom-bar{padding-bottom:max(16px,env(safe-area-inset-bottom))}#experience{min-height:100svh;height:100dvh}.help{max-height:80dvh;overflow:auto}}
@media(max-height:600px){#experience{min-height:100svh;height:100dvh}.topbar{top:0;padding:12px 20px}.navigation{display:none}.rail{top:80px;bottom:auto;transform:none}.bottom-bar{bottom:10px}.gesture-hint{display:none}.explore-panel{top:75px;bottom:85px;max-height:calc(100dvh - 160px);overflow:auto}.project-label{display:none}.zoom-controls{bottom:90px}.view-dialog,.help,.route-map-dialog{max-height:85dvh;overflow:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.load-state.is-error{background:linear-gradient(180deg,#10272e33,#10272eeb 65%,#10272e);isolation:isolate;text-align:center}.fallback-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:brightness(.45)}.fallback-label{color:#d3ddcc;letter-spacing:.16em;font-size:10px}.load-state.is-error p{color:#f2f1e9}.load-state.is-error .load-brand{font-size:64px;letter-spacing:.2em}.load-state.is-error a{font-size:12px}

@media(max-height:600px){.explore-panel{transform:none}.zoom-controls{top:auto;transform:none}.rail{gap:5px;padding:7px 5px}.rail-button{width:32px;height:32px}.rail-rule{margin:1px 0}.bottom-bar{gap:8px}.lighting button{padding:9px 10px}}
@media(max-height:400px) and (min-width:700px){.rail{top:72px;left:16px;flex-direction:row}.rail-rule{width:1px;height:25px;margin:4px}.explore-panel{top:120px;bottom:65px;max-height:calc(100dvh - 185px)}.zoom-controls{right:16px;bottom:72px}.bottom-bar{left:16px;right:16px}.view-travel{gap:8px}}
/* Honest image preview: complete 3D loads only on explicit entry. */
.load-state{isolation:isolate;align-items:flex-start;padding:clamp(24px,6vw,100px);overflow:auto;background:#10272e}.entry-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.load-state::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,27,33,.97),rgba(8,27,33,.8) 42%,rgba(8,27,33,.15));z-index:-1}.entry-copy{max-width:550px;color:#fff}.entry-eyebrow{font-size:12px;letter-spacing:.25em;color:#e4cfaa}.load-state .load-brand{margin:24px 0 18px;font-size:clamp(52px,10vw,108px);line-height:1;letter-spacing:.17em}.entry-copy h2{font-size:clamp(26px,4vw,48px);font-weight:400;line-height:1.13;margin:20px 0}.entry-description{font-size:16px;line-height:1.65;color:#eef1ed}.entry-note{font-size:12px;line-height:1.65;color:#d9e4e2}#enter-scene{display:flex;align-items:center;justify-content:space-between;gap:35px;border:0;border-radius:3px;background:#edddbb;color:#112d34;font:600 14px system-ui;padding:19px 22px;margin-top:28px;min-height:52px;cursor:pointer}.load-state .entry-overview{display:inline-block;font-size:13px;margin:20px 0;text-underline-offset:5px;color:#f4ead6}#experience[data-preview] #load-label,#experience[data-preview] #load-progress,#experience[data-preview] #load-percent{display:none}#experience[data-preview] #load-label:not([hidden]){display:block}.load-state.is-loading .entry-note{display:none}.load-state #load-label{font-size:13px;max-width:52ch;margin:6px 0}.load-state.is-error{align-items:center}.load-state.is-error::before{display:none}.glass{background-color:rgba(14,37,43,.95)}.project-label,.project-place,.navigation-detail,.navigation-content>span,.camera-number,.view-card small,.grid-view small,.gesture-hint,.context-attribution,.lighting button,.topbar small,.view-travel small{color:#e0e8e3}.view-card .view-arrow{color:#e9d5ab}.context-attribution{background:#17343b;padding:7px 10px;border-radius:4px}.circle,.rail-button{min-width:44px;min-height:44px}.lighting button[aria-pressed="true"],.lighting button[aria-pressed="true"]:hover{color:#10272e;background:#d9bf80}
@media(max-width:700px){.load-state{justify-content:flex-end;padding:32px 24px max(24px,env(safe-area-inset-bottom))}.load-state::before{background:linear-gradient(180deg,rgba(8,27,33,.15),rgba(8,27,33,.92) 40%,#081b21)}.entry-image{object-position:60% center}.entry-copy h2{font-size:30px}.entry-copy .load-brand{font-size:60px;margin:18px 0}.entry-description{font-size:14px}.entry-copy{max-width:420px}#enter-scene{width:100%;margin-top:18px}.entry-overview{margin-bottom:0!important}.load-state.is-error{justify-content:center}.rail-button{min-width:36px;min-height:36px}}
@media(max-height:620px){.load-state{justify-content:flex-start}.entry-copy h2{font-size:26px}.entry-copy .load-brand{font-size:44px;margin:10px 0}.entry-description{font-size:13px}.entry-note{font-size:11px}#enter-scene{margin-top:12px;padding:12px 18px}.load-state .entry-overview{margin:12px 0}}

#update-release{background:#edddbb;color:#112d34;border:0;border-radius:3px;padding:12px 18px;cursor:pointer;font:600 13px system-ui}#update-release[hidden]{display:none}#cache-status{max-width:48ch}

#update-release.update-available{position:fixed;right:18px;top:85px;z-index:10000;max-width:240px;box-shadow:0 4px 20px #0008}
