/* Abertura cinematografica. Exibida apenas no carregamento inicial, sem API. */
.opening-screen{position:fixed;inset:0;z-index:999999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px;text-align:center;overflow:hidden;background:linear-gradient(180deg,rgba(2,2,5,.76) 0%,rgba(2,2,5,.93) 65%,#050306 100%),url('./fundo-principal.webp') center 36%/cover no-repeat;color:#f3e3e5;opacity:1;visibility:visible;transition:opacity .45s ease,visibility .45s ease;font-family:Georgia,'Times New Roman',serif;padding:20px}
.opening-screen:before{content:'';position:absolute;inset:3.5%;border:1px solid rgba(180,57,65,.45);box-shadow:inset 0 0 60px rgba(119,6,26,.14);pointer-events:none}
.opening-screen:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(190,24,44,.14),transparent 34%);pointer-events:none;animation:opening-heartbeat 3s ease-in-out both}
.opening-screen>*{position:relative;z-index:2}
.opening-sigil{color:#dc4d5c;font-size:44px;line-height:1;filter:drop-shadow(0 0 16px #e3284788);animation:opening-spin 3s ease-in-out both}
.opening-logo{display:block;width:min(560px,76vw);height:auto;max-height:260px;object-fit:contain;filter:drop-shadow(0 18px 22px #030000b0);animation:opening-enter .9s ease-out both}
.opening-title{font-size:clamp(16px,3.2vw,26px);letter-spacing:.25em;text-shadow:0 0 15px #ab283650}
.opening-description{font-family:system-ui,Arial,sans-serif;color:#d2b9be;letter-spacing:.07em;font-size:clamp(11px,1.4vw,14px)}
.opening-meter{height:3px;width:min(350px,70vw);margin-top:22px;background:#2d1c25;border-radius:999px;overflow:hidden;border:0}
.opening-meter span{height:100%;width:100%;display:block;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#61222c,#ed6672,#b02c3c);box-shadow:0 0 10px #fa3949;animation:opening-progress 3s linear forwards}
.opening-caption{font:10px system-ui,Arial,sans-serif;letter-spacing:.23em;color:#ab929a}
.opening-screen.is-fading{opacity:0;visibility:hidden;pointer-events:none}
@keyframes opening-enter{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes opening-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes opening-spin{0%{opacity:.4;transform:rotate(-20deg) scale(.8)}50%{opacity:1;transform:rotate(0) scale(1.07)}100%{opacity:.65;transform:rotate(12deg) scale(1)}}
@keyframes opening-heartbeat{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.opening-screen:after,.opening-sigil,.opening-logo{animation:none}.opening-meter span{animation:opening-progress 3s linear forwards}}
.opening-retry{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:12px 24px;border:1px solid #bb5864;background:#2a121c;color:#ffecef;font:600 13px system-ui,Arial,sans-serif;text-decoration:none;letter-spacing:.08em;border-radius:3px}
.opening-retry:hover{background:#51222b;color:#fff}
