﻿*{margin:0;padding:0;box-sizing:border-box;}
body{background:#07071a;width:100vw;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;}
body::before{content:none;}
#app{z-index:1;}
#app::before{content:'';position:absolute;inset:0;background-image:url(logo.png);background-repeat:repeat;background-size:130px;opacity:0.05;z-index:0;pointer-events:none;}
#app > *{position:relative;z-index:1;}
#app{position:fixed;width:480px;height:854px;left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center;overflow:hidden;background:#07071a;color:#fff;font-family:'Rajdhani',sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;user-select:none;cursor:default;}
#app button,#app select{cursor:pointer;}

/* Botón volver */
#back-btn{position:absolute;top:12px;left:12px;z-index:100;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:999px;padding:6px 14px;font-family:'Rajdhani',sans-serif;font-size:.82rem;letter-spacing:1px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s;}
#back-btn:hover{background:rgba(255,45,85,.5);}

/* ===== PANTALLA JUEGO ===== */
#screen-game{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:6px 16px 8px;}
#grab-badge{display:none;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.35);border-radius:8px;padding:4px 16px;font-size:0.78rem;color:#fca5a5;font-family:'Rajdhani',sans-serif;letter-spacing:1.5px;text-align:center;margin-bottom:2px;}

/* HEADER */
.game-header{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 0;}
.game-title{font-family:'Orbitron',sans-serif;font-size:0.95rem;color:#a855f7;letter-spacing:3px;}
.live-dot{width:8px;height:8px;background:#ef4444;border-radius:50%;animation:blink 1s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}

/* PROGRESS BAR */
.progress-wrap{width:95%;max-width:500px;margin:2px auto 0;}
.progress-meta{display:flex;justify-content:space-between;font-size:0.75rem;color:#666;margin-bottom:3px;}
.progress-meta span{color:#a855f7;font-weight:700;}
.progress-bar-bg{background:#111130;border-radius:10px;height:6px;overflow:hidden;}
.progress-bar-fill{height:100%;background:linear-gradient(90deg,#6d28d9,#a855f7,#e879f9);border-radius:10px;transition:width 0.6s ease;}

/* ===== TIMER SECTION ===== */
.timer-section{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;margin:6px 0 4px;}
.timer-svg-wrap{position:relative;width:128px;height:128px;}
.timer-svg-wrap svg{transform:rotate(-90deg);}
.timer-bg-circle{fill:none;stroke:#111130;stroke-width:12;}
.timer-glow-circle{fill:none;stroke:#4c1d95;stroke-width:12;opacity:0.3;}
.timer-arc{fill:none;stroke:#a855f7;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset 1s linear, stroke 0.4s;filter:drop-shadow(0 0 6px #a855f7);}
.timer-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;}
.timer-number{font-family:'Orbitron',sans-serif;font-size:1.65rem;font-weight:900;line-height:1;color:#fff;text-shadow:0 0 20px rgba(168,85,247,0.8);}
.timer-label{font-size:0.49rem;color:#888;letter-spacing:3px;text-transform:uppercase;margin-top:2px;}

/* URGENTE */
.timer-urgent .timer-arc{stroke:#ef4444;filter:drop-shadow(0 0 8px #ef4444);}
.timer-urgent .timer-number{color:#ef4444;text-shadow:0 0 20px rgba(239,68,68,0.9);animation:pulseNum 0.5s ease infinite;}
@keyframes pulseNum{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}
.timer-warn .timer-arc{stroke:#f59e0b;filter:drop-shadow(0 0 6px #f59e0b);}
.timer-warn .timer-number{color:#f59e0b;}

/* ===== RIDDLE SECTION ===== */
.riddle-section{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;padding:0 10px 4px;}

.question-badge{background:linear-gradient(90deg,#6d28d9,#a855f7);border-radius:20px;padding:4px 16px;font-family:'Orbitron',sans-serif;font-size:0.78rem;color:#fff;letter-spacing:2px;margin-bottom:8px;}

.riddle-card{background:linear-gradient(145deg,#0e0e2a,#160d35);border:2px solid #7c3aed;border-radius:18px;padding:20px 22px 16px;width:100%;max-width:580px;text-align:center;box-shadow:0 0 40px rgba(168,85,247,0.25),inset 0 1px 0 rgba(255,255,255,0.05);}

.riddle-text{font-size:1.9rem;font-weight:700;color:#f0e6ff;line-height:1.3;}

.hint-box{background:rgba(168,85,247,0.12);border:1px solid rgba(168,85,247,0.4);border-radius:10px;padding:8px 14px;margin-top:12px;font-size:0.95rem;color:#c4b5fd;display:none;animation:fadeIn 0.5s ease;}
.hint-box.visible{display:block;}
.hint-label{font-size:0.65rem;color:#a855f7;letter-spacing:2px;text-transform:uppercase;margin-bottom:3px;}
@keyframes fadeIn{from{opacity:0;transform:translateY(-5px);}to{opacity:1;transform:translateY(0);}}

/* CARRUSEL TIERS */
.joke-carousel{width:100%;overflow:hidden;margin:4px 0;position:relative;mask-image:linear-gradient(to right,transparent,black 14%,black 86%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 14%,black 86%,transparent);}
.carousel-track{display:flex;gap:8px;width:max-content;animation:scrollCarousel 40s linear infinite;}
@keyframes scrollCarousel{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.carousel-item{padding:6px 18px;border-radius:20px;font-size:1.56rem;font-weight:700;letter-spacing:1px;white-space:nowrap;border:1px solid;}
.tier-1{background:rgba(255,182,193,0.12);border-color:rgba(255,182,193,0.5);color:#ffb6c1;}
.tier-2{background:rgba(255,105,180,0.12);border-color:rgba(255,105,180,0.5);color:#ff69b4;}
.tier-3{background:rgba(255,20,147,0.12);border-color:rgba(255,20,147,0.5);color:#ff5cba;}
.tier-4{background:rgba(199,21,133,0.12);border-color:rgba(199,21,133,0.5);color:#f472b6;}
/* PRIZE CAROUSEL */
.prize-carousel{width:100%;margin:4px 0;display:flex;align-items:center;justify-content:center;min-height:2.6rem;position:relative;mask-image:linear-gradient(to right,transparent,black 14%,black 86%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 14%,black 86%,transparent);}
.prize-track{display:flex;align-items:center;justify-content:center;width:100%;}
.prize-display{padding:5px 18px;border-radius:20px;font-size:1.05rem;font-weight:700;letter-spacing:1px;white-space:normal;text-align:center;max-width:96%;border:1px solid rgba(255,215,0,0.45);background:rgba(255,215,0,0.07);color:#ffd700;transition:opacity .4s ease,transform .4s ease;}
/* JOKE CAT LABEL */
.joke-cat-label{font-family:'Orbitron',sans-serif;font-size:0.82rem;letter-spacing:2px;padding:4px 18px;border-radius:20px;margin-bottom:6px;border:1px solid;}
.joke-cat-label.cat-0{color:#86efac;border-color:rgba(34,197,94,0.5);background:rgba(34,197,94,0.1);}
.joke-cat-label.cat-1{color:#93c5fd;border-color:rgba(96,165,250,0.5);background:rgba(96,165,250,0.1);}
.joke-cat-label.cat-2{color:#fcd34d;border-color:rgba(245,158,11,0.5);background:rgba(245,158,11,0.1);}
.joke-cat-label.cat-3{color:#fca5a5;border-color:rgba(239,68,68,0.5);background:rgba(239,68,68,0.1);}

/* CTA */
.cta-wrap{margin-top:10px;display:flex;align-items:center;gap:8px;}
.cta-text{font-size:1rem;color:#ffffff;font-weight:600;letter-spacing:0.5px;text-shadow:0 2px 5px rgba(0,0,0,0.9);opacity:1;}
.cta-text strong{color:#c084fc;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,0.95);}
.cta-arrow{font-size:1.2rem;animation:bounceRight 1s infinite;}
@keyframes bounceRight{0%,100%{transform:translateX(0);}50%{transform:translateX(4px);}}

/* CHAT FEED */
.chat-feed{position:absolute;bottom:4px;left:4px;width:210px;height:160px;overflow:hidden;padding:4px;pointer-events:none;display:none;}
.chat-msg{font-size:0.75rem;color:#bbb;margin-bottom:2px;background:rgba(0,0,0,0.4);padding:2px 6px;border-radius:6px;opacity:0;animation:fadeMsg 0.3s forwards;}
.chat-msg .uname{color:#c084fc;font-weight:700;}
@keyframes fadeMsg{to{opacity:1;}}

/* ===== PANTALLA CORRECTA ===== */
#screen-correct{width:100%;height:100%;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 16px;background:radial-gradient(ellipse at center,#052e16 0%,#07071a 70%);animation:correctBG 0.4s ease;}
@keyframes correctBG{from{background-color:#07071a;}to{}}
.correct-icon{font-size:4rem;animation:popIn 0.5s cubic-bezier(0.175,0.885,0.32,1.275);}
.correct-title{font-family:'Orbitron',sans-serif;font-size:2rem;color:#22c55e;text-shadow:0 0 20px rgba(34,197,94,0.7);}
.correct-winner{font-size:1.2rem;font-weight:700;color:#86efac;text-align:center;max-width:90%;}
.correct-first{font-size:0.8rem;color:#4ade80;letter-spacing:2px;text-transform:uppercase;opacity:0.85;}
.correct-answer{font-size:1.1rem;color:#4ade80;background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.3);border-radius:10px;padding:6px 16px;margin-top:6px;}
.correct-gift-cta{margin-top:8px;font-size:1.3rem;font-weight:700;color:#f9a8d4;background:rgba(236,72,153,0.15);border:2px solid rgba(236,72,153,0.4);border-radius:24px;padding:10px 24px;animation:blink 1.5s infinite;text-shadow:0 0 12px rgba(236,72,153,0.6);text-align:center;max-width:90%;}
@keyframes popIn{0%{transform:scale(0) rotate(-15deg);}60%{transform:scale(1.25) rotate(5deg);}100%{transform:scale(1) rotate(0deg);}}

/* ===== PANTALLA TIMEOUT ===== */
#screen-timeout{width:100%;height:100%;display:none;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#2a0a0a 0%,#07071a 70%);}
.timeout-icon{font-size:5.5rem;margin-bottom:12px;animation:shake 0.5s ease;}
@keyframes shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-8px);}75%{transform:translateX(8px);}}
.timeout-title{font-family:'Orbitron',sans-serif;font-size:2.2rem;color:#ef4444;margin-bottom:6px;text-shadow:0 0 20px rgba(239,68,68,0.7);}
.timeout-sub{font-size:1rem;color:#666;margin-top:4px;}
.timeout-answer{font-size:1.4rem;color:#fca5a5;font-weight:700;background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.3);border-radius:10px;padding:8px 20px;margin-top:8px;}

/* ===== PANTALLA FINAL ===== */
#screen-start{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at center,#0a0a2e 0%,#07071a 70%);}
.start-logo{width:340px;max-width:90%;margin-bottom:10px;filter:drop-shadow(0 0 18px rgba(168,85,247,0.5));}
.start-btn{background:linear-gradient(135deg,#6d28d9,#a855f7);color:#fff;border:none;border-radius:14px;padding:18px 48px;font-family:'Orbitron',sans-serif;font-size:1.1rem;cursor:pointer;letter-spacing:3px;box-shadow:0 0 30px rgba(168,85,247,0.5);transition:transform 0.2s,box-shadow 0.2s;}
.start-btn:hover{transform:scale(1.06);box-shadow:0 0 40px rgba(168,85,247,0.7);}
.voice-wrap{margin-bottom:22px;display:flex;flex-direction:column;align-items:center;gap:8px;}
.voice-label{font-family:'Rajdhani',sans-serif;font-size:0.88rem;color:#9ca3af;letter-spacing:1px;}
#voice-select{background:#1e1b4b;border:1px solid #4c1d95;border-radius:10px;padding:9px 16px;color:#e2d9f3;font-family:'Rajdhani',sans-serif;font-size:0.95rem;outline:none;cursor:pointer;min-width:280px;max-width:360px;}
#voice-select:focus{border-color:#a855f7;box-shadow:0 0 8px rgba(168,85,247,0.3);}
#screen-final{width:100%;height:100%;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at center,#1a0533 0%,#07071a 70%);}

/* PANTALLA FINAL GRABACIÓN */
#screen-grab-end{width:100%;height:100%;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at center,#0a0a2e 0%,#07071a 70%);padding:20px;gap:4px;}
.grab-end-logo{width:320px;max-width:90%;margin-bottom:16px;filter:drop-shadow(0 0 22px rgba(168,85,247,0.6));animation:floatUp 3s ease infinite;}
.grab-end-cta{display:flex;flex-direction:column;align-items:center;gap:8px;}
.grab-end-q{font-family:'Rajdhani',sans-serif;font-size:1.3rem;color:#c4b5fd;letter-spacing:1px;}
.grab-end-part2{font-family:'Orbitron',sans-serif;font-size:1.7rem;color:#e879f9;text-shadow:0 0 24px rgba(232,121,249,0.8);letter-spacing:2px;animation:pulseNum 1.2s ease infinite;}
.grab-end-part2 strong{color:#fff;}
.grab-end-sub{font-family:'Rajdhani',sans-serif;font-size:1.1rem;color:#9ca3af;letter-spacing:1px;}
.final-trophy{font-size:5rem;margin-bottom:8px;animation:floatUp 2s ease infinite;}
@keyframes floatUp{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.final-title{font-family:'Orbitron',sans-serif;font-size:2rem;color:#a855f7;margin-bottom:12px;text-shadow:0 0 20px rgba(168,85,247,0.7);}
.final-score{font-size:3.5rem;font-weight:900;color:#f0e6ff;margin-bottom:4px;font-family:'Orbitron',sans-serif;}
.final-sub{font-size:1rem;color:#777;}
.final-btn{margin-top:24px;background:linear-gradient(135deg,#6d28d9,#a855f7);color:#fff;border:none;border-radius:14px;padding:14px 36px;font-family:'Orbitron',sans-serif;font-size:0.95rem;cursor:pointer;letter-spacing:2px;box-shadow:0 0 20px rgba(168,85,247,0.4);transition:transform 0.2s,box-shadow 0.2s;}
.final-btn:hover{transform:scale(1.05);box-shadow:0 0 30px rgba(168,85,247,0.6);}

/* FLASH */
@keyframes flashRed{0%,100%{background:#07071a;}50%{background:#2a0505;}}
@keyframes flashGreen{0%,100%{background:#07071a;}50%{background:#052e16;}}
#app.flash-red{animation:flashRed 0.4s ease;}
#app.flash-green{animation:flashGreen 0.4s ease;}


/* PANTALLA CHISTE */
#screen-joke{width:100%;height:100%;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at center,#1a0533 0%,#07071a 70%);padding:20px;}
.joke-donor{font-size:1.5rem;font-weight:700;color:#f9a8d4;margin-bottom:4px;}
.joke-list-msg{font-size:0.82rem;color:#ec4899;letter-spacing:1px;margin-bottom:14px;background:rgba(236,72,153,0.12);border:1px solid rgba(236,72,153,0.3);border-radius:20px;padding:4px 18px;}
.joke-title{font-family:'Orbitron',sans-serif;font-size:0.88rem;color:#a855f7;letter-spacing:3px;margin-bottom:10px;}
.joke-card{background:linear-gradient(145deg,#0e0e2a,#160d35);border:2px solid #ec4899;border-radius:18px;padding:22px 24px;max-width:520px;width:100%;box-shadow:0 0 40px rgba(236,72,153,0.25);}
.joke-text{font-size:1.3rem;color:#f0e6ff;font-weight:700;line-height:1.5;}
.joke-countdown{font-family:'Orbitron',sans-serif;font-size:3rem;color:#ec4899;margin-top:18px;text-shadow:0 0 20px rgba(236,72,153,0.8);animation:pulseNum 0.5s ease infinite;}

/* LEADERBOARD */
#leaderboard{width:95%;max-width:500px;margin:3px auto 2px;display:flex;flex-direction:column;gap:2px;}
.lb-row{display:flex;align-items:center;gap:6px;background:rgba(168,85,247,0.1);border:1px solid rgba(168,85,247,0.22);border-radius:8px;padding:3px 10px;font-size:0.75rem;animation:fadeIn 0.3s ease;}
.lb-pos{font-size:0.88rem;width:22px;text-align:center;flex-shrink:0;}
.lb-name{flex:1;color:#d8b4fe;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lb-pts{color:#a855f7;font-weight:700;font-size:0.8rem;flex-shrink:0;}

/* GIFT TOAST */
#gift-toast{
  position:absolute;bottom:18px;right:16px;
  background:rgba(168,85,247,0.18);
  border:1px solid rgba(168,85,247,0.35);
  backdrop-filter:blur(8px);
  color:#f0e6ff;
  font-family:'Rajdhani',sans-serif;
  font-size:0.95rem;
  font-weight:600;
  padding:8px 14px;
  border-radius:999px;
  pointer-events:none;
  opacity:0;
  transform:translateY(8px);
  transition:opacity 0.55s ease, transform 0.55s ease;
  z-index:9999;
  white-space:nowrap;
}
#gift-toast.visible{
  opacity:1;
  transform:translateY(0);
}