/* =====================================================================
   QuizPoL · Generador de tests de Teo-QuizPoL (pantalla común) · prefijo .qg-
   Mismo estilo que «¿Qué te apetece hacer hoy?» (test-nuevo.css) · modo oscuro con body.dark-version
   El color de cada modo llega en --c1/--c2 (temas azul, módulos violeta, normativa verde, provincias ámbar, oficiales rojo, favoritas verde «A»)
   ===================================================================== */
:root{
  --qg-ink:#012a3c; --qg-ink2:#4b5f72; --qg-card:#fff; --qg-line:#e3e8ef; --qg-soft:#f5f7fa; --qg-soft2:#eef2f7;
  --qg-shadow:0 10px 30px -12px rgba(1,42,60,.22); --qg-ease:cubic-bezier(.22,1,.36,1); --qg-ok:#2b8a00; --qg-rojo:#d90f25;
}
body.dark-version{--qg-ink:#fff; --qg-ink2:rgba(255,255,255,.66); --qg-card:#202940; --qg-line:rgba(255,255,255,.09); --qg-soft:#1a2035; --qg-soft2:#232c47;
  --qg-shadow:0 12px 30px -14px rgba(0,0,0,.6); --qg-ok:#7ee04a}

/* el contenedor de la plataforma deja el padding a 0 (dark-mode-custom.css) */
html body .main-content .container-fluid.py-4.qg-page{padding:16px 16px 24px!important}
/* el fondo llega hasta abajo (antes se veía un corte donde acababa la página) */
body:has(#qg){min-height:100vh}
html:has(#qg){background:#f0f2f5}
html:has(body.dark-version #qg){background:#1a2035}
.qg-wrap{font-family:Montserrat,system-ui,sans-serif;color:var(--qg-ink);max-width:1500px;margin:0 auto}
.qg-wrap h1,.qg-wrap h2,.qg-wrap h3,.qg-wrap h4,.qg-wrap p{text-align:left}
.qg-wrap button{font-family:inherit}
.qg-tenue{color:var(--qg-ink2);font-size:.84rem;margin:0}
.qg-cargando{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--qg-ink2);font-weight:600}
.qg-cargando.sm{padding:12px;justify-content:flex-start}
.qg-vacio{padding:22px;text-align:center!important;color:var(--qg-ink2);margin:0}

/* ---------------------------------------------------------------- CABECERA */
.qg-hero{position:relative;overflow:hidden;border-radius:22px;padding:22px 26px;color:#fff;margin-bottom:18px;
  background:linear-gradient(120deg,#012a3c,#144684 45%,#1d5fa8 75%,#012a3c);background-size:300% 300%;animation:qg-grad 14s ease infinite;
  box-shadow:0 20px 40px -18px rgba(1,42,60,.8);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center}
.qg-hero::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(50px);opacity:.38;right:28%;top:-150px;background:var(--c1);pointer-events:none}
@keyframes qg-grad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.qg-hero-tx{position:relative;z-index:1;min-width:0}
.qg-kicker{display:inline-flex;align-items:center;gap:7px;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:5px 11px;border-radius:999px;color:#fde68a}
.qg-title{margin:10px 0 4px;font-size:clamp(1.4rem,2.6vw,2.1rem);font-weight:900;line-height:1.1;color:#fff!important;letter-spacing:-.01em}
.qg-title i{font-size:.8em;margin-right:4px;background:linear-gradient(135deg,var(--c1),var(--c2));width:1.55em;height:1.55em;border-radius:.42em;display:inline-grid;place-items:center;vertical-align:-.12em;box-shadow:0 8px 18px -8px var(--c2)}
.qg-sub{margin:0;color:rgba(255,255,255,.8);font-size:.92rem;line-height:1.45;max-width:620px}
.qg-modos{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.qg-modo{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:13px;text-decoration:none!important;color:#fff!important;font-size:.8rem;font-weight:700;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);transition:background .2s,transform .2s var(--qg-ease),border-color .2s;white-space:nowrap}
.qg-modo i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,var(--m1),var(--m2));font-size:.72rem;flex-shrink:0}
.qg-modo:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
.qg-modo.on{background:#fff;color:var(--qg-ink)!important;border-color:#fff;box-shadow:0 8px 18px -10px rgba(0,0,0,.5)}
.qg-modo.on i{color:#fff}
body.dark-version .qg-modo.on{color:#012a3c!important}

.qg-alerta{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:14px;margin-bottom:16px;font-weight:600;font-size:.88rem;
  background:#fff4e5;color:#8a4b00;border:1px solid #ffd59a}
body.dark-version .qg-alerta{background:#3a2a10;color:#ffd59a;border-color:#6b4a14}

/* ---------------------------------------------------------------- TARJETAS DE PASOS */
.qg-card{background:var(--qg-card);border:1px solid var(--qg-line);border-radius:20px;box-shadow:var(--qg-shadow);margin-bottom:18px;overflow:hidden}
.qg-card-h{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--qg-line);flex-wrap:wrap}
.qg-num{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:900;color:#fff;flex-shrink:0;
  background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 6px 14px -6px var(--c2)}
.qg-card-t{flex:1;min-width:200px}
.qg-card-t h2{margin:0;font-size:1.08rem;font-weight:800;color:var(--qg-ink)!important}
.qg-card-t small{display:block;color:var(--qg-ink2);font-size:.8rem;margin-top:1px}
.qg-card-b{padding:18px 20px}

/* interruptor de dos/tres opciones (Decreto 2026/2003, filtros) */
.qg-seg{display:inline-flex;background:var(--qg-soft2);border-radius:12px;padding:4px;gap:2px;border:1px solid var(--qg-line)}
.qg-seg button{border:0;background:transparent;color:var(--qg-ink2);font-weight:700;font-size:.82rem;padding:8px 14px;border-radius:9px;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}
.qg-seg button.on{background:var(--qg-card);color:var(--qg-ink);box-shadow:0 3px 10px -4px rgba(1,42,60,.35)}
.qg-seg.sm button{padding:6px 11px;font-size:.78rem}

/* tiempo en modo estudio: no se usa; en móvil desaparece, en ordenador ocupa su sitio invisible (nada se mueve) */
.qg-b-tiempo.oculto{display:none}
@media (min-width:1200px){.qg-b-tiempo.oculto{display:block;visibility:hidden;pointer-events:none}}

/* botón «Volver» de la cabecera */
.qg-volver{position:relative;z-index:1;justify-self:end;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:12px;font-weight:800;font-size:.84rem;
  color:#fff!important;text-decoration:none!important;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);transition:background .2s,transform .2s var(--qg-ease)}
.qg-volver:hover{background:rgba(255,255,255,.2);transform:translateX(-2px)}

/* ---------------------------------------------------------------- PASO 1 · BOTÓN + LO ELEGIDO (la lista va en la ventana emergente) */
.qg-elegir{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:20px;align-items:start}
.qg-abrir{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:16px;padding:16px 18px;color:#fff;font-weight:900;font-size:1rem;letter-spacing:.02em;cursor:pointer;text-align:left;
  background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 12px 24px -12px var(--c2);transition:transform .2s var(--qg-ease),box-shadow .2s}
.qg-abrir>i:first-child{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.2);font-size:1.05rem;flex-shrink:0}
.qg-abrir span{flex:1;text-transform:uppercase}
.qg-abrir-ic{opacity:.75;font-size:.85rem}
.qg-abrir:hover{transform:translateY(-2px);box-shadow:0 16px 28px -12px var(--c2)}
.qg-res{min-width:0;display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:72px}
.qg-res .qg-tenue{font-size:.86rem}
.qg-res-tot{font-size:.9rem;color:var(--qg-ink2)}
.qg-res-tot:empty{display:none}
.qg-res-tot i{color:var(--c2)}
.qg-res-tot b{font-size:1.25rem;font-weight:900;color:var(--qg-ink)}
.qg-res-of{display:flex;flex-direction:column;gap:10px;min-width:0}
.qg-of-cab h3{margin:0 0 6px;font-size:1.15rem;font-weight:900;color:var(--qg-ink)!important;line-height:1.2}
.qg-of-datos{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.qg-dato{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;color:var(--qg-ink);background:var(--qg-soft);border:1px solid var(--qg-line);padding:4px 10px;border-radius:999px}
.qg-dato i{color:var(--c2)}
.qg-of-desc{background:var(--qg-soft);border:1px solid var(--qg-line);border-radius:14px;padding:10px 14px;font-size:.84rem;line-height:1.5;max-height:220px;overflow:auto}
.qg-of-desc ul{margin:4px 0;padding-left:20px}
.qg-res-of.vacio{justify-content:center;min-height:80px}
.qg-abrir-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.qg-of-prog{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--qg-ink2);background:var(--qg-soft);border:1px solid var(--qg-line);border-radius:12px;padding:10px 12px}
.qg-of-prog b{color:var(--qg-ink);font-size:.95rem}
.qg-of-prog:empty{display:none}
.qg-of-prog .qg-prog{flex:none;width:100%;min-width:0}
.qg-res-of .qg-desc-tx{font-size:.82rem;max-height:120px;overflow:auto}
.qg-chip i{color:var(--c2);font-size:.7rem}
button.qg-chip.mas{border:0;cursor:pointer;font-family:inherit}

/* ---------------------------------------------------------------- VENTANA EMERGENTE DEL SELECTOR */
html.qg-sin-scroll,html.qg-sin-scroll body{overflow:hidden!important}
body:has(.qp-tour) .qg-pop,body:has(.qp-tour) .qg-modal{z-index:10060}
.qg-pop{position:fixed;inset:0;z-index:99990;background:rgba(1,20,32,.55);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .22s;
  font-family:Montserrat,system-ui,sans-serif;color:var(--qg-ink)}
.qg-pop.on{opacity:1}
.qg-pop[hidden]{display:none}
.qg-pop-c{width:min(1200px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--qg-card);border-radius:22px;overflow:hidden;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.5);transform:translateY(14px) scale(.985);transition:transform .3s var(--qg-ease)}
.qg-pop.on .qg-pop-c{transform:none}
.qg-pop-h{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--qg-line);flex-wrap:wrap}
.qg-pop-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));flex-shrink:0;box-shadow:0 8px 16px -8px var(--c2)}
.qg-pop-h .qg-card-t h2{font-size:1.08rem;text-align:left!important}
.qg-pop h2,.qg-pop h3,.qg-pop h4,.qg-pop p{text-align:left}
.qg-pop-h .qg-x{position:static;flex-shrink:0}
.qg-pop-b{flex:1;overflow:auto;padding:16px 20px;overscroll-behavior:contain}
.qg-pop-b .qg-temas,.qg-pop-b .qg-arbol,.qg-pop-b .qg-leyes,.qg-pop-b .qg-ofis{max-height:none;overflow:visible}
.qg-pop-b .qg-info{position:sticky;top:0}
.qg-pop-f{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--qg-line);background:var(--qg-soft)}
.qg-pop-tot{flex:1;font-size:.9rem;color:var(--qg-ink2)}
.qg-pop-tot b{font-size:1.2rem;font-weight:900;color:var(--c2)}
body.dark-version .qg-pop-tot b{color:#fff}
.qg-pop-f .qg-btn-p{padding:11px 22px}

/* ---------------------------------------------------------------- SELECTOR (dentro de la ventana) */
.qg-sel-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.qg-col{min-width:0}
.qg-tools{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.qg-buscar{flex:1;min-width:200px;display:flex;align-items:center;gap:9px;background:var(--qg-soft);border:1px solid var(--qg-line);border-radius:12px;padding:0 12px;margin:0;
  transition:border-color .2s,box-shadow .2s}
.qg-buscar:focus-within{border-color:var(--c1);box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 20%,transparent)}
.qg-buscar i{color:var(--qg-ink2);font-size:.85rem}
.qg-buscar input{border:0;background:transparent;outline:0;flex:1;padding:10px 0;font-size:.9rem;color:var(--qg-ink);min-width:0}
.qg-btn-s{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--qg-line);background:var(--qg-card);color:var(--qg-ink);font-weight:700;font-size:.8rem;
  padding:9px 14px;border-radius:11px;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}
.qg-btn-s:hover{background:var(--qg-soft);border-color:color-mix(in srgb,var(--c1) 40%,var(--qg-line))}
.qg-btn-p{display:inline-flex;align-items:center;gap:7px;border:0;color:#fff;font-weight:800;font-size:.82rem;padding:10px 16px;border-radius:11px;cursor:pointer;
  background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 6px 14px -6px var(--c2)}
.qg-btn-p.rojo{background:linear-gradient(135deg,#ff5a6a,#c10f24);box-shadow:0 6px 14px -6px #c10f24}
.qg-link{border:0;background:none;color:var(--qg-ink2);font-size:.78rem;font-weight:700;cursor:pointer;padding:4px 2px;text-decoration:underline}
.qg-ayuda{font-size:.8rem;color:var(--qg-ink2);background:var(--qg-soft);border-radius:12px;padding:9px 12px;margin:0 0 12px;line-height:1.45}
.qg-ayuda i{color:var(--c2)}
.qg-h3{font-size:.92rem;font-weight:800;margin:4px 0 10px;color:var(--qg-ink)!important;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qg-h3 i{color:var(--c2)}
.qg-h3 small{font-weight:600;color:var(--qg-ink2);font-size:.76rem}
.qg-n{margin-left:auto;flex-shrink:0;font-size:.74rem;font-weight:800;color:var(--c2);background:color-mix(in srgb,var(--c1) 13%,transparent);padding:3px 9px;border-radius:999px;font-variant-numeric:tabular-nums}
body.dark-version .qg-n{color:#fff;background:color-mix(in srgb,var(--c1) 30%,transparent)}

.qg-check{width:20px;height:20px;border-radius:6px;border:2px solid #c3cddb;display:grid;place-items:center;flex-shrink:0;transition:background .15s,border-color .15s;background:var(--qg-card)}
.qg-check i{font-size:.62rem;color:#fff;opacity:0;transform:scale(.4);transition:opacity .15s,transform .2s var(--qg-ease)}
.on>.qg-check,.on>.qg-fila-b .qg-check,.on>.qg-ley-f .qg-check,.parcial>.qg-fila-b .qg-check,.parcial>.qg-ley-f .qg-check{background:linear-gradient(135deg,var(--c1),var(--c2));border-color:var(--c2)}
.on>.qg-check i,.on>.qg-fila-b .qg-check i,.on>.qg-ley-f .qg-check i,.parcial>.qg-fila-b .qg-check i,.parcial>.qg-ley-f .qg-check i{opacity:1;transform:none}
.qg-tema.on .qg-check{background:linear-gradient(135deg,var(--c1),var(--c2));border-color:var(--c2)}
.qg-tema.on .qg-check i{opacity:1;transform:none}

/* temas: fichas */
.qg-temas{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;max-height:560px;overflow:auto;padding:2px 4px 2px 2px}
.qg-tema{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--qg-line);background:var(--qg-card);border-radius:13px;padding:10px 12px;cursor:pointer;
  transition:border-color .2s,background .2s,box-shadow .2s;color:var(--qg-ink);min-width:0}
.qg-tema:hover{border-color:color-mix(in srgb,var(--c1) 45%,var(--qg-line));background:var(--qg-soft)}
.qg-tema.on{border-color:var(--c1);background:color-mix(in srgb,var(--c1) 8%,var(--qg-card))}
.qg-tema.foco{box-shadow:0 0 0 2px color-mix(in srgb,var(--c1) 35%,transparent)}
.qg-tema-tx{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.qg-tema-tx b{font-size:.86rem;font-weight:800}
.qg-tema-tx small{font-size:.74rem;color:var(--qg-ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* módulos / provincias / normativa: filas en árbol */
.qg-arbol,.qg-leyes{display:flex;flex-direction:column;gap:6px;max-height:600px;overflow:auto;padding:2px 4px 2px 2px}
.qg-fila-b{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--qg-line);background:var(--qg-card);border-radius:12px;padding:10px 12px;cursor:pointer;
  color:var(--qg-ink);transition:border-color .2s,background .2s}
.qg-fila-b:hover{border-color:color-mix(in srgb,var(--c1) 45%,var(--qg-line));background:var(--qg-soft)}
.qg-fila.on>.qg-fila-b,.qg-ley.on>.qg-ley-f .qg-fila-b,.qg-nodo.on>.qg-ley-f .qg-fila-b{border-color:var(--c1);background:color-mix(in srgb,var(--c1) 8%,var(--qg-card))}
.qg-fila.foco>.qg-fila-b{box-shadow:0 0 0 2px color-mix(in srgb,var(--c1) 35%,transparent)}
.qg-fila-t{font-size:.86rem;font-weight:700;line-height:1.3;min-width:0}
.qg-fila>.qg-ley-f .qg-fila-b{flex:1;min-width:0}
.qg-fila.on>.qg-ley-f .qg-fila-b{border-color:var(--c1);background:color-mix(in srgb,var(--c1) 8%,var(--qg-card))}
.qg-fila.abierta>.qg-ley-f .qg-tog i{transform:rotate(90deg)}
.qg-sub-n{display:inline-block;margin-left:8px;font-style:normal;font-size:.7rem;font-weight:700;color:var(--qg-ink2)}
.qg-hijos{margin:6px 0 2px 36px;padding-left:12px;border-left:2px dashed var(--qg-line);display:flex;flex-direction:column;gap:6px}
.qg-fila.hijo .qg-fila-b{padding:8px 12px}
.qg-fila.hijo .qg-fila-t{font-weight:600;font-size:.82rem}

/* provincias */
.qg-provs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.qg-prov{display:flex;flex-direction:row;align-items:center;gap:10px;text-align:left;border:1px solid var(--qg-line);background:var(--qg-card);border-radius:13px;padding:10px 12px;cursor:pointer;color:var(--qg-ink);
  transition:border-color .2s,background .2s,transform .2s var(--qg-ease)}
.qg-prov>span:last-child{display:flex;flex-direction:column;min-width:0}
.qg-prov b{font-size:.9rem;font-weight:800}
.qg-prov small{font-size:.74rem;color:var(--qg-ink2)}
.qg-prov:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--c1) 45%,var(--qg-line))}
.qg-prov.on{border-color:var(--c2);background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff}
.qg-prov.on small{color:rgba(255,255,255,.85)}
.qg-prov.on .qg-check{background:rgba(255,255,255,.25);border-color:#fff}
.qg-prov.on .qg-check i{opacity:1;transform:none}
.qg-h3 .qg-link{margin-left:auto}

/* normativa */
.qg-ley-f{display:flex;align-items:center;gap:6px}
.qg-ley-f .qg-fila-b{flex:1;min-width:0}
.qg-tog{width:30px;height:30px;border-radius:9px;border:0;background:transparent;color:var(--qg-ink2);cursor:pointer;flex-shrink:0;display:grid;place-items:center}
.qg-tog:hover{background:var(--qg-soft)}
.qg-tog i{transition:transform .2s var(--qg-ease)}
.qg-ley.abierta>.qg-ley-f .qg-tog i,.qg-tog i.rot{transform:rotate(90deg)}
.qg-tog.vacio{visibility:hidden}
.qg-art-b{border:1px solid var(--qg-line);background:var(--qg-card);color:var(--qg-ink2);font-weight:700;font-size:.74rem;padding:8px 10px;border-radius:10px;cursor:pointer;white-space:nowrap;flex-shrink:0}
.qg-art-b:hover,.qg-art-b.on{color:var(--c2);border-color:var(--c1);background:color-mix(in srgb,var(--c1) 8%,var(--qg-card))}
.qg-tramo{display:inline-block;margin-left:8px;font-style:normal;font-size:.7rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));padding:2px 8px;border-radius:999px;vertical-align:1px}
.qg-titulos{margin:6px 0 4px 36px;display:flex;flex-direction:column;gap:5px;border-left:2px dashed var(--qg-line);padding-left:10px}
.qg-nodo{display:flex;flex-direction:column;gap:5px;margin-left:calc(var(--p) * 14px)}
.qg-nodo .qg-fila-b{padding:7px 11px}
.qg-nodo .qg-fila-t{font-size:.8rem;font-weight:600}
.qg-nodo.bloq .qg-fila-b{opacity:.72;cursor:default}
.qg-mas{display:block;width:100%;border:1px dashed var(--qg-line);background:transparent;color:var(--c2);font-weight:800;font-size:.82rem;padding:10px;border-radius:12px;cursor:pointer;margin-top:4px}
.qg-mas:hover{background:var(--qg-soft)}

/* tramo de artículos */
.qg-art{margin:8px 0 6px 36px;background:var(--qg-soft);border:1px solid var(--qg-line);border-radius:14px;padding:12px 14px}
.qg-art-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.86rem}
.qg-art-h b{font-weight:800}
.qg-art-h input{width:78px;border:1px solid var(--qg-line);border-radius:10px;padding:7px 9px;font-weight:800;font-size:.95rem;text-align:center;background:var(--qg-card);color:var(--qg-ink)}
.qg-art-h input:focus{outline:0;border-color:var(--c1);box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 20%,transparent)}
.qg-art-n{margin-left:auto;font-size:.82rem;color:var(--qg-ink2)}
.qg-art-n b{color:var(--c2);font-size:.95rem}
.qg-barras{display:flex;align-items:flex-end;gap:1px;height:56px;margin:12px 0 4px;padding:0 2px;overflow:hidden}
.qg-barras i{flex:1 1 0;min-width:0;background:color-mix(in srgb,var(--qg-ink2) 25%,transparent);border-radius:2px 2px 0 0;cursor:pointer;transition:background .15s}
.qg-barras i.in{background:linear-gradient(180deg,var(--c1),var(--c2))}
.qg-barras i:hover{outline:2px solid var(--c1)}
.qg-art-pie{display:flex;justify-content:space-between;gap:10px;font-size:.72rem;font-weight:700;color:var(--qg-ink2)}
.qg-art-pie>span:first-child,.qg-art-pie>span:last-child{white-space:nowrap}
.qg-art-pie .qg-tenue{font-size:.72rem;font-weight:500;text-align:center}
.qg-art-acc{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.qg-art-acc .qg-tenue{font-size:.74rem}

/* oficiales */
.qg-prog-of{display:flex;align-items:center;gap:14px;margin-bottom:12px;font-size:.86rem;color:var(--qg-ink2);flex-wrap:wrap}
.qg-prog-of b{color:var(--qg-ink);font-size:1.05rem}
.qg-prog{flex:1;min-width:160px;height:8px;border-radius:99px;background:var(--qg-soft2);overflow:hidden}
.qg-prog i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#56d11a,#2b8a00)}
.qg-ofis{display:flex;flex-direction:column;gap:8px;max-height:600px;overflow:auto;padding:2px 4px 2px 2px}
.qg-anio{border:1px solid var(--qg-line);border-radius:14px;overflow:hidden;background:var(--qg-card)}
.qg-anio-h{display:flex;align-items:center;gap:10px;width:100%;border:0;background:var(--qg-soft);padding:10px 14px;cursor:pointer;color:var(--qg-ink);font-size:.9rem}
.qg-anio-h i{transition:transform .2s var(--qg-ease);color:var(--qg-ink2);font-size:.75rem}
.qg-anio.abierto .qg-anio-h i{transform:rotate(90deg)}
.qg-anio-h span{margin-left:auto;font-size:.76rem;color:var(--qg-ink2);font-weight:600}
.qg-anio-b{display:flex;flex-direction:column;padding:6px}
.qg-of{display:flex;align-items:center;gap:10px;border:0;background:transparent;border-radius:10px;padding:8px 10px;cursor:pointer;text-align:left;color:var(--qg-ink);transition:background .15s}
.qg-of:hover{background:var(--qg-soft)}
.qg-of.on{background:color-mix(in srgb,var(--c1) 10%,var(--qg-card));box-shadow:inset 0 0 0 1.5px var(--c1)}
.qg-radio{width:18px;height:18px;border-radius:50%;border:2px solid #c3cddb;flex-shrink:0;position:relative}
.qg-of.on .qg-radio{border-color:var(--c2)}
.qg-of.on .qg-radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--c2)}
.qg-of-t{font-size:.84rem;font-weight:600;flex:1;min-width:0}
.qg-sello{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#56d11a,#2b8a00);padding:3px 9px;border-radius:999px;white-space:nowrap}
.qg-sello.emp{background:linear-gradient(135deg,#fdbb2d,#e08a00)}
.qg-of.hecho .qg-of-t{color:var(--qg-ink2)}

/* panel derecho */
.qg-info{position:relative;display:flex;flex-direction:column;gap:12px}
.qg-total{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 12px 24px -14px var(--c2)}
.qg-total.vacio{background:var(--qg-soft);color:var(--qg-ink2);box-shadow:none;border:1px dashed var(--qg-line)}
.qg-total-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:1.05rem;flex-shrink:0}
.qg-total.vacio .qg-total-ic{background:var(--qg-card)}
.qg-total small{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.85}
.qg-total b{font-size:1.65rem;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums}
.qg-total em{display:block;font-style:normal;font-size:.78rem;font-weight:700;opacity:.9}
.qg-desc{border:1px solid var(--qg-line);border-radius:16px;overflow:hidden;background:var(--qg-card)}
.qg-desc h3{margin:0;padding:10px 14px;font-size:.8rem;font-weight:800;color:var(--c2)!important;background:color-mix(in srgb,var(--c1) 8%,var(--qg-card));border-bottom:1px solid var(--qg-line)}
body.dark-version .qg-desc h3{color:#fff!important}
.qg-desc-b{padding:12px 14px;max-height:340px;overflow:auto;font-size:.84rem;line-height:1.5}
.qg-desc-b h4{font-size:.92rem;font-weight:800;margin:0 0 4px;color:var(--qg-ink)!important}
.qg-desc-n{font-size:.78rem;color:var(--qg-ink2);margin:0 0 8px}
.qg-desc-n i{color:var(--c2)}
.qg-ok{color:var(--qg-ok);font-weight:800}
.qg-desc-tx{color:var(--qg-ink2);text-align:justify;hyphens:none}
.qg-desc-tx p{margin:0 0 6px}
.qg-desc-tx ul{padding-left:18px;margin:4px 0}
.qg-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.qg-chips-t{width:100%;margin:0 0 2px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--qg-ink2)}
.qg-chip{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;font-weight:700;padding:4px 4px 4px 10px;border-radius:999px;background:color-mix(in srgb,var(--c1) 12%,var(--qg-card));color:var(--qg-ink)}
.qg-chip.mas{padding:4px 10px}
.qg-chip button{border:0;background:transparent;color:var(--qg-ink2);width:20px;height:20px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:.65rem}
.qg-chip button:hover{background:rgba(0,0,0,.08)}

/* ---------------------------------------------------------------- PASO 2 · OPCIONES */
#qgOpts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px}
.qg-bloque{min-width:0}
.qg-bloque:first-child{grid-column:1/-1}
.qg-hist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.qg-hist-b{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;border:1px solid var(--qg-line);
  background:var(--qg-card);border-radius:14px;padding:12px 14px;cursor:pointer;color:var(--qg-ink);transition:border-color .2s,background .2s,transform .2s var(--qg-ease)}
.qg-hist-b>i{grid-row:1/3;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--qg-soft);color:var(--c2);font-size:.9rem}
.qg-hist-b b{font-size:.86rem;font-weight:800}
.qg-hist-n{font-weight:900;font-size:1.05rem;color:var(--c2);font-variant-numeric:tabular-nums}
.qg-hist-b small{grid-column:2/4;font-size:.72rem;color:var(--qg-ink2);line-height:1.3}
.qg-hist-b:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--c1) 45%,var(--qg-line))}
.qg-hist-b.on{border-color:var(--c2);background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff}
.qg-hist-b.on>i{background:rgba(255,255,255,.2);color:#fff}
.qg-hist-b.on .qg-hist-n,.qg-hist-b.on small{color:#fff}
.qg-hist-b.cero:not(.on){opacity:.55}
body.dark-version .qg-hist-n{color:#fff}

.qg-cuantas{display:grid;grid-template-columns:1fr 84px;gap:10px 12px;align-items:center}
.qg-cuantas input[type=range]{width:100%;accent-color:var(--c2);height:6px}
.qg-cuantas input[type=number]{border:1px solid var(--qg-line);border-radius:11px;padding:8px 10px;font-weight:900;font-size:1.05rem;text-align:center;background:var(--qg-card);color:var(--qg-ink);width:100%}
.qg-rapidos{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.qg-rapidos button,.qg-tiempos button,.qg-pen button{border:1px solid var(--qg-line);background:var(--qg-card);color:var(--qg-ink);font-weight:700;font-size:.8rem;padding:7px 12px;border-radius:10px;cursor:pointer;transition:all .2s}
.qg-rapidos button:hover:not(:disabled),.qg-tiempos button:hover,.qg-pen button:hover{border-color:var(--c1)}
.qg-rapidos button.on,.qg-tiempos button.on,.qg-pen button.on{background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff;border-color:var(--c2)}
.qg-rapidos button:disabled{opacity:.4;cursor:not-allowed}
.qg-fijo{margin:0;font-size:.88rem;color:var(--qg-ink2);padding:10px 14px;background:var(--qg-soft);border-radius:12px}
.qg-fijo b{color:var(--qg-ink);font-size:1rem}
.qg-nota{margin:8px 0 0;font-size:.76rem;color:var(--qg-ink2)}
.qg-nota i{color:var(--c2)}
.qg-nota.rojo,.qg-nota.rojo i{color:var(--qg-rojo);font-weight:700}

.qg-modo2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qg-m{display:grid;grid-template-columns:auto 1fr;column-gap:10px;text-align:left;border:1px solid var(--qg-line);background:var(--qg-card);border-radius:14px;padding:12px 14px;cursor:pointer;color:var(--qg-ink);transition:all .2s}
.qg-m i{grid-row:1/3;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--qg-soft);color:var(--c2)}
.qg-m b{font-size:.88rem;font-weight:800}
.qg-m small{font-size:.72rem;color:var(--qg-ink2);line-height:1.35}
.qg-m.on{border-color:var(--c2);box-shadow:inset 0 0 0 1.5px var(--c2);background:color-mix(in srgb,var(--c1) 7%,var(--qg-card))}
.qg-m.on i{background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff}

.qg-tiempos{display:flex;gap:6px;flex-wrap:wrap;align-items:stretch}
.qg-tiempos button{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}
.qg-tiempos button small{font-size:.62rem;font-weight:600;opacity:.8}
.qg-otro{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--qg-line);border-radius:10px;padding:0 8px;margin:0;background:var(--qg-card)}
.qg-otro.on{border-color:var(--c2);box-shadow:inset 0 0 0 1.5px var(--c2)}
.qg-otro input{width:52px;border:0;background:transparent;font-weight:700;font-size:.82rem;color:var(--qg-ink);outline:0;padding:6px 0}
.qg-otro span{font-size:.74rem;color:var(--qg-ink2)}
.qg-pen{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.qg-pen button{display:flex;flex-direction:column;align-items:center;line-height:1.2;padding:8px 6px}
.qg-pen button small{font-size:.64rem;font-weight:600;opacity:.8}

.qg-mas-op{border:1px solid var(--qg-line);border-radius:14px;background:var(--qg-soft)}
#qgOpts.mas-ancho .qg-mas-op{grid-column:1/-1}
@media (min-width:992px) and (max-width:1199px){#qgOpts:not(.mas-ancho) .qg-mas-op{margin-top:28px;align-self:start}}
.qg-mas-op summary{cursor:pointer;padding:11px 14px;font-weight:800;font-size:.86rem;list-style:none;display:flex;gap:8px;align-items:center}
.qg-mas-op summary::-webkit-details-marker{display:none}
.qg-mas-op summary i{color:var(--c2)}
.qg-mas-op summary small{font-weight:600;color:var(--qg-ink2);font-size:.76rem}
.qg-mas-b{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;padding:0 14px 14px}
.qg-campo{display:flex;flex-direction:column;gap:4px;margin:0;font-size:.76rem;font-weight:700;color:var(--qg-ink2)}
.qg-campo.ancho{grid-column:span 1}
.qg-campo em{font-weight:500;font-style:normal}
.qg-campo select,.qg-campo input,.qg-input,.qg-sel-l select{border:1px solid var(--qg-line);border-radius:11px;padding:9px 11px;font-size:.86rem;background:var(--qg-card);color:var(--qg-ink);font-weight:600;width:100%}
.qg-campo select:focus,.qg-campo input:focus,.qg-input:focus{outline:0;border-color:var(--c1)}

/* ---------------------------------------------------------------- PASO 3 · RESUMEN + COMENZAR (al final, sin flotar) */
.qg-go{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;border-radius:20px;color:#fff;margin-bottom:8px;
  background:linear-gradient(135deg,#1d5fa8 0%,#144684 55%,#012a3c 100%);box-shadow:0 8px 18px -12px rgba(1,42,60,.7)}
.qg-go-res{display:flex;align-items:center;gap:12px;flex:1;min-width:240px}
.qg-go-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c1),var(--c2));font-size:1.05rem;flex-shrink:0;box-shadow:0 8px 18px -8px var(--c2)}
.qg-go-tx{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.qg-go-tx b{font-size:1rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qg-go-tx span{font-size:.8rem;color:rgba(255,255,255,.78)}
.qg-go-acc{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qg-plant{display:flex;gap:6px}
.qg-go .qg-btn-s{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.qg-go .qg-btn-s:hover{background:rgba(255,255,255,.2)}
.qg-empezar{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:14px;padding:13px 26px;font-weight:900;font-size:.98rem;letter-spacing:.02em;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,#56d11a,#2b8a00);box-shadow:0 10px 22px -10px #56d11a;transition:transform .2s var(--qg-ease),box-shadow .2s,filter .2s}
.qg-empezar:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 26px -10px #56d11a}
.qg-empezar:disabled{filter:grayscale(.8);opacity:.55;cursor:not-allowed;box-shadow:none}

/* ---------------------------------------------------------------- FAVORITAS */
.qg-fgrupo{margin-bottom:16px}
.qg-fil button{display:inline-flex;align-items:center;gap:6px}
.qg-fil button small{font-size:.66rem;font-weight:600;opacity:.75}
.qg-fil button:disabled{opacity:.4;cursor:not-allowed}
.qg-fil-n{min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;font-size:.7rem;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2))}
.qg-ffichas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.qg-fgrupo.leyes .qg-ffichas{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.qg-ffi{display:flex;align-items:center;gap:10px;border:1px solid var(--qg-line);background:var(--qg-card);border-radius:12px;padding:9px 12px;cursor:pointer;text-align:left;color:var(--qg-ink);transition:border-color .2s,background .2s}
.qg-ffi:hover{border-color:color-mix(in srgb,var(--c1) 45%,var(--qg-line));background:var(--qg-soft)}
.qg-ffi.on{border-color:var(--c1);background:color-mix(in srgb,var(--c1) 8%,var(--qg-card))}
.qg-ffi.on .qg-check{background:linear-gradient(135deg,var(--c1),var(--c2));border-color:var(--c2)}
.qg-ffi.on .qg-check i{opacity:1;transform:none}
.qg-ffi-t{flex:1;min-width:0;font-size:.82rem;font-weight:700;line-height:1.3}
.qg-tag.e{background:color-mix(in srgb,var(--c1) 15%,transparent);color:var(--c2)}
.qg-fav.entra{border-color:color-mix(in srgb,var(--c1) 45%,var(--qg-line))}
.qg-solo{display:flex;align-items:center;gap:7px;margin:0;font-size:.82rem;font-weight:700;color:var(--qg-ink2);cursor:pointer}
.qg-solo[hidden]{display:none}
.qg-solo input{accent-color:var(--c2);width:17px;height:17px}
.qg-nom-auto{font-weight:500;font-size:.72rem;color:var(--qg-ink2);margin-top:2px}
.qg-b-nombre .qg-input{font-weight:600}
.qg-b-nombre .qg-h3 small{font-weight:600;color:var(--qg-ink2);font-size:.74rem}
.qg-nom-auto b{color:var(--qg-ink)}
.qg-fav-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.qg-sel-l{display:flex;align-items:center;gap:8px;margin:0;color:var(--qg-ink2);min-width:200px}
.qg-sel-l select{min-width:0}
.qg-favs{display:flex;flex-direction:column;gap:10px}
.qg-fav-g{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--c2)!important;margin:8px 2px 0}
.qg-fav{border:1px solid var(--qg-line);border-radius:16px;padding:12px 14px;background:var(--qg-card);transition:border-color .2s,box-shadow .2s}
.qg-fav:hover{border-color:color-mix(in srgb,var(--c1) 40%,var(--qg-line));box-shadow:0 8px 20px -14px rgba(1,42,60,.35)}
.qg-fav-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.qg-fav-fecha{font-size:.74rem;font-weight:700;color:var(--qg-ink2);margin-right:4px}
.qg-tag{font-size:.7rem;font-weight:700;padding:3px 9px;border-radius:999px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qg-tag.t{background:#e0f2fe;color:#0a6cc2}
.qg-tag.l{background:#dcfce7;color:#166534}
body.dark-version .qg-tag.t{background:#0c3b5e;color:#bae6fd}
body.dark-version .qg-tag.l{background:#14432a;color:#bbf7d0}
.qg-fav-acc{margin-left:auto;display:flex;gap:6px}
.qg-ic{width:34px;height:34px;border-radius:10px;border:0;display:grid;place-items:center;cursor:pointer;color:#fff;transition:transform .2s var(--qg-ease),filter .2s}
.qg-ic:hover{transform:translateY(-2px);filter:brightness(1.08)}
.qg-ic.ver{background:linear-gradient(135deg,#56d11a,#2b8a00)}
.qg-ic.quitar{background:linear-gradient(135deg,#ff5a6a,#c10f24)}
.qg-fav-tx{margin:8px 0;font-size:.9rem;line-height:1.45;color:var(--qg-ink);font-weight:600}
.qg-coment{display:flex;align-items:flex-start;gap:8px;margin:0;background:var(--qg-soft);border-radius:12px;padding:6px 10px;position:relative;border:1px solid transparent;transition:border-color .2s}
.qg-coment:focus-within{border-color:var(--c1);background:var(--qg-card)}
.qg-coment i{color:var(--qg-ink2);margin-top:8px}
.qg-coment textarea{flex:1;border:0;background:transparent;resize:none;outline:0;font-size:.84rem;color:var(--qg-ink);padding:5px 0;min-height:30px;line-height:1.4;font-family:inherit}
.qg-guardado{position:absolute;right:10px;bottom:6px;font-size:.7rem;font-weight:700;color:var(--qg-ok);opacity:0;transition:opacity .2s}
.qg-guardado.on{opacity:1}
.qg-fav-vacio{text-align:center;padding:30px 20px;color:var(--qg-ink2)}
.qg-fav-vacio>i{font-size:2.6rem;color:var(--c1);margin-bottom:10px}
.qg-fav-vacio h3,.qg-fav-vacio p{text-align:center!important}
.qg-fav-vacio h3{font-size:1.05rem;font-weight:800;color:var(--qg-ink)!important}
.qg-fav-vacio p{max-width:520px;margin:0 auto;font-size:.88rem}
.qg-wrap[data-modo=favoritas] #qgPaso1 .qg-card-b{padding-top:14px}
.qg-wrap #qgFavCard{margin-top:16px}   /* aire entre la barra de «Comenzar test» y la lista */

/* ---------------------------------------------------------------- REPASO INTELIGENTE (favoritas · curva del olvido) */
.qg-rep{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;margin-bottom:12px;border-radius:18px;color:#fff;
  background:linear-gradient(120deg,#5b21b6,#7c3aed 45%,#a855f7);box-shadow:0 10px 24px -16px #5b21b6}
.qg-rep[hidden]{display:none}
.qg-rep-ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:1.2rem;flex-shrink:0}
.qg-rep-tx{flex:1;min-width:220px;display:flex;flex-direction:column;line-height:1.3}
.qg-rep-tx b{font-size:1rem;font-weight:900}
.qg-rep-tx small{font-size:.74rem;color:rgba(255,255,255,.82)}
.qg-rep-datos{display:flex;gap:6px;flex-wrap:wrap}
.qg-rep-d{display:flex;flex-direction:column;align-items:center;min-width:76px;padding:5px 10px;border-radius:12px;background:rgba(255,255,255,.12);font-size:.68rem;font-weight:700;color:rgba(255,255,255,.85)}
.qg-rep-d b{font-size:1.15rem;font-weight:900;color:#fff;line-height:1.1}
.qg-rep-d.hoy{background:#fff;color:#5b21b6}.qg-rep-d.hoy b{color:#5b21b6}
.qg-rep-b{border:0;border-radius:13px;padding:11px 18px;font-weight:900;font-size:.88rem;color:#5b21b6;background:#fde68a;cursor:pointer;display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 8px 18px -10px rgba(0,0,0,.5);transition:transform .2s var(--qg-ease)}
.qg-rep-b:hover:not(:disabled){transform:translateY(-2px)}
.qg-rep-b:disabled{background:rgba(255,255,255,.18);color:#fff;cursor:default;box-shadow:none}
.qg-tag.r{background:#ede9fe;color:#5b21b6}
.qg-tag.r.hoy{background:#7c3aed;color:#fff}
.qg-tag.r.nueva{background:#ecfdf5;color:#047857}
.qg-tag.r.dom{background:#fef3c7;color:#92400e}
body.dark-version .qg-tag.r{background:#3b2a6b;color:#ddd6fe}
body.dark-version .qg-tag.r.nueva{background:#064e3b;color:#a7f3d0}
body.dark-version .qg-tag.r.dom{background:#5b3a07;color:#fde68a}
/* ventana del repaso */
.qg-modal.rep .qg-modal-c{width:min(760px,100%);padding:20px 22px}
.qg-rp-cab{display:flex;align-items:center;gap:10px;padding-right:40px}
.qg-rp-cab>div{display:flex;flex-direction:column;flex:1;line-height:1.25}
.qg-rp-cab b{font-weight:900}
.qg-rp-cab small{font-size:.78rem;color:var(--qg-ink2)}
.qg-rp-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#7c3aed,#5b21b6)}
.qg-rp-prog{display:block;margin:12px 0 14px;height:6px}
.qg-rp-prog i{background:linear-gradient(90deg,#a855f7,#5b21b6)}
.qg-rp-e{font-size:1.02rem;font-weight:700;line-height:1.45;margin:0 0 12px;color:var(--qg-ink)}
.qg-rp-ops{display:flex;flex-direction:column;gap:8px}
.qg-rp-op{display:flex;align-items:flex-start;gap:10px;text-align:left;border:1px solid var(--qg-line);background:var(--qg-card);border-radius:12px;padding:10px 12px;cursor:pointer;color:var(--qg-ink);font-size:.9rem;line-height:1.4;transition:border-color .2s,background .2s}
.qg-rp-op:hover:not(:disabled){border-color:#a855f7;background:var(--qg-soft)}
.qg-rp-l{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;font-weight:900;font-size:.8rem;background:var(--qg-soft2);color:var(--qg-ink2)}
.qg-rp-op.elegida{border-color:#a855f7}
.qg-rp-op.ok{border-color:#2b8a00;background:#ecfdf3}.qg-rp-op.ok .qg-rp-l{background:#2b8a00;color:#fff}
.qg-rp-op.ko{border-color:#d90f25;background:#fff1f2}.qg-rp-op.ko .qg-rp-l{background:#d90f25;color:#fff}
body.dark-version .qg-rp-op.ok{background:#12391f}body.dark-version .qg-rp-op.ko{background:#4a1520}
.qg-rp-op:disabled{cursor:default}
.qg-rp-com{margin:10px 0 0;font-size:.82rem;color:var(--qg-ink2);background:var(--qg-soft);border-radius:10px;padding:8px 10px}
.qg-rp-veredicto{margin-top:14px;font-weight:800;font-size:.95rem}
.qg-rp-veredicto.ok{color:#2b8a00}.qg-rp-veredicto.ko{color:#d90f25}
.qg-rp-just{margin-top:10px;border:1px solid var(--qg-line);border-radius:12px;background:var(--qg-soft)}
.qg-rp-just summary{cursor:pointer;padding:9px 12px;font-weight:800;font-size:.84rem}
.qg-rp-just .qp-just{padding:0 14px 12px;max-height:240px;overflow:auto}
/* nivel de refuerzo: icono con el número + barra de 5 tramos */
.qg-niv{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}
.qg-niv-ic{position:relative;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#a855f7,#5b21b6);font-size:.8rem}
.qg-niv-ic b{position:absolute;right:-6px;bottom:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;display:grid;place-items:center;font-size:.68rem;font-weight:900;
  background:#fde68a;color:#5b21b6;border:2px solid var(--qg-card)}
.qg-niv-bar{display:inline-flex;gap:3px}
.qg-niv-bar i{width:18px;height:8px;border-radius:3px;background:var(--qg-soft2);border:1px solid var(--qg-line);transition:background .4s}
.qg-niv-bar i.on{border-color:transparent}
.qg-niv-bar i.n1{background:#c4b5fd}.qg-niv-bar i.n2{background:#a78bfa}.qg-niv-bar i.n3{background:#8b5cf6}.qg-niv-bar i.n4{background:#7c3aed}.qg-niv-bar i.n5{background:#f5b50a}
.qg-niv.grande .qg-niv-ic{width:36px;height:36px;font-size:.95rem}
.qg-niv.grande .qg-niv-bar i{width:26px;height:10px}
.qg-niv.sube .qg-niv-ic{animation:qg-pop .6s var(--qg-ease)}
.qg-niv.baja .qg-niv-ic{animation:qg-temb .5s}
@keyframes qg-pop{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes qg-temb{0%,100%{transform:none}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.qg-fav-rep{display:flex;align-items:center;gap:14px;margin:0 0 8px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,#7c3aed 6%,var(--qg-card));border:1px solid color-mix(in srgb,#7c3aed 15%,var(--qg-line))}
.qg-fav-rep-tx{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.76rem;color:var(--qg-ink2)}
.qg-fav-rep-tx b{color:var(--qg-ink)}
.qg-fav-rep-tx i{color:#7c3aed}
.qg-fav-rep-tx .ok i{color:#2b8a00}.qg-fav-rep-tx .ko i{color:#d90f25}
.qg-rp-hist{margin:0 0 8px;font-size:.78rem;color:var(--qg-ink2)}
.qg-rp-cambio{display:block;margin-top:4px;font-size:.84rem;font-weight:700;color:var(--qg-ink2)}
.qg-rp-cambio i{color:#7c3aed}
.qg-rp-sig{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}
.qg-modal .qg-rp-sig .qg-btn-p{--c1:#a855f7;--c2:#5b21b6;padding:11px 22px}
.qg-rp-sig small{color:var(--qg-ink2);font-size:.74rem}
.qg-rp-fin{text-align:center;padding:16px 6px}
.qg-rp-fin>i{font-size:2.6rem;color:#f5b50a}
.qg-rp-fin h3,.qg-rp-fin p{text-align:center!important}
.qg-rp-fin h3{font-size:1.2rem;font-weight:900;margin:8px 0}
@media (max-width:575px){.qg-rep-b{width:100%;justify-content:center}.qg-fav-rep{flex-wrap:wrap}}
/* ---------------------------------------------------------------- VER PREGUNTA (favoritas): pregunta + mis anotaciones + QuizZin IA */
.qg-modal.lg.ver .qg-modal-c{width:min(1120px,100%)}
.qg-ver{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start;margin-top:8px}
.qg-ver-lado{display:flex;flex-direction:column;gap:14px}
.qg-anot,.qg-ia{border:1px solid var(--qg-line);border-radius:16px;padding:12px 14px;background:var(--qg-card);position:relative}
.qg-anot h4,.qg-ia h4{margin:0 0 8px;font-size:.92rem;font-weight:800;color:var(--qg-ink)!important;display:flex;align-items:center;gap:8px}
.qg-anot h4 i{color:#7c3aed}
.qg-anot-tipos{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.qg-anot-tipos button{border:1px solid var(--qg-line);background:var(--qg-soft);border-radius:999px;padding:4px 10px;font-size:.74rem;font-weight:700;cursor:pointer;color:var(--qg-ink)}
.qg-anot-tipos button:hover{border-color:#a855f7}
.qg-anot textarea{width:100%;border:1px solid var(--qg-line);border-radius:12px;padding:9px 11px;font:inherit;font-size:.86rem;line-height:1.45;resize:vertical;min-height:110px;background:var(--qg-soft);color:var(--qg-ink)}
.qg-anot textarea:focus{outline:0;border-color:#a855f7;background:var(--qg-card)}
.qg-anot .qg-guardado{right:16px;bottom:16px}
.qg-ia{background:linear-gradient(160deg,color-mix(in srgb,#7c3aed 7%,var(--qg-card)),var(--qg-card))}
.qg-ia-ic{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#a855f7,#5b21b6);font-size:.8rem}
.qg-ia-bots{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qg-ia-bots button{display:grid;grid-template-columns:auto 1fr;column-gap:8px;text-align:left;border:1px solid var(--qg-line);background:var(--qg-card);border-radius:12px;padding:8px 10px;cursor:pointer;color:var(--qg-ink);transition:border-color .2s,background .2s}
.qg-ia-bots button i{grid-row:1/3;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,#7c3aed 12%,var(--qg-card));color:#6d28d9;font-size:.8rem}
.qg-ia-bots button b{font-size:.8rem}
.qg-ia-bots button small{font-size:.68rem;color:var(--qg-ink2);line-height:1.25}
.qg-ia-bots button:hover:not(:disabled),.qg-ia-bots button.on{border-color:#a855f7;background:color-mix(in srgb,#7c3aed 6%,var(--qg-card))}
.qg-ia-bots button:disabled{opacity:.6;cursor:wait}
.qg-ia-res:empty{display:none}
.qg-ia-res{margin-top:10px}
.qg-ia-pensando{font-size:.84rem;color:#6d28d9;font-weight:700;padding:10px 4px}
.qg-ia-error{font-size:.82rem;color:var(--qg-ink2);background:var(--qg-soft);border-radius:10px;padding:9px 11px}
.qg-ia-card{border:1px solid color-mix(in srgb,#7c3aed 25%,var(--qg-line));border-radius:14px;background:var(--qg-card);overflow:hidden}
.qg-ia-card-h{padding:8px 12px;font-weight:800;font-size:.84rem;color:#fff;background:linear-gradient(135deg,#a855f7,#5b21b6)}
.qg-ia-tx{padding:10px 12px;font-size:.86rem;line-height:1.55;max-height:260px;overflow:auto}
.qg-ia-tx p{margin:0 0 6px}.qg-ia-tx ul,.qg-ia-tx ol{margin:4px 0 8px;padding-left:20px}.qg-ia-tx li{margin-bottom:3px}
/* respuesta de QuizZin IA en tonos morados, como el tutor de QuizZin */
.qg-ia-tx b,.qg-ia-tx strong{color:#6d28d9;font-weight:800}
.qg-ia-tx i{color:#7c3aed}
.qg-ia-tx h4,.qg-ia-tx h5{margin:10px 0 5px;font-weight:900;color:#5b21b6!important;line-height:1.25}
.qg-ia-tx h4{font-size:.98rem}.qg-ia-tx h5{font-size:.9rem}
.qg-ia-tx h4:first-child,.qg-ia-tx h5:first-child{margin-top:0}
.qg-ia-tx li::marker{color:#a855f7;font-weight:800}
/* escribiendo palabra a palabra */
.qg-ia-tx .qg-t{opacity:0;transition:opacity .25s}
.qg-ia-tx .qg-t.on{opacity:1}
.qg-ia-tx.qg-escribiendo{cursor:pointer}
.qg-ia-tx.qg-escribiendo li:not(.qg-v){visibility:hidden}
.qg-ia-tx.qg-escribiendo li::marker{color:transparent}.qg-ia-tx.qg-escribiendo li.qg-v::marker{color:#a855f7}
html.dark-mode .qg-ia-tx b,body.dark-version .qg-ia-tx b{color:#c4b5fd}
html.dark-mode .qg-ia-tx h4,html.dark-mode .qg-ia-tx h5,body.dark-version .qg-ia-tx h4,body.dark-version .qg-ia-tx h5{color:#ddd6fe!important}
.qg-ia-acc{padding:0 12px 10px;display:flex;justify-content:flex-end}
@media (max-width:991px){.qg-ver{grid-template-columns:1fr}.qg-ia-bots{grid-template-columns:1fr}}

/* ---------------------------------------------------------------- VENTANAS Y AVISOS */
.qg-modal{position:fixed;inset:0;z-index:99999;background:rgba(1,20,32,.55);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .25s}
.qg-modal.on{opacity:1}
.qg-modal-c{position:relative;background:var(--qg-card);color:var(--qg-ink);border-radius:20px;padding:22px;width:min(560px,100%);max-height:88vh;overflow:auto;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.5);transform:translateY(14px) scale(.98);transition:transform .3s var(--qg-ease);font-family:Montserrat,system-ui,sans-serif}
.qg-modal.on .qg-modal-c{transform:none}
.qg-modal.sm .qg-modal-c{width:min(440px,100%)}
.qg-modal.lg .qg-modal-c{width:min(820px,100%)}
.qg-modal h3{font-size:1.05rem;font-weight:800;margin:0 0 8px;color:var(--qg-ink)!important;padding-right:30px}
.qg-modal p{font-size:.88rem;color:var(--qg-ink2)}
.qg-modal-acc{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.qg-modal .qg-btn-p{--c1:#22a0ec;--c2:#0a6cc2}
.qg-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:10px;border:0;background:var(--qg-soft);color:var(--qg-ink2);cursor:pointer}
.qg-ver-b{font-size:.9rem;line-height:1.5}
.qg-plants{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.qg-pl{display:flex;gap:6px;align-items:center}
.qg-pl-b{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--qg-line);background:var(--qg-card);border-radius:12px;padding:10px 12px;cursor:pointer;text-align:left;color:var(--qg-ink)}
.qg-pl-b:hover{background:var(--qg-soft)}
.qg-pl-b i{color:#0a6cc2}
.qg-pl-b span{display:flex;flex-direction:column}
.qg-pl-b b{font-size:.86rem}
.qg-pl-b small{font-size:.72rem;color:var(--qg-ink2)}
.qg-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);z-index:100000;background:#012a3c;color:#fff;padding:11px 18px;border-radius:12px;font:600 .86rem Montserrat,sans-serif;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.5);opacity:0;transition:all .3s var(--qg-ease)}
.qg-toast.on{opacity:1;transform:translate(-50%,0)}
.qg-toast.ok i{color:#7ee04a}

/* ---------------------------------------------------------------- MÓVIL Y TABLETA */
@media (max-width:1199px){
  .qg-hero{grid-template-columns:1fr}
  .qg-modos{grid-template-columns:repeat(6,minmax(0,1fr))}
  .qg-modo{flex-direction:column;gap:4px;padding:8px 4px;font-size:.7rem}
  .qg-sel-grid{grid-template-columns:minmax(0,1fr) 300px}
}
@media (max-width:991px){
  .qg-elegir{grid-template-columns:1fr}
  .qg-pop{padding:0}
  .qg-pop-c{width:100%;height:100%;max-height:none;border-radius:0}
  .qg-pop-b .qg-info{position:static;order:2}
  .qg-pop-b .qg-info .qg-total{display:none}
  .qg-sel-grid{grid-template-columns:1fr}
  .qg-info{order:-1}
  .qg-desc-b{max-height:200px}
  .qg-hist{grid-template-columns:repeat(2,minmax(0,1fr))}
  #qgOpts{grid-template-columns:1fr}
  .qg-mas-b{grid-template-columns:1fr 1fr}
}
@media (max-width:575px){
  html body .main-content .container-fluid.py-4.qg-page{padding:12px 12px 20px!important}
  .qg-hero{padding:18px;border-radius:18px}
  .qg-modos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .qg-card-h,.qg-card-b{padding:14px}
  .qg-temas{grid-template-columns:1fr}
  .qg-hist{grid-template-columns:1fr}
  .qg-modo2{grid-template-columns:1fr}
  .qg-pen{grid-template-columns:repeat(3,minmax(0,1fr))}
  .qg-provs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qg-ffichas,.qg-fgrupo.leyes .qg-ffichas{grid-template-columns:1fr}
  .qg-pop-h,.qg-pop-b,.qg-pop-f{padding-left:14px;padding-right:14px}
  .qg-pop-h .qg-seg{order:5;width:100%}.qg-pop-h .qg-seg button{flex:1}
  .qg-mas-b{grid-template-columns:1fr}
  .qg-titulos,.qg-art{margin-left:8px}
  .qg-art-n{margin-left:0;width:100%}
  .qg-go{border-radius:18px}
  .qg-go-acc,.qg-empezar{width:100%;justify-content:center}
  .qg-plant{width:100%}.qg-plant .qg-btn-s{flex:1;justify-content:center}
  .qg-art-b{padding:8px 10px}
  .qg-art-b span{display:none}
  .qg-arbol,.qg-leyes,.qg-temas,.qg-ofis{max-height:none;overflow:visible;padding:0}
  .qg-ley-f{gap:4px}
  .qg-tog{width:24px}
  .qg-fila-b{padding:9px 10px;gap:8px}
  .qg-fila-t{font-size:.82rem}
  .qg-art{padding:10px}
  .qg-art-h input{width:64px}
  .qg-art-pie .qg-tenue{display:none}
  .qg-of{padding:8px 6px;flex-wrap:wrap}
}

/* ---------------------------------------------------------------- ORDENADOR Y PORTÁTIL (≥1200 px): todo el generador en una pantalla (14" ≈ 800 px de alto) */
@media (min-width:1200px){
  html body .main-content .container-fluid.py-4.qg-page{padding:10px 16px 14px!important}
  .qg-wrap .qg-card{margin-bottom:12px;border-radius:18px}
  /* cabecera en una línea: título a la izquierda, los 6 tipos a la derecha */
  .qg-hero{padding:12px 18px;margin-bottom:12px;border-radius:18px;grid-template-columns:auto minmax(0,1fr);gap:18px}
  .qg-kicker,.qg-sub{display:none}
  .qg-title{margin:0;font-size:1.45rem;white-space:nowrap}
  .qg-modos{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
  .qg-modo{padding:7px 9px;font-size:.74rem;gap:7px}
  .qg-modo i{width:22px;height:22px;font-size:.65rem;border-radius:7px}
  /* paso 1 en una fila: título · botón · lo elegido */
  #qgPaso1{display:flex;align-items:center}
  #qgPaso1 .qg-card-h{border-bottom:0;padding:12px 6px 12px 16px;flex:0 0 260px;flex-wrap:nowrap}
  #qgPaso1 .qg-card-t{min-width:0}
  #qgPaso1 .qg-card-b{flex:1;min-width:0;padding:12px 16px 12px 0}
  .qg-elegir{grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:center}
  .qg-abrir{padding:11px 14px;font-size:.88rem}
  .qg-abrir>i:first-child{width:34px;height:34px}
  .qg-res{min-height:0;gap:6px}
  /* EXAMEN OFICIAL: la ficha del examen (paso 1) crece hasta llenar la pantalla; el paso 2 va en una fila */
  /* dos columnas: izquierda título + botón + progreso · derecha la ficha del examen */
  #qgPaso1.of{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:20px;padding:16px 18px;align-items:start}
  #qgPaso1.of .qg-card-h{grid-column:1;grid-row:1;padding:0 0 12px;flex:none}
  #qgPaso1.of .qg-card-b{display:contents}
  #qgPaso1.of .qg-abrir-col{grid-column:1;grid-row:2}
  #qgPaso1.of .qg-res{grid-column:2;grid-row:1 / 3}
  #qgPaso1.of .qg-of-desc{max-height:30vh}
  /* favoritas: la lista llena lo que queda de pantalla con su propio scroll (ajustarAlto) */
  #qgFavLista{overflow:auto;padding-right:4px}
  /* paso 2 en tres columnas */
  .qg-card-h{padding:10px 16px;gap:12px}
  .qg-num{width:30px;height:30px;border-radius:10px}
  .qg-card-t h2{font-size:1rem}
  .qg-card-t small{font-size:.74rem}
  #qgOpts{gap:18px 24px;padding:16px 18px 18px;align-items:start}   /* misma separación entre todos los bloques */
  /* «¿Cómo lo haces?» arriba a la derecha y «Tiempo del examen» debajo, en el centro (petición del dueño) */
  #qgOpts.con-hist{grid-template-columns:minmax(0,.9fr) minmax(0,1.05fr) minmax(0,1.05fr);grid-template-areas:"hist num modo" "hist tiempo pen" "mas mas mas"}
  #qgOpts.sin-hist{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"num modo pen" "tiempo tiempo mas"}
  /* modo estudio: misma colocación que el modo examen (solo desaparece el tiempo) */
  #qgOpts.sin-hist:not(.of) .qg-mas-op{margin-top:25px}   /* a la altura de los botones del tiempo */
  /* favoritas: 2 columnas · izquierda cuántas + tiempo · derecha modo + nombre */
  .qg-wrap[data-modo=favoritas] #qgOpts.sin-hist{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"num modo" "tiempo pen"}
  #qgOpts.sin-hist.of{grid-template-columns:minmax(0,1.15fr) minmax(0,1.5fr) minmax(0,1fr);grid-template-areas:"modo tiempo pen"}
  .qg-b-hist{grid-area:hist}.qg-b-num{grid-area:num}.qg-b-modo{grid-area:modo}.qg-b-tiempo{grid-area:tiempo}.qg-b-pen{grid-area:pen}#qgOpts .qg-mas-op{grid-area:mas;align-self:start}
  .qg-bloque:first-child{grid-column:auto}
  .qg-h3{margin:0 0 8px;font-size:.84rem;min-height:18px}
  .qg-hist{grid-template-columns:1fr;gap:6px}
  .qg-hist-b{padding:8px 12px;border-radius:12px}
  .qg-hist-b>i{width:30px;height:30px;border-radius:9px;font-size:.8rem}
  .qg-hist-b small{font-size:.68rem}
  .qg-cuantas{grid-template-columns:1fr 70px;gap:8px}
  .qg-cuantas input[type=number]{padding:6px 8px;font-size:.95rem}
  .qg-rapidos button,.qg-tiempos button,.qg-pen button{padding:6px 10px;font-size:.76rem}
  .qg-m{padding:9px 12px;border-radius:12px}
  .qg-m i{width:30px;height:30px;border-radius:9px}
  .qg-m small{display:none}
  .qg-m b{align-self:center}
  .qg-tiempos{gap:5px}
  .qg-otro input{width:44px}
  .qg-nota{margin:6px 0 0;font-size:.7rem}
  .qg-fijo{padding:8px 12px;font-size:.84rem}
  .qg-mas-op summary{padding:8px 12px;font-size:.8rem}
  .qg-mas-b{padding:0 12px 12px;gap:10px}
  /* paso 3 */
  .qg-go{padding:10px 14px;border-radius:18px;margin-bottom:0}
  .qg-go-ic{width:40px;height:40px;border-radius:12px}
  .qg-empezar{padding:11px 22px;font-size:.92rem}
  .qg-go .qg-btn-s{padding:8px 12px}
}
/* portátiles con poca altura (Windows 14" al 150 %: ≈ 1280 × 650) */
@media (min-width:1200px) and (max-height:760px){
  .qg-hero{padding:9px 14px;margin-bottom:10px}
  .qg-title{font-size:1.25rem}
  .qg-card-t small,.qg-hist-b small,.qg-b-tiempo .qg-nota,.qg-b-pen .qg-nota{display:none}
  .qg-wrap .qg-card{margin-bottom:10px}
  #qgPaso1 .qg-card-h,#qgPaso1 .qg-card-b{padding-top:9px;padding-bottom:9px}
  .qg-card-h{padding:8px 16px}
  #qgOpts{gap:14px 20px;padding:12px 16px 14px}
  .qg-hist-b{padding:6px 10px;grid-template-rows:auto}
  .qg-hist-b>i{grid-row:auto;width:26px;height:26px}
  .qg-rapidos button,.qg-tiempos button,.qg-pen button{padding:5px 8px}
  .qg-tiempos button small,.qg-pen button small{font-size:.58rem}
  .qg-m{padding:7px 10px}
  .qg-go{padding:8px 12px}
  .qg-empezar{padding:9px 18px}
}
/* pantallas altas (≥ 900 px): todo un poco más grande para aprovechar el espacio sin dejar huecos */
@media (min-width:1200px) and (min-height:900px){
  .qg-hero{padding:16px 22px}
  .qg-title{font-size:1.6rem}
  #qgPaso1 .qg-card-h,#qgPaso1 .qg-card-b{padding-top:16px;padding-bottom:16px}
  .qg-abrir{padding:15px 18px;font-size:.95rem}
  .qg-h3{font-size:.92rem;margin-bottom:10px}
  .qg-hist{gap:9px}
  .qg-hist-b{padding:12px 14px}
  .qg-hist-b>i{width:36px;height:36px}
  .qg-hist-b small{font-size:.74rem}
  .qg-m{padding:12px 14px}
  .qg-m i{width:36px;height:36px}
  .qg-rapidos button,.qg-tiempos button,.qg-pen button{padding:8px 12px;font-size:.8rem}
  .qg-cuantas input[type=number]{padding:8px 10px;font-size:1.05rem}
  .qg-mas-op summary{padding:11px 14px}
  .qg-go{padding:14px 18px}
  .qg-empezar{padding:13px 26px;font-size:.98rem}
}

/* Memor-IA: la barra morada del repaso hace de cabecera de la pantalla (título + lo que toca + Repasar ahora + Volver) */
.qg-rep.qg-cab{padding:14px 18px;margin-bottom:14px;border-radius:20px;gap:16px;box-shadow:0 18px 36px -20px #5b21b6}
.qg-rep-k{font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fde68a}
.qg-rep-tx h1{margin:2px 0 3px;font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:900;line-height:1.1;color:#fff!important;letter-spacing:-.01em}
.qg-rep-baj,.qg-rp-baj{display:inline-flex;align-items:center;gap:5px;font-weight:800}
.qg-rep-baj{color:#fde68a}
.qg-rp-baj{margin-left:8px;padding:2px 9px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.74rem}
.qg-rep-acc{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qg-rep.qg-cab .qg-volver{justify-self:auto}
.qg-rep.qg-cab .qg-rep-ic{width:50px;height:50px;font-size:1.4rem}
@media (min-width:1200px){.qg-rep.qg-cab{padding:10px 16px;margin-bottom:12px;border-radius:18px}.qg-rep.qg-cab .qg-rep-tx small{font-size:.7rem}}
@media (max-width:575px){.qg-rep-acc{width:100%}.qg-rep-acc .qg-rep-b{flex:1}}

/* ---------------------------------------------------------------- TEXTOS MÁS GRANDES (02/10/2026, «algunos textos se ven pequeños»)
   Ventana «Pregunta y corrección» (anotaciones + QuizZin IA), ventana del repaso y su resumen final. */
.qg-anot h4,.qg-ia h4{font-size:1.02rem}
.qg-anot-tipos button{font-size:.84rem;padding:5px 12px}
.qg-anot textarea{font-size:.98rem;line-height:1.5}
.qg-guardado{font-size:.8rem}
.qg-ia-bots button{padding:10px 12px}
.qg-ia-bots button i{width:32px;height:32px;font-size:.9rem}
.qg-ia-bots button b{font-size:.92rem}
.qg-ia-bots button small{font-size:.8rem;line-height:1.3}
.qg-ia-pensando{font-size:.95rem}
.qg-ia-error{font-size:.92rem}
.qg-ia-card-h{font-size:.95rem;padding:9px 14px}
.qg-ia-tx{font-size:.98rem;line-height:1.6;padding:12px 14px;max-height:min(46vh,420px)}
.qg-ia-tx h4{font-size:1.08rem}.qg-ia-tx h5{font-size:1rem}
.qg-ia-acc .qg-btn-s{font-size:.88rem}
.qg-ver-b{font-size:.98rem}
.qg-rp-cab small,.qg-rp-hist{font-size:.86rem}
.qg-rp-com{font-size:.92rem}
.qg-rp-just summary{font-size:.92rem}
.qg-rp-sig small{font-size:.82rem}
.qg-rp-fin h3{font-size:1.4rem}
.qg-rp-fin p{font-size:1.05rem;line-height:1.55;margin:0 0 6px}
.qg-modal .qg-rp-fin .qg-btn-p{--c1:#a855f7;--c2:#5b21b6;margin-top:10px;padding:11px 26px;font-size:.98rem}   /* «Cerrar» en el morado de Memor-IA */
/* Ayudas que el alumno ya pidió de esta pregunta: se quedan guardadas en ella (✓) y se ven al momento */
.qg-ia-bots button{position:relative}
.qg-ia-bots button.hecha::after{content:"✓";position:absolute;top:6px;right:8px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  font-size:.72rem;font-weight:900;color:#fff;background:linear-gradient(135deg,#a855f7,#5b21b6)}
.qg-ia-bots button.hecha small::after{content:" · guardada";font-weight:800;color:#7c3aed}
.qg-ia-card-h{display:flex;align-items:center;gap:6px}
.qg-ia-gu{margin-left:auto;font-size:.76rem;font-weight:700;background:rgba(255,255,255,.18);border-radius:999px;padding:3px 9px;white-space:nowrap}
/* La tarjeta de QuizZin IA crece con su texto (sin barra propia): aprovecha el hueco junto a la justificación */
.qg-ia-tx{max-height:none;overflow:visible}
.qg-ia-bots button.hecha{padding-right:32px}
/* ---------------------------------------------------------------- MEMOR-IA: el test a medida, PLEGADO en una barra (lo normal es el repaso del día) */
.qg-pleg{margin-bottom:14px}
.qg-pleg[hidden]{display:none}
.qg-pleg-s{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:18px;background:var(--qg-card);
  border:1px solid var(--qg-line);box-shadow:0 8px 22px -18px rgba(1,42,60,.5);transition:border-color .2s,box-shadow .2s}
.qg-pleg-s::-webkit-details-marker{display:none}
.qg-pleg-s:hover{border-color:#c4b5fd;box-shadow:0 10px 24px -16px #7c3aed}
.qg-pleg-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex-shrink:0;color:#fff;font-size:1rem;background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 6px 14px -6px var(--c2)}
.qg-pleg-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.qg-pleg-t b{font-size:1.02rem;font-weight:800;color:var(--qg-ink)}
.qg-pleg-t small{font-size:.84rem;color:var(--qg-ink2)}
.qg-pleg-v{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:800;font-size:.86rem;color:#6d28d9;padding:8px 14px;border-radius:12px;background:color-mix(in srgb,#7c3aed 10%,var(--qg-card))}
.qg-pleg-v i{transition:transform .25s}
.qg-pleg-c{display:none}
.qg-pleg[open] .qg-pleg-a{display:none}.qg-pleg[open] .qg-pleg-c{display:inline}
.qg-pleg[open] .qg-pleg-v i{transform:rotate(180deg)}
.qg-pleg[open] .qg-pleg-s{border-color:#c4b5fd;margin-bottom:12px}
.qg-pleg-b>.qg-go{margin-bottom:0}
@media (max-width:575px){.qg-pleg-s{flex-wrap:wrap}.qg-pleg-v{width:100%;justify-content:center}}
/* Ventana de elegir: la descripción usa todo el alto que queda (02/10/2026); solo hay barra si el texto no cabe en la ventana */
.qg-pop-b .qg-desc-b{max-height:max(220px, calc(100vh - 345px))}
@media (max-width:991px){.qg-pop-b .qg-desc-b{max-height:none}}

/* Descripciones de WordPress dentro del generador (02/10/2026): párrafos y listas del MISMO tamaño y con poco hueco.
   Solo afecta a .qg-desc-tx (la caja de la descripción del generador), nunca al resto de la web. */
.qg-desc-tx{font-size:.9rem;line-height:1.55}
.qg-desc-tx p,.qg-desc-tx li,.qg-desc-tx ul,.qg-desc-tx ol,.qg-desc-tx b,.qg-desc-tx strong,.qg-desc-tx em{font-size:inherit;line-height:inherit}
.qg-desc-tx p{margin:0 0 8px}
.qg-desc-tx ul,.qg-desc-tx ol{margin:2px 0 8px;padding-left:20px}
.qg-desc-tx li{margin:0 0 3px;padding:0}
.qg-desc-tx ul.sin-punto{list-style:none;padding-left:4px}
.qg-desc-tx > :last-child{margin-bottom:0}
.qg-res-of .qg-desc-tx{font-size:.9rem}
/* Supuestos/exámenes completos (oficiales de Teo, oficiales y Supra-QuizPoL) en MODO ESTUDIO: sin tiempo, «¿Cómo lo haces?» y la
   penalización ocupan el hueco en 2 columnas (02/10/2026) */
@media (min-width:1200px){
  #qgOpts.sin-hist.of.estudio{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"modo pen"}
  #qgOpts.sin-hist.of.estudio .qg-b-tiempo{display:none}
}

/* Memor-IA · TAMAÑO DEL TEXTO (js/qp-letra.js agranda con zoom = --qp-letra): las ventanas siguen cabiendo en la pantalla (el alto en vh
   también se agranda, así que se divide por el mismo factor; sin la píldora vale 1 y no cambia nada) (02/10/2026) */
.qg-modal-c{max-height:calc(88vh / var(--qp-letra,1))}
.qg-pop-c{max-height:calc((100vh - 40px) / var(--qp-letra,1))}
.qg-pop-b .qg-desc-b{max-height:max(220px, calc((100vh - 345px * var(--qp-letra,1)) / var(--qp-letra,1)))}
@media (max-width:991px){.qg-pop-b .qg-desc-b{max-height:none}}

/* Examen oficial: botón «Estadísticas oficiales» junto a «Volver» (lleva a estadisticas_oficiales.php) · 03/10/2026 */
.qg-hero-bts{position:relative;z-index:1;justify-self:end;display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.qg-volver.qg-stats{background:linear-gradient(135deg,#22ad4b,#138139);border-color:transparent;box-shadow:0 8px 18px -10px #22ad4b}
.qg-volver.qg-stats:hover{background:linear-gradient(135deg,#2bc457,#159543);transform:translateY(-2px)}

/* TABLET y MÓVIL (≤1199 px, 04/10): cabecera ESTRECHA en una fila, como en el ordenador: título a la izquierda y botones a la derecha
   (sin la etiqueta ni la frase de debajo, para no gastar alto). En el móvil, si no cabe, «Estadísticas oficiales» queda solo con su icono. */
@media (max-width:1199px){
  .qg-hero:not(.ox-hero){grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;margin-bottom:12px;border-radius:18px}
  .qg-hero:not(.ox-hero) .qg-kicker,.qg-hero:not(.ox-hero) .qg-sub{display:none}
  .qg-hero:not(.ox-hero) .qg-title{margin:0;font-size:1.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .qg-hero:not(.ox-hero)>.qg-hero-bts,.qg-hero:not(.ox-hero)>.qg-volver{margin:0;justify-self:end;flex-wrap:nowrap}
}
@media (max-width:575px){
  .qg-hero:not(.ox-hero){padding:10px 12px;gap:8px}
  .qg-hero:not(.ox-hero) .qg-title{font-size:1.08rem}
  .qg-hero:not(.ox-hero) .qg-hero-bts{gap:6px}
  .qg-hero:not(.ox-hero) .qg-volver{padding:8px 11px;font-size:.8rem}
}
@media (max-width:520px){
  .qg-hero:not(.ox-hero) .qg-stats{font-size:0;gap:0;padding:8px 11px}
  .qg-hero:not(.ox-hero) .qg-stats i{font-size:.95rem}
}
