/* Keep the original scene stylesheet intact; gate its first visible frame. */
html[data-startup]{overflow:hidden;scrollbar-gutter:stable}
html[data-startup] body{overflow:hidden}
html[data-startup] #site-content,html[data-startup] .skip{visibility:hidden!important}
.startup-screen{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:28px;background:#073d3a;color:#fff5db;text-align:center}
.startup-screen[hidden],.startup-error[hidden],.startup-spinner[hidden]{display:none}
.startup-logo{display:block;width:120px;height:auto;object-fit:contain}
.startup-spinner{width:24px;height:24px;border:2px solid #fff5db40;border-top-color:#ffc900;border-radius:50%;animation:startup-turn .9s linear infinite}
.startup-error{max-width:400px;font:13px/2 NotoArabic,Arial,sans-serif}
.startup-error p{margin:0 0 20px}
.startup-error span{display:inline-block;font-family:Arial,sans-serif;font-size:12px;line-height:1.7}
.startup-error .primary{justify-content:center;font-size:13px;min-height:46px}
.startup-noscript{position:fixed;inset:0;z-index:2001;display:grid;align-content:center;gap:12px;padding:30px;background:#073d3a;color:#fff5db;text-align:center;font:14px/2 NotoArabic,Arial,sans-serif}
.stage:not(.ready) .campaign-mark,.stage:not(.ready) .campaign-mark *{animation-play-state:paused!important}
.stage{height:var(--stage-viewport-height,100vh)}
@supports(height:100dvh){.stage{height:var(--stage-viewport-height,100dvh)}}
@keyframes startup-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.startup-spinner{animation:none;border-color:#fff5db60;border-top-color:#ffc900}}
