:root{--neon-green:#39ff14;--neon-cyan:#0ff;--neon-pink:#f0f;--neon-yellow:#ff0;--dark-bg:#0a0a0f;--panel-bg:#12121a;--text-primary:#e0e0e0;--glow-green:0 0 10px #39ff14, 0 0 20px #39ff1440;--glow-cyan:0 0 10px #0ff, 0 0 20px #00ffff40;--glow-pink:0 0 10px #f0f, 0 0 20px #ff00ff40}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}body{background:var(--dark-bg);color:var(--text-primary);justify-content:center;align-items:center;font-family:Share Tech Mono,monospace;display:flex}body:after{content:"";pointer-events:none;z-index:0;background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#39ff1408 2px 4px);position:fixed;inset:0}#app{z-index:1;width:100%;height:100%;position:relative}.screen{background:radial-gradient(ellipse at 20% 80%, #1a1a2e 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #0f0f1a 0%, transparent 50%), var(--dark-bg);opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}#screen-final{justify-content:flex-start;padding:0;overflow-y:auto}.screen.active{opacity:1;visibility:visible;pointer-events:all}.screen-content{flex-direction:column;align-items:center;width:100%;max-width:620px;display:flex}h1{text-transform:uppercase;letter-spacing:4px;text-align:center;margin-bottom:10px;font-family:Orbitron,sans-serif;font-size:clamp(1.8rem,6vw,3rem);font-weight:900}.subtitle{color:#888;text-align:center;margin-bottom:30px;font-size:1rem}.intro-text{text-align:center;color:#a0a0a0;max-width:500px;margin:30px 0;font-size:1rem;line-height:1.8}.intro-text .highlight{color:var(--neon-green)}.warning-box{background:var(--panel-bg);border:1px solid var(--neon-yellow);color:var(--neon-yellow);text-align:center;margin:20px 0;padding:15px 25px;font-size:.9rem}.btn{border:2px solid var(--neon-cyan);color:var(--neon-cyan);cursor:pointer;text-transform:uppercase;letter-spacing:3px;background:0 0;margin:20px 0;padding:14px 36px;font-family:Orbitron,sans-serif;font-size:1rem;font-weight:700;transition:all .3s;position:relative;overflow:hidden}.btn:hover{background:var(--neon-cyan);color:var(--dark-bg);box-shadow:var(--glow-cyan);transform:translateY(-2px)}.btn-green{border-color:var(--neon-green);color:var(--neon-green)}.btn-green:hover{background:var(--neon-green);color:var(--dark-bg);box-shadow:var(--glow-green)}.level-header{color:var(--neon-pink);align-items:center;gap:10px;margin-bottom:20px;font-family:Orbitron,sans-serif;font-size:1.2rem;display:flex}.level-indicator{background:var(--neon-pink);width:8px;height:8px;box-shadow:var(--glow-pink);border-radius:50%;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.mission-progress{gap:12px;margin-bottom:25px;display:flex}.mission-step{color:#444;border:2px solid #333;justify-content:center;align-items:center;width:36px;height:36px;font-family:Orbitron,sans-serif;font-size:.85rem;transition:all .3s;display:flex;position:relative}.mission-step.active{border-color:var(--neon-green);color:var(--neon-green);box-shadow:var(--glow-green);animation:1.5s infinite pulse}.mission-step.completed{border-color:var(--neon-cyan);color:var(--dark-bg);background:var(--neon-cyan);box-shadow:var(--glow-cyan)}.mission-step.completed:after{content:"✓";font-size:.75rem;font-weight:700}.step-box{background:var(--panel-bg);border:1px solid #2a2a3a;width:100%;margin-bottom:10px;padding:25px}.step-box h3{color:var(--neon-pink);text-transform:uppercase;margin-bottom:12px;font-family:Orbitron,sans-serif;font-size:.9rem}.step-instruction{color:#888;margin-bottom:15px;font-size:.9rem;line-height:1.5}.game-canvas{border:2px solid var(--neon-cyan);box-shadow:var(--glow-cyan);cursor:none;background:#060610;margin:10px auto;display:block}.game-hud{background:#0a0a12;border:1px solid #333;justify-content:space-between;align-items:center;width:100%;margin-bottom:10px;padding:8px 15px;font-family:Orbitron,sans-serif;font-size:.85rem;display:flex}.game-hud .label{color:#666}.game-hud .value{color:var(--neon-green);margin-left:6px}.game-hud .lives .value{color:var(--neon-pink)}.puzzle-box{background:var(--panel-bg);border:1px solid var(--neon-green);width:100%;box-shadow:var(--glow-green);padding:30px}.puzzle-box h3{color:var(--neon-green);text-transform:uppercase;margin-bottom:15px;font-family:Orbitron,sans-serif;font-size:1rem}.cipher-display{letter-spacing:5px;color:var(--neon-cyan);text-align:center;border:1px dashed var(--neon-cyan);word-break:break-all;background:#00ffff0d;margin-bottom:20px;padding:20px;font-size:1.3rem}.hint-box{color:#666;border-left:2px solid var(--neon-yellow);text-align:left;background:#ffff000d;margin-top:15px;padding:10px;font-size:.85rem}.hint-box strong{color:var(--neon-yellow)}.input-row{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;margin-top:20px;display:flex}.input-row input{border:2px solid var(--neon-green);color:var(--text-primary);text-transform:uppercase;letter-spacing:3px;text-align:center;background:0 0;width:100%;max-width:300px;padding:12px 20px;font-family:Share Tech Mono,monospace;font-size:1.2rem}.input-row input:focus{box-shadow:var(--glow-green);outline:none}.memory-grid{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:380px;margin:15px auto;display:grid}.memory-card{aspect-ratio:1;cursor:pointer;perspective:600px;border-radius:4px}.card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s;position:relative}.memory-card.flipped .card-inner,.memory-card.matched .card-inner{transform:rotateY(180deg)}.card-front,.card-back{backface-visibility:hidden;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.4rem;display:flex;position:absolute}.card-front{color:#555;background:#1a1a2a;border:2px solid #333;font-family:Orbitron,sans-serif;transition:border-color .2s}.memory-card:hover .card-front{border-color:var(--neon-cyan)}.card-back{border:2px solid var(--neon-cyan);box-shadow:var(--glow-cyan);background:#0f0f20;transform:rotateY(180deg)}.memory-card.matched .card-back{border-color:var(--neon-green);box-shadow:var(--glow-green);background:#39ff1414}.sequence-row{flex-wrap:wrap;justify-content:center;gap:10px;margin:15px 0;display:flex}.sequence-row input{text-align:center;border:2px solid var(--neon-green);width:70px;height:60px;color:var(--neon-green);background:0 0;font-family:Orbitron,sans-serif;font-size:1.5rem}.sequence-row input:focus{box-shadow:var(--glow-green);outline:none}.precision-area{border:2px solid var(--neon-cyan);cursor:crosshair;background:#0a0a15;width:100%;height:300px;position:relative;overflow:hidden}.target{background:var(--neon-pink);width:50px;height:50px;box-shadow:var(--glow-pink);cursor:pointer;border-radius:50%;position:absolute}.target-hit{background:var(--neon-green);box-shadow:var(--glow-green)}.hits-display{color:var(--neon-cyan);font-family:Orbitron,sans-serif;font-size:.9rem;position:absolute;top:10px;left:10px}.error-toast{color:#fff;z-index:1000;opacity:0;pointer-events:none;background:#f44;border-radius:8px;padding:15px 25px;font-size:.9rem;position:fixed;top:20px;left:50%;transform:translate(-50%)translateY(-100px)}.reward-unlock-badge{letter-spacing:4px;color:var(--neon-green);border:1px solid var(--neon-green);box-shadow:var(--glow-green);background:#39ff1412;margin-bottom:10px;padding:8px 22px;font-family:Orbitron,sans-serif;font-size:.8rem;animation:2s ease-in-out infinite badgePulseAlt}@keyframes badgePulseAlt{0%,to{box-shadow:var(--glow-green)}50%{box-shadow:0 0 22px #39ff14,0 0 44px #39ff1450}}.reward-intro{color:#777;letter-spacing:1px;margin-bottom:24px;font-size:.9rem}.coupon{filter:drop-shadow(0 8px 32px #000000b3);border-radius:12px;width:100%;max-width:540px;min-height:160px;animation:5s ease-in-out infinite couponFloat;display:flex;position:relative;overflow:visible}@keyframes couponFloat{0%,to{transform:translateY(0)rotate(-.3deg)}50%{transform:translateY(-6px)rotate(.3deg)}}.coupon--cinema .coupon__left{background:linear-gradient(160deg,#0d0d2b 0%,#1a1040 100%)}.coupon--cinema .coupon__right{background:linear-gradient(160deg,#12103a 0%,#0a0820 100%)}.coupon--cinema .coupon__tag{color:gold;border-color:gold}.coupon--cinema .coupon__brand{color:gold;text-shadow:0 0 12px #ffd70099}.coupon--cinema .coupon__title{color:gold;text-shadow:0 0 14px #ffd70080}.coupon--cinema .coupon__subtitle{color:#aaa8e0}.coupon--cinema .coupon__holo{background:linear-gradient(90deg,gold,#fff8b0,gold,#c8a400)}.coupon--cinema .coupon__barcode span{background:#ffd70099}.coupon--cinema .coupon__code{color:#ffd700cc}.coupon--cinema .coupon__stars{color:gold}.coupon--cinema .coupon__tear{border-color:#0a0820}.coupon--cinema .coupon__valid{color:#ffd700aa}.coupon--cinema .coupon__detail{color:#9998cc}.coupon--sushi .coupon__left{background:linear-gradient(160deg,#1a0808 0%,#2a0f0f 100%)}.coupon--sushi .coupon__right{background:linear-gradient(160deg,#200d0d 0%,#160808 100%)}.coupon--sushi .coupon__tag{color:#ff6b6b;border-color:#ff6b6b}.coupon--sushi .coupon__brand{color:#ff6b6b;text-shadow:0 0 12px #ff6b6b99}.coupon--sushi .coupon__title{color:#ff6b6b;text-shadow:0 0 14px #ff6b6b80}.coupon--sushi .coupon__subtitle{color:#d4a0a0}.coupon--sushi .coupon__holo{background:linear-gradient(90deg,#ff6b6b,#ffb3b3,#ff6b6b,#c44)}.coupon--sushi .coupon__barcode span{background:#ff6b6b99}.coupon--sushi .coupon__code{color:#ff6b6bcc}.coupon--sushi .coupon__stars{color:#ff6b6b}.coupon--sushi .coupon__tear{border-color:#150707}.coupon--sushi .coupon__valid{color:#ff6b6baa}.coupon--sushi .coupon__detail{color:#c09898}.coupon__left{border-radius:12px 0 0 12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;width:130px;padding:18px 10px;display:flex;position:relative}.coupon__tag{letter-spacing:2px;text-transform:uppercase;opacity:.85;border:1px solid;padding:2px 6px;font-family:Orbitron,sans-serif;font-size:.55rem}.coupon__icon{font-size:2.2rem;line-height:1}.coupon__brand{letter-spacing:4px;text-transform:uppercase;font-family:Orbitron,sans-serif;font-size:.65rem;font-weight:900}.coupon__barcode{align-items:flex-end;gap:2px;height:28px;margin-top:4px;display:flex}.coupon__barcode span{opacity:.7;border-radius:1px;height:100%;display:block}.coupon__barcode span:nth-child(odd){height:80%}.coupon__barcode span:nth-child(3n){height:60%}.coupon__barcode span:nth-child(5n+1){height:100%}.coupon__code{letter-spacing:2px;opacity:.8;font-family:Share Tech Mono,monospace;font-size:.6rem}.coupon__tear{opacity:.25;border-left:2px dashed;flex-shrink:0;width:0;margin:10px 0;position:relative}.coupon__tear:before,.coupon__tear:after{content:"";background:var(--dark-bg);border-radius:50%;width:18px;height:18px;position:absolute;left:50%;transform:translate(-50%)}.coupon__tear:before{top:-9px}.coupon__tear:after{bottom:-9px}.coupon__right{border-radius:0 12px 12px 0;flex-direction:column;flex:1;justify-content:center;gap:4px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.coupon__right:before{content:attr(data-wm);opacity:.04;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Orbitron,sans-serif;font-size:5rem;font-weight:900;line-height:1;position:absolute;bottom:-10px;right:-10px}.coupon__valid{letter-spacing:3px;text-transform:uppercase;margin-bottom:4px;font-family:Share Tech Mono,monospace;font-size:.6rem}.coupon__title{letter-spacing:1px;font-family:Orbitron,sans-serif;font-size:1.5rem;font-weight:900;line-height:1}.coupon__subtitle{letter-spacing:2px;margin-bottom:8px;font-family:Orbitron,sans-serif;font-size:.85rem;font-weight:400}.coupon__detail{letter-spacing:1px;margin-bottom:8px;font-family:Share Tech Mono,monospace;font-size:.75rem}.coupon__holo{letter-spacing:4px;-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;width:fit-content;font-family:Orbitron,sans-serif;font-size:.55rem;font-weight:700;animation:2s linear infinite holoShift}@keyframes holoShift{0%{background-position:0%}to{background-position:200%}}.coupon__stars{letter-spacing:3px;opacity:.8;font-size:.7rem}#screen-final{position:relative;overflow:hidden}#fireworks-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.final-overlay{z-index:1;text-align:center;flex-direction:column;align-items:center;width:100%;max-width:640px;padding:40px 20px 60px;display:flex;position:relative}.final-badge{letter-spacing:6px;color:var(--neon-green);border:1px solid var(--neon-green);text-transform:uppercase;box-shadow:var(--glow-green);background:#39ff1414;margin-bottom:28px;padding:6px 20px;font-family:Orbitron,sans-serif;font-size:.75rem;animation:2s ease-in-out infinite badgePulse}@keyframes badgePulse{0%,to{box-shadow:var(--glow-green)}50%{box-shadow:0 0 25px #39ff14,0 0 50px #39ff1455}}.final-big-title{letter-spacing:3px;background:linear-gradient(90deg, var(--neon-green) 0%, var(--neon-cyan) 40%, var(--neon-pink) 80%, var(--neon-yellow) 100%);-webkit-text-fill-color:transparent;text-shadow:none;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;min-height:1.2em;margin-bottom:16px;font-family:Orbitron,sans-serif;font-size:clamp(2rem,7vw,4.5rem);font-weight:900;line-height:1.1;animation:4s linear infinite titleFlow}@keyframes titleFlow{0%{background-position:0%}to{background-position:200%}}.final-divider{align-items:center;gap:12px;width:80%;max-width:320px;margin:12px auto 20px;display:flex}.final-divider span:not(.diamond){background:linear-gradient(90deg, transparent, var(--neon-cyan), transparent);flex:1;height:1px}.final-divider .diamond{color:var(--neon-cyan);font-size:.8rem;animation:4s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.final-subtitle{color:#aaa;opacity:0;max-width:480px;margin-bottom:28px;font-size:1rem;line-height:1.8}.final-coupons{flex-direction:column;gap:20px;width:100%;max-width:560px;margin-bottom:24px;display:flex}.final-coupon-wrap{opacity:0}.final-coupon-wrap .coupon{animation:5s ease-in-out infinite couponFloat}.final-coupon-wrap:nth-child(2) .coupon{animation-delay:-2.5s}.final-sig{color:#ff6690;letter-spacing:4px;opacity:0;text-shadow:0 0 10px #ff6690aa;margin-top:8px;padding-bottom:20px;font-size:1.1rem}@media (width<=560px){.puzzle-box,.step-box{padding:20px 15px}.input-row input{width:100%}.game-canvas{width:100%;height:auto}.final-big-title{font-size:clamp(1.6rem,9vw,3rem)}.coupon{min-height:unset;flex-direction:column}.coupon__left{border-radius:12px 12px 0 0;flex-direction:row;gap:12px;width:100%;padding:12px 16px}.coupon__right{border-radius:0 0 12px 12px}.coupon__tear{border-top:2px dashed;border-left:none;width:auto;height:0;margin:0 10px}.coupon__tear:before{top:50%;left:-9px;transform:translateY(-50%)}.coupon__tear:after{top:50%;left:auto;right:-9px;transform:translateY(-50%)}.coupon__barcode{display:none}}.coupon-preview{cursor:pointer;border:1px solid #0000;border-radius:14px;align-items:center;gap:16px;width:100%;max-width:520px;padding:14px 20px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.coupon-preview:active{transform:scale(.97)}.coupon-preview--cinema{background:linear-gradient(120deg,#0d0d2b 0%,#1a1040 100%);border-color:#ffd70055;box-shadow:0 0 20px #ffd70022}.coupon-preview--cinema:hover{border-color:#ffd700aa;box-shadow:0 0 32px #ffd70055}.coupon-preview--sushi{background:linear-gradient(120deg,#1a0808 0%,#2a0f0f 100%);border-color:#ff6b6b55;box-shadow:0 0 20px #ff6b6b22}.coupon-preview--sushi:hover{border-color:#ff6b6baa;box-shadow:0 0 32px #ff6b6b55}.coupon-preview__icon{flex-shrink:0;font-size:2.4rem}.coupon-preview__info{text-align:left;flex:1}.coupon-preview__label{letter-spacing:3px;text-transform:uppercase;margin-bottom:4px;font-family:Orbitron,sans-serif;font-size:.6rem}.coupon-preview--cinema .coupon-preview__label{color:#ffd700bb}.coupon-preview--sushi .coupon-preview__label{color:#ff6b6bbb}.coupon-preview__title{font-family:Orbitron,sans-serif;font-size:1rem;font-weight:700}.coupon-preview--cinema .coupon-preview__title{color:gold;text-shadow:0 0 10px #ffd70066}.coupon-preview--sushi .coupon-preview__title{color:#ff6b6b;text-shadow:0 0 10px #ff6b6b66}.coupon-preview__sub{color:#888;margin-top:2px;font-size:.75rem}.coupon-preview__tap{letter-spacing:2px;text-transform:uppercase;color:#555;flex-shrink:0;font-size:.65rem}.coupon-preview--cinema .coupon-preview__tap{color:#ffd70066}.coupon-preview--sushi .coupon-preview__tap{color:#ff6b6b66}.coupon-preview:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0a,#0000);width:50%;height:100%;transition:left .5s;position:absolute;top:0;left:-80%;transform:skew(-15deg)}.coupon-preview:hover:after{left:130%}.coupon-modal-backdrop{z-index:999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#000000d9;justify-content:center;align-items:center;padding:20px;transition:opacity .3s;display:flex;position:fixed;inset:0}.coupon-modal-backdrop.open{opacity:1;pointer-events:all}.coupon-modal-inner{width:100%;max-width:560px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);position:relative;transform:scale(.85)translateY(30px)}.coupon-modal-backdrop.open .coupon-modal-inner{transform:scale(1)translateY(0)}.coupon-modal-close{z-index:10;color:#aaa;cursor:pointer;background:#0a0a0f;border:1px solid #333;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;transition:color .2s,border-color .2s;display:flex;position:absolute;top:-14px;right:-14px}.coupon-modal-close:hover{color:#fff;border-color:#666}.mobile-controls{-webkit-user-select:none;user-select:none;touch-action:none;width:100%;max-width:560px;margin-top:12px;display:none}@media (width<=768px){.mobile-controls{display:flex}}.mobile-controls--pong{flex-direction:column;align-items:center;gap:8px}.pong-joystick-area{background:#39ff140a;border:1px solid #39ff1426;border-radius:12px;justify-content:center;align-items:center;width:100%;height:60px;display:flex;position:relative;overflow:hidden}.pong-joystick-area:before{content:"↕ DESLIZA PARA MOVER LA PALETA";letter-spacing:2px;color:#39ff144d;pointer-events:none;font-size:.6rem}.pong-joystick-knob{pointer-events:none;background:radial-gradient(circle,#39ff1466 0%,#39ff141a 100%);border:2px solid #39ff1499;border-radius:50%;width:48px;height:48px;transition:transform 50ms;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #39ff144d}.mobile-controls--invaders{flex-direction:row;justify-content:space-between;align-items:center;gap:16px;padding:0 8px}.inv-dpad{grid-template-rows:52px;grid-template-columns:repeat(3,52px);gap:6px;display:grid}.inv-btn{color:#aaa;cursor:pointer;touch-action:none;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.3rem;transition:background .1s,transform .1s;display:flex}.inv-btn:active,.inv-btn.pressed{background:#ffffff1f;transform:scale(.93)}.inv-btn--left{color:#0ff;border-color:#00ffff4d;grid-column:1}.inv-btn--right{color:#0ff;border-color:#00ffff4d;grid-column:3}.inv-fire-btn{color:#f0f;cursor:pointer;touch-action:none;background:radial-gradient(circle,#ff00ff40 0%,#ff00ff0f 100%);border:2px solid #ff00ff80;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;font-size:1.6rem;transition:transform .1s,box-shadow .1s;display:flex;box-shadow:0 0 16px #f0f3}.inv-fire-btn:active,.inv-fire-btn.pressed{transform:scale(.9);box-shadow:0 0 28px #ff00ff80}.controls-hint{letter-spacing:2px;text-transform:uppercase;color:#444;text-align:center;margin-top:4px;font-size:.55rem}
