/* The opening cover is released by the ready layout, never by a reveal timeout. */
html.opening-pending{overflow:hidden}
.opening-loader{position:fixed;inset:0;z-index:10000;background:#000;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px;text-align:center;pointer-events:auto}
.opening-loader img{display:block;width:clamp(54px,6vw,82px);height:auto;object-fit:contain;background:transparent;filter:invert(1);animation:opening-mark .24s ease-out both}
.opening-loader [data-opening-message]{font-size:16px;line-height:1.5;max-width:28rem;margin:0}
.opening-loader [data-opening-retry]{min-height:48px;background:white;color:#171717;border:1px solid white;padding:12px 28px;font:inherit;font-weight:600;cursor:pointer}
.opening-loader [data-opening-retry][hidden]{display:none}
.opening-loader [data-opening-retry]:focus-visible{outline:2px solid white;outline-offset:5px}
.opening-loader:not([data-state=error]) [data-opening-message]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.opening-placeholder{height:100svh;min-height:600px;background:#000}
@keyframes opening-mark{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.opening-loader img{width:58px}}
@media(prefers-reduced-motion:reduce){.opening-loader img{animation:none}}
