/* Presentación cinematográfica Operación Dunas · revisión metálica */
body.intro-active{overflow:hidden}
body.access-pending{overflow:hidden}body.access-pending #menu{visibility:hidden;pointer-events:none}
#studioIntro:not(.si-ready):not(.si-skip),#studioIntro:not(.si-ready):not(.si-skip)::before,#studioIntro:not(.si-ready):not(.si-skip)::after,#studioIntro:not(.si-ready):not(.si-skip) *{animation-play-state:paused!important}
#studioIntro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:#030506;color:#f5f3ed;isolation:isolate;contain:strict;animation:siExit .6s 7s ease-in forwards;will-change:opacity}
#studioIntro::before{content:"";position:absolute;inset:-10%;z-index:-3;background:radial-gradient(ellipse at 50% 46%,#28333a 0,#10171c 28%,#05080a 62%,#020304 100%);animation:siBreathe 7s ease-in-out both;will-change:opacity,transform}
#studioIntro::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(112deg,transparent 30%,#b4772708 43%,#ffe0a12b 50%,#b4772708 57%,transparent 70%);transform:translateX(-130%);animation:siLight 1.65s 4.05s ease-out both}
.si-noise{position:absolute;inset:0;opacity:.045;background:repeating-linear-gradient(0deg,transparent 0 4px,#fff 5px);mix-blend-mode:soft-light;pointer-events:none}
.si-scan{position:absolute;left:50%;top:50%;width:min(720px,76vw);height:1px;background:linear-gradient(90deg,transparent,#a46b2e,#ffe3ad,#a46b2e,transparent);box-shadow:0 0 25px #e5a84c77;transform:translate(-50%,-50%) scaleX(0);animation:siRule .7s .45s ease-out forwards,siRuleOut .4s 2.35s ease-in forwards}
.si-studio,.si-game{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
.si-studio{animation:siStudio 2.85s .2s both;will-change:opacity,transform}
.si-studio img{width:min(470px,78vw);max-height:34vh;object-fit:contain;margin:14px 0 6px;filter:drop-shadow(0 14px 36px #0009);transform:translateZ(0) scale(.95);animation:siLogo 2.3s .35s cubic-bezier(.2,.75,.2,1) both;will-change:opacity,transform}
.si-kicker,.si-presents{font:600 11px 'Chakra Petch','Segoe UI',sans-serif;letter-spacing:.44em;text-indent:.44em;color:#c8a66c}
.si-kicker{transform:translateY(10px);opacity:0;animation:siText .5s .7s ease-out forwards}.si-presents{color:#929da5;opacity:0;animation:siText .45s 1.45s ease-out forwards}
.si-rule{width:min(420px,58vw);height:1px;background:linear-gradient(90deg,transparent,#a97a3f,#f2d5a0,#a97a3f,transparent);box-shadow:0 0 18px #c08a4433;margin:3px 0 14px;transform:scaleX(0);animation:siWidth .8s 1s ease-out forwards}
.si-game{opacity:0;animation:siGame 3.55s 3.35s cubic-bezier(.2,.7,.2,1) both;will-change:opacity,transform}
.si-game>img{width:min(1120px,88vw);height:auto;max-height:55vh;object-fit:contain;filter:drop-shadow(0 18px 42px #000) drop-shadow(0 0 22px #d4973826);transform:translateZ(0)}
.si-game-kicker,.si-tagline{font:600 clamp(9px,1vw,12px) 'Chakra Petch','Segoe UI',sans-serif;letter-spacing:.46em;text-indent:.46em;color:#9da7ad}.si-game-kicker{margin-bottom:clamp(14px,2.3vh,24px);color:#c79d5e}.si-tagline{margin-top:clamp(14px,2.3vh,24px)}
.si-game-rule{width:min(580px,55vw);height:1px;margin-top:clamp(12px,2vh,20px);background:linear-gradient(90deg,transparent,#7f5c2e,#d7ad6b,#7f5c2e,transparent);transform:scaleX(0);animation:siWidth .8s 4.15s ease-out forwards}
#skipIntro{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:2;border:1px solid #71808a33;border-radius:3px;background:#080d11aa;color:#89949d;font:600 11px 'Chakra Petch','Segoe UI',sans-serif;letter-spacing:.2em;padding:10px 14px;opacity:0;animation:siText .3s .85s forwards;transition:color .15s,border-color .15s}
#skipIntro:hover,#skipIntro:focus-visible{color:#f0d29b;border-color:#c7a36b88}#skipIntro span{font-size:18px;vertical-align:-1px}#studioIntro.si-skip{animation:siSkip .35s ease-in forwards}
.access-gate{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;overflow:hidden;background:#030506;color:#f4f1e9}.access-gate[hidden]{display:none}.access-backdrop{position:absolute;inset:-5%;background:radial-gradient(circle at 50% 35%,#33434d 0,#131c22 31%,#06090b 68%);animation:accessIn .65s ease-out both}.access-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#d29b4710 48%,transparent 70%),repeating-linear-gradient(0deg,transparent 0 5px,#fff 6px);opacity:.18}.access-panel{position:relative;width:min(520px,calc(100vw - 36px));box-sizing:border-box;padding:32px 36px 30px;border:1px solid #c99b5444;border-radius:8px;background:linear-gradient(145deg,#151e24f2,#080d11f5);box-shadow:0 28px 80px #000c,inset 0 1px #fff1;text-align:center;animation:accessPanel .55s .12s cubic-bezier(.2,.75,.2,1) both}.access-logo{display:block;width:min(390px,90%);height:112px;margin:0 auto 12px;object-fit:contain;filter:drop-shadow(0 12px 24px #000b)}.access-kicker{display:block;color:#c9a267;font:600 10px 'Chakra Petch','Segoe UI',sans-serif;letter-spacing:.36em;text-indent:.36em}.access-panel h1{margin:10px 0 8px;font:700 clamp(24px,4vw,34px) 'Chakra Petch','Segoe UI',sans-serif;text-transform:uppercase;letter-spacing:.04em}.access-panel p{max-width:420px;margin:0 auto 22px;color:#aeb9c0;line-height:1.5}.access-actions{display:grid;gap:10px}.access-actions .btn{width:100%;min-height:46px}.access-actions .access-google{border-color:#caa05e;background:linear-gradient(180deg,#d3a75f,#9d6d2f);color:#100d08;font-weight:700}.access-actions .access-guest{background:#10171c;color:#c1cbd0}.access-status{display:block;min-height:18px;margin-top:14px;color:#89969e}.access-status.error{color:#e79b8f}@keyframes accessIn{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:none}}@keyframes accessPanel{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes siLogo{0%{opacity:0;transform:translateZ(0) scale(.95)}35%{opacity:1}100%{opacity:1;transform:translateZ(0) scale(1)}}
@keyframes siText{to{opacity:1;transform:none}}@keyframes siWidth{to{transform:scaleX(1)}}@keyframes siRule{to{transform:translate(-50%,-50%) scaleX(1)}}@keyframes siRuleOut{to{opacity:0;transform:translate(-50%,-50%) scaleX(.2)}}
@keyframes siStudio{0%,78%{opacity:1}100%{opacity:0;transform:scale(.975)}}
@keyframes siGame{0%,7%{opacity:0;transform:scale(1.045)}24%,82%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.988)}}
@keyframes siLight{to{transform:translateX(130%)}}@keyframes siBreathe{0%{opacity:.65;transform:scale(1)}55%{opacity:1;transform:scale(1.025)}100%{opacity:.8;transform:scale(1.01)}}@keyframes siExit{to{opacity:0;visibility:hidden}}@keyframes siSkip{to{opacity:0;visibility:hidden}}
@media(max-width:600px){.si-studio img{width:84vw;max-height:28vh}.si-game>img{width:94vw}.si-game-kicker,.si-tagline{letter-spacing:.28em;text-indent:.28em}.si-game-rule{width:68vw}.access-panel{padding:25px 20px 24px}.access-logo{height:90px}.access-panel p{font-size:13px}}
/* puerta de acceso: sesión reconocida, perfil cargando */
.access-wait{display:block;width:34px;height:34px;margin:6px auto;border:3px solid #ffffff1f;border-top-color:var(--ac,#f2b544);border-radius:50%;animation:accessSpin .8s linear infinite}
@keyframes accessSpin{to{transform:rotate(360deg)}}
body.rm .access-wait{animation-duration:2.4s}
