/* ---------- Juegos para colorear: lanzador, selector y pantalla completa ---------- */
.rh-juego-btn{position:fixed;right:20px;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:9000;width:60px;height:60px;border-radius:50%;border:0;background:var(--teal);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 28px -8px rgba(7,59,76,.55);transition:transform .25s var(--ease),background .25s}
.rh-juego-btn:hover{transform:scale(1.06);background:#23796F}
.rh-juego-btn svg{width:30px;height:30px}
.rh-juego-btn span{position:absolute;right:70px;top:50%;transform:translateY(-50%);background:#fff;color:var(--navy);font:600 .82rem var(--fd);padding:7px 12px;border-radius:10px;box-shadow:var(--shadow);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.rh-juego-btn:hover span{opacity:1}
body.rh-chat-open .rh-juego-btn,body.rh-juego-abierto .rh-chat-bubble,body.rh-juego-abierto .rh-chat-nudge,body.rh-juego-abierto .rh-juego-btn{display:none}

.juegos{position:fixed;inset:0;z-index:9600;display:none;background:var(--cream);font-family:var(--fd);color:var(--ink)}
.juegos.open{display:flex;flex-direction:column}
body.rh-juego-abierto{overflow:hidden}
.juegos__top{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--navy);color:#fff;flex:none}
.juegos__top h2{margin:0;color:#fff;font-size:1rem;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.juegos__top img{width:34px;height:34px;border-radius:50%;background:#fff;padding:4px}
.juegos__ico{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
.juegos__ico:hover{background:rgba(255,255,255,.24)}
.juegos__ico svg{width:18px;height:18px}
.juegos__ico--cerrar{background:var(--pink)}
.juegos__ico--cerrar:hover{background:#d63a60}

/* Selector */
.juegos__menu{flex:1;overflow:auto;display:grid;place-items:center;padding:24px 16px}
.juegos__cards{display:grid;grid-template-columns:repeat(2,minmax(0,320px));gap:18px;width:100%;max-width:700px}
@media (max-width:640px){.juegos__cards{grid-template-columns:1fr}}
.juegos__card{background:#fff;border:0;border-radius:24px;padding:0;overflow:hidden;cursor:pointer;text-align:left;box-shadow:var(--shadow);transition:transform .25s var(--ease);font-family:var(--fd)}
.juegos__card:hover{transform:translateY(-4px)}
.juegos__card img,.juegos__card svg.mini{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f3f3f3}
.juegos__card div{padding:16px 18px 20px}
.juegos__card strong{display:block;color:var(--navy);font-size:1.1rem;margin-bottom:4px}
.juegos__card span{color:var(--ink-2);font-size:.9rem}
.juegos__intro{grid-column:1/-1;text-align:center;color:var(--ink-2);margin:0 0 4px}

/* Tablero */
.juegos__tablero{flex:1;min-height:0;display:flex;flex-direction:column}
.juegos__lienzo{flex:1;min-height:0;display:grid;place-items:center;padding:10px;position:relative;overflow:hidden}
.juegos__lienzo>*{display:block;touch-action:none;background:#fff;border-radius:16px;box-shadow:0 20px 50px -30px rgba(7,59,76,.5);user-select:none;-webkit-user-select:none;overflow:hidden}
.bandera .escudo{pointer-events:none}
.juegos__lienzo canvas{display:block}
.juegos__lienzo .apilado{position:relative}
.juegos__lienzo .apilado canvas{position:absolute;inset:0;width:100%;height:100%}
.juegos__msg{position:absolute;left:50%;top:18px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 18px;border-radius:999px;font-weight:600;font-size:.95rem;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .3s;max-width:calc(100% - 32px);text-align:center}
.juegos__msg.show{opacity:1}
.juegos__msg.ok{background:#1c9775}
.juegos__barra{flex:none;background:#fff;border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px}
.juegos__paleta{display:flex;gap:8px;overflow-x:auto;padding:4px 2px;scrollbar-width:none}
.juegos__paleta::-webkit-scrollbar{display:none}
.juegos__color{flex:none;width:38px;height:38px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px var(--line);cursor:pointer;padding:0;transition:transform .15s}
.juegos__color.on{transform:scale(1.15);box-shadow:0 0 0 3px var(--navy)}
.juegos__herr{display:flex;gap:6px;flex-wrap:wrap}
.juegos__herr button{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font:600 .8rem var(--fd);cursor:pointer;white-space:nowrap}
.juegos__herr button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.juegos__herr button.principal{background:var(--teal);border-color:var(--teal);color:#fff}
.juegos__herr button svg{width:16px;height:16px}
@media (max-width:520px){.juegos__herr button span{display:none}.juegos__herr button{padding:10px}}

/* Bandera: zonas */
.bandera .zona{cursor:pointer;stroke:#1F2A3A;stroke-width:3;stroke-linejoin:round;transition:fill .15s}
.juegos__card svg.mini .zona{stroke-width:2}
.bandera .zona:hover{filter:brightness(.96)}
.bandera .fina{stroke-width:2}
.bandera text{pointer-events:none;font-family:var(--fd);font-weight:700;fill:#1F2A3A}
@keyframes rhConfeti{0%{transform:translateY(-10vh) rotate(0)}100%{transform:translateY(110vh) rotate(720deg)}}
.confeti{position:absolute;top:0;width:10px;height:16px;border-radius:2px;animation:rhConfeti 2.6s linear forwards;pointer-events:none}
