/* Raúlflix 22.4 · Escenarios vivos */
#rf22world-stage{min-height:0!important;overflow:hidden;isolation:isolate}
#rf228-scene{position:relative;min-height:315px;border-radius:18px;overflow:hidden;padding:28px 22px 18px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;background:#07040c;border:1px solid #ffffff38}
#rf228-scene .rf228-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
#rf228-scene .rf228-grain{position:absolute;inset:-100%;opacity:.13;background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,#fff 4px,transparent 5px);animation:rf228scan 9s linear infinite}
#rf228-scene .rf228-orbit{position:absolute;display:block;filter:blur(1px);opacity:.55;animation:rf228float 8s ease-in-out infinite alternate}
#rf228-scene .rf228-orbit-a{width:210px;height:210px;top:8%;right:-30px;border-radius:50%;background:radial-gradient(circle,#fff5,transparent 65%)}
#rf228-scene .rf228-orbit-b{width:130px;height:230px;top:-20%;left:-12%;border-radius:60%;background:linear-gradient(100deg,#fff3,transparent);animation-delay:-4s}
#rf228-scene .rf228-object{position:absolute;right:10%;top:16%;font-size:clamp(85px,23vw,150px);filter:drop-shadow(0 12px 22px #000);animation:rf228float 5s ease-in-out infinite alternate;transform-origin:center}
#rf228-scene .rf228-signal{position:absolute;top:12px;left:15px;font:11px monospace;letter-spacing:2px;opacity:.8}
#rf228-scene .rf228-copy{position:relative;z-index:1;text-shadow:0 3px 10px #000;max-width:600px}
#rf228-scene .rf228-head{font-weight:900;font-size:clamp(24px,5vw,39px);line-height:1.06;letter-spacing:1px;max-width:80%}
#rf228-scene .rf228-line{font-size:clamp(16px,3.5vw,22px);line-height:1.4;margin:12px 0;color:#f7f2f5}
#rf228-scene .rf228-touch{border:1px solid #ffffff88;background:#0008;color:white;padding:9px 13px;border-radius:20px;font-size:12px;cursor:pointer;max-width:100%;text-align:left}
#rf228-scene .rf228-secret{padding:12px 14px;border-radius:10px;background:#000b;border:1px solid #ffffff88;font-size:13px}
#rf228-scene .rf228-scenes{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:17px;z-index:1;position:relative}
#rf228-scene .rf228-next{background:#0008;border:1px solid #ffffff88;color:#fff;padding:8px 13px;border-radius:10px;cursor:pointer}
#rf228-scene .rf228-counter{font-size:11px;opacity:.7}
#rf228-scene[data-world=vhs]{background:linear-gradient(140deg,#071724,#003536 65%,#201025);border:9px solid #181d21;box-shadow:inset 0 0 0 3px #c5ced3,0 14px 40px #0008;font-family:monospace}
#rf228-scene[data-world=vhs] .rf228-head{color:#eaffff;text-shadow:3px 3px #f10091,-3px -2px #00ffe0,0 5px 10px #000}
#rf228-scene[data-world=vhs] .rf228-backdrop{background:repeating-linear-gradient(0deg,#071925 0px,#071925 5px,#163e45 7px,#071925 11px)}
#rf228-scene[data-world=vhs] .rf228-object{transform:rotate(-12deg)}
#rf228-scene[data-world=supernatural]{background:radial-gradient(ellipse at 75% 15%,#7f8c9e66,transparent 42%),linear-gradient(135deg,#061620,#07151a 75%,#12111c);border:2px solid #9eb5b8aa}
#rf228-scene[data-world=supernatural] .rf228-head{font-family:Georgia,serif;font-weight:400;letter-spacing:3px;color:#d8eced;text-shadow:0 0 15px #bceaf3,0 0 30px #a1e4ff77}
#rf228-scene[data-world=supernatural] .rf228-orbit{filter:blur(12px);opacity:.8}
#rf228-scene[data-world=slasher]{background:linear-gradient(115deg,#080509 12%,#39020b 75%,#070305);border:2px solid #c51c3b}
#rf228-scene[data-world=slasher] .rf228-head{font-weight:1000;font-style:italic;letter-spacing:-1px;text-shadow:2px 3px #a40018,4px 6px #350009,0 0 22px #fb1039}
#rf228-scene[data-world=slasher] .rf228-orbit-a{background:radial-gradient(circle,#f3062588,transparent 65%)}
#rf228-scene[data-world=cinema]{background:radial-gradient(ellipse at 50% -15%,#e2b96577,transparent 58%),linear-gradient(115deg,#2a0715,#100812 65%,#310c16);border:9px ridge #d1a95d;box-shadow:inset 0 0 0 2px #edc88a,0 16px 40px #0008}
#rf228-scene[data-world=cinema] .rf228-head{font-family:Georgia,serif;font-weight:400;letter-spacing:3px;color:#f7e4b6}
#rf228-scene[data-world=cinema] .rf228-orbit-b{background:linear-gradient(100deg,#ffda8577,transparent)}
#rf228-scene[data-variant="1"] .rf228-orbit-a{right:40%;top:25%}
#rf228-scene[data-variant="2"] .rf228-orbit-b{left:65%;top:0}
#rf228-scene[data-variant="3"] .rf228-object{right:27%;top:7%}
#rf228-scene.rf228-reveal .rf228-object{filter:drop-shadow(0 0 22px #fff9);animation:rf228shake .28s ease-in-out 3}
#rf228-reward[hidden]{display:none!important}
#rf228-reward{position:fixed;inset:0;z-index:99999;background:#000b;display:grid;place-items:center;padding:18px}
#rf228-reward>div{width:min(450px,100%);position:relative;background:linear-gradient(145deg,#1b0b19,#330d25);border:2px solid #dd9fbb;border-radius:22px;padding:32px 24px;text-align:center;box-shadow:0 0 80px #000}
#rf228-reward .rf228-envelope{display:block;font-size:70px;animation:rf228float 2s ease-in-out infinite alternate}
#rf228-reward .rf228-label{letter-spacing:2px;font-size:11px;color:#f6b8d2}
#rf228-reward h2{color:white;font-size:25px}
#rf228-reward .rf228-description{color:#f7d8e6}
#rf228-reward button{background:#c32965;color:white;border:1px solid #ffc6db;border-radius:12px;padding:12px 16px}
#rf228-reward .rf228-close{position:absolute;right:12px;top:12px;padding:6px 10px}
@keyframes rf228float{to{transform:translateY(16px) rotate(4deg)}}
@keyframes rf228scan{to{transform:translateY(100px)}}
@keyframes rf228shake{25%{transform:translateX(6px)}75%{transform:translateX(-6px)}}
@media(prefers-reduced-motion:reduce){#rf228-scene *,#rf228-reward *{animation:none!important;transition:none!important}}
