/* Original illustrated scenes with bounded, compositor-driven effect layers. */
.rs-player-launch{isolation:isolate;background:#030611!important;pointer-events:auto!important;overflow:hidden}
.mjfx-scene-art{position:absolute;inset:-3%;z-index:-3;background:linear-gradient(180deg,#02081740,#020511aa),var(--scene-art) center/cover;animation:mjfxScene 12s ease-in-out infinite alternate}
.rs-player-launch:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,transparent 15%,#02030ae6 95%)}
.mjfx-launch-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:min(760px,92vw);padding:30px 12px;color:#ffeac3}
.mjfx-brand{font:800 10px/1.5 system-ui;letter-spacing:.32em;color:#fbd98b}
.mjfx-launch-content h2{font:900 clamp(32px,6vw,76px)/1.08 Georgia,serif;margin:26px 0 12px;color:#ffe4a3;text-shadow:0 2px #7f3d17,0 4px #3a1a12,0 8px 24px #000,0 0 38px #f9bf4b60;animation:mjfxTitle .9s cubic-bezier(.16,1,.3,1) both}
.mjfx-tagline{font:500 clamp(12px,2vw,16px)/1.4 system-ui;letter-spacing:.12em;color:#d9dcf5;margin:0 0 28px}
.mjfx-loading-track{height:5px;width:min(340px,70vw);border-radius:20px;background:#ffffff15;overflow:hidden;box-shadow:0 0 0 1px #e9c36c30}
.mjfx-loading-track i{display:block;width:35%;height:100%;background:linear-gradient(90deg,transparent,#f0c658,#fff5cd);box-shadow:0 0 14px #f2cf79;animation:mjfxProgress 1.25s ease-in-out infinite}
.scene-loaded .mjfx-loading-track i{width:100%;animation:none;background:linear-gradient(90deg,#54dca3,#b7ffe7)}
.mjfx-load-status{font:500 12px/1.5 system-ui;color:#d9dccf;min-height:18px;margin:13px 0 0}
.mjfx-close{position:absolute;z-index:10;right:max(20px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));width:44px;height:44px;border:1px solid #ffeab780;border-radius:50%;background:#071221c9;color:#fff;font:32px/1 system-ui;cursor:pointer}
.mjfx-close:focus-visible{outline:3px solid #fff;outline-offset:4px}
.mjfx-light-rays{position:absolute;inset:-25%;z-index:-2;pointer-events:none;background:conic-gradient(from 20deg at 50% 35%,transparent 0deg,#95f5ef12 14deg,transparent 30deg,#ffe58b12 60deg,transparent 90deg,#ac8bff14 145deg,transparent 175deg);animation:mjfxRays 22s linear infinite}
.mjfx-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.mjfx-particles i{position:absolute;left:var(--x);bottom:-20px;width:4px;height:4px;border-radius:50%;background:#ffe39d;box-shadow:0 0 9px #ffc25a;opacity:0;animation:mjfxFloat var(--speed) linear var(--delay) infinite}
.mjfx-particles i:nth-child(3n){background:#7bf7ee;box-shadow:0 0 12px #46e3fb;width:3px;height:3px}
.mjfx-lanterns{display:flex;gap:clamp(28px,6vw,75px);height:125px;margin:45px 0 8px;align-items:center}
.mjfx-lantern{--light:#ff566d;position:relative;display:block;width:65px;height:82px;border:3px solid #edc66f;border-radius:44%;background:repeating-linear-gradient(90deg,transparent 0 11px,#ffd48790 12px 14px),radial-gradient(circle,#ffe6a6,var(--light) 65%,#491534);box-shadow:0 0 28px var(--light),inset 0 0 16px #ffefb8;animation:mjfxSway 3.5s ease-in-out infinite alternate;transform-origin:top}
.mjfx-lantern.jade{--light:#39db9c;animation-delay:-1s}.mjfx-lantern.sapphire{--light:#548bff;animation-delay:-2s}
.mjfx-lantern:before{content:"";position:absolute;left:50%;bottom:100%;width:2px;height:35px;background:#e6c269}.mjfx-lantern:after{content:"";position:absolute;left:27px;top:100%;width:5px;height:24px;background:#efc971;box-shadow:-4px 8px #c59038,4px 8px #c59038}
.mjfx-lantern b{position:absolute;left:10%;width:80%;height:210px;top:25%;background:linear-gradient(var(--light),transparent);filter:blur(12px);opacity:.22;z-index:-1;animation:mjfxGlow 2.3s ease-in-out infinite alternate}
.mjfx-tiles{display:flex;gap:15px;margin:45px 0 12px;perspective:500px}.mjfx-tiles i{display:grid;place-items:center;width:68px;height:90px;font:700 43px Georgia;color:#b12540;border-radius:10px;border:2px solid #d6ad5d;background:linear-gradient(140deg,#ffffe8,#cdd5b6);box-shadow:0 7px #397756,0 14px 35px #0008;animation:mjfxTile 4s ease-in-out infinite alternate}.mjfx-tiles i:nth-child(2){color:#197652;animation-delay:-1s}.mjfx-tiles i:nth-child(3){color:#3666b7;animation-delay:-2s}
.mjfx-gem{width:100px;height:100px;margin:45px 0 20px;clip-path:polygon(25% 0,75% 0,100% 35%,50% 100%,0 35%);background:conic-gradient(from 20deg,#fff,#52d8fc,#6578eb,#e7f9ff,#888aee,#7ffff0,#fff);filter:drop-shadow(0 0 22px #90bdff);animation:mjfxTile 3s ease-in-out infinite alternate}
.mjfx-football{width:100px;height:100px;border-radius:50%;margin:45px 0 20px;background:radial-gradient(circle at 35% 25%,#fff 0 18%,transparent 19%),conic-gradient(#122333 0 60deg,#e5f5ff 60deg 120deg,#142434 120deg 180deg,#d8f0ff 180deg 240deg,#132431 240deg 300deg,#f5fcff 300deg);box-shadow:inset -12px -16px 18px #0008,0 0 40px #54d9ff70;animation:mjfxTile 3s ease-in-out infinite alternate}
.mj-catalog-game{background-image:linear-gradient(180deg,#03090bb8,#05020de0),url('../images/palace-scene-v1.png');background-position:center;background-size:cover}
.mjcg-stadium{background-image:linear-gradient(180deg,#04121b80,#01140bd9),url('../images/stadium-scene-v1.png')}
.mjcg-diamond{background-image:linear-gradient(180deg,#10042180,#080216d9),url('../images/diamond-scene-v1.png')}
.mjcg-card{background-image:linear-gradient(#02071550,#020610bb),url('../images/palace-scene-v1.png');background-size:cover;background-position:center}
.mjcg-card.mjcg-diamond{background-image:linear-gradient(#18072950,#020610bb),url('../images/diamond-scene-v1.png')}
.mjcg-card.mjcg-mahjong{background-image:linear-gradient(#02372055,#020f0ebb),url('../images/palace-scene-v1.png')}
.mjcg-card.mjcg-stadium{background-image:linear-gradient(#02071550,#020610bb),url('../images/stadium-scene-v1.png')}
.mjcg-card-hero{height:115px;display:grid;place-items:center;position:relative;z-index:1}.mjcg-card-hero>div{margin:0;scale:.65}.mjcg-card-hero .mjfx-lanterns{gap:25px}.mjcg-card-hero .mjfx-lantern b{height:110px}
.mjcg-heading,.mjcg-selection,.mjcg-cabinet,.mjcg-field,.mjcg-status{z-index:2}
.mj-catalog-game .mjfx-light-rays{z-index:0;opacity:.65}.mj-catalog-game .mjfx-particles{z-index:1}
.mj-catalog-game .mjcg-heading h2{background:linear-gradient(#fff9d8,#f4c979 45%,#aa6925 50%,#ffe7a7 75%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 2px 1px #120506);text-shadow:none}
.mjcg-cabinet:before{content:"";position:absolute;inset:-8px;pointer-events:none;border-radius:28px;border:2px dotted #ffe6a4;filter:drop-shadow(0 0 6px #f6c568);animation:mjfxGlow 2s ease-in-out infinite alternate}
.mjcg-diamond .mjcg-cabinet:before{border-color:#d788ff;filter:drop-shadow(0 0 7px #e084ff)}
.mjcg-lamp{animation:mjfxSway 4s ease-in-out infinite alternate}.mjcg-lamp:before{box-shadow:0 0 14px var(--lamp)}
.mjcg-selection .mjcg-lamp b{position:absolute;left:10%;top:30%;width:80%;height:140px;background:linear-gradient(var(--lamp),transparent);filter:blur(7px);opacity:.2;pointer-events:none;z-index:-1;animation:mjfxGlow 3s ease-in-out infinite alternate}
.mjcg-symbol-ruby,.mjcg-symbol-jade,.mjcg-symbol-sapphire,.mjcg-symbol-diamond{width:clamp(20px,55cqh,58px);height:clamp(26px,66cqh,70px);font-size:0!important;clip-path:polygon(25% 0,75% 0,100% 35%,50% 100%,0 35%);background:conic-gradient(from 15deg,#fff,currentColor 20%,#ffffffaa 35%,currentColor 50%,#0008 60%,currentColor 85%,#fff);filter:drop-shadow(0 0 8px currentColor)}
.mjcg-symbol-seven{font-weight:900;-webkit-text-stroke:1px #ffe3a0;text-shadow:2px 4px #791123,0 0 15px #ff436c}
.mjcg-scene-entrance{animation:mjfxReveal .65s cubic-bezier(.16,1,.3,1) both}
.is-launching .mj-catalog-game .entrance i{animation-play-state:paused}
.is-player-ready:not(.is-launching) .mj-catalog-game{animation:mjfxReveal .65s cubic-bezier(.16,1,.3,1) both}
.mjfx-particles.entrance i{width:13px;height:13px;background:linear-gradient(120deg,#fff7ad,#e5a93f,#9d5f13);border:1px solid #ffe39a;box-shadow:0 0 8px #ffcb5680;bottom:auto;top:-30px;animation:mjfxCoins 1.4s ease-out calc(var(--x-index,0)*.025s) both;animation-delay:calc(var(--delay)*-.09);border-radius:50%}
@keyframes mjfxScene{to{transform:scale(1.045)}}@keyframes mjfxTitle{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
@keyframes mjfxProgress{from{transform:translateX(-100%)}to{transform:translateX(390%)}}@keyframes mjfxRays{to{transform:rotate(360deg)}}
@keyframes mjfxFloat{0%{transform:translate(0,0);opacity:0}15%,65%{opacity:.65}100%{transform:translate(var(--drift),-650px);opacity:0}}
@keyframes mjfxSway{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes mjfxGlow{from{opacity:.4}to{opacity:.9}}
@keyframes mjfxTile{from{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-9px) rotate(4deg)}}@keyframes mjfxReveal{from{opacity:.4;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes mjfxCoins{0%{transform:translateY(0) rotateY(0);opacity:0}15%{opacity:.8}100%{transform:translate(var(--drift),600px) rotateY(540deg);opacity:0}}
@media(max-width:600px){.mjfx-launch-content h2{font-size:38px}.mjfx-brand{letter-spacing:.2em;font-size:9px}.mjfx-lanterns{gap:35px;margin-top:30px}.mjfx-lantern{width:49px;height:65px}.mjfx-launch-content{padding:20px 8px}.mjfx-close{top:14px;right:14px}.mjfx-scene-art{background-position:35% center}.mjcg-cabinet:before{inset:-5px}}
@media(prefers-reduced-motion:reduce){.mjfx-scene-art,.mjfx-light-rays,.mjfx-particles i,.mjfx-launch-content h2,.mjfx-lantern,.mjfx-lantern b,.mjfx-tiles i,.mjfx-gem,.mjfx-football,.mjcg-scene-entrance,.mjcg-cabinet:before,.mjcg-lamp{animation:none!important;transform:none!important}.mjfx-particles{display:none}.mjfx-loading-track i{animation:none;width:100%;opacity:.5}}
.mjfx-fish-crest{width:200px;height:180px;overflow:hidden;position:relative}.mjfx-fish-crest img{position:absolute;width:400px;max-width:none;left:0;top:0}
