:root{--bg:#12071a;--rojo:#e0245e;--azul:#4aa8ff;--mor:#a855f7;--verde:#2ecc71;--plata:#cfd8dc;--oro:#f5c26b;--txt:#fff1f6}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth}body{background:radial-gradient(120% 80% at 50% 0%,#2a0f3a 0%,var(--bg) 60%);color:var(--txt);min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);font-family:Georgia,Palatino,serif;line-height:1.55;overflow-x:hidden}body.lock{height:100dvh;overflow:hidden}#bg3d{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}#petalas{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.petala{opacity:.8;will-change:transform;border-radius:70% 0;width:14px;height:18px;animation:linear forwards cae;position:absolute;top:-30px}@keyframes cae{to{transform:translate3d(var(--dx),110vh,0) rotate(var(--rot))}}main,.carta,.musica{z-index:2;position:relative}h1,h2,h3{letter-spacing:.01em;font-weight:400}h1{font-size:clamp(2.4rem,11vw,5.2rem);line-height:1.05}h2{text-align:center;margin-bottom:.6rem;font-size:clamp(1.7rem,7vw,2.8rem)}.grad{background:linear-gradient(90deg,var(--rojo),var(--mor),var(--azul),var(--rojo));color:#0000;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;font-style:italic;animation:6s linear infinite flujo}@keyframes flujo{to{background-position:300% 0}}section{max-width:1100px;margin:0 auto;padding:4.5rem 1.2rem}.sub,.mini{text-align:center;opacity:.85}.mini{letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem;font-size:.72rem}.edad{margin-top:.5rem;font-size:1.2rem}.carta{z-index:10;background:radial-gradient(circle at 50% 40%,#1b0b2b,#07030c);place-items:center;display:grid;position:fixed;inset:0}.carta.fuera{animation:.9s forwards fuera}@keyframes fuera{to{opacity:0;visibility:hidden;transform:scale(1.4)}}.sobre{aspect-ratio:1.45;color:#3b2a14;cursor:pointer;width:min(86vw,380px);transform-style:preserve-3d;background:linear-gradient(135deg,#e8d9b5,#cdb88a);border:none;border-radius:10px;font-family:inherit;animation:3.2s ease-in-out infinite flota;position:relative;box-shadow:0 20px 60px #000a,0 0 80px #2ecc7133}.sobre-tapa{clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(#d9c799,#b9a26f);border-radius:10px 10px 0 0;position:absolute;inset:0 0 50%}.sello{color:#e8fff1;background:radial-gradient(circle at 35% 30%,#3fe08a,#0d6b3c);border:2px solid silver;border-radius:50%;place-items:center;width:62px;height:62px;font-size:2rem;font-weight:700;display:grid;position:absolute;top:44%;left:50%;translate:-50% -50%;box-shadow:0 4px 12px #0007,inset 0 -4px 8px #0005}.sobre-txt{flex-direction:column;gap:.2rem;font-size:1.1rem;display:flex;position:absolute;inset:auto 0 12%}.sobre-txt small{opacity:.7;font-size:.8rem}.sobre.abre{animation:.9s forwards abre}@keyframes flota{50%{transform:translateY(-10px)rotateX(6deg)rotateY(-4deg)}}@keyframes abre{to{opacity:0;transform:translateY(-30px)scale(1.25)rotateX(40deg)}}.musica{right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));color:#fff;z-index:20;backdrop-filter:blur(8px);cursor:pointer;background:#1a0b2acc;border:1px solid #fff4;border-radius:50%;width:42px;height:42px;font-size:1.3rem;position:fixed}.musica.on{animation:1.4s ease-in-out infinite pulso}.musica.off{opacity:.55;text-decoration:line-through}@keyframes pulso{50%{transform:scale(1.07);box-shadow:0 0 0 10px #e0245e22}}.portada h1,.portada .sub,.portada .mini{text-shadow:0 2px 18px #12071a,0 0 6px #12071aaa}.portada{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;display:flex}.portada .sub{margin-top:1rem;font-size:1.15rem}.scroll{opacity:.7;margin-top:3rem;animation:1.6s ease-in-out infinite rebota}@keyframes rebota{50%{transform:translateY(8px)}}.panel{backdrop-filter:blur(10px);text-align:center;background:linear-gradient(160deg,#ffffff14,#ffffff06);border:1px solid #fff2;border-radius:22px;max-width:640px;margin:0 auto;padding:2rem 1.5rem}.panel p{margin-top:.8rem;font-size:1.05rem}.trabajos{perspective:1200px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;padding-top:1rem;display:grid}.trabajo{position:relative}.tarjeta{aspect-ratio:3/4;cursor:pointer;transform-style:preserve-3d;outline:none;transition:transform .8s cubic-bezier(.2,.8,.2,1);position:relative}.tarjeta.gira{transform:rotateY(180deg)}@media (hover:hover){.trabajo:hover .tarjeta,.trabajo:focus-within .tarjeta{transform:rotateY(180deg)}}.cara{-webkit-backface-visibility:hidden;backface-visibility:hidden;border:1px solid #fff3;border-radius:20px;flex-direction:column;justify-content:flex-end;padding:clamp(.55rem,5cqw,1.1rem);display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 14px 40px #0008;container-type:inline-size}.frente img{object-fit:cover;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.frente:after{content:"";z-index:-1;background:linear-gradient(#0000 40%,#12071aee);position:absolute;inset:0}.frente{isolation:isolate}.frente small{opacity:.75;margin-top:.3rem;font-size:clamp(.56rem,4.2cqw,.75rem);line-height:1.15}.dorso{text-align:center;border-color:var(--oro);overscroll-behavior:contain;scrollbar-width:none;background:linear-gradient(150deg,#3a1450,#14301f);justify-content:safe center;gap:clamp(.2rem,2.6cqw,.8rem);overflow:hidden auto;transform:rotateY(180deg)}.dorso::-webkit-scrollbar{display:none}.dorso p{overflow-wrap:break-word;hyphens:auto;text-wrap:pretty;font-size:clamp(.7rem,7.2cqw,1.02rem);line-height:1.28}.frente h3,.dorso h3{text-wrap:balance;overflow-wrap:break-word;font-size:clamp(.78rem,8.6cqw,1.25rem);line-height:1.12}.num{color:var(--oro);text-shadow:0 2px 8px #000;font-size:1.5rem;position:absolute;top:12px;left:14px}@media (width>=760px){.trabajos{grid-template-columns:repeat(4,1fr);gap:1.4rem}}.dorso .num{font-size:clamp(1.1rem,11cqw,2.2rem);line-height:1;position:static}.frase{text-align:center}.frase p{place-items:center;min-height:5.5em;font-size:clamp(1.3rem,5.5vw,2rem);font-style:italic;transition:opacity .4s;display:grid}.btn{background:linear-gradient(90deg,var(--rojo),var(--mor));color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;margin-top:1rem;padding:.8rem 1.6rem;font-size:1rem;box-shadow:0 8px 24px #e0245e55}.btn:active{transform:scale(.96)}.galeria{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.6rem;display:grid}@media (width>=760px){.galeria{grid-template-columns:repeat(4,1fr)}}.marco{aspect-ratio:3/4;background:#000;border:6px solid #0000;border-image:linear-gradient(135deg,#f5c26b,#8a5a1b,#f5c26b) 1;position:relative;overflow:hidden;box-shadow:0 12px 30px #000a,0 0 24px #f5c26b22}.marco video{object-fit:cover;width:100%;height:100%;display:block}.marco figcaption{text-align:center;background:linear-gradient(#0000,#000c);padding:1.4rem .5rem .5rem;font-size:.9rem;position:absolute;inset:auto 0 0}.sly{text-align:center;background:linear-gradient(#0000,#0c2a1a66,#0000)}.serp{font-size:3.2rem;animation:3s ease-in-out infinite ondea}@keyframes ondea{50%{transform:rotate(8deg)scale(1.1)}}.sly h2{color:#7ef0a8;text-shadow:0 0 24px #2ecc7188}.sly p{max-width:560px;margin:0 auto}.sly-fotos{grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1.6rem;display:grid}@media (width>=760px){.sly-fotos{grid-template-columns:repeat(4,1fr)}}.sly-fotos img{aspect-ratio:3/4;object-fit:cover;border:2px solid var(--plata);filter:saturate(.9)contrast(1.05);border-radius:14px;width:100%}.dist{text-align:center}.ruta{align-items:center;gap:.6rem;max-width:520px;margin:1.6rem auto;display:flex}.p{background:#ffffff18;border:1px solid #fff3;border-radius:999px;padding:.5rem .9rem;font-size:.95rem}.linea{background:repeating-linear-gradient(90deg,#fff8 0 8px,#0000 8px 16px);flex:1;height:2px;position:relative}.cora{font-size:1.6rem;font-style:normal;animation:4s ease-in-out infinite alternate viaja;position:absolute;top:-14px;left:0}@keyframes viaja{to{left:calc(100% - 1.6rem)}}.juego{text-align:center}.arena{touch-action:manipulation;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff10,#ffffff04);border:1px solid #fff3;border-radius:22px;max-width:520px;height:55vh;min-height:320px;margin:1.2rem auto 0;position:relative;overflow:hidden}.hud{opacity:.85;font-size:.95rem;position:absolute;top:10px;left:0;right:0}.arena .btn{position:absolute;top:50%;left:50%;translate:-50% -50%}.dulce{cursor:pointer;will-change:transform;font-size:2rem;animation:linear forwards cae2;position:absolute;top:-40px}@keyframes cae2{to{transform:translateY(calc(55vh + 80px))rotate(30deg)}}.pop{animation:.3s ease-out forwards pop!important}@keyframes pop{to{opacity:0;transform:scale(1.8)}}.premio{margin-top:1rem;font-size:1.15rem}.final{text-align:center;padding-bottom:7rem}.pastel{cursor:pointer;width:170px;height:150px;margin:2rem auto 1rem;position:relative}.capa,.base{border-radius:12px 12px 8px 8px;position:absolute;left:0;right:0}.base{background:linear-gradient(#6b3a1e,#3d1f0f);height:60px;bottom:0}.c2{background:linear-gradient(#ff8fb1,#e0245e);height:44px;bottom:50px;left:12px;right:12px}.c1{background:linear-gradient(#cfa3ff,#a855f7);height:34px;bottom:88px;left:28px;right:28px}.velas{z-index:2;justify-content:center;gap:22px;display:flex;position:absolute;top:-6px;left:0;right:0}.velas i{background:linear-gradient(#fff,#f3b6c9);border-radius:3px;width:8px;height:34px;margin-top:0;position:relative}.velas i:before{content:"";background:radial-gradient(#fff 15%,#ffd34d 45%,#ff7a00);border-radius:50%/60% 60% 40% 40%;width:12px;height:18px;animation:.25s ease-in-out infinite alternate llama;position:absolute;top:-18px;left:50%;translate:-50%;box-shadow:0 0 18px #ffb34788}.pastel.apagado .velas i:before{opacity:0;animation:none}@keyframes llama{to{transform:scale(1.1,.9)rotate(4deg)}}.nos{border:1px solid var(--oro);border-radius:20px;width:min(78vw,340px);margin:2rem auto 1.4rem;display:block;box-shadow:0 20px 50px #000a,0 0 40px #f5c26b33}.carta-final{max-width:560px;margin:0 auto;font-size:1.1rem}.firma{color:var(--oro);margin-top:1.6rem;font-size:1.6rem;font-style:italic}.ps{opacity:.9;margin-top:.8rem}.rv{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1);transform:translateY(28px)}.rv.vis{opacity:1;transform:none}.laurel{width:min(260px,70%);margin:0 auto .4rem;display:block}.snitch{z-index:3;pointer-events:none;opacity:.9;width:46px;animation:16s ease-in-out infinite vuela;position:fixed;top:0;left:0}.snitch .ala{transform-origin:30px 15px;animation:.12s linear infinite alternate aletea}.snitch .der{animation-direction:alternate-reverse}@keyframes aletea{to{transform:scaleY(.35)rotate(8deg)}}@keyframes vuela{0%{transform:translate(-60px,22vh)rotate(8deg)}18%{transform:translate(35vw,10vh)rotate(-12deg)}34%{transform:translate(82vw,34vh)rotate(14deg)}50%{transform:translate(110vw,20vh)}51%{transform:translate(110vw,70vh)}70%{transform:translate(60vw,58vh)rotate(-10deg)}86%{transform:translate(12vw,76vh)rotate(12deg)}to{transform:translate(-60px,22vh)}}.sly{position:relative}.castillo{width:100%;height:auto;max-height:150px;margin:-2rem auto 1rem;display:block}.estrellas circle{animation:2.4s ease-in-out infinite titila}@keyframes titila{50%{opacity:.15}}.snake{touch-action:pan-y;cursor:crosshair;background:radial-gradient(circle at 50% 40%,#0f3a24,#07150e);border:1px solid #7ef0a844;border-radius:22px;width:100%;max-width:640px;height:300px;margin:1.2rem auto;display:block}.peq{font-size:.85rem}.mapa-wrap{width:min(100%,420px);margin:1.2rem auto;position:relative}#mapa{aspect-ratio:3/4;background:#0b2a5b;border:1px solid #fff4;border-radius:22px;width:100%;display:block;box-shadow:0 16px 40px #000a}.mapa-txt{background:#12071acc;border-radius:12px;min-height:0;padding:.4rem .6rem;font-size:.9rem;position:absolute;bottom:10px;left:10px;right:10px}.mapa-txt:empty{display:none}.nubes{animation:14s linear infinite alternate nube}@keyframes nube{to{transform:translate(30px)}}.latido{transform-box:fill-box;transform-origin:50%;animation:1.2s ease-in-out infinite lat}@keyframes lat{50%{opacity:.6;transform:scale(1.5)}}.olas{animation:3s ease-in-out infinite alternate ola}@keyframes ola{to{transform:translate(2px)}}.dist .btn{margin:.8rem auto 1.4rem;display:block}.sudoku-sec{text-align:center}.sudoku{max-width:420px;margin:1.2rem auto 0}.tablero{backdrop-filter:blur(6px);background:#12071a99;border:2px solid #f5c26b;border-radius:10px;grid-template-columns:repeat(9,1fr);display:grid;overflow:hidden}.celda{aspect-ratio:1;color:#d9c2ff;font:inherit;cursor:pointer;background:0 0;border:1px solid #fff2;place-items:center;padding:0;font-size:clamp(1rem,5vw,1.5rem);display:grid}.celda:nth-child(3n){border-right:2px solid #f5c26b88}.celda:nth-child(n+19):nth-child(-n+27),.celda:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #f5c26b88}.celda.fijo{color:#fff;background:#ffffff0d;font-weight:700}.celda.rel{background:#a855f722}.celda.sel{outline-offset:-2px;background:#e0245e55;outline:2px solid #e0245e}.celda.mal{color:#ff6b86;background:#ff2d5533}.pad{grid-template-columns:repeat(5,1fr);gap:.4rem;margin-top:.8rem;display:grid}.pad button{color:#fff;font:inherit;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:12px;padding:.7rem 0;font-size:1.2rem}.pad button:active{background:#a855f766}.sudoku-msg{opacity:.9;min-height:1.5em;margin-top:.7rem}.win{background:linear-gradient(160deg,#3a1450cc,#14301fcc);border:1px solid #f5c26b;border-radius:18px;margin-top:.6rem;padding:1.2rem;animation:.6s ent}.win p{font-size:1.15rem;font-style:italic}@keyframes ent{0%{opacity:0;transform:scale(.9)}}.btn.chico{box-shadow:none;background:#ffffff1a;border:1px solid #fff3;margin-top:.8rem;padding:.5rem 1.1rem;font-size:.85rem}@media (prefers-reduced-motion:reduce){.snitch{display:none}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}.portada .grad{text-shadow:none;filter:drop-shadow(0 2px 10px #12071a)}.leyenda{flex-wrap:wrap;justify-content:center;gap:.4rem .9rem;margin:.6rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.leyenda li{opacity:.95}.leyenda span{font-size:1rem}.leyenda .m{color:#ff8da0}.arena{height:min(62vh,520px);min-height:340px}.hud{z-index:3;pointer-events:none;text-shadow:0 1px 6px #000;justify-content:space-between;padding:0 14px;font-size:.95rem;display:flex}#g-vidas{color:#ff5c8a;letter-spacing:.1em}.piso{pointer-events:none;background:linear-gradient(#0000,#e0245e44);border-top:2px dashed #ff5c8aaa;height:34px;position:absolute;bottom:0;left:0;right:0}.item{cursor:pointer;will-change:transform;touch-action:manipulation;filter:drop-shadow(0 4px 6px #0008);background:0 0;border:none;width:48px;height:48px;padding:0;font-size:2rem;line-height:1;position:absolute;top:0;left:0}.item.malo{filter:drop-shadow(0 0 8px #f35a)}.g-overlay{z-index:5;text-align:center;background:#12071ad9;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;padding:1.4rem;display:flex;position:absolute;inset:0}.g-overlay[hidden]{display:none}.g-overlay .btn{margin:0;position:static;translate:none}.g-num{z-index:4;pointer-events:none;color:#ffe08a;text-shadow:0 0 6px #fff,0 0 14px #f5c26b,0 0 24px #f5c26b;font-size:1.9rem;font-weight:700;animation:.9s ease-out forwards sube;position:absolute;transform:translate(-50%,-50%)}.g-num.mal{color:#ff6b86;text-shadow:0 0 6px #fff,0 0 14px #ff2d55,0 0 24px #ff2d55}@keyframes sube{to{opacity:0;transform:translate(-50%,-190%)scale(1.5)}}.g-x{z-index:4;pointer-events:none;color:#ff2d55;text-shadow:0 0 12px #ff2d55;font-size:2.4rem;font-weight:700;animation:.9s ease-out forwards xpop;position:absolute;transform:translate(-50%,-50%)}@keyframes xpop{0%{transform:translate(-50%,-50%)scale(.4)}25%{transform:translate(-50%,-50%)scale(1.4)}to{opacity:0;transform:translate(-50%,-90%)scale(1)}}.g-humo{z-index:4;pointer-events:none;opacity:.8;font-size:1.4rem;animation:.7s ease-out forwards sube;position:absolute;transform:translate(-50%,-50%)}.chispa{z-index:4;pointer-events:none;border-radius:50%;width:7px;height:7px;animation:.6s ease-out forwards chispa;position:absolute;box-shadow:0 0 8px}@keyframes chispa{to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}.g-banner{z-index:6;pointer-events:none;color:#ffe08a;text-shadow:0 0 14px #f5c26b;white-space:nowrap;font-size:2rem;font-weight:700;animation:1.5s ease-out forwards banner;position:absolute;top:38%;left:50%;translate:-50% -50%}@keyframes banner{0%{opacity:0;scale:.3}25%{opacity:1;scale:1.15}80%{opacity:1}to{opacity:0;scale:1}}.arena.shake{animation:.4s linear sacude}@keyframes sacude{20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.arena.flash{animation:.45s ease-out destello;box-shadow:inset 0 0 0 3px #ff2d55,inset 0 -60px 60px -20px #ff2d5577}@keyframes destello{0%{box-shadow:inset 0 0 0 5px #ff2d55,inset 0 -90px 70px -10px #ff2d55aa}}.g-best{opacity:.85;min-height:1.3em;margin-top:.7rem;font-size:.9rem}.sud-top{justify-content:space-between;align-items:center;margin-bottom:.6rem;font-size:.95rem;display:flex}.sud-top .btn.chico{margin-top:0}.celda.igual{background:#f5c26b2b}.celda.pista{color:#ffe08a;background:#f5c26b22;font-weight:700}.sud-top .btn:disabled{opacity:.45}.arena{background:linear-gradient(#1a0c2af2,#12071af2)}
