body[data-world]{transition:background-color .9s,color .6s;--world-radius:22px;--world-font:'Space Grotesk',sans-serif;--world-accent:var(--acento);--tile-radius:28%;--world-edge:var(--borde)}
.world-badge{display:block;width:fit-content;max-width:100%;margin:8px auto 0;padding:5px 13px;border:1px solid var(--borde);border-radius:999px;color:var(--texto);background:var(--panel);font-size:14px;line-height:1.3;font-weight:600;letter-spacing:.04em}
.world-announcement{position:absolute;left:8%;right:8%;top:30%;z-index:8;padding:22px 15px;border:2px solid var(--acento);border-radius:var(--world-radius);background:var(--panel);color:var(--texto);box-shadow:0 15px 45px #15112d40;text-align:center;font:700 clamp(20px,5vw,30px)/1.3 var(--world-font);pointer-events:none}
.world-announcement[hidden]{display:none}.world-announcement.arrives{animation:world-arrive 2.3s ease both}
@keyframes world-arrive{0%{opacity:0;transform:translateY(25px) scale(.75)}18%,78%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-20px) scale(1.05)}}
body[data-world]:not([data-world='jelly']){background-image:var(--world-bg);background-attachment:fixed}
body[data-world]:not([data-world='jelly']) .tablero-marco{border:3px solid var(--world-edge);border-radius:var(--world-radius);background:var(--panel);box-shadow:0 15px 0 -7px var(--borde),0 22px 40px var(--sombra)}
body[data-world]:not([data-world='jelly']) .tablero-marco::before{background:var(--world-border);border-radius:calc(var(--world-radius) + 5px);opacity:.7}
body[data-world]:not([data-world='jelly']) .celda:not(.llena):not(.previa){background:var(--celda);box-shadow:inset 0 2px 5px var(--sombra);border-radius:var(--tile-radius)}
body[data-world]:not([data-world='jelly']) :is(.celda.llena,.bloque:not(.hueco)){background-image:url('world-tiles.webp');background-size:200% 200%;background-position:var(--sprite-position);background-color:var(--panel);border-radius:var(--tile-radius);box-shadow:inset 0 0 0 1px #ffffff30,0 3px 3px #0003}
body[data-world]:not([data-world='jelly']) :is(.celda.llena,.bloque:not(.hueco))::after{display:none}
body[data-world]:not([data-world='jelly']) .celda.previa{background:var(--acento);opacity:.6;outline:2px solid var(--texto)}
body[data-world]:not([data-world='jelly']) .celda.linea{outline:2px solid var(--acento);outline-offset:-2px;filter:none;box-shadow:inset 0 0 0 3px #fff}
body[data-world]:not([data-world='jelly']) :is(.marcadores strong,.titulo-inicio,.marca){font-family:var(--world-font);color:var(--texto);text-shadow:var(--world-text-shadow,none)}
body[data-world]:not([data-world='jelly']) .titulo-inicio span{color:var(--texto)}
body[data-world]:not([data-world='jelly']) .icono{background:var(--panel);color:var(--texto);border-color:var(--borde);border-radius:var(--control-radius,50%)}
body[data-world]:not([data-world='jelly']) .pieza-slot{background:var(--panel);border:1px solid var(--borde);border-radius:var(--world-radius);box-shadow:0 5px 0 -2px var(--borde)}
body[data-world]:not([data-world='jelly']) .pieza-slot.seleccionada{outline:2px solid var(--acento);background:var(--celda)}
body[data-world]:not([data-world='jelly']) :is(.play,.principal){color:var(--button-text);background:var(--acento);border-radius:var(--world-radius);border:2px solid var(--world-edge);box-shadow:0 6px 0 var(--borde)}
body[data-world]:not([data-world='jelly']) .secundaria{background:var(--celda);color:var(--texto)}
body[data-world]:not([data-world='jelly']) :is(dialog,.resultados>div,.resultado-record){background:var(--panel);color:var(--texto);border-radius:var(--world-radius);border-color:var(--borde)}
body[data-world]:not([data-world='jelly']) :is(.etiqueta,.bandeja-titulo,footer,.nota-anuncio){color:var(--muted)}
body[data-world]:not([data-world='jelly']) .emblema-inicio i{background-image:url('world-tiles.webp');background-size:200% 200%;background-position:var(--sprite-position);border-radius:var(--tile-radius)}
body[data-world]:not([data-world='jelly']) #fantasma .bloque{animation-name:var(--drag-motion,prismo-squishy)}
body[data-world] .celda.limpia{animation-name:var(--clear-motion,gel-pop)}
body[data-world='chocolate']{--fondo:#2f1c19;--panel:#4c2e25;--celda:#251612;--borde:#835135;--world-edge:#c78e51;--texto:#fff0cf;--muted:#e5bb8c;--acento:#edb65e;--button-text:#382116;--sombra:#180d0b55;--world-radius:8px;--tile-radius:14%;--control-radius:10px;--world-font:Georgia,serif;--sprite-position:0% 0%;--drag-motion:choc-hover;--world-bg:repeating-linear-gradient(45deg,transparent 0 44px,#c1834120 45px 47px,transparent 48px 90px);--world-border:linear-gradient(120deg,#8e4f28,#ffe6a5,#815131)}
body.claro[data-world='chocolate']{--fondo:#f5d7a9;--panel:#fff0d4;--celda:#cba778;--borde:#ad7341;--texto:#4b261c;--muted:#72442a;--sombra:#60351828;--world-bg:repeating-linear-gradient(45deg,transparent 0 44px,#a1652620 45px 47px,transparent 48px 90px)}
body[data-world='ducks']{--fondo:#123e51;--panel:#225c6a;--celda:#123645;--borde:#43898b;--world-edge:#ffdb48;--texto:#e8fff7;--muted:#b6dfdf;--acento:#ffdb48;--button-text:#384332;--sombra:#05273550;--world-radius:35px;--tile-radius:40%;--world-font:'DM Sans',sans-serif;--sprite-position:100% 0%;--drag-motion:duck-hover;--world-bg:radial-gradient(ellipse at 0 0,#78dccc44,transparent 60%),repeating-radial-gradient(ellipse at 85% 85%,transparent 0 55px,#74ced81b 57px 60px,transparent 63px 115px);--world-border:linear-gradient(100deg,#fff8b0,#5cded3,#ffe46a)}
body.claro[data-world='ducks']{--fondo:#a6e8ed;--panel:#edfff9;--celda:#80cad9;--borde:#43949d;--texto:#174957;--muted:#2e6670;--sombra:#207a8c25}
body[data-world='watermelon']{--fondo:#143d31;--panel:#244c3c;--celda:#103026;--borde:#5e9f72;--world-edge:#93d797;--texto:#fff0df;--muted:#d1ddba;--acento:#ff7287;--button-text:#421b2a;--sombra:#071e1955;--world-radius:18px;--tile-radius:20% 20% 38% 38%;--control-radius:18px;--world-font:'DM Sans',sans-serif;--sprite-position:0% 100%;--drag-motion:melon-hover;--world-bg:repeating-linear-gradient(110deg,#27805718 0 25px,transparent 25px 75px),radial-gradient(ellipse at 90% 10%,#ff71832c,transparent 60%);--world-border:linear-gradient(160deg,#74c580,#fff1c2,#f7657b)}
body.claro[data-world='watermelon']{--fondo:#ffdbde;--panel:#fff6df;--celda:#dfadad;--borde:#569668;--texto:#3d3628;--muted:#695046;--sombra:#9e334225}
body[data-world='cosmos']{--fondo:#130e36;--panel:#25224e;--celda:#121433;--borde:#6955a8;--world-edge:#b49eff;--texto:#f2efff;--muted:#c1b9e9;--acento:#67e0f5;--button-text:#172342;--sombra:#080a2855;--world-radius:4px;--tile-radius:16%;--control-radius:8px;--world-font:'Space Grotesk',sans-serif;--sprite-position:100% 100%;--drag-motion:space-hover;--world-text-shadow:0 0 18px #9d86ff60;--world-bg:radial-gradient(ellipse at 12% 28%,#aa48dc33,transparent 55%),radial-gradient(ellipse at 90% 80%,#00b3ed33,transparent 50%),radial-gradient(circle,#b0acf150 1px,transparent 2px);--world-border:linear-gradient(135deg,#dc71e9,#708cff,#72eeff);background-size:auto,auto,43px 43px}
body.claro[data-world='cosmos']{--fondo:#dcd9ff;--panel:#f3f0ff;--celda:#bdb6e5;--borde:#8075b9;--texto:#30295f;--muted:#564f80;--acento:#6550bc;--button-text:#fff;--sombra:#55508a25}
body[data-world='cosmos'] .bandeja-titulo{letter-spacing:.15em}body[data-world='chocolate'] .world-badge{border-style:dashed}body[data-world='watermelon'] .world-badge{border-width:0 0 3px;border-color:var(--borde)}
@keyframes choc-hover{50%{transform:translateY(-2px) rotate(2deg)}}@keyframes duck-hover{50%{transform:translateY(-3px) rotate(-5deg)}}@keyframes melon-hover{50%{transform:scale(1.07,.94) rotate(2deg)}}@keyframes space-hover{50%{transform:translateY(-3px) scale(.93);filter:brightness(1.15)}}
@keyframes gel-pop{30%{scale:1.15 .8}100%{scale:.05;opacity:0}}@keyframes gel-stretch{45%{scale:.55 1.3}100%{scale:.05;opacity:0}}@keyframes gel-twist{45%{rotate:35deg;scale:.8}100%{rotate:110deg;scale:.05;opacity:0}}@keyframes gel-burst{35%{border-radius:50%;scale:1.15}100%{scale:.05;opacity:0}}
@keyframes choc-snap{45%{rotate:-14deg;scale:1.1 .8}100%{translate:0 15px;scale:.1;opacity:0}}@keyframes choc-crumble{45%{rotate:25deg}100%{translate:15px 20px;rotate:80deg;scale:.1;opacity:0}}@keyframes choc-melt{45%{scale:.8 1.3}100%{scale:.3 .05;translate:0 20px;opacity:0}}@keyframes choc-burst{40%{scale:1.1}100%{scale:.05;rotate:-90deg;opacity:0}}
@keyframes duck-dive{40%{translate:0 -7px;rotate:-15deg}100%{translate:0 20px;scale:.1;opacity:0}}@keyframes duck-bounce{40%{scale:1.2 .8}100%{translate:0 -25px;scale:.1;opacity:0}}@keyframes duck-spin{100%{rotate:180deg;scale:.05;opacity:0}}@keyframes duck-flight{30%{rotate:-10deg}100%{translate:25px -30px;scale:.1;opacity:0}}
@keyframes melon-slice{100%{translate:20px 0;rotate:-25deg;scale:.05;opacity:0}}@keyframes melon-squeeze{45%{scale:.6 1.25}100%{scale:.05;opacity:0}}@keyframes melon-roll{100%{translate:25px 10px;rotate:140deg;scale:.05;opacity:0}}@keyframes melon-splash{40%{scale:1.2 .85}100%{scale:.05;rotate:55deg;opacity:0}}
@keyframes space-shrink{100%{scale:.01;rotate:90deg;opacity:0}}@keyframes space-flip{100%{transform:rotateY(150deg);scale:.05;opacity:0}}@keyframes space-spiral{100%{rotate:160deg;translate:10px -10px;scale:.01;opacity:0}}@keyframes space-warp{50%{scale:1.3 .2}100%{scale:.05;opacity:0}}
@media(prefers-reduced-motion:reduce){body[data-world]{transition:none}.world-announcement.arrives{animation:none}.celda.limpia{animation-duration:.01ms!important}body[data-world] #fantasma .bloque{animation:none!important}}
