:root{--seguro-arriba: env(safe-area-inset-top, 0px);--seguro-abajo: env(safe-area-inset-bottom, 0px);--violeta: #5b21b6;--oro: #ffcf4d;font-family:system-ui,Segoe UI,Roboto,sans-serif;color:#fff}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:#21095a;user-select:none;-webkit-user-select:none}.oculto{display:none!important}.pantalla{position:fixed;top:0;right:0;bottom:0;left:0}#lienzo{display:block;width:100%;height:100%;touch-action:none}button{font:inherit;color:inherit;border:0;cursor:pointer;touch-action:manipulation}.boton{display:block;width:100%;padding:14px 18px;margin-top:10px;border-radius:16px;font-size:19px;font-weight:800;color:#3b1200;background:linear-gradient(180deg,#ffe27a,#ffb300);box-shadow:0 4px #a35f00,0 8px 16px #00000059}.boton:active{transform:translateY(3px);box-shadow:0 1px #a35f00}.boton.secundario{font-size:16px;font-weight:700;color:#fff;background:#7c3aed99;box-shadow:inset 0 0 0 2px #a78bfa}.boton.grande{font-size:24px;padding:18px;width:min(280px,80vw)}#menu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;background:linear-gradient(180deg,#21095a,#431192 45%,#170538);overflow:hidden;text-align:center}#menu .boton.secundario{width:min(280px,80vw)}.logo{position:relative;margin:0;font-size:clamp(52px,17vw,84px);font-weight:900;letter-spacing:-1px;background:linear-gradient(180deg,#fff3a0,#ffb300 55%,#ff7a00);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #5b1a9e)}.lema{position:relative;margin:0 0 24px;color:#d9c7ff;font-size:17px}.menu-burbujas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#menu>:not(.menu-burbujas){position:relative}.menu-burbujas i{position:absolute;bottom:-90px;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 33% 30%,#fff 0 7%,var(--c) 34%,color-mix(in srgb,var(--c) 55%,#000) 100%);opacity:.85;animation:subir 9s linear infinite}.menu-burbujas i:nth-child(1){--c: #ff2d55;left:8%;animation-delay:0s}.menu-burbujas i:nth-child(2){--c: #1f96ff;left:26%;width:44px;height:44px;animation-delay:-3s}.menu-burbujas i:nth-child(3){--c: #2fd655;left:46%;animation-delay:-6.5s}.menu-burbujas i:nth-child(4){--c: #ffd60a;left:64%;width:52px;height:52px;animation-delay:-1.5s}.menu-burbujas i:nth-child(5){--c: #b84dff;left:80%;animation-delay:-4.5s}.menu-burbujas i:nth-child(6){--c: #ff8a00;left:92%;width:38px;height:38px;animation-delay:-7.5s}@keyframes subir{to{transform:translateY(-120vh)}}.volver{position:relative;margin-top:22px;color:#cdb8ff;text-decoration:none;font-size:15px}#mapa{display:flex;flex-direction:column;background:#21095a}.mapa-arriba{display:flex;align-items:center;gap:8px;padding:10px 12px;padding-top:calc(10px + var(--seguro-arriba));background:#14043ceb;box-shadow:0 2px 12px #0006;z-index:2}.redondo{flex:none;width:40px;height:40px;border-radius:50%;font-size:20px;font-weight:800;background:var(--violeta);box-shadow:inset 0 0 0 2px #a78bfa}.chapa{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:18px;background:#7c3aed73;font-size:15px;font-weight:700;white-space:nowrap}.chapa.cuenta{flex:1;min-width:0;justify-content:center;overflow:hidden;text-overflow:ellipsis}.bolita-bomba,.bolita-moneda{width:18px;height:18px;border-radius:50%}.bolita-bomba{background:radial-gradient(circle at 35% 30%,#ffe0b3,#ff8a00 45%,#b84300)}.bolita-moneda{background:radial-gradient(circle at 35% 30%,#fff6b0,#ffc812 50%,#ba7a00)}.mapa-rollo{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:none}.mapa-camino{position:relative;width:100%;max-width:480px;margin:0 auto;background:linear-gradient(0deg,#431192,#1a5a8a 12%,#0f7a6a,#6e6a12,#8a3a12,#8a1250,#5b21b6,#1a2a8a 84%,#170538)}.sendero{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.sendero polyline{fill:none;stroke:#ffffff47;stroke-width:18px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.sendero polyline.puntos{stroke:#ffffffbf;stroke-width:3px;stroke-dasharray:2 12}.nodo{position:absolute;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;background:radial-gradient(circle at 34% 28%,#fff 0,#fff 6%,#c084fc 26%,#7c3aed 62%,#3b0d91);box-shadow:0 4px #2a0a70,0 6px 12px #0006;font-size:21px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.6)}.nodo.hecho{background:radial-gradient(circle at 34% 28%,#fff 0,#fff 6%,#7cf09a 26%,#16a34a 62%,#065f2c);box-shadow:0 4px #064e24,0 6px 12px #0006}.nodo.bloqueado{background:radial-gradient(circle at 34% 28%,#d4d4d8 0,#d4d4d8 6%,#8b8b96 30%,#55555f);box-shadow:0 4px #2e2e36;color:#d4d4d8;cursor:default}.nodo.jefe{width:72px;height:72px;margin:-36px 0 0 -36px;font-size:25px;outline:3px solid rgba(255,207,77,.8);outline-offset:2px}.nodo.actual{background:radial-gradient(circle at 34% 28%,#fff 0,#fff 6%,#ffe27a 26%,#ffb300 62%,#b86a00);color:#4a1800;text-shadow:none;animation:latido 1.2s ease-in-out infinite}@keyframes latido{50%{transform:scale(1.12);box-shadow:0 4px #8a5000,0 0 24px 6px #ffcf4db3}}.miniestrellas{position:absolute;left:50%;bottom:-13px;transform:translate(-50%);white-space:nowrap;font-size:14px;line-height:1;color:#ffd60a;text-shadow:0 1px 2px #000}.capa{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:20px;background:#0e0422ad}.capa.transparente{background:#0e04225c}.caja{position:relative;width:100%;max-width:330px;padding:22px 20px 20px;border-radius:22px;text-align:center;background:linear-gradient(180deg,#4a1c9c,#2a0d6e);box-shadow:inset 0 0 0 2px #a78bfa,0 16px 40px #0000008c;animation:entra .25s cubic-bezier(.2,1.4,.4,1)}@keyframes entra{0%{transform:scale(.8);opacity:0}}.caja h2{margin:0 0 6px;font-size:27px}.caja p{margin:6px 0;color:#e4d9ff;font-size:16px}.caja p.tenue{color:#bba7ea;font-size:14px}.caja p.sobretitulo{margin:0;color:var(--oro);font-weight:700;font-size:14px}.caja p.puntaje{color:#fff;font-size:22px;font-weight:800}.caja p.monedas-ganadas{color:var(--oro);font-weight:700;min-height:1.2em}.cerrar{position:absolute;top:8px;right:8px;width:36px;height:36px;background:none;font-size:18px;color:#d9c7ff}.fila{display:flex;gap:8px}.estrellas{display:flex;justify-content:center;gap:6px;margin:8px 0 4px;font-size:56px;line-height:1;color:#1e0a52}.estrellas .estrella.ganada{color:#ffd60a;text-shadow:0 2px 0 #a35f00,0 0 18px rgba(255,214,10,.7);animation:aparece .45s cubic-bezier(.2,1.6,.4,1) both;animation-delay:calc(.35s + var(--orden) * .35s)}.estrellas .estrella:nth-child(2){font-size:70px}@keyframes aparece{0%{transform:scale(0) rotate(-120deg);opacity:0}}.estrellas.chicas{font-size:26px;color:#1e0a52}.estrellas.chicas .ganada{color:#ffd60a}.cuenta-fondo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:#0e0422b8}.cuenta-caja{position:relative;width:100%;max-width:340px;padding:24px 22px 18px;border-radius:20px;border:2px solid #7c3aed;color:#fff;text-align:center;background:linear-gradient(180deg,#3b1578,#240a52);font-family:system-ui,sans-serif}.cuenta-caja h2{margin:0 0 6px;font-size:22px}.cuenta-texto{margin:0 0 14px;font-size:14px;line-height:1.35;color:#d8c8f5}.cuenta-caja input{display:block;box-sizing:border-box;width:100%;margin-bottom:10px;padding:12px 14px;border-radius:12px;border:2px solid #5b2bb0;background:#1a0740;color:#fff;font-size:16px}.cuenta-caja input:focus{outline:none;border-color:#c084fc}.cuenta-error{min-height:18px;margin:0 0 8px;font-size:13px;color:#ffb4c4}.cuenta-boton{width:100%;padding:13px;border:0;border-radius:14px;color:#fff;font-size:17px;font-weight:800;background:linear-gradient(180deg,#d946ef,#9333ea);cursor:pointer}.cuenta-boton:disabled{opacity:.6}.cuenta-boton.otro{background:#4a2391}.cuenta-cambiar{margin-top:10px;padding:6px;border:0;background:none;color:#d8b4fe;font-size:14px;text-decoration:underline;cursor:pointer}.cuenta-cerrar{position:absolute;top:8px;right:10px;padding:6px;border:0;background:none;color:#d8c8f5;font-size:18px;cursor:pointer}
