@keyframes reveal{0%{opacity:0;transform:translateZ(-600px) scale(.4) rotateY(20deg);filter:blur(12px)}40%{opacity:.6;transform:translateZ(80px) scale(1.2) rotateY(-10deg);filter:blur(4px)}to{opacity:1;transform:translateZ(0) scale(1) rotateY(0deg);filter:blur(0)}}@keyframes explode{0%{transform:translate(0,0) scale(1) rotate(0deg);opacity:1;filter:blur(0)}to{transform:translate(var(--x),var(--y)) scale(5) rotate(720deg);opacity:0;filter:blur(4px)}}@keyframes spark{0%{opacity:0;transform:scale(0)}30%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(2)}}@keyframes terremoto{0%,to{transform:translateX(0) translateY(0)}10%,30%,40%,60%,65%,75%,80%,90%{transform:translateX(-5px) translateY(5px)}20%,50%,70%,85%,95%{transform:translateX(5px) translateY(-5px)}}@keyframes planet-implode{0%{transform:scale(1.02);filter:brightness(1)}to{transform:scale(.95);filter:brightness(.8)}}@keyframes planet-explode{0%{transform:scale(.92) translateZ(0);opacity:1;filter:brightness(1.4) blur(0)}20%{opacity:.3}70%{opacity:.1}to{transform:scale(8) translateZ(1000px);opacity:0;filter:brightness(3) blur(15px)}}@keyframes grietas-temblor{0%,to{transform:translate(0,0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}}@keyframes glow{0%,to{box-shadow:0 0 20px 10px rgba(78,205,255,.2);transform:scale(1)}50%{box-shadow:0 0 40px 15px rgba(78,205,255,.4);transform:scale(1.02)}}@keyframes crystalAnimation{0%,to{transform:translateX(-50%) scale(1) rotate(0deg);filter:drop-shadow(0 0 4px rgba(0,255,255,.5333333333)) drop-shadow(0 0 8px rgba(0,255,255,.2666666667)) drop-shadow(0 0 12px rgba(0,255,204,.2))}25%,75%{transform:translateX(-50%) scale(1.06) rotate(1deg);filter:drop-shadow(0 0 6px rgba(0,255,255,.6666666667)) drop-shadow(0 0 12px rgba(0,255,255,.4)) drop-shadow(0 0 18px rgba(0,255,204,.2666666667))}50%{transform:translateX(-50%) scale(1.1) rotate(-1.5deg);filter:drop-shadow(0 0 10px rgba(0,255,255,.8666666667)) drop-shadow(0 0 16px rgba(0,255,255,.6)) drop-shadow(0 0 25px rgba(0,255,204,.4))}}@keyframes shineSweep{0%,to{background-position:-150%0}50%{background-position:150%0}}body{font-family:"Segoe UI",sans-serif;background:#101b34;font-size:1.6rem;display:flex;justify-content:center;align-items:center;height:100vh;width:100%;overflow:hidden;perspective:1500px;cursor:none}*,::after,::before{box-sizing:border-box}body,html{margin:0;padding:0}html{font-size:62.5%}h1,h2{text-align:center;margin:1.2rem 0}@media (min-width:1024px){h1,h2{margin:2rem 0}}h1,p{font-size:clamp(2.5rem,3rem,3.5rem);color:#f1f6f9}h2{font-size:clamp(2rem,2.2rem,2.5rem);color:#00d9ff}p{font-size:clamp(1.2rem,1.4rem,1.6rem);line-height:1.6;margin-bottom:.6rem}.back-link,a{color:#00d9ff;text-decoration:none;font-weight:700;cursor:none}a:hover{text-decoration:underline}.back-link{display:inline-block;position:absolute;top:20px;left:50px;width:20px;height:20px;z-index:5}.back-link:hover{color:#00bfe1}.btn,.btn--primary,button{background:linear-gradient(175deg,#4ecdc4,#1d2d50);color:#f1f6f9}.btn,button{padding:clamp(1rem,1.3rem,1.4rem);font-size:clamp(1.2rem,1.4rem,1.6rem);font-weight:600;border:0;cursor:none;border-radius:10px;transition:background .3s ease,transform .2s ease;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 10px rgba(0,0,0,.1)}.btn:hover,button:hover{box-shadow:0 6px 12px rgba(0,0,0,.15);transform:scale(1.02)}.btn:active,button:active{transform:scale(.95);box-shadow:0 2px 5px rgba(0,0,0,.2)}.btn--primary{margin:0 auto;text-shadow:0 0 1.3rem rgba(0,217,255,.3);box-shadow:0 .4rem 1rem rgba(0,0,0,.3),inset 0 0 2rem rgba(0,0,0,.2);border:1px solid rgba(209,196,233,.1);width:100%;max-width:18rem;padding:clamp(1rem,1.5rem,2rem)}@media (min-width:768px){.btn--primary{max-width:30rem}}.btn--primary:hover{background:linear-gradient(175deg,#76d8d1,#2b4275);box-shadow:0 .4rem 1rem rgba(0,0,0,.2),inset 0 0 2rem rgba(0,0,0,.2);transform:scale(1.05)}.btn--danger,.btn--secondary{color:#f1f6f9;box-shadow:0 .4rem 1rem rgba(0,0,0,.3)}.btn--secondary{background:linear-gradient(165deg,#ff6b6b,#ff3b30)}.btn--secondary:hover{background:linear-gradient(165deg,#ff9e9e,#ff6b63);transform:scale(1.02)}.btn--danger{background:#ff3b30}.btn--danger:hover{background:#ff6b63;transform:scale(1.02)}@media (min-width:1024px){.rules-button{margin-top:2rem}}.custom-fragmento-cursor{position:fixed;pointer-events:none;top:0;left:0;width:60px;height:80px;cursor:none;transform-style:preserve-3d;transform-origin:center;will-change:transform;transition:transform .2s ease;z-index:99999}.custom-fragmento-cursor .cursor-stick{position:absolute;bottom:0;left:50%;width:4px;height:60px;background:linear-gradient(180deg,#004d4d,#001f1f);transform:translateX(-50%);border-radius:50%/100%;box-shadow:0 0 5px teal}.custom-fragmento-cursor svg.cursor-crystal{position:absolute;top:0;left:50%;transform:translateX(-50%);filter:drop-shadow(0 0 5px #0ff);animation:crystalAnimation 2s ease-in-out infinite;transform-origin:center top}.cursor-trail-container{position:fixed;top:0;left:0;pointer-events:none;overflow:visible;z-index:9998}.cursor-particle,.cursor-smoke{position:fixed;border-radius:50%;pointer-events:none;will-change:transform,opacity}.cursor-particle{filter:drop-shadow(0 0 4px #0ff);mix-blend-mode:screen}.cursor-smoke{width:150%;height:150%;background:radial-gradient(circle,rgba(0,255,255,.1)0,transparent 70%);animation:shineSweep 6s infinite ease-in-out}.start-form{display:flex;flex-direction:column;gap:1rem;margin:0 auto}@media (min-width:1024px){.start-form{gap:2rem;margin:5rem auto}}.start-form label{font-weight:700;margin-bottom:.5rem;color:#101b34}.start-form input[type=number],.start-form textarea{border-radius:10px;border:1px solid #d1c4e9;background:#1c2f5b;color:#f1f6f9;font-size:1.8rem;transition:border-color .3s ease,background-color .3s ease;width:8rem;padding:.8rem;margin:0 auto;text-align:center}.start-form input[type=number]:focus,.start-form textarea:focus{border-width:2px;background-color:#162548;outline:0}.game,.game-container{display:none}.game.visible{display:flex;width:100%;height:100vh;max-width:120rem;max-height:80vh;padding:2rem;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.game-container.visible{display:grid;width:100%;height:100%;place-content:center;margin:auto;max-width:1200px;max-height:80vh;border-radius:2rem;box-shadow:inset 0 0 2rem rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.4);gap:1.5rem}.box,.game-controls{display:flex;justify-content:center}.game-controls{gap:1rem;flex-wrap:wrap}.box{width:80px;height:80px;border-radius:3px;align-items:center;font-size:1.5rem;user-select:none;background:0 0;border:2px solid transparent;transition:transform .2s ease,background .2s ease;perspective:1000px}.box:hover{transform:scale(1.02)}.box.matched{pointer-events:none;transform:scale(1.03)}.box.revealed{color:#fff;transform:scale(1.02)}.box.revealed .box-inner{transform:rotateY(180deg)}.box-inner{width:100%;height:100%;position:relative;transition:transform .6s;transform-style:preserve-3d;background:0 0}.box-back,.box-front{position:absolute;width:100%;height:100%;backface-visibility:hidden}.box-front{background:#d1c4e9;box-shadow:0 .4rem 1rem rgba(0,0,0,.3),0 .4rem 1rem rgba(0,0,0,.3),inset 0 .4rem 2rem rgba(0,0,0,.3),inset .4rem 0 2rem rgba(0,0,0,.3)}.box-back,.modal{justify-content:center;align-items:center}.box-back{transform:rotateY(180deg);display:flex}.modal{visibility:hidden;opacity:0;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);color:#fff;display:none;transition:opacity .3s ease;z-index:2}.modal.visible{visibility:visible;opacity:1;display:flex}.modal__content{background:radial-gradient(circle at center,#101b34,#1d2d50);padding:2rem;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.4),inset 0 0 2rem rgba(0,0,0,.2);text-align:center}@media (min-width:768px){.modal__content{width:100%;max-width:60rem;padding:2rem 5rem}}.modal__content-result,.modal__content-rules{background:radial-gradient(circle at center,#101b34,#1d2d50);padding:2rem;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.4),inset 0 0 2rem rgba(0,0,0,.2);backdrop-filter:blur(10px);text-align:center;width:100vw;height:auto}@media (min-width:768px){.modal__content-result,.modal__content-rules{width:100%;max-width:60rem;padding:5rem}}.modal__content-result ul,.modal__content-rules ul{list-style:none;line-height:1.5;margin-bottom:3rem;padding:0;text-align:left}.modal .grid-settings{display:flex;gap:2rem;justify-content:center;margin-bottom:1rem}@media (min-width:1024px){.modal .grid-settings{gap:1.5rem}}.modal .grid-settings .input-group{display:flex;flex-direction:column;align-items:center;background-color:#d1c4e9;padding:1rem;border-radius:8px;border:1px solid #444}.modal.modal--rules{color:#ccc;z-index:4}.modal.modal--rules a{color:#00f7ff;text-decoration:none;cursor:pointer;margin-bottom:5rem;transition:color .3s ease}.modal.modal--rules a:hover{text-decoration:underline;color:#ff6b6b}.modal.modal--start{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);justify-content:center;align-items:center;z-index:3}.modal.modal--start.visible{display:flex}.modal.modal--start .start-buttons{display:flex;gap:1rem;align-items:center}.emoji{font-size:2rem;text-shadow:0 2px 3px rgba(0,0,0,.2),0 6px 10px rgba(0,0,0,.3)}.resultado{margin-top:1rem;font-size:1.3rem;font-weight:700;color:#0ff;text-align:center}.controls{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.best-time{margin-top:1rem;color:#0ff;text-align:center}