/* Shared full-screen loading artwork. Percentages count actual completed readiness work. */
.loading-screen{position:absolute;inset:0;z-index:70;overflow:hidden;display:block;box-sizing:border-box;background:#a5dce9;color:#233e43;color-scheme:light;opacity:1;transition:opacity .18s ease}
.loading-screen[hidden]{display:none!important}
.loading-screen:not(.on){opacity:0;pointer-events:none}
.load-scene{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.load-brand{position:absolute;left:max(30px,env(safe-area-inset-left,0px));top:max(23px,env(safe-area-inset-top,0px));margin:0;max-width:calc(100% - 60px);font:900 clamp(22px,3vw,36px)/1.15 var(--font-body);color:#fff9df;-webkit-text-stroke:2px #2d4e50;paint-order:stroke fill;text-shadow:0 3px 0 #2d4e50;letter-spacing:-.02em}
.load-panel{position:absolute;left:50%;bottom:max(30px,6vh,env(safe-area-inset-bottom,0px));transform:translateX(-50%);box-sizing:border-box;width:min(650px,calc(100% - 44px));padding:20px 26px 17px;background:rgba(255,250,231,.94);border:1px solid rgba(255,255,255,.9);border-radius:15px;box-shadow:0 5px 0 rgba(37,79,76,.2);font-family:var(--font-body);color:#284849;text-align:left}
.load-destination{font-size:clamp(17px,1.8vw,23px);font-weight:900;margin:0 0 11px;line-height:1.25}
.load-row{display:flex;justify-content:space-between;gap:14px;font-size:12px;font-weight:800;margin-bottom:7px}
.load-row output{font-variant-numeric:tabular-nums;font-size:14px}
.load-progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:17px;border:2px solid #47736b;border-radius:6px;overflow:hidden;background:#d9e1cb;color:#a5c934}
.load-progress::-webkit-progress-bar{background:#d9e1cb;border-radius:3px}
.load-progress::-webkit-progress-value{background:#a5c934;border-radius:3px}
.load-progress::-moz-progress-bar{background:#a5c934;border-radius:3px}
.load-status{margin:9px 0 0;font-size:13px;font-weight:800;line-height:1.4}
.load-note{margin:4px 0 0;font-size:11px;line-height:1.4;color:#66786b}
.load-retry{margin-top:12px;min-height:44px;padding:8px 19px;border:2px solid #345754;border-radius:9px;background:#d5eb62;color:#253f3c;font:900 14px var(--font-body);cursor:pointer;touch-action:manipulation}
.load-retry:focus-visible{outline:3px solid #2e6776;outline-offset:3px}
.loading-screen[data-load-state="error"] .load-progress{color:#cb8d4c}
.loading-screen[data-load-state="error"] .load-progress::-webkit-progress-value{background:#cb8d4c}
@media (max-height:500px){.load-brand{top:13px;left:20px;font-size:24px}.load-panel{bottom:20px;width:min(570px,calc(100% - 40px));padding:13px 20px 11px}.load-destination{font-size:17px;margin-bottom:7px}.load-row{font-size:11px;margin-bottom:4px}.load-row output{font-size:12px}.load-progress{height:13px}.load-status{font-size:11px;margin-top:6px}.load-note{font-size:11px;margin-top:3px}}
@media (orientation:portrait){.load-brand{top:max(28px,env(safe-area-inset-top,0px));left:23px;max-width:calc(100% - 46px);font-size:27px}.load-panel{bottom:max(35px,6vh,env(safe-area-inset-bottom,0px));padding:18px 19px 16px;width:calc(100% - 38px)}.load-destination{font-size:19px}.load-note{font-size:11px}.load-scene{object-position:50% 45%}}
@media (prefers-reduced-motion:reduce){.loading-screen{transition:none}}
