/* Componentes comunes de los juegos online (ruleta, dados…): tarjetas, nivel, marcador, castigos,
   instrucciones y juguetes. Salió de juego_ruleta.php el 2026-10-15 para que el juego de dados use los
   mismos estilos en vez de una copia. Diseño: docs/ruleta.png */
/* Diseño del boceto del dueño (docs/ruleta.png, 2026-10-15) */
.rul{--rosa:#e6337f;--rosa2:#f05a9b;--rosa-claro:#fde3ef;--lila:#8e44c8;--tinta:#1d1d3a;max-width:820px;margin:0 auto 40px}
.rul-cab{position:relative;padding-right:60px}
.rul-cab h1{font-size:34px;font-weight:900;color:var(--tinta);margin:6px 0 8px;letter-spacing:-.3px}
.rul-cab h1 span{background:linear-gradient(90deg,var(--rosa),#b65ad8);-webkit-background-clip:text;background-clip:text;color:transparent}
.rul-cab .corazones{position:absolute;right:0;top:0;width:58px;height:48px}
.rul-cab p{font-size:17px;line-height:1.45;color:#33334d;margin:0 0 18px}
.rul-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rul-tar{border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 6px 18px rgba(230,51,127,.10)}
.rul-tar:nth-child(1){background:linear-gradient(160deg,#fde4ee,#fff6f9)}
.rul-tar:nth-child(2){background:linear-gradient(160deg,#f2e6fb,#fbf6ff)}
.rul-tar:nth-child(3){background:linear-gradient(160deg,#fde9e2,#fff7f4)}
.rul-tar:nth-child(4){background:linear-gradient(160deg,#ece6fd,#f7f4ff)}
.rul-tar h3{font-size:19px;font-weight:800;color:var(--tinta);margin:0;line-height:1.2}
.rul-tar .sub{font-size:14px;color:#55556b;margin:-6px 0 0}
.rul-vis{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#fff;perspective:600px}
.rul-vis img{width:100%;height:100%;object-fit:cover;display:block}
.rul-tiempo{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;background:linear-gradient(150deg,#b25ae0,#7a5cf0 60%,#e6337f)}
.rul-tiempo b{font-size:58px;font-weight:900;line-height:.9}
.rul-tiempo small{display:block;font-size:17px;font-weight:700}
.rul-tiempo svg{width:40px;height:40px;opacity:.9}
.rul-tar.gira .rul-vis > *{animation:rulGira .7s ease-in-out}
@keyframes rulGira{0%{transform:rotateY(0)}45%{transform:rotateY(90deg) scale(.92);filter:blur(2px)}55%{transform:rotateY(-90deg) scale(.92);filter:blur(2px)}100%{transform:rotateY(0)}}
.rul-tar.sale .rul-vis{animation:rulSale .45s ease-out}
@keyframes rulSale{0%{box-shadow:0 0 0 0 rgba(230,51,127,.6)}100%{box-shadow:0 0 0 14px rgba(230,51,127,0)}}
.rul-tar .rul-btn{margin-top:auto}
.rul-btn{border:0;border-radius:14px;padding:13px 10px;font-size:15px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#fff;cursor:pointer;
	background:linear-gradient(90deg,var(--rosa),var(--rosa2));box-shadow:0 5px 14px rgba(230,51,127,.3);transition:transform .1s}
.rul-btn:active{transform:translateY(2px)}
.rul-btn:disabled{opacity:.7;cursor:default}
.rul-todas{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:16px 0 18px;font-size:17px;padding:15px;background:linear-gradient(90deg,#b65ad8,var(--rosa))}
.rul-todas svg{width:24px;height:24px}
.rul-caja{overflow:hidden;background:#fff;border-radius:20px;box-shadow:0 6px 22px rgba(29,29,58,.07);padding:16px 18px;margin-bottom:16px}
.rul-ico{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.rul-ico svg{width:24px;height:24px}
.rul-instr summary{list-style:none;display:flex;align-items:center;gap:14px;cursor:pointer}
.rul-instr summary::-webkit-details-marker{display:none}
.rul-instr h2{font-size:19px;font-weight:800;color:var(--tinta);margin:0}
.rul-instr .flecha{margin-left:auto;width:20px;height:20px;transition:transform .2s}
.rul-instr details[open] .flecha{transform:rotate(180deg)}
.rul-instr p{margin:8px 0 0 60px;color:#33334d;font-size:15px;line-height:1.45}
.rul-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.rul-info > div{background:#fff;border-radius:18px;box-shadow:0 6px 22px rgba(29,29,58,.07);padding:16px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.rul-info h3{font-size:16px;font-weight:800;color:var(--tinta);margin:0}
.rul-info p{font-size:13.5px;color:#55556b;margin:0;line-height:1.4}
.rul-jug-cab{display:flex;align-items:flex-start;gap:14px;margin-bottom:6px}
.rul-jug-cab h2{font-size:19px;font-weight:900;text-transform:uppercase;color:var(--tinta);margin:0 0 4px}
.rul-jug-cab p{font-size:14px;color:#55556b;margin:0}
.rul-ver{flex:none;margin-left:auto;border:1.5px solid var(--rosa);border-radius:20px;padding:6px 14px;color:var(--rosa);font-weight:700;font-size:14px;white-space:nowrap}
.rul-ver:hover{color:#fff;background:var(--rosa);text-decoration:none}
@media (max-width:767px){
	.rul-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
	.rul-cab h1{font-size:27px}
	.rul-cab p{font-size:15.5px}
	.rul-tar{padding:10px;border-radius:16px;gap:8px}
	.rul-tar h3{font-size:16px}
	.rul-tar .sub{font-size:12.5px}
	.rul-btn{font-size:12.5px;padding:11px 6px}
	.rul-tiempo b{font-size:42px}.rul-tiempo small{font-size:14px}.rul-tiempo svg{width:28px;height:28px}
	.rul-info{gap:8px}
	.rul-info > div{padding:12px 6px}
	.rul-info h3{font-size:14px}.rul-info p{font-size:12px}
	.rul-instr p{margin-left:0}
}
/* Niveles, marcador y castigos */
.rul-nivel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.rul-nivel b{font-size:15px;color:var(--tinta)}
.rul-nivel button{border:1.5px solid #f1d3e1;background:#fff;border-radius:20px;padding:7px 16px;font-weight:700;font-size:14px;cursor:pointer;color:var(--tinta)}
.rul-nivel button[aria-pressed="true"]{background:var(--rosa);border-color:var(--rosa);color:#fff}
.rul-marcador h2{font-size:19px;font-weight:800;color:var(--tinta);margin:0 0 12px}
.rul-jug{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:12px}
.rul-jug > div{border:2px solid #f1e3ea;border-radius:16px;padding:10px 12px;display:flex;align-items:center;gap:8px;min-width:0}
.rul-jug > div.activo{border-color:var(--rosa);background:#fff6fa}
.rul-jug input{border:0;background:transparent;font-weight:700;font-size:15px;min-width:0;width:100%;flex:1;color:var(--tinta)}
.rul-jug input:focus{outline:1px dashed #f1d3e1}
.rul-jug .pts{font-size:26px;font-weight:900;color:var(--rosa);min-width:44px;text-align:right}
.rul-turno{font-size:14px;color:#55556b;margin:0 0 10px}
.rul-acc{display:flex;gap:8px}
.rul-acc button{flex:1;border:0;border-radius:12px;padding:12px 8px;font-weight:800;font-size:14.5px;cursor:pointer;color:#fff}
.rul-acc .ok{background:#2fb36b}.rul-acc .ko{background:#e2574c}
.rul-cero{background:none;border:0;color:#55556b;text-decoration:underline;font-size:13px;cursor:pointer;margin-top:8px;padding:0}
.rul-castigo{margin-top:14px;border-radius:16px;padding:14px;background:linear-gradient(150deg,#2b2140,#5a2d68);color:#fff;text-align:center}
.rul-castigo h3{font-size:17px;font-weight:800;margin:0;color:#fff}
.rul-castigo .sub{font-size:13px;opacity:.8;margin:2px 0 10px}
.rul-castigo .txt{font-size:20px;font-weight:800;min-height:52px;display:flex;align-items:center;justify-content:center;padding:4px 6px}
.rul-castigo .txt.gira{animation:rulGira .7s ease-in-out}
.rul-castigo button{border:0;border-radius:12px;padding:10px 18px;font-weight:800;background:#fff;color:#5a2d68;cursor:pointer;margin-top:6px}
@media (prefers-reduced-motion:reduce){.rul-tar.gira .rul-vis > *,.rul-tar.sale .rul-vis{animation:none}}

/* ===== Aspecto app (2026-10-16, bocetos del dueño en docs/juegos/*.png) =====
   Pensado primero para el móvil: una columna de tarjetas blancas sobre un fondo rosado, pasos
   numerados, pastillas con icono y botones grandes. Las piezas PHP, en modulos/juegos_hub/app.php. */
.rul{--azul:#4f97e6;--verde:#22b47a;--rojo:#ec4a63;--gris:#6b6b85;--borde:#f3e3ec;
	--cta:linear-gradient(90deg,#f04d98 0%,#c062dc 55%,#6fb2f2 100%);--sombra:0 8px 26px rgba(176,64,140,.10);max-width:680px}
body:has(.rul){background:linear-gradient(180deg,#fdf0f6 0,#f8f0fc 900px,#f2f5fd 2200px,#fdf0f6 100%)}
.rul .jg-i{width:20px;height:20px;flex:none}
/* Cabecera con ilustración */
.jg-hero{padding:4px 0 6px;margin-bottom:12px;min-height:150px}
.jg-hero.con-img{padding-right:40%}
.jg-hero h1{font-size:34px;line-height:1.05;letter-spacing:-.5px;color:var(--tinta);margin:4px 0 10px;text-transform:uppercase;font-weight:900}
.jg-hero h1 span{display:inline-block;background:linear-gradient(90deg,var(--rosa),#d0459e);-webkit-background-clip:text;background-clip:text;color:transparent}
.jg-hero p{font-size:15.5px;line-height:1.45;color:#3a3a55;margin:0}
.jg-hero-img{position:absolute;right:-6px;top:-8px;width:42%;max-width:270px;height:auto;pointer-events:none;filter:drop-shadow(0 10px 18px rgba(230,51,127,.18))}
.jg-hero .corazones{width:84px;height:70px;top:4px;right:0}
.jg-kicker{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#fff;background:linear-gradient(90deg,var(--rosa),#b65ad8);border-radius:20px;padding:4px 11px}
.jg-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 14px;padding:0}
.jg-chips li{display:flex;align-items:center;gap:6px;background:#fff;border-radius:20px;padding:6px 12px;font-size:12.5px;font-weight:700;color:var(--tinta);box-shadow:0 3px 10px rgba(176,64,140,.10)}
.rul .jg-chips .jg-i{width:16px;height:16px;color:var(--rosa)}
/* Tarjeta de paso y cajas */
.jg-paso,.rul .rul-caja{background:#fff;border-radius:24px;box-shadow:var(--sombra);padding:16px;margin-bottom:14px;overflow:visible}
.jg-paso-cab,.jg-caja-cab{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.jg-paso-tit{min-width:0;flex:1}
.rul .jg-paso-tit h2{font-size:20px;font-weight:900;color:var(--tinta);margin:0;line-height:1.15;text-transform:none;letter-spacing:-.2px}
.jg-paso-tit p{font-size:13.5px;color:var(--gris);margin:2px 0 0;line-height:1.35}
.jg-num{flex:none;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:21px;font-weight:900;
	background:linear-gradient(135deg,#f773b1,#e6337f);box-shadow:0 5px 12px rgba(230,51,127,.35),inset 0 0 0 3px rgba(255,255,255,.35)}
.jg-num.n2{background:linear-gradient(135deg,#86c3f7,#4f8fe3);box-shadow:0 5px 12px rgba(79,143,227,.35),inset 0 0 0 3px rgba(255,255,255,.35)}
.jg-ico{flex:none;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.rul .jg-ico .jg-i{width:22px;height:22px}
.t-rosa{background:#fde3ef;color:var(--rosa)}.t-lila{background:#f1e4fb;color:#a24fd6}.t-azul{background:#e1effd;color:var(--azul)}
.t-oro{background:#fff3d6;color:#f0a800}.t-verde{background:#dcf5ea;color:var(--verde)}
.rul .rul-ver{display:inline-flex;align-items:center;gap:2px;border:1.5px solid #f6c3da;background:#fff;padding:5px 10px 5px 13px;font-size:13px}
.rul .rul-ver .jg-i{width:14px;height:14px}
/* Opción dentro del paso 1: rótulo con icono y pastillas debajo */
.jg-op{border:1.5px solid var(--borde);border-radius:18px;padding:12px;margin-top:10px}
.jg-op-t{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--tinta);margin:0 0 10px}
.rul .jg-op-t .jg-i{color:var(--tinta);width:19px;height:19px}
.rul .jg-pills{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin:0}
.rul .jg-pills.dos-filas{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}
.rul .jg-pills button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;border:0;border-radius:14px;padding:8px 6px;font-size:13.5px;font-weight:800;
	background:#f6f2fa;color:var(--tinta);transition:transform .1s,box-shadow .2s;line-height:1.1;text-align:center}
.rul .jg-pills button .jg-i{width:17px;height:17px}
.rul .jg-pills button[data-tono="verde"]{background:#e4f7ef;color:#178a5c}
.rul .jg-pills button[data-tono="rosa"]{background:#fde6f0;color:#d02b72}
.rul .jg-pills button[data-tono="naranja"]{background:#fff0e0;color:#d96d0a}
.rul .jg-pills button[data-tono="lila"]{background:#f1e6fc;color:#8a3fc4}
.rul .jg-pills button[data-tono="azul"]{background:#e3f0fd;color:#2f78cc}
.rul .jg-pills button[aria-pressed="true"]{background:linear-gradient(135deg,#f773b1,#e6337f);color:#fff;box-shadow:0 5px 14px rgba(230,51,127,.32)}
.rul .jg-pills button:active{transform:scale(.97)}
.rul .jg-pills button small{display:block;font-size:10.5px;font-weight:600;opacity:.85}
/* Interruptor */
.jg-sw{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;color:var(--tinta);cursor:pointer;margin:12px 2px 0}
.jg-sw input{appearance:none;-webkit-appearance:none;width:46px;height:27px;border-radius:14px;background:#ecdde6;position:relative;cursor:pointer;margin:0;flex:none;transition:background .2s}
.jg-sw input::after{content:'';position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:left .2s}
.jg-sw input:checked{background:linear-gradient(90deg,#f773b1,#e6337f)}
.jg-sw input:checked::after{left:22px}
.jg-sw input:focus-visible{outline:2px solid var(--lila);outline-offset:2px}
/* Botón principal: el degradado rosa-lila-azul del boceto */
.rul .rul-btn.rul-todas{background:var(--cta);border-radius:18px;min-height:56px;font-size:16.5px;letter-spacing:.6px;margin:14px 0 10px;box-shadow:0 8px 20px rgba(192,98,220,.30)}
.rul .rul-btn.rul-todas svg{width:24px;height:24px}
.jg-btn2{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;border:1.5px solid #e3d6e8;background:#fff;border-radius:16px;font-size:15px;font-weight:800;color:var(--tinta);cursor:pointer}
.rul .jg-btn2 .jg-i{width:18px;height:18px}
.jg-btn2:disabled{opacity:.45;cursor:default}
/* Jugadores: avatar, nombre editable y lápiz */
.rul .rul-jug > div{border:1.5px solid var(--borde);border-radius:18px;padding:8px 10px;gap:8px;background:#fff}
.rul .rul-jug > div.activo{border-color:#f59cc4;background:#fff7fb;box-shadow:0 4px 12px rgba(230,51,127,.12)}
.rul .rul-jug input{font-size:15px;font-weight:800;padding:4px 0}
.rul .rul-jug input::placeholder{color:var(--tinta);opacity:.85}
.jg-av{flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;color:rgba(255,255,255,.92);background:linear-gradient(135deg,#8cc6f8,#4f8fe3)}
.rul .jg-av .jg-i{width:30px;height:30px;margin-bottom:-4px}
.rul-jug > div:nth-child(2) .jg-av{background:linear-gradient(135deg,#f9a3c9,#e6337f)}
.rul .jg-lapiz{flex:none;width:16px;height:16px;color:#4f8fe3}
.rul .rul-jug > div:nth-child(2) .jg-lapiz{color:var(--rosa)}
.rul .rul-jug .pts{flex:none;min-width:38px;height:30px;padding:0 8px;border-radius:10px;background:linear-gradient(135deg,#f773b1,#e6337f);color:#fff;font-size:17px;display:flex;align-items:center;justify-content:center}
/* Marcador */
.rul .rul-marcador .jg-caja-cab{margin-bottom:12px}
.jg-reinicia{flex:none;display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;color:#2f78cc;font-size:13.5px;font-weight:700;text-decoration:underline;cursor:pointer}
.rul .jg-reinicia .jg-i{width:16px;height:16px}
.rul .rul-acc button{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:16px;min-height:48px;font-size:14.5px;box-shadow:0 5px 12px rgba(0,0,0,.10)}
.rul .rul-acc .ok{background:linear-gradient(135deg,#34c98a,#1ea56d)}.rul .rul-acc .ko{background:linear-gradient(135deg,#f6687d,#e23c58)}
.rul .rul-acc .jg-i{width:20px;height:20px;color:#fff}
.rul .rul-acc .ok .jg-i path{stroke:#1ea56d}.rul .rul-acc .ko .jg-i path{stroke:#e23c58}
.rul .rul-turno{margin:0 0 10px;font-size:13.5px}
/* Ruleta de castigos: tarjeta morada propia */
.rul .rul-castigo{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;text-align:left;border-radius:22px;padding:16px;margin:0 0 14px;
	background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.14),transparent 40%),linear-gradient(135deg,#7b3fc4,#a54fd0 55%,#c060c8);box-shadow:0 10px 24px rgba(123,63,196,.30)}
.jg-rueda{grid-row:1 / 3;width:54px;height:54px;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.2);
	background:conic-gradient(#ffd1e6 0 45deg,#f773b1 0 90deg,#ffd1e6 0 135deg,#f773b1 0 180deg,#ffd1e6 0 225deg,#f773b1 0 270deg,#ffd1e6 0 315deg,#f773b1 0)}
.rul .rul-castigo h3{font-size:18px}
.rul .rul-castigo .sub{margin:0}
.rul .rul-castigo .txt{grid-column:1 / -1;font-size:17px;min-height:0;padding:8px 0 0}
.rul .rul-castigo button{grid-column:1 / -1;justify-self:center;min-width:60%;border-radius:14px;padding:12px 22px;font-size:15px;color:#7b3fc4;margin-top:8px}
/* Instrucciones y las tres fichas, dentro de la misma tarjeta */
.rul .rul-instr summary{gap:12px}
.rul .rul-instr h2{font-size:19px;font-weight:900}
.rul .rul-instr p{margin:10px 0 0;font-size:14.5px}
.rul .rul-instr .flecha{color:var(--rosa)}
.rul .rul-instr .rul-info{margin:14px 0 0}
.rul .rul-info > div{box-shadow:none;border-radius:18px;padding:14px 8px}
.rul .rul-info > div:nth-child(1){background:#fff7e6}.rul .rul-info > div:nth-child(2){background:#f6effd}.rul .rul-info > div:nth-child(3){background:#eef5fe}
.rul .rul-info .rul-ico{width:42px;height:42px;background:#fff !important}
/* Juguetes */
.rul .rul-jug-cab{align-items:center}
.rul .rul-jug-cab h2{font-size:17px;text-transform:none;font-weight:900}
/* Más juegos */
.jg-mas ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.jg-mas li a{display:flex;align-items:center;gap:12px;border-radius:16px;padding:8px 12px 8px 8px;background:#fbf6fb;border:1px solid var(--borde);color:var(--tinta);text-decoration:none}
.jg-mas li a:hover{border-color:#f6c3da;text-decoration:none}
.jg-mas li img{width:56px;height:42px;border-radius:10px;object-fit:cover;flex:none;background:#fde3ef}
.jg-mas li span{flex:1;min-width:0}
.jg-mas li b{display:block;font-size:15px;font-weight:800;line-height:1.2}
.jg-mas li small{display:block;font-size:12.5px;color:var(--gris)}
.rul .jg-mas li .jg-i{width:16px;height:16px;color:var(--rosa)}
.jg-mas p{margin:10px 0 0}.jg-mas p a{color:var(--rosa);font-weight:700}
/* Aviso de consentimiento, compacto */
.rul .jg-aviso{display:flex;gap:10px;align-items:flex-start;background:#fff;border-radius:18px;padding:11px 14px;margin:0 0 14px;font-size:13px;line-height:1.45;color:#45455f;box-shadow:var(--sombra)}
.rul .jg-aviso .jg-i{color:var(--rosa);width:22px;height:22px}
/* Progreso y turno */
.jg-prog{flex:none;text-align:right;font-size:12.5px;color:var(--gris);min-width:96px}
.jg-prog b{color:var(--rosa)}
.jg-prog i{display:block;height:6px;border-radius:4px;background:#f1e6ee;margin-top:5px;overflow:hidden}
.jg-prog i span{display:block;height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,#f773b1,#e6337f);transition:width .4s}
.jg-turno-pill{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:0 auto 12px;padding:5px 16px 5px 5px;border-radius:30px;background:#fde6f0;font-size:15px;font-weight:800;color:var(--tinta)}
.jg-turno-pill[hidden]{display:none}
.jg-turno-pill b{color:var(--rosa);text-decoration:underline;text-underline-offset:3px}
.jg-turno-pill .jg-av{width:30px;height:30px}
.rul .jg-turno-pill .jg-av .jg-i{width:25px;height:25px}
.jg-turno-pill.j2 .jg-av{background:linear-gradient(135deg,#f9a3c9,#e6337f)}
.jg-pie{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--gris);margin:10px 0 0}
.jg-pie b{color:var(--tinta)}
.jg-ops{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:12px 0 0}
.jg-ops button{background:none;border:0;padding:0;color:var(--gris);text-decoration:underline;font-size:12.5px;cursor:pointer}
@media (max-width:767px){
	.rul{margin-bottom:24px}
	.jg-hero{min-height:132px}
	.jg-hero h1{font-size:26px}
	.jg-hero p{font-size:13.5px}
	.jg-hero.con-img{padding-right:41%}
	.jg-hero-img{width:44%;top:-4px;right:-10px}

	.jg-paso,.rul .rul-caja{border-radius:22px;padding:14px 12px}
	.rul .jg-paso-tit h2{font-size:18px}
	.jg-num,.jg-ico{width:38px;height:38px;font-size:19px}
	.rul .jg-pills{gap:6px}
	.rul .jg-pills button{font-size:12.5px;padding:7px 4px;gap:4px;min-height:40px}
	.rul .jg-pills button .jg-i{width:15px;height:15px}
	.rul .rul-acc button{font-size:13.5px;padding:10px 6px}
	.rul .rul-info .rul-ico{width:38px;height:38px}
}
@media (max-width:360px){.jg-hero h1{font-size:23px}.rul .jg-pills button{font-size:11.5px}}
.rul .rul-castigo .txt:empty{display:none}
/* La flecha de «Instrucciones»: css/ruleta.css tiene otra .flecha (el puntero de la ruleta antigua) que la sacaba de la caja */
.rul .rul-instr .flecha{position:static;transform:none;width:22px;height:22px;border:0;margin-left:auto;z-index:auto;flex:none}
.rul .rul-instr details[open] .flecha{transform:rotate(180deg)}
.rul .rul-info h3{font-size:16px;line-height:1.2}
.rul .rul-info p{font-size:13px}
@media (max-width:767px){
	.rul .rul-info h3{font-size:13.5px}
	.rul .rul-info p{font-size:11.5px}
	.rul .rul-jug{gap:8px}
	.rul .rul-jug > div{padding:7px 7px;gap:6px}
	.rul .rul-jug input{font-size:14px}
	.rul .jg-av{width:32px;height:32px}
	.rul .rul-jug .pts{min-width:32px;height:28px;font-size:15px;padding:0 6px}
}
/* El CSS general da 24px de margen inferior a los botones */
.rul .jg-pills button,.rul .jg-btn2,.rul .rul-acc button,.rul .jg-reinicia,.rul .jg-ops button{margin:0}
.jg-turno-pill{border-radius:22px;text-align:left}
/* «Revisado por» y FAQ (faq_juegos.php) como tarjetas, sólo en las páginas de juego: el índice sigue igual */
body:has(.rul) .jq-firma{max-width:680px;margin:0 auto 14px;background:#fff;border-radius:20px;box-shadow:0 8px 26px rgba(176,64,140,.10);font-size:14.5px}
body:has(.rul) .jq{max-width:680px;margin:0 auto 30px;background:#fff;border-radius:24px;box-shadow:0 8px 26px rgba(176,64,140,.10);padding:16px}
body:has(.rul) .jq h2{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:900;color:#1d1d3a;margin:4px 0 12px}
body:has(.rul) .jq h2::before{content:'?';flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;background:linear-gradient(135deg,#c062dc,#8e44c8)}
body:has(.rul) .jq-pasos{margin-bottom:18px;font-size:14.5px}
body:has(.rul) .jq-faq details{box-shadow:none;border:1.5px solid #f3e3ec;border-radius:14px;margin-bottom:8px;padding:12px 14px}
body:has(.rul) .jq-faq summary{font-size:14.5px;line-height:1.35;padding-right:22px;position:relative}
body:has(.rul) .jq-faq summary::after{position:absolute;right:0;top:-1px;float:none}
body:has(.rul) .jq-faq p{font-size:14px;color:#45455f}
@media (max-width:767px){body:has(.rul) .jq{padding:14px 12px}}
.jg-chips li{white-space:nowrap}
@media (max-width:400px){.jg-chips{gap:6px}.jg-chips li{font-size:11.5px;padding:5px 9px}}
@media (min-width:768px){
	.jg-hero.con-img{padding-right:36%;min-height:220px}
	.jg-hero-img{width:34%;max-width:230px;top:-4px;right:0}
}
