#loading{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at 54% 48%,#343a3ee8,#15191ffb 72%);backdrop-filter:blur(16px);overflow:auto}
#loading[hidden]{display:none}
.load-composition{width:min(650px,100%);text-align:center}
.load-brand{margin:0 0 30px}.load-brand>span{font-size:30px;letter-spacing:-.6px;color:#efeee9}.load-brand #load-title{font-size:11px;letter-spacing:3px;font-weight:400;color:#9ba6ad;margin:11px 0 0}
.load-plan{display:block;width:100%;height:auto;overflow:visible;margin:0 auto 28px;filter:drop-shadow(0 15px 28px #0004)}
.plan-ground{fill:#ffffff02;stroke:none}.plan-guide{stroke:#b5c2cc20;stroke-width:2;vector-effect:non-scaling-stroke}
.plan-ink{stroke:#deded3;stroke-linecap:round;stroke-linejoin:round}
.plan-shell{stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--shell-progress,0));transition:stroke-dashoffset .65s ease-out}
.plan-partitions path{stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--room-progress,0));transition:stroke-dashoffset .65s ease-out}
.plan-openings{stroke:#a7aaac;opacity:.7}.plan-openings path{stroke-width:.8;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--detail-progress,0));transition:stroke-dashoffset .65s ease-out}
.plan-labels{fill:#aab4bd;stroke:none;font-size:19px;letter-spacing:3px;opacity:var(--label-progress,0);transition:opacity .6s}
.load-meter{width:min(320px,100%);margin:auto;padding:17px 20px 20px;border:1px solid #ffffff14;border-top-color:#ffffff2a;border-radius:16px;background:linear-gradient(135deg,#ffffff07,transparent),#1d22274d;box-shadow:inset 0 1px 0 #ffffff06}
.load-status{display:flex;align-items:baseline;justify-content:space-between;gap:18px;text-align:left}.load-status #load-message{font-size:12px;line-height:1.65;margin:0;color:#b4bdc4;overflow-wrap:anywhere}.load-status #load-percent{font-size:25px;color:#eceee9;line-height:1;white-space:nowrap}.load-status #load-percent span{font-size:11px;color:#8d98a2;margin-left:3px}
#load-progress{display:block;appearance:none;width:100%;height:2px;margin:15px 0 0;border:0;border-radius:2px;overflow:hidden;background:#ffffff10;accent-color:#aebfcf}
#load-progress::-webkit-progress-bar{background:#ffffff10}#load-progress::-webkit-progress-value{background:#aebfcf;transition:width .4s}#load-progress::-moz-progress-bar{background:#aebfcf}
#loading[data-stage=light] .plan-shell{animation:plan-breathe 2s ease-in-out infinite}
@keyframes plan-breathe{50%{stroke:#aebfcf;opacity:.55}}
#loading[data-error=true] .plan-ink{animation:none;stroke:#929da5;opacity:.45}#loading[data-error=true] #load-progress{display:none}#retry{margin-top:16px;width:100%;font-size:12px}
body.is-loading :is(#room-workspace,#model-settings,#home-bar,#panel-toggle,#workspace-tools,#time-dock,#room-cards){opacity:0;pointer-events:none}
#home-bar,#panel-toggle,#workspace-tools,#time-dock{transition:opacity .4s,filter .4s}
@media(max-width:600px){#loading{padding:24px}.load-brand>span{font-size:26px}.load-brand{margin-bottom:28px}.load-plan{margin-bottom:30px}.plan-labels{font-size:25px;letter-spacing:1px}}
@media(max-height:550px){#loading{padding:18px}.load-composition{width:min(460px,100%)}.load-brand{margin-bottom:12px}.load-plan{max-height:45vh;margin-bottom:12px}.load-brand>span{font-size:22px}.load-meter{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.plan-shell,.plan-partitions path,.plan-openings path,.plan-labels,#load-progress::-webkit-progress-value{transition:none}#loading[data-stage=light] .plan-shell{animation:none}}
