@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Luckiest+Guy&display=swap');
:root{
  --bg:#070918;
  --bg2:#0f1533;
  --card:rgba(18,25,58,.78);
  --card2:rgba(255,255,255,.08);
  --line:rgba(255,255,255,.14);
  --text:#f8fbff;
  --muted:#b9c4ef;
  --yellow:#ffcc33;
  --red:#ff5e62;
  --blue:#4ba3ff;
  --green:#44ff9a;
  --shadow:0 28px 90px rgba(0,0,0,.45);
  --radius:28px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at top left,#192661 0,#080b1b 38%,#040612 100%);overscroll-behavior:none}
body{overflow-x:hidden}
a{color:inherit}
button,input{font:inherit}
button{touch-action:manipulation;user-select:none;-webkit-user-select:none}
.bg-orbs{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.bg-orbs span{position:absolute;border-radius:999px;filter:blur(34px);opacity:.42;animation:drift 12s ease-in-out infinite alternate}.bg-orbs span:nth-child(1){width:270px;height:270px;background:#ff5e62;left:-70px;top:90px}.bg-orbs span:nth-child(2){width:340px;height:340px;background:#4ba3ff;right:-120px;top:20px;animation-delay:-3s}.bg-orbs span:nth-child(3){width:240px;height:240px;background:#ffcc33;left:42%;bottom:-110px;animation-delay:-8s}@keyframes drift{to{transform:translate3d(26px,-22px,0) scale(1.12)}}
.shell{width:min(1120px,calc(100% - 32px));margin:auto}.topbar{width:min(1120px,calc(100% - 28px));margin:14px auto 0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);background:rgba(8,12,31,.64);backdrop-filter:blur(18px);border-radius:22px;position:relative;z-index:3}.compact-topbar{margin-top:10px;padding:9px 12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:1000;letter-spacing:-.03em}.brand-ball{width:28px;height:28px;border-radius:999px;background:linear-gradient(#ff4d52 0 48%,#111 49% 54%,#fff 55%);box-shadow:inset 0 0 0 3px rgba(255,255,255,.18),0 8px 20px rgba(255,94,98,.22)}.topbar nav{display:flex;gap:8px;align-items:center}.topbar nav a{text-decoration:none;color:var(--muted);font-weight:800;padding:9px 11px;border-radius:12px}.topbar nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:32px;align-items:center;min-height:calc(100vh - 92px);padding:38px 0}.hero h1,.setup-card h1{font-size:clamp(40px,7vw,82px);line-height:.9;letter-spacing:-.08em;margin:18px 0 16px}.hero p,.setup-card p{color:var(--muted);font-size:18px;line-height:1.55}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid var(--line);color:#dfe8ff;font-weight:900;font-size:13px}.hero-actions,.split-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.btn{border:0;border-radius:18px;padding:14px 18px;font-weight:1000;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.18s transform,.18s filter,.18s background;min-height:48px}.btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.btn:active{transform:translateY(1px) scale(.99)}.btn.primary{background:linear-gradient(135deg,var(--yellow),#ff8a28,var(--red));color:#171101;box-shadow:0 18px 42px rgba(255,110,65,.28)}.btn.ghost{background:rgba(255,255,255,.08);border:1px solid var(--line);color:#fff}.btn.soft{background:rgba(75,163,255,.18);border:1px solid rgba(75,163,255,.34);color:#dfeeff}.btn.full{width:100%;margin-top:18px}.hero-card{display:grid;place-items:center}.phone-frame{width:min(390px,100%);min-height:650px;border-radius:42px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,rgba(24,34,78,.92),rgba(10,13,33,.92));box-shadow:var(--shadow);padding:22px;position:relative;overflow:hidden}.phone-frame:before{content:"";position:absolute;left:50%;top:10px;transform:translateX(-50%);width:102px;height:24px;background:#050713;border-radius:0 0 18px 18px;z-index:2}.mini-hud,.hud{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}.mini-hud{grid-template-columns:1fr 1fr}.mini-hud b,.mini-hud span,.hud>div,.vs-hud>div{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:18px;padding:12px;text-align:center}.hud span,.vs-hud span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.hud b,.vs-hud b{font-size:clamp(22px,6vw,34px)}.mystery-stage{height:330px;margin:20px 0;display:grid;place-items:center;position:relative;border-radius:32px;background:radial-gradient(circle at center,rgba(255,204,51,.22),rgba(75,163,255,.1) 42%,rgba(255,255,255,.04));border:1px solid var(--line);overflow:hidden}.mystery-stage img{max-width:85%;max-height:88%;position:relative;z-index:2}.pokemon-silhouette{filter:brightness(0) drop-shadow(0 0 18px rgba(255,255,255,.48)) drop-shadow(0 0 44px rgba(75,163,255,.4));}.floaty{animation:floaty 2.8s ease-in-out infinite}@keyframes floaty{50%{transform:translateY(-10px) scale(1.025)}}.pulse-ring{position:absolute;width:230px;height:230px;border:2px solid rgba(255,255,255,.16);border-radius:999px;animation:pulse 1.7s ease-out infinite}@keyframes pulse{to{transform:scale(1.45);opacity:0}}.hint-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:14px}.hint-row span,.hint-chip{font-size:12px;color:#e4ebff;background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:999px;padding:8px 10px;font-weight:900}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer-grid button{border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.06));color:#fff;border-radius:18px;padding:14px 10px;min-height:56px;font-weight:1000;box-shadow:0 12px 24px rgba(0,0,0,.16);cursor:pointer}.answer-grid button:hover{border-color:rgba(255,204,51,.5);background:rgba(255,204,51,.13)}.answer-grid button:disabled{opacity:.58;cursor:not-allowed}.answer-grid.compact button{font-size:14px;min-height:48px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}.feature{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.18)}.feature div{font-size:28px}.feature h3{margin:10px 0 6px}.feature p{color:var(--muted);margin:0;line-height:1.45}.footer{color:#8e9bc9;font-size:13px;padding:10px 0 26px}.alert{margin:16px 0;border-radius:16px;padding:12px 14px;font-weight:800}.alert.ok{background:rgba(68,255,154,.11);border:1px solid rgba(68,255,154,.3)}.alert.warn{background:rgba(255,204,51,.11);border:1px solid rgba(255,204,51,.33)}.alert.danger{background:rgba(255,94,98,.12);border:1px solid rgba(255,94,98,.34)}
.game-page{min-height:100dvh;overflow:hidden}.game-shell{width:min(760px,calc(100% - 24px));margin:12px auto;min-height:calc(100dvh - 86px);display:grid;place-items:center}.setup-card,.play-card{width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}.setup-card.wide{max-width:850px;margin:24px auto}.setup-card h1{font-size:clamp(36px,10vw,62px)}label{display:block;margin:14px 0 8px;font-weight:1000;color:#edf3ff}.text-input{width:100%;background:rgba(5,8,22,.68);border:1px solid rgba(255,255,255,.16);border-radius:17px;color:#fff;padding:15px;font-size:16px;outline:none}.text-input:focus{border-color:rgba(255,204,51,.7);box-shadow:0 0 0 4px rgba(255,204,51,.12)}.mode-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mode-picker.small{display:flex;margin:12px 0 18px}.mode-picker button{border:1px solid var(--line);background:rgba(255,255,255,.07);color:#dce6ff;border-radius:15px;padding:12px 10px;font-weight:1000;cursor:pointer}.mode-picker button.active{background:linear-gradient(135deg,rgba(255,204,51,.95),rgba(255,94,98,.95));color:#111;border-color:transparent}.play-card{padding:12px;align-self:stretch;display:flex;flex-direction:column;gap:10px;min-height:0}.hidden{display:none!important}.round-area{display:flex;flex-direction:column;gap:10px;min-height:0;flex:1}.stage{flex:1;min-height:250px;display:grid;place-items:center;position:relative;border-radius:26px;background:radial-gradient(circle at center,rgba(75,163,255,.18),rgba(255,204,51,.08) 45%,rgba(255,255,255,.04));border:1px solid var(--line);overflow:hidden}.stage:after{content:"";position:absolute;inset:auto 10% 8%;height:22px;background:radial-gradient(ellipse at center,rgba(0,0,0,.35),transparent 70%);filter:blur(8px)}.stage img{max-height:92%;max-width:86%;object-fit:contain;position:relative;z-index:1;transition:.2s}.stage .unknown{font-size:84px;filter:drop-shadow(0 12px 30px rgba(75,163,255,.35));animation:floaty 2.4s ease-in-out infinite}.sound-panel{display:grid;place-items:center;gap:12px}.sound-disc{width:156px;height:156px;border-radius:999px;background:radial-gradient(circle,#fff 0 15%,#111 16% 21%,var(--red) 22% 49%,#111 50% 55%,#fff 56%);box-shadow:0 18px 55px rgba(255,94,98,.28),inset 0 0 0 8px rgba(255,255,255,.13);animation:spin 3.6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.play-sound{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:999px;padding:12px 16px;font-weight:1000;cursor:pointer}.hints{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.feedback{min-height:26px;text-align:center;font-weight:1000;color:#dfe8ff}.feedback.good{color:var(--green)}.feedback.bad{color:#ff8d91}.shake{animation:shake .28s linear}@keyframes shake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}.pop{animation:pop .25s ease}@keyframes pop{50%{transform:scale(1.04)}}
.vs-layout{width:min(860px,calc(100% - 24px))}.join-box{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.share-code{font-size:clamp(38px,12vw,72px);letter-spacing:.13em;font-weight:1000;text-align:center;background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.25);border-radius:22px;padding:18px;margin:14px 0}.loader-ball{width:72px;height:72px;margin:auto;border-radius:999px;background:linear-gradient(#ff4d52 0 48%,#111 49% 54%,#fff 55%);animation:bounce 1s ease-in-out infinite;box-shadow:0 20px 44px rgba(255,94,98,.26)}@keyframes bounce{50%{transform:translateY(-12px)}}.vs-hud{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:stretch}.player-box small{display:block;height:16px;color:var(--yellow);font-weight:900;margin-top:4px}.round-box{min-width:92px}.ranking-list{display:grid;gap:10px}.rank-row{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:18px;padding:13px}.rank-row b{color:var(--yellow)}.rank-row strong{font-size:22px}.rank-row small{grid-column:2/4;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:24px;background:rgba(255,255,255,.06);border-radius:18px}.result-title{font-size:clamp(34px,8vw,54px);line-height:1;margin:10px 0}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.result-stats div{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:16px;padding:12px;text-align:center}.result-stats b{display:block;font-size:26px}.result-stats span{font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase}.confetti{position:fixed;inset:0;pointer-events:none;z-index:99;background:radial-gradient(circle at 20% 20%,rgba(255,204,51,.28),transparent 12%),radial-gradient(circle at 80% 25%,rgba(68,255,154,.22),transparent 10%),radial-gradient(circle at 45% 70%,rgba(255,94,98,.2),transparent 11%);animation:fadeout 1.1s ease forwards}@keyframes fadeout{to{opacity:0}}
@media(max-width:860px){.hero{grid-template-columns:1fr;min-height:auto;padding:28px 0}.hero-card{order:-1}.phone-frame{min-height:520px}.features{grid-template-columns:1fr}.topbar nav a{padding:8px 7px}.brand span:last-child{max-width:128px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-page .topbar{position:sticky;top:8px}.game-shell{min-height:calc(100dvh - 72px);margin-top:8px}.setup-card{padding:18px}.hud{gap:7px}.hud>div{padding:9px 6px}.stage{min-height:220px}.answer-grid button{min-height:54px;padding:12px 8px}.vs-hud{grid-template-columns:1fr 74px 1fr}.round-box{min-width:74px}.player-box span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:520px){.shell{width:min(100% - 22px,1120px)}.topbar{width:calc(100% - 18px);border-radius:18px}.topbar nav{gap:2px}.topbar nav a{font-size:13px}.game-shell{width:calc(100% - 14px)}.play-card{border-radius:22px;padding:9px}.mystery-stage{height:250px}.stage{min-height:calc(100dvh - 365px);border-radius:22px}.stage img{max-height:88%;max-width:92%}.hints{gap:6px}.hint-chip{padding:7px 8px;font-size:11px}.answer-grid{gap:8px}.answer-grid button{border-radius:15px;font-size:15px;min-height:50px}.mode-picker button{font-size:14px;padding:11px 6px}.join-box{grid-template-columns:1fr}.split-actions{display:grid;grid-template-columns:1fr 1fr}.btn{padding:13px 12px}.setup-card h1{letter-spacing:-.07em}.sound-disc{width:132px;height:132px}.stage .unknown{font-size:68px}.rank-row{grid-template-columns:42px 1fr auto}.rank-row strong{font-size:19px}}
@media(max-height:720px) and (max-width:520px){.compact-topbar{padding:7px 10px}.game-shell{min-height:calc(100dvh - 60px)}.hud span,.vs-hud span{font-size:10px}.hud b,.vs-hud b{font-size:22px}.stage{min-height:calc(100dvh - 340px)}.answer-grid button{min-height:46px}.hints .hint-chip:nth-child(n+4){display:none}.feedback{min-height:18px;font-size:13px}.setup-card p{font-size:15px}}

/* Hotfix 4: single player con 20s por personaje, modos nuevos y revelado a color */
.mode-picker.two-options{grid-template-columns:repeat(2,1fr)}
.single-hud{grid-template-columns:repeat(4,1fr)}
.hud .muted-hud{opacity:.72}
.pokemon-revealed{filter:drop-shadow(0 0 20px rgba(255,204,51,.48)) drop-shadow(0 0 48px rgba(75,163,255,.36));animation:revealPop .38s ease both;}
@keyframes revealPop{0%{transform:scale(.92);filter:brightness(0) drop-shadow(0 0 12px rgba(255,255,255,.4))}70%{transform:scale(1.08)}100%{transform:scale(1)}}
.answer-grid button.correct-answer{border-color:rgba(68,255,154,.88)!important;background:linear-gradient(135deg,rgba(68,255,154,.32),rgba(75,163,255,.18))!important;color:#fff;box-shadow:0 0 0 2px rgba(68,255,154,.18),0 18px 36px rgba(68,255,154,.14)}
.answer-grid button.wrong-answer{border-color:rgba(255,94,98,.86)!important;background:linear-gradient(135deg,rgba(255,94,98,.32),rgba(255,255,255,.06))!important;color:#fff}
.stage.has-sound{padding-bottom:58px}.sound-actions{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:10px;z-index:5;white-space:nowrap}.sound-wave{display:inline-flex;align-items:center;gap:3px;padding:9px 10px;border-radius:999px;background:rgba(75,163,255,.14);border:1px solid rgba(75,163,255,.3)}.sound-wave i{display:block;width:4px;border-radius:999px;background:#9fd7ff;animation:soundWave .72s ease-in-out infinite}.sound-wave i:nth-child(1){height:11px}.sound-wave i:nth-child(2){height:20px;animation-delay:-.16s}.sound-wave i:nth-child(3){height:15px;animation-delay:-.31s}.sound-wave i:nth-child(4){height:23px;animation-delay:-.47s}@keyframes soundWave{50%{transform:scaleY(.45);opacity:.62}}
@media(max-width:620px){.single-hud{grid-template-columns:repeat(2,1fr);margin-top:8px}.single-hud>div{padding:8px 6px}.single-hud span{font-size:10px}.single-hud b{font-size:21px}.mode-picker.two-options,.single-type-picker{grid-template-columns:1fr}.stage.has-sound{padding-bottom:54px}.sound-actions{bottom:10px}.sound-wave{display:none}}
@media(max-height:720px) and (max-width:520px){.single-hud{gap:6px}.single-hud>div{padding:7px 5px}.single-hud b{font-size:19px}.stage.has-sound{padding-bottom:48px}.sound-actions .play-sound{padding:9px 12px;font-size:13px}}

/* Hotfix 7: gameplay responsive dentro del iframe de Miljueguitos.
   Objetivo: que HUD + silueta + pistas + botones entren siempre en el alto disponible,
   sin depender del scroll del iframe y sin que sprites grandes empujen los botones. */
html:has(body.game-page),
body.game-page{
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
}
body.game-page{
  min-height:100dvh;
  max-height:100dvh;
  display:flex;
  flex-direction:column;
}
.game-page .bg-orbs{position:fixed}
.game-page .topbar{
  flex:0 0 auto;
  margin:8px auto 0;
  padding:7px 10px;
  min-height:44px;
}
.game-page .brand-ball{width:25px;height:25px;flex:0 0 auto}
.game-page .brand{min-width:0}
.game-page .brand span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-page .topbar nav a{padding:7px 9px;font-size:14px}
.game-shell{
  flex:1 1 auto;
  min-height:0;
  height:auto;
  margin:8px auto 10px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.setup-card,.play-card{max-height:100%;min-height:0}
.play-card{
  height:100%;
  overflow:hidden;
  padding:10px;
  gap:8px;
}
.round-area{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto auto;
  gap:8px;
}
.stage{
  min-height:0!important;
  height:auto!important;
  flex:none!important;
  align-self:stretch;
  padding:8px;
  border-radius:22px;
}
.stage.has-sound{padding-bottom:52px}
.stage img{
  display:block;
  width:auto;
  height:auto;
  max-width:min(92%,520px);
  max-height:100%;
  object-fit:contain;
}
.stage.has-sound img{max-height:calc(100% - 48px)}
.pulse-ring{width:min(220px,50vw);height:min(220px,50vw)}
.hints{
  flex:0 0 auto;
  min-height:0;
  gap:6px;
  line-height:1;
}
.hint-chip{
  padding:6px 8px;
  font-size:11px;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.answer-grid{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.answer-grid button{
  min-height:44px;
  padding:9px 8px;
  border-radius:14px;
  line-height:1.05;
}
.feedback{
  flex:0 0 auto;
  min-height:20px;
  font-size:14px;
  line-height:1.2;
}
.hud,.vs-hud{
  flex:0 0 auto;
  margin-top:0;
  gap:7px;
}
.hud>div,.vs-hud>div{
  padding:8px 6px;
  border-radius:14px;
  min-width:0;
}
.hud span,.vs-hud span{
  font-size:10px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hud b,.vs-hud b{
  font-size:clamp(18px,3.6dvh,28px);
  line-height:1;
}
.single-hud{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.vs-hud{grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr)}
.round-box{min-width:74px}
.sound-actions{
  bottom:8px;
  max-width:calc(100% - 18px);
}
.play-sound{padding:9px 12px;font-size:13px}
.sound-wave{padding:7px 9px}

@media (max-width:620px){
  .game-page .topbar{width:calc(100% - 12px);margin-top:6px;border-radius:16px;min-height:38px;padding:6px 8px}
  .game-page .brand span:last-child{max-width:104px;font-size:13px}
  .game-page .brand-ball{width:22px;height:22px}
  .game-page .topbar nav{gap:2px}
  .game-page .topbar nav a{padding:6px 6px;font-size:12px}
  .game-shell{width:calc(100% - 10px);margin:6px auto 6px}
  .play-card{padding:7px;border-radius:18px;gap:6px}
  .round-area{gap:6px}
  .stage{border-radius:17px;padding:6px}
  .stage.has-sound{padding-bottom:44px}
  .stage.has-sound img{max-height:calc(100% - 40px)}
  .single-hud{gap:5px}
  .hud>div,.vs-hud>div{padding:6px 4px;border-radius:12px}
  .hud span,.vs-hud span{font-size:9px;letter-spacing:.04em}
  .hud b,.vs-hud b{font-size:18px}
  .hint-chip{font-size:10px;padding:5px 6px}
  .answer-grid{gap:6px}
  .answer-grid button{min-height:40px;padding:7px 5px;font-size:14px;border-radius:12px}
  .feedback{min-height:16px;font-size:12px}
  .play-sound{padding:8px 10px;font-size:12px}
  .sound-wave{display:none}
}

@media (max-height:720px){
  .game-page .topbar{min-height:38px;padding:5px 9px;margin-top:5px}
  .game-shell{margin-top:5px;margin-bottom:5px}
  .play-card{padding:7px;gap:6px}
  .round-area{gap:6px}
  .hud,.vs-hud{gap:5px}
  .hud>div,.vs-hud>div{padding:6px 5px}
  .hint-chip{padding:5px 6px;font-size:10px}
  .answer-grid{gap:6px}
  .answer-grid button{min-height:38px;padding:7px 6px;font-size:14px}
  .feedback{min-height:16px;font-size:12px}
  .hints .hint-chip:nth-child(n+4){display:none}
}

@media (max-height:600px){
  .game-page .topbar{min-height:32px;padding:4px 8px;margin-top:4px}
  .game-page .brand-ball{width:20px;height:20px}
  .game-page .brand span:last-child{font-size:12px}
  .game-page .topbar nav a{font-size:12px;padding:4px 6px}
  .game-shell{margin:4px auto}
  .play-card{padding:5px;border-radius:16px;gap:4px}
  .round-area{gap:4px}
  .hud>div,.vs-hud>div{padding:5px 4px;border-radius:10px}
  .hud span,.vs-hud span{font-size:8.5px}
  .hud b,.vs-hud b{font-size:16px}
  .stage{padding:4px;border-radius:14px}
  .stage.has-sound{padding-bottom:36px}
  .stage.has-sound img{max-height:calc(100% - 32px)}
  .sound-actions{bottom:5px}
  .play-sound{padding:6px 9px;font-size:11px}
  .hints .hint-chip:nth-child(n+3){display:none}
  .hint-chip{font-size:9px;padding:4px 5px}
  .answer-grid button{min-height:34px;font-size:13px;padding:5px 4px}
  .feedback{min-height:13px;font-size:11px}
}

@media (max-height:500px){
  .game-page .topbar{display:none}
  .game-shell{margin:3px auto;height:calc(100dvh - 6px)}
  .hints{display:none}
  .answer-grid button{min-height:32px}
  .single-hud>div:nth-child(4){display:none}
  .single-hud{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Hotfix 8: inicio mobile-first e intuitivo.
   El objetivo es que la primera pantalla muestre claramente cómo empezar,
   sin que la vista previa del Pokémon empuje los botones hacia abajo. */
.home-page{
  min-height:100dvh;
  overflow-x:hidden;
}
.home-hero{
  min-height:calc(100dvh - 76px);
  padding:22px 0 12px;
}
.home-start-panel{
  position:relative;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg,rgba(18,25,58,.72),rgba(8,12,31,.42));
  border-radius:32px;
  padding:28px;
  box-shadow:0 28px 86px rgba(0,0,0,.26);
  overflow:hidden;
}
.home-start-panel:before{
  content:"";
  position:absolute;
  inset:-40% -15% auto auto;
  width:260px;
  height:260px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(255,204,51,.24),transparent 68%);
  pointer-events:none;
}
.home-start-panel h1{margin-top:14px}
.home-lead{max-width:580px}
.home-actions{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:12px;
  margin:20px 0 12px;
}
.home-actions .btn{min-height:58px;font-size:17px;border-radius:20px}
.home-main-cta{font-size:19px!important;box-shadow:0 22px 56px rgba(255,110,65,.32)!important}
.home-mode-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.home-mode-cards a{
  text-decoration:none;
  color:#fff;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
  border-radius:18px;
  padding:12px;
  display:grid;
  gap:4px;
}
.home-mode-cards strong{font-size:15px}
.home-mode-cards span{font-size:12px;color:var(--muted);font-weight:800;line-height:1.2}
.home-status{margin:12px 0 0;padding:9px 12px;font-size:13px}
.home-preview{max-width:420px;justify-self:center}
.home-preview .phone-frame{min-height:560px}
.home-features{margin-top:0}

/* Pantalla de inicio de single player: compacta, decorada y sin scroll en mobile. */
.single-start-card{
  max-width:760px;
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  grid-template-areas:
    "visual copy"
    "visual form"
    "visual cta";
  gap:16px 22px;
  align-items:center;
  overflow:hidden;
}
.single-start-visual{
  grid-area:visual;
  min-height:360px;
  align-self:stretch;
  display:grid;
  place-items:center;
  position:relative;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at center,rgba(255,204,51,.22),rgba(75,163,255,.14) 42%,rgba(255,255,255,.05)),
    linear-gradient(135deg,rgba(75,163,255,.15),rgba(255,94,98,.12));
  overflow:hidden;
}
.single-start-visual:before{
  content:"";
  position:absolute;
  inset:20px;
  border-radius:38% 48% 42% 50%;
  background:#020411;
  filter:drop-shadow(0 0 18px rgba(255,255,255,.42)) drop-shadow(0 0 44px rgba(75,163,255,.34));
  clip-path:polygon(48% 4%,59% 23%,83% 12%,72% 39%,94% 53%,70% 61%,78% 92%,51% 75%,24% 92%,30% 62%,7% 52%,29% 40%,17% 13%,40% 23%);
  animation:floaty 2.8s ease-in-out infinite;
}
.start-question{
  position:relative;
  z-index:2;
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-size:58px;
  font-weight:1000;
  color:#201200;
  background:linear-gradient(135deg,var(--yellow),#ff8a28);
  box-shadow:0 18px 44px rgba(255,204,51,.28), inset 0 0 0 5px rgba(255,255,255,.22);
}
.start-rings{
  position:absolute;
  width:150px;
  height:150px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.18);
  animation:pulse 1.8s ease-out infinite;
}
.single-start-copy{grid-area:copy;min-width:0}
.single-start-copy h1{font-size:clamp(34px,7vw,58px);margin:12px 0 8px}
.single-start-copy p{margin:0;color:var(--muted);font-size:16px;line-height:1.35}
.single-start-form{grid-area:form;min-width:0}
.single-start-form label{margin:10px 0 6px}
.single-start-form .text-input{padding:13px 14px}
.single-start-form .mode-picker button{
  display:grid;
  gap:2px;
  place-items:center;
  min-height:54px;
}
.single-start-form .mode-picker button small{
  display:block;
  font-size:11px;
  opacity:.82;
  font-weight:900;
}
.start-game-btn{grid-area:cta;margin-top:2px!important;min-height:58px;font-size:18px;border-radius:20px}

@media (max-width:860px){
  .home-page{overflow:hidden}
  .home-page .topbar{margin-top:8px}
  .home-hero{
    grid-template-columns:1fr;
    min-height:calc(100dvh - 62px);
    padding:10px 0 8px;
    display:grid;
    place-items:center;
  }
  .home-start-panel{
    width:100%;
    padding:22px;
    border-radius:28px;
  }
  .home-start-panel h1{
    font-size:clamp(36px,11vw,56px);
    margin:12px 0 8px;
  }
  .home-start-panel .badge{font-size:12px;padding:7px 10px}
  .home-lead{font-size:16px!important;line-height:1.35!important;margin:0}
  .home-preview{display:none!important}
  .home-features,.footer{display:none!important}
}

@media (max-width:620px){
  .home-page .topbar{min-height:38px;padding:6px 8px;width:calc(100% - 12px)}
  .home-page .brand-ball{width:22px;height:22px}
  .home-page .brand span:last-child{max-width:108px;font-size:13px}
  .home-page .topbar nav a{font-size:12px;padding:6px 6px}
  .home-hero{width:calc(100% - 12px);min-height:calc(100dvh - 52px)}
  .home-start-panel{padding:16px;border-radius:22px}
  .home-start-panel h1{font-size:clamp(32px,11vw,46px);letter-spacing:-.075em;line-height:.92}
  .home-actions{grid-template-columns:1fr;gap:8px;margin:14px 0 10px}
  .home-actions .btn{min-height:52px;font-size:15px;padding:12px}
  .home-main-cta{font-size:17px!important}
  .home-mode-cards{gap:8px}
  .home-mode-cards a{padding:10px;border-radius:15px}
  .home-mode-cards strong{font-size:13px}.home-mode-cards span{font-size:11px}
  .home-status{font-size:11px;padding:7px 9px;margin-top:9px}

  .single-start-card{
    height:100%;
    max-height:100%;
    grid-template-columns:1fr;
    grid-template-areas:"copy" "form" "cta";
    gap:8px;
    padding:14px!important;
    border-radius:20px;
    align-content:center;
  }
  .single-start-visual{display:none}
  .single-start-copy{display:grid;gap:6px;text-align:center;justify-items:center}
  .single-start-copy .badge{font-size:11px;padding:6px 9px}
  .single-start-copy h1{font-size:clamp(30px,10vw,42px);margin:4px 0 0;letter-spacing:-.075em;line-height:.92}
  .single-start-copy p{font-size:13px;line-height:1.22;max-width:320px}
  .single-start-form label{margin:7px 0 5px;font-size:13px}
  .single-start-form .text-input{padding:11px 12px;border-radius:14px}
  .single-start-form .mode-picker{gap:7px}
  .single-start-form .mode-picker button{min-height:46px;padding:8px 6px;border-radius:13px;font-size:13px}
  .single-start-form .mode-picker button small{font-size:10px}
  .start-game-btn{min-height:52px;font-size:16px;border-radius:17px;margin-top:4px!important}
}

@media (max-height:700px) and (max-width:620px){
  .single-start-card{gap:6px;padding:10px!important;align-content:center}
  .single-start-copy .badge{display:none}
  .single-start-copy h1{font-size:clamp(28px,9vw,38px)}
  .single-start-copy p{display:none}
  .single-start-form label{margin:5px 0 4px;font-size:12px}
  .single-start-form .text-input{padding:9px 10px}
  .single-start-form .mode-picker button{min-height:40px;padding:6px 5px;font-size:12px}
  .single-start-form .mode-picker button small{display:none}
  .start-game-btn{min-height:46px;font-size:15px}
  .home-start-panel{padding:13px}
  .home-start-panel .badge{display:none}
  .home-lead{display:none}
  .home-actions .btn{min-height:48px}
  .home-mode-cards span{display:none}
}

@media (max-height:560px) and (max-width:620px){
  .single-start-form .text-input{padding:8px 9px}
  .single-start-form label{font-size:11px}
  .single-start-form .mode-picker button{min-height:36px;font-size:11px}
  .start-game-btn{min-height:42px}
  .home-mode-cards{display:none}
}


/* Hotfix 9: estética inspirada en show retro, home más clara, Johto + dificultad progresiva */
body, input, button, textarea, select{font-family:Fredoka,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.logo-title{
  font-family:"Luckiest Guy", Fredoka, system-ui, sans-serif;
  font-weight:400;
  line-height:.94;
  letter-spacing:.01em;
  color:#ffd93a;
  margin:10px 0 14px;
  text-shadow:
    -3px -3px 0 #2858b4,
    3px -3px 0 #2858b4,
    -3px 3px 0 #2858b4,
    3px 3px 0 #2858b4,
    0 9px 0 rgba(14,30,82,.65),
    0 16px 28px rgba(0,0,0,.28);
}
.logo-title.inner{font-size:clamp(34px,5vw,56px)}
.logo-title.mini{font-size:clamp(28px,3.8vw,48px);text-align:center}
.who-home .topbar .brand span:last-child{font-weight:1000}
.who-home-hero{gap:22px;align-items:stretch}
.who-copy-panel{display:flex;flex-direction:column;justify-content:center}
.progressive-info{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.progressive-info span,.mini-pill,.difficulty-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);font-weight:800;font-size:12px}
.home-preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(100%,620px);margin-top:14px}
.mini-preview-card{border:1px solid rgba(255,255,255,.14);background:rgba(9,15,38,.56);border-radius:18px;padding:14px 12px;text-align:center;box-shadow:0 12px 26px rgba(0,0,0,.18)}
.mini-preview-card span{display:block;font-size:22px;font-weight:1000;color:#fff}
.mini-preview-card b{display:block;margin-top:4px;color:#cfd9ff;font-size:13px}
.who-preview{display:flex;flex-direction:column;align-items:center;justify-content:center}
.who-splash-card{width:min(100%,620px);min-height:430px;border-radius:34px;overflow:hidden;display:grid;grid-template-columns:1.06fr .94fr;border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow);background:linear-gradient(90deg,#7ad9ff 0 56%,#ff3f37 56% 100%)}
.who-splash-left,.who-splash-right{position:relative;overflow:hidden}
.who-splash-left{background:radial-gradient(circle at center,#ffffff 0 26%,#f2fdff 30%,#b8ecff 54%,#74d3ff 74%,#3aa7ff 100%)}
.who-light-core{position:absolute;inset:14% 14% 14% 10%;background:radial-gradient(circle,#fff 0 32%,rgba(255,255,255,.94) 42%,rgba(255,255,255,.32) 66%,rgba(255,255,255,0) 84%);filter:blur(10px)}
.who-cameo{position:absolute;object-fit:contain;opacity:.92;filter:saturate(0) brightness(2.2) contrast(.72) drop-shadow(0 12px 20px rgba(31,124,197,.28));mix-blend-mode:screen}
.cameo-1{width:52%;left:2%;bottom:-3%}
.cameo-2{width:42%;right:8%;bottom:9%}
.cameo-3{width:34%;left:28%;top:10%}
.who-splash-right{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;background:linear-gradient(180deg,rgba(255,60,50,.84),rgba(215,27,21,.95));}
.who-splash-right:before{content:'';position:absolute;inset:-10% -10% auto auto;width:110%;height:110%;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 42%);transform:rotate(-7deg)}
.who-question{position:relative;z-index:2;font-family:"Luckiest Guy", Fredoka, sans-serif;font-size:clamp(100px,12vw,170px);line-height:.8;color:#ffd93a;text-shadow:-5px -5px 0 #2858b4,5px -5px 0 #2858b4,-5px 5px 0 #2858b4,5px 5px 0 #2858b4,0 14px 26px rgba(0,0,0,.3);margin-bottom:8px}
.who-subline{position:relative;z-index:2;color:#fff;text-align:center;font-weight:800;font-size:14px;opacity:.95;background:rgba(16,24,70,.3);border:1px solid rgba(255,255,255,.2);padding:10px 14px;border-radius:999px;margin-top:6px}
.round-topline{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.difficulty-pill.easy{background:rgba(68,255,154,.18);border-color:rgba(68,255,154,.34);color:#d4ffe9}
.difficulty-pill.medium{background:rgba(255,204,51,.18);border-color:rgba(255,204,51,.34);color:#fff0ba}
.difficulty-pill.hard{background:rgba(255,94,98,.18);border-color:rgba(255,94,98,.34);color:#ffd7d8}
.who-stage{background:linear-gradient(90deg,#79d6ff 0 55%,#ff473f 55% 100%);border:1px solid rgba(255,255,255,.16)}
.who-stage .stage-burst{position:absolute;inset:8% auto auto 6%;width:58%;height:84%;background:radial-gradient(circle,#fff 0 30%,rgba(255,255,255,.96) 38%,rgba(255,255,255,.4) 58%,rgba(255,255,255,0) 82%);filter:blur(9px);z-index:0}
.who-stage .stage-side{position:absolute;top:0;bottom:0;width:50%;z-index:0;opacity:.65}
.who-stage .stage-blue{left:0;background:linear-gradient(90deg,rgba(23,151,255,.55),rgba(23,151,255,0))}
.who-stage .stage-red{right:0;background:linear-gradient(270deg,rgba(255,56,56,.55),rgba(255,56,56,0))}
.who-stage img{z-index:2;max-width:82%;max-height:80%;filter:brightness(0) drop-shadow(0 0 12px rgba(255,255,255,.9)) drop-shadow(0 0 24px rgba(65,155,255,.55))}
.who-stage img.pokemon-revealed{filter:drop-shadow(0 8px 18px rgba(0,0,0,.24))}
.who-stage .stage-question{position:absolute;top:12px;right:16px;z-index:1;font-family:"Luckiest Guy", Fredoka, sans-serif;font-size:clamp(52px,7vw,86px);line-height:.85;color:#ffd93a;text-shadow:-4px -4px 0 #2858b4,4px -4px 0 #2858b4,-4px 4px 0 #2858b4,4px 4px 0 #2858b4,0 10px 20px rgba(0,0,0,.22)}
.setup-card .logo-title.inner{margin-top:12px}
.setup-card .badge{align-self:flex-start}
.feature h3{font-family:Fredoka, Inter, sans-serif}

@media (max-width: 900px){
  .who-home-hero{grid-template-columns:1fr}
  .who-preview{order:2}
  .who-copy-panel{order:1}
  .who-splash-card{min-height:320px}
}

@media (max-width: 620px){
  .logo-title{font-size:clamp(34px,11vw,56px);text-shadow:-2px -2px 0 #2858b4,2px -2px 0 #2858b4,-2px 2px 0 #2858b4,2px 2px 0 #2858b4,0 7px 0 rgba(14,30,82,.65),0 12px 20px rgba(0,0,0,.24)}
  .who-copy-panel{padding:20px 18px}
  .progressive-info{gap:6px}
  .progressive-info span,.mini-pill,.difficulty-pill{font-size:11px;padding:6px 10px}
  .who-splash-card{grid-template-columns:1fr;min-height:0}
  .who-splash-left{min-height:220px}
  .who-splash-right{padding:18px}
  .who-question{font-size:82px;margin-bottom:2px}
  .who-subline{font-size:12px;padding:8px 10px}
  .home-preview-cards{grid-template-columns:repeat(3,1fr);gap:8px}
  .mini-preview-card{padding:10px 6px;border-radius:14px}
  .mini-preview-card span{font-size:18px}
  .mini-preview-card b{font-size:11px}
  .round-topline{gap:6px}
  .who-stage .stage-question{font-size:46px;top:10px;right:12px}
}

@media (max-width: 420px){
  .who-home .topbar{width:calc(100% - 10px)}
  .who-copy-panel{padding:16px 14px;border-radius:24px}
  .who-light-core{inset:16% 8% 18% 8%}
  .cameo-1{width:58%;left:-2%;bottom:-1%}
  .cameo-2{width:44%;right:3%;bottom:10%}
  .cameo-3{width:38%;left:24%;top:10%}
  .home-preview-cards{margin-top:10px}
}


/* Hotfix 10: juego sin sonidos */
.sound-actions,
.play-sound,
.sound-wave,
.sound-mode-picker {
  display: none !important;
}


/* Hotfix 11: no repetir criaturas + sonidos de UI */
.win-message{
  color:#dfffe9;
  background:rgba(68,255,154,.12);
  border:1px solid rgba(68,255,154,.28);
  border-radius:18px;
  padding:12px 14px;
  font-weight:900;
}


/* Hotfix 12: VS no avanza rondas si nadie respondió */
.vs-paused-note{
  color:#dbe7ff;
  font-weight:900;
}
