#loadingOrbit{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;background:#202429}.progress{background:#111418!important;z-index:100!important}.progress:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#111418db,transparent 65%);pointer-events:none}.progress-card{position:absolute!important;z-index:1;bottom:clamp(24px,5vh,60px);left:50%;transform:translateX(-50%);width:min(540px,calc(100vw - 32px))!important;background:#171b20ed!important;border:1px solid #353b42!important;padding:22px!important}.progress-card img{width:120px;height:80px;object-fit:contain}.progress-card strong{font-family:"ivypresto-display","Source Serif 4",Georgia,serif!important;font-size:30px!important;font-weight:300!important}.progress-card span{font-size:13px!important;letter-spacing:0!important;text-transform:none!important;line-height:1.5}.loading-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.loading-actions .button{font-size:13px;min-height:44px}.loading-actions [hidden]{display:none}.progress.ready{pointer-events:none;visibility:hidden;opacity:0}.topbar{z-index:20}.toolbar{bottom:max(12px,env(safe-area-inset-bottom));display:flex!important;gap:6px!important;flex-wrap:wrap;justify-content:center;max-width:min(1100px,calc(100vw - 24px));padding:8px!important}.toolbar .button{font-size:13px;min-height:44px}.meter{top:112px!important;right:16px!important;left:auto!important;font-size:12px!important}.measure-panel{top:160px!important;right:16px!important;font-size:14px}.measure-panel p{font-size:13px!important}.web-note{font-size:13px!important;color:#aeb5bb}.intro.hidden{display:none}.jsi-tour button{min-height:44px!important}.jsi-tour p{font-family:"neue-haas-unica","IBM Plex Sans",sans-serif!important}.jsi-tour h2{font-family:"ivypresto-display","Source Serif 4",Georgia,serif!important;font-weight:300!important}.topbar .actions{display:flex;gap:6px}.axis{display:none!important}
@media(max-width:720px){.progress-card{padding:16px!important}.progress-card strong{font-size:26px!important}.loading-actions .button{font-size:12px;padding:0 10px}.toolbar{max-height:156px;overflow:auto}.toolbar .button{font-size:12px!important;padding:0 9px!important}.meter{top:94px!important;right:12px!important;width:auto!important}#stage .intro{top:148px!important;max-width:calc(100vw - 24px);left:12px}.measure-panel{top:148px!important;left:12px!important;width:calc(100vw - 24px)!important}.status{bottom:180px!important;max-width:calc(100vw - 24px)!important;font-size:12px!important}.topbar .jsi-tour-launch{font-size:12px!important;width:auto!important;min-width:44px;padding:0 10px!important}.brand-copy strong{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){.progress{transition:none!important}}
#loadingOrbit{object-fit:contain}.progress-card{left:32px;transform:none;width:min(460px,calc(100vw - 64px))!important}.jsi-tour-highlight:is(canvas){z-index:auto!important;outline:none!important;box-shadow:none!important}
@media(max-width:720px){#loadingOrbit{height:calc(100% - 210px);object-position:center top}.progress-card{left:16px;width:calc(100vw - 32px)!important;bottom:16px}.progress-card img{width:96px;height:64px}.progress-card strong{font-size:24px!important}.progress-card .loading-actions{margin-top:12px}}
body:has(.progress:not(.ready)) .jsi-compliance-trigger,body:has(.progress:not(.ready)) .jsi-elevation-disclaimer{visibility:hidden}.loading-scope{display:block;color:#aeb5bb;font-size:12px;line-height:1.4;margin-top:12px}.jsi-tour-card{bottom:180px!important}.jsi-elevation-disclaimer{bottom:132px}
@media(max-width:720px){.jsi-tour-card{top:150px;bottom:auto!important}.jsi-tour-card .jsi-tour-kicker{margin-top:8px}.jsi-tour-card p{font-size:13px}.intro{max-height:40dvh}.loading-scope{font-size:12px}}

/* One measured dock prevents independently positioned notices covering controls. */
#stage{height:100vh;height:100dvh;overflow:hidden}
#viewerDock{position:absolute;z-index:20;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;max-height:45vh;max-height:45dvh;overflow:auto;overscroll-behavior:contain;padding:1px}
#viewerDock .toolbar{position:static;left:auto;right:auto;top:auto;bottom:auto;transform:none;width:fit-content;max-width:100%;max-height:none;flex-shrink:0;overflow:visible}
#viewerDock .jsi-elevation-disclaimer{position:static!important;inset:auto!important;transform:none!important;display:block;width:min(820px,100%);max-width:100%;margin:0;flex-shrink:0;line-height:1.4;min-height:44px}
#viewerTopStrip{position:absolute;z-index:21;left:16px;right:16px;top:var(--overlay-strip-top,104px);display:flex;align-items:flex-start;justify-content:space-between;gap:8px;pointer-events:none}
#viewerTopStrip .jsi-compliance-trigger{position:static!important;inset:auto!important;transform:none!important;max-width:calc(100% - 240px);margin:0;pointer-events:auto}
#viewerTopStrip .meter{position:static!important;inset:auto!important;transform:none!important;width:auto;flex-shrink:0;margin:0;pointer-events:auto}
#stage .measure-panel{position:absolute;z-index:22;top:var(--overlay-panel-top,160px)!important;right:16px!important;left:auto!important;bottom:auto;width:min(380px,calc(100% - 32px));max-height:var(--overlay-panel-space,calc(100dvh - 360px));overflow:auto;overscroll-behavior:contain;padding:16px;border:1px solid #353b42;border-left:2px solid #d2a85e;background:#171b20f5;box-shadow:0 12px 32px #0006;line-height:1.5}
#stage .measure-panel[hidden]{display:none}
.measure-panel strong{display:block;font-size:15px}.measure-panel p{margin:8px 0 12px;color:#aeb5bb}.measure-result{font-size:15px;color:#f5f2ea;overflow-wrap:anywhere}.measure-result .jsi-context-notice{font-weight:400;line-height:1.5!important;margin-bottom:0}
.calibrate{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.calibrate[hidden]{display:none}.calibrate input{width:180px;max-width:100%;min-height:44px;padding:8px;border:1px solid #353b42;background:#111418;color:#f5f2ea}.toolbar .tool-active{border-color:#d2a85e;color:#d2a85e}
#stage .intro{top:var(--overlay-panel-top,160px)!important;max-height:var(--overlay-panel-space,50dvh);overflow:auto}
#stage .status{bottom:var(--overlay-dock-clearance,200px)!important}
.jsi-tour-card{top:auto;bottom:var(--overlay-dock-clearance,200px)!important;max-height:var(--overlay-panel-space,50dvh);overflow:auto}
body:has(.jsi-tour:not([hidden])) .measure-panel{visibility:hidden}
@media(max-width:720px){
  #viewerDock{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));gap:6px}
  #viewerTopStrip{left:12px;right:12px;align-items:center}
  #viewerTopStrip .jsi-compliance-trigger{width:44px!important;max-width:44px!important;flex-shrink:0}
  #viewerTopStrip .meter{max-width:calc(100% - 52px);font-size:11px!important;padding:8px 10px}
  #viewerDock .jsi-elevation-disclaimer{font-size:11px!important;padding:8px 10px}
  #stage .measure-panel{left:12px!important;right:12px!important;width:auto!important;padding:12px}
  .jsi-tour-card{top:var(--overlay-panel-top,148px);bottom:auto!important}
}
@media(max-height:500px){#viewerDock{max-height:40vh;max-height:40dvh}#stage .topbar{min-height:64px!important;height:64px}#stage .brand-logo{width:84px!important;height:56px!important}#stage .intro,.jsi-tour-card{padding:12px}}

/* Locked measurement standard 1.0.0: small active panel, stored numeric results. */
.measurement-units{min-height:44px;max-width:160px;border:1px solid #353b42;padding:0 10px;background:#171b20;color:#f5f2ea;font-size:13px}
.measurement-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.measurement-heading strong{font-size:15px}.measurement-close{min-width:44px;padding:0!important;font-size:22px!important;flex-shrink:0}
.measurement-choices,.measurement-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.measurement-choices .button,.measurement-actions .button{min-height:44px;font-size:12px;padding:6px;line-height:1.3}
.measurement-choices[hidden],.measure-panel [hidden]{display:none!important}.measure-panel:not(.is-placing) #finishMeasurement,.measure-panel:not(.is-placing) #undoMeasurement,.measure-panel:not(.is-placing) #cancelMeasurement{display:none}.measure-panel:not(.is-placing) #clearMeasurements{grid-column:1/-1}.measure-panel #newMeasurement{min-height:44px;font-size:12px}
.measurement-entry{padding:10px 0;border-top:1px solid #353b42;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.measurement-limit{font-size:11px!important;line-height:1.45;color:#aeb5bb;margin-bottom:0!important}.measurement-limit a{color:#d2a85e}.measure-panel .button:disabled{opacity:.5;cursor:default}
.measure-panel.is-placing .measurement-choices,.measure-panel.is-placing .measurement-results{display:none}.measure-panel.is-placing .measurement-limit{font-size:10px!important;margin:8px 0 0!important}
#heightRow label{font-size:13px}.measure-panel #measurementExport{min-height:44px;font-size:12px}
@media(max-width:720px){#stage .measure-panel{max-height:min(var(--overlay-panel-space,240px),32dvh);font-size:12px;padding:10px}#stage .measure-panel.is-placing{max-height:min(var(--overlay-panel-space,220px),26dvh)}.measure-panel p{font-size:12px!important;line-height:1.4}.measurement-heading strong{font-size:13px}.measurement-units{max-width:135px;font-size:12px}.measurement-actions{margin:6px 0}.measurement-close{min-height:44px}.measurement-entry{font-size:12px}}

/* connection-recovery-layout */
.progress-card{max-height:calc(100dvh - 130px);overflow:auto}.progress-card .jsi-loading-actions{position:sticky;bottom:0;background:#111418;padding:5px 0}.progress-card .jsi-connection{padding:7px;margin:6px 0}.progress-card .jsi-connection p{font-size:11px;line-height:1.4;letter-spacing:normal}@media(max-width:720px){.progress-card{max-height:calc(100dvh - 150px)}#loadingOrbit{max-height:25dvh}}
