/* Una escena por juego, una sola navegación. Las animaciones nunca cambian la partida. */
#vSala .gm-premium{background:radial-gradient(ellipse at 50% 6%,color-mix(in srgb,var(--gm-a) 22%,#152435),transparent 64%),#0b1525}
#vSala .gm-premium:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:radial-gradient(#fff7 1px,transparent 1px);background-size:37px 37px;mask-image:linear-gradient(#000,transparent 65%)}
#vSala .gm-premium .gm-wrap{position:relative;max-width:480px;padding-inline:26px;min-height:100%;justify-content:center}
#vSala .gm-premium .gm-top{flex:none}
#vSala .gm-premium .gm-hero{margin:2px -26px 20px;min-height:290px;flex:1 0 290px;max-height:480px;padding-bottom:0;overflow:hidden}
#vSala .gm-premium .gm-art{inset:0 0 92px;scale:1;translate:none;width:auto;height:auto;transform:none;min-height:180px}
#vSala .gm-premium .gm-art:after{display:none}
#vSala .gm-premium .am-scene{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#vSala .gm-premium .gm-hero h1{font-size:clamp(32px,10vw,52px);line-height:1.03;letter-spacing:-1.8px;text-align:center;text-shadow:0 2px 0 #554b6450,0 6px 22px #0005;max-width:95%}
#vSala .gm-premium .gm-hero p{font-size:10px;letter-spacing:.5px;line-height:1.4;margin:9px 0 0;color:#d0d7e2}
#vSala :is(.gm-f1,.gm-raya,.gm-ahorca,.gm-blackjack,.gm-mina) .gm-hero h1{font-size:clamp(28px,8.9vw,43px)}
#vSala :is(.gm-ppt,.gm-flota,.gm-ff,.gm-gatocadenas,.gm-dados) .gm-hero h1{font-size:clamp(29px,8.5vw,42px)}
#vSala :is(.gm-ppt,.gm-flota,.gm-ff,.gm-gatocadenas,.gm-dados) .gm-art{bottom:124px}
#vSala .gm-premium .gm-button{position:relative;overflow:hidden;border-radius:17px;background:linear-gradient(115deg,#fff1,#fff04);border-color:#c3d5ee26;box-shadow:0 5px 0 #0003,inset 0 1px #fff1;min-height:57px}
#vSala .gm-premium .gm-primary{min-height:65px;border-color:#fff6c199;background:linear-gradient(120deg,#fff3d0,var(--gm-b) 65%,color-mix(in srgb,var(--gm-b) 86%,#9e7439));color:#283449;box-shadow:0 5px 0 color-mix(in srgb,var(--gm-b) 38%,#302b3b),0 12px 22px #0004,inset 0 2px #ffffff8c}
#vSala .gm-premium .gm-primary:after{content:"";position:absolute;inset:-40% -70%;background:linear-gradient(110deg,transparent 44%,#fff6 49%,transparent 54%);translate:-30% 0;animation:am-sheen 9s ease-in-out infinite;pointer-events:none}
#vSala .gm-premium .gm-create{background:linear-gradient(120deg,color-mix(in srgb,var(--gm-a) 25%,#183147),#1e2f43);border-color:color-mix(in srgb,var(--gm-a) 32%,transparent)}
#vSala .gm-premium .gm-secondary .gm-button{min-height:53px}
#vSala .gm-premium .gm-players{border-color:#fff2;background:#030b1326}
#vSala .gm-premium .gm-access{padding-top:16px}
#vSala .gm-mode{display:flex;align-items:center;gap:15px;font:700 9px system-ui;letter-spacing:1.1px;color:#9aaec8;margin-bottom:2px}
#vSala .gm-mode select{appearance:auto;flex:1;background:#14283d;border:1px solid #99b6cf40;color:#e9f2ff;padding:9px;border-radius:9px;min-height:38px;font:650 12px system-ui;letter-spacing:0}
#vSala .gm-tower.gm-premium{background:linear-gradient(#123c62,#287d9b 52%,#132c43 100%)}
#vSala .gm-tower .gm-hero:before{content:"";position:absolute;inset:16px 0 60px;background:radial-gradient(ellipse at 25% 27%,#d7f6ff40 0 8%,transparent 9%),radial-gradient(ellipse at 77% 47%,#d7f6ff30 0 9%,transparent 10%);filter:blur(4px);animation:am-cloud 24s ease-in-out infinite}
#vSala .gm-poker.gm-premium{background:radial-gradient(ellipse at 50% 15%,#226146,transparent 66%),#0c2427}
#vSala .gm-blackjack.gm-premium{background:radial-gradient(ellipse at 50% 10%,#3c4567,transparent 60%),#141a30}
#vSala .gm-escopeta.gm-premium{background:radial-gradient(ellipse at 50% 20%,#3c4840,transparent 58%),#101a1b}
#vSala .gm-snake.gm-premium{background:radial-gradient(ellipse at 50% 20%,#284b38,transparent 64%),#0a211f}
#vSala :is(.gm-mind,.gm-impostor).gm-premium{background:radial-gradient(ellipse at 50% 15%,#484067,transparent 68%),#191b33}
#vSala .gm-billar.gm-premium{background:radial-gradient(ellipse at 50% 12%,#19584c,transparent 67%),#10252a}
#vSala .gm-flota.gm-premium{background:radial-gradient(ellipse at 50% 12%,#205b76,transparent 67%),#0d213b}
#vSala .gm-rocket.gm-premium{background:radial-gradient(ellipse at 50% 5%,#304e83,transparent 67%),#12253d}
#vSala .am-float{animation:am-float 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
#vSala .am-bob{animation:am-bob 5s ease-in-out infinite}
#vSala .am-bob-late{animation:am-bob 6s -3s ease-in-out infinite}
#vSala .am-spark{animation:am-spark 4s ease-in-out infinite}
#vSala .am-spark:nth-last-child(2){animation-delay:-2s}
#vSala .am-orbit{transform-origin:225px 152px;animation:am-orbit 50s linear infinite}
#vSala .am-halo{animation:am-pulse 6s ease-in-out infinite}
#vSala .am-drop-token{animation:am-token 5s cubic-bezier(.4,0,.6,1) infinite}
#vSala .am-stack-slide{animation:am-stack 7s ease-in-out infinite}
#vSala .am-stack-slide path{animation:am-colors 21s linear infinite}
#vSala .am-light{animation:am-lights 7s infinite}
#vSala .am-trace{stroke-dasharray:285;animation:am-trace 6s ease-in-out infinite}
#vSala .am-chomp{animation:am-chomp 5s ease-in-out infinite}
#vSala .am-radar{transform-origin:286px 140px;animation:am-orbit 6s linear infinite}
#vSala .am-wave{animation:am-pulse 4s ease-in-out infinite}
#vSala .am-ink{stroke-dasharray:400;animation:am-ink 12s ease-in-out infinite}
#vSala .am-rocket-flight{transform-origin:225px 170px;animation:am-flight 7s ease-in-out infinite}
#vSala .am-pulse{animation:am-pulse 3s ease-in-out infinite}
@keyframes am-colors{0%,100%{fill:#ffbb80}33%{fill:#8dddbb}66%{fill:#b1a6f2}}
@keyframes am-float{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -6px;rotate:1deg}}
@keyframes am-bob{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes am-spark{0%,100%{opacity:.2}50%{opacity:1}}
@keyframes am-pulse{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes am-orbit{to{rotate:360deg}}
@keyframes am-token{0%,15%{translate:0 -15px;opacity:0}30%{opacity:1}55%,80%{translate:0 99px;opacity:1}100%{translate:0 99px;opacity:0}}
@keyframes am-stack{0%,100%{translate:-46px 0}40%,60%{translate:28px 0}50%{translate:28px 3px}}
@keyframes am-lights{0%,12%{opacity:.15}20%,63%{opacity:1}67%,100%{opacity:.15}}
@keyframes am-trace{0%,20%{stroke-dashoffset:285;opacity:0}40%,80%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes am-ink{0%,10%{stroke-dashoffset:400}60%,100%{stroke-dashoffset:0}}
@keyframes am-chomp{0%,100%{translate:-3px 0}50%{translate:13px 0}}
@keyframes am-flight{0%,100%{translate:0 0;rotate:-7deg}50%{translate:9px -8px;rotate:-11deg}}
@keyframes am-sheen{0%,65%{translate:-30% 0}88%,100%{translate:35% 0}}
@keyframes am-cloud{0%,100%{translate:-8px 0}50%{translate:8px 0}}
/* Ilustraciones originales de los juegos, con sus mismos fotogramas de reposo. */
#vSala .am-characters{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#vSala .am-dungeon{position:absolute;inset:-28px 5px 0;background:url('/gatocadenas/assets/dungeon.webp') center 41%/cover;mask-image:radial-gradient(ellipse,#000 30%,transparent 73%)}
#vSala .am-island{position:absolute;bottom:13%;left:14%;width:72%;height:25%;border-radius:50%;background:linear-gradient(#afded0 10%,#64859a 16%,#3b5277 42%,#253957 80%);box-shadow:0 12px 28px #001b3544;transform:rotateX(45deg)}
#vSala .gm-ff.gm-premium{background:radial-gradient(ellipse at 50% 10%,#537294,transparent 75%),#132a44}
#vSala .gm-gatocadenas.gm-premium{background:radial-gradient(ellipse at 50% 10%,#57435a,transparent 65%),#211b32}
#vSala .gm-ff .gm-art{overflow:visible}
#vSala.oculto .gm-premium *,#vSala .gm-premium[aria-hidden=true] *{animation-play-state:paused}
@media(max-height:740px) and (orientation:portrait){
 #vSala .gm-premium .gm-wrap{padding:9px 22px 12px}
 #vSala .gm-premium .gm-hero{flex-basis:230px;min-height:230px;margin:0 -22px 12px}
 #vSala .gm-premium .gm-art{min-height:0;inset:0 0 74px;scale:1;translate:none}
 #vSala .gm-premium .gm-hero h1{font-size:38px}
 #vSala :is(.gm-f1,.gm-raya,.gm-ahorca,.gm-blackjack,.gm-mina) .gm-hero h1{font-size:31px}
 #vSala :is(.gm-ppt,.gm-flota,.gm-ff,.gm-gatocadenas,.gm-dados) .gm-hero h1{font-size:31px}
 #vSala :is(.gm-ppt,.gm-flota,.gm-ff,.gm-gatocadenas,.gm-dados) .gm-art{bottom:97px}
 #vSala .gm-premium .gm-primary{min-height:55px}#vSala .gm-premium .gm-create{min-height:51px}
 #vSala .gm-premium .gm-secondary .gm-button{min-height:48px}
 #vSala .gm-premium .gm-access{padding-top:12px}
}
@media(max-height:620px) and (orientation:portrait){#vSala .gm-premium .gm-hero{flex-basis:183px;min-height:183px}#vSala .gm-premium .gm-hero p{display:none}#vSala .gm-premium .gm-art{bottom:48px}#vSala :is(.gm-ppt,.gm-flota,.gm-ff,.gm-gatocadenas,.gm-dados) .gm-art{bottom:77px}#vSala .gm-premium .gm-access .su-accesot{display:none}#vSala .gm-premium .gm-settings{padding-bottom:3px}}
@media(orientation:landscape) and (max-height:549px){
 #vSala .gm-premium .gm-wrap{max-width:920px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:40px 1fr auto;gap:0 30px;padding:10px 26px}
 #vSala .gm-premium .gm-hero{grid-row:2/4;min-height:230px;margin:0;max-height:none}
 #vSala .gm-premium .gm-art{inset:0 0 75px;min-height:0}
 #vSala .gm-premium .gm-hero h1{font-size:39px}
 #vSala :is(.gm-f1,.gm-raya,.gm-ahorca,.gm-blackjack,.gm-mina,.gm-ppt,.gm-flota,.gm-ff,.gm-gatocadenas,.gm-dados) .gm-hero h1{font-size:30px}
 #vSala :is(.gm-ppt,.gm-flota,.gm-ff,.gm-gatocadenas,.gm-dados) .gm-art{bottom:93px}
 #vSala .gm-premium .gm-primary,#vSala .gm-premium .gm-create{min-height:48px}
 #vSala .gm-premium .gm-secondary .gm-button{min-height:44px}
 #vSala .gm-premium .gm-access{padding-top:9px}#vSala .gm-premium .gm-access .su-accesot{display:none}
}
@media(prefers-reduced-motion:reduce){#vSala .gm-premium *,#vSala .gm-premium *:before,#vSala .gm-premium *:after{animation:none!important;transition:none!important}}

#vSala .gm-premium .gm-wheel{width:230px;height:230px;top:46%;scale:.9}
#vSala .gm-premium .gm-chip{scale:.85;transform-origin:center}
#vSala .gm-premium .gm-memory{scale:.8;transform-origin:50% 40%;top:18%}
#vSala .gm-premium .gm-memory-small{scale:.8;top:65%}
#vSala .gm-premium .gm-uno-card{scale:.85;transform-origin:50% 30%;top:12%}
@media(max-height:740px) and (orientation:portrait){#vSala .gm-premium .gm-wheel{scale:.62}#vSala .gm-premium .gm-chip{scale:.6}#vSala .gm-premium .gm-memory{scale:.65;top:0}#vSala .gm-premium .gm-memory-small{top:55%}#vSala .gm-premium .gm-uno-card{scale:.67;top:0}}

#vSala .gm-premium .am-scene{stroke:none;stroke-linecap:round;stroke-linejoin:round}

#vSala .gm-options{color:#d9e1ee;border-bottom:1px solid #ffffff15;font-size:10px}
#vSala .gm-options summary{min-height:30px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:9px;font-weight:750;letter-spacing:1px;color:var(--gm-a)}
#vSala .gm-options>div{padding:12px 0}.gm-options .su-elec{justify-content:center}
#vSala .gm-options .su-lbl{font-size:10px;margin:4px 0 9px}
#vSala .gm-premium .am-scene>ellipse:first-of-type{animation:am-pulse 8s ease-in-out infinite}
#vSala .gm-poker .am-scene>g{animation:am-bob 8s ease-in-out infinite}

#vSala .gm-slots .gm-hero h1{font-size:clamp(27px,8.5vw,42px)}
.am-slot-seven{animation:am-seven-settle 7s cubic-bezier(.2,.8,.2,1) infinite;transform-origin:center}
@keyframes am-seven-settle{0%,5%{transform:translateY(-5px);opacity:.3}12%,100%{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.am-slot-seven{animation:none}}
