/* The native top layer covers existing dialogs as well as the game shell. */
dialog.loading-overlay {
 position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;
 margin:0;padding:24px;border:0;border-image:none;border-radius:0;box-shadow:none;
 overflow:hidden;background:transparent;color:#f5ecd9;touch-action:none;
 user-select:none;-webkit-user-select:none;outline:none;transform:none;animation:none;transition:none;
}
dialog.loading-overlay[open] { display:grid;place-items:center;transform:none;animation:none;transition:none; }
dialog.loading-overlay::backdrop { position:fixed;inset:0;background:#070705d9;backdrop-filter:none;animation:none;transition:none; }
.loading-overlay-panel { display:grid;justify-items:center;gap:18px;max-width:min(320px,100%);text-align:center; }
.loading-overlay-spinner {
 display:block;width:42px;height:42px;border:3px solid #e9d5a833;border-top-color:#f3dfb6;
 border-radius:50%;animation:loading-overlay-spin .85s linear infinite;
}
.loading-overlay-status { margin:0;font:550 13px/1.6 var(--font-ui);word-break:keep-all;white-space:pre-line; }
@keyframes loading-overlay-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) {
 .loading-overlay-spinner { animation:none; }
}

.loading-overlay-panel[hidden] { display:none; }
