/* First-paint boundary. Only initial preparation blocks the workspace; ordinary
   polling never covers a working incident or playback. */
html.rv-preparing{background:#10161e}
html.rv-preparing body{overflow:hidden}
html.rv-preparing body>*:not(.rv-loading-screen){visibility:hidden!important}
.rv-loading-screen{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 15% 20%,#233445,transparent 70%),#10161e;color:#e6edf4;font-family:'Open Sans',Arial,sans-serif;text-align:center}
.rv-loading-screen[hidden]{display:none!important}
.rv-loading-screen .rv-loading-content{display:grid;justify-items:center;gap:18px;max-width:min(440px,calc(100vw - 48px))}
.rv-loading-brand{display:flex;align-items:center;justify-content:center;gap:14px;font-size:32px;line-height:1.2;font-weight:400;white-space:nowrap}
.rv-loading-brand strong{font-weight:700}
.rv-loading-mark{width:42px;height:42px;flex:none;color:#ff9853;overflow:visible}
.rv-loading-corners{transform-origin:16px 16px;animation:rv-loading-turn 2.4s cubic-bezier(.5,0,.25,1) infinite}
@keyframes rv-loading-turn{0%,15%{transform:rotate(0)}75%,100%{transform:rotate(360deg)}}
.rv-loading-label{font-size:13px;letter-spacing:.14em;color:#aebdca;margin:0}
.rv-loading-detail{font-size:13px;line-height:1.6;max-width:36ch;margin:0;color:#aebdca}
.rv-loading-screen button{font:600 14px 'Open Sans',Arial,sans-serif;border:1px solid #405263;border-radius:7px;background:#202d39;color:#e6edf4;padding:10px 18px;cursor:pointer}
.rv-loading-screen button:hover{background:#2b3c4b}.rv-loading-screen button:focus-visible{outline:2px solid #ff9853;outline-offset:4px}
.rv-loading-screen[data-failed] .rv-loading-corners{animation:none}
.rv-content-loading{display:flex;align-items:center;gap:12px;min-height:80px;padding:12px 0;font:600 14px 'Open Sans',Arial,sans-serif;color:inherit}
.rv-content-loading .rv-loading-mark{width:28px;height:28px}.rv-content-loading p{margin:0;font-size:12px;font-weight:400}
@media(prefers-reduced-motion:reduce){.rv-loading-corners{animation:none}}
@media(max-width:480px){.rv-loading-brand{font-size:27px}.rv-loading-mark{width:36px;height:36px}}

/* Reserve loader typography while its approved font arrives. */
.rv-loading-brand>span{display:inline-block;width:6em;text-align:left}
html.rv-preparing:not(.rv-loading-font-ready) .rv-loading-brand>span,
html.rv-preparing:not(.rv-loading-font-ready) .rv-loading-label{visibility:hidden}
.rv-centre #content[aria-busy="true"]{visibility:hidden}
