.viewport-panel{isolation:isolate}
#render-surface{position:relative}
#render-surface[inert]{filter:blur(4px);pointer-events:none;user-select:none}
.render-loading{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:32px;background:rgba(40,49,45,.48);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.render-loading-card{width:min(440px,100%);max-height:calc(100dvh - 80px);overflow:auto;padding:34px;background:#fcfbf6;border:1px solid #d5dacd;box-shadow:0 16px 60px #17211c33;text-align:center;color:var(--ink)}
.render-loading-symbol{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 24px}
.render-loading-spinner{display:block;width:42px;height:42px;border:3px solid #e2e6db;border-top-color:var(--accent);border-right-color:#71866a;border-radius:50%;animation:render-loading-turn 1s linear infinite}
.render-loading-error-symbol{display:none;width:42px;height:42px;border:2px solid var(--accent);border-radius:50%;color:#a83f25;font:500 27px/38px Space,Arial,sans-serif}
.render-loading-label{margin:0 0 11px;color:#687662;font-size:10px;font-weight:600;line-height:1.7;letter-spacing:.7px;overflow-wrap:anywhere}
.render-loading-status h2{margin:0;font:500 clamp(23px,2.4vw,29px)/1.2 Space,Arial,sans-serif;letter-spacing:-.7px}
.render-loading-status>p{min-height:5.25em;margin:13px 0 0;font-size:13px;line-height:1.75;color:#5c695b;overflow-wrap:anywhere;white-space:pre-line}
.render-loading-progress{min-height:94px;margin:23px 0 0}
/* Reserve the same space while source totals are still being discovered, so
   revealing measured progress cannot push the card out of a mobile viewport. */
.render-loading-progress[hidden]{display:block;visibility:hidden}
.render-loading-percentage{display:block;margin-bottom:9px;color:#3d503c;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
.render-loading-stage{margin:21px 0 -12px;color:#687662;font-size:11px;letter-spacing:.3px}
.render-loading-time{margin:18px 0 0;font-size:12px;line-height:1.6;color:#3d503c;font-variant-numeric:tabular-nums}
.render-loading-estimate-hint{margin:6px 0 0;font-size:10px;line-height:1.6;color:#687662}
.render-loading-progress progress{display:block;width:100%;height:5px;appearance:none;border:0;border-radius:3px;overflow:hidden;background:#e2e6db;accent-color:#71866a}
.render-loading-progress progress::-webkit-progress-bar{background:#e2e6db}
.render-loading-progress progress::-webkit-progress-value{background:#71866a}
.render-loading-progress progress::-moz-progress-bar{background:#71866a}
.render-loading-progress p{margin:10px 0 0;font-size:11px;line-height:1.6;color:#5c695b;font-variant-numeric:tabular-nums}
.render-loading-actions{display:flex;flex-direction:column;gap:10px;margin-top:26px}
.render-loading-actions button{display:block;min-height:44px;margin:0;padding:13px 16px;text-align:center;font-size:12px}
.render-loading-actions .secondary{border-color:#aebba5;background:#f4f6ed}
.render-loading-actions .secondary:hover{background:#e8eedf}
.render-loading[data-state=error] .render-loading-spinner{display:none}
.render-loading[data-state=error] .render-loading-error-symbol{display:block}
@keyframes render-loading-turn{to{transform:rotate(360deg)}}
@media(max-width:720px){.render-loading{padding:18px}.render-loading-card{padding:27px 23px;max-height:calc(100dvh - 48px)}.render-loading-symbol{margin-bottom:20px}.render-loading-status h2{font-size:25px}.render-loading-status>p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.render-loading-spinner{animation:none;border-right-color:var(--accent)}}
