/* Gaceta Oficial: una hoja de papel dentro de la web nocturna.
   El papel es siempre claro (es un documento), el resto de la web sigue oscuro. */
.gaceta{
  --paper:#F3F4F0; --sheet:#FBFBF8; --ink:#16181F; --ink2:#4B505C; --rule:#C8CBD1; --rule2:#E2E4E7;
  --night:#1B2D63; --seal:#B0122C; --ok:#1C6E40; --okbg:#E6F2EA; --bad:#A3122A; --badbg:#F7E6E9;
  --hl:rgba(233,180,0,.38); --chip:#E9EBF0; --g1:#3D6B4F; --g2:#A86A00; --g3:#B0122C; --g4:#5A1022;
  --g-display:"Bodoni Moda","Didot",Georgia,serif; --g-body:"Spectral",Georgia,"Times New Roman",serif;
  --g-sc:"Spectral SC","Spectral",Georgia,serif; --g-mono:"IBM Plex Mono",Consolas,monospace;
  color:var(--ink);font-family:var(--g-body);font-size:17px;line-height:1.6;color-scheme:light;
}
.gaceta-wrap{padding-block:28px 40px}
.gaceta .hoja{background:var(--sheet);border-radius:4px;box-shadow:0 30px 80px rgba(0,0,0,.55);overflow:hidden}
.gaceta .tri{display:grid;grid-template-rows:5px 5px 5px}.gaceta .tri i:nth-child(1){background:#F2BE00}.gaceta .tri i:nth-child(2){background:#1B2D63}.gaceta .tri i:nth-child(3){background:#C8102E}
.gaceta .mast{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:22px clamp(16px,4vw,40px) 14px}
.gaceta .seal{width:88px;height:88px;color:var(--night)}
.gaceta .mast-title{text-align:center}
.gaceta .kicker{font-family:var(--g-sc);letter-spacing:.22em;font-size:13px;color:var(--ink2);text-transform:lowercase}
.gaceta .mast h1{font-family:var(--g-display);font-weight:800;font-size:clamp(34px,6vw,70px);line-height:.95;margin:.08em 0 .06em;text-transform:none;color:var(--ink)}
.gaceta .sub{font-family:var(--g-display);font-weight:600;font-size:clamp(15px,2vw,21px);letter-spacing:.14em;text-transform:uppercase}
.gaceta .num0{font-family:var(--g-mono);font-size:12px;text-align:right;color:var(--ink2);line-height:1.5;white-space:nowrap}
.gaceta .num0 b{display:block;font-size:26px;color:var(--seal);font-family:var(--g-display);font-weight:800;line-height:1}
.gaceta .dateline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);margin:0 clamp(16px,4vw,40px);padding-block:6px;font-family:var(--g-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.gaceta .bar{position:sticky;top:66px;z-index:10;background:color-mix(in srgb,var(--sheet) 94%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--rule);padding:10px clamp(16px,4vw,40px);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
body.juego .gaceta .bar{top:0}
.gaceta .bar input{flex:1 1 260px;font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--rule);background:#fff;color:var(--ink);border-radius:3px;box-shadow:none}
.gaceta .bar button{font-family:var(--g-mono);font-size:12px;border:1px solid var(--rule);background:#fff;color:var(--ink);padding:6px 9px;border-radius:3px;cursor:var(--cur-mano,pointer)}
.gaceta .count{font-family:var(--g-mono);font-size:12px;color:var(--ink2)}
.gaceta .cerrar{background:var(--seal)!important;color:#fff!important;border-color:var(--seal)!important;display:none}
body.juego .gaceta .cerrar{display:inline-block}
.gaceta .layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;padding:26px clamp(16px,4vw,40px) 40px}
.gaceta nav.indice{position:sticky;top:130px;align-self:start;max-height:calc(100vh - 150px);overflow:auto;font-size:14px}
.gaceta .indice ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.gaceta .indice a{display:grid;grid-template-columns:2.8em 1fr;gap:4px;text-decoration:none;color:var(--ink);padding:5px 6px;border-radius:3px;line-height:1.3}
.gaceta .indice a:hover,.gaceta .indice a.on{background:var(--chip)}
.gaceta .indice a span:first-child{font-family:var(--g-mono);font-size:11.5px;color:var(--seal);padding-top:2px}
.gaceta .indice summary{display:none}
.gaceta .indice h2{font-family:var(--g-sc);font-size:13px;letter-spacing:.18em;color:var(--ink2);font-weight:500;margin:0 0 8px;text-transform:none}
.gaceta .decreto{text-align:center;font-family:var(--g-sc);font-size:15px;letter-spacing:.12em;margin:0 auto 22px;max-width:52ch}
.gaceta .considerando p{max-width:68ch}
.gaceta .considerando b{font-family:var(--g-sc);letter-spacing:.12em}
.gaceta .decreta{text-align:center;font-family:var(--g-display);font-weight:800;letter-spacing:.3em;font-size:22px;margin:26px 0 8px}
.gaceta .titulo{margin-top:40px;padding-top:20px;border-top:3px double var(--ink);text-align:center}
.gaceta .titulo .tn{font-family:var(--g-mono);font-size:12px;letter-spacing:.2em;color:var(--seal)}
.gaceta .titulo h2{font-family:var(--g-display);font-weight:800;font-size:clamp(22px,3vw,30px);margin:.15em 0 .1em;text-transform:none;color:var(--ink)}
.gaceta .titulo p{margin:0 auto;color:var(--ink2);font-style:italic;max-width:60ch;font-size:15.5px}
.gaceta .art{padding-block:20px;border-bottom:1px solid var(--rule2);max-width:72ch;scroll-margin-top:140px}
.gaceta .art-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:6px}
.gaceta .art-h a.num{font-weight:600;text-decoration:none;color:var(--ink);white-space:nowrap}
.gaceta .art-h h3{font-family:var(--g-sc);font-weight:700;font-size:19px;margin:0;flex:1 1 auto;color:var(--ink)}
.gaceta .chip{font-family:var(--g-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border:1px solid currentColor;border-radius:2px;white-space:nowrap}
.gaceta .g1{color:var(--g1)}.gaceta .g2{color:var(--g2)}.gaceta .g3{color:var(--g3)}.gaceta .g4{color:var(--g4);background:rgba(90,16,34,.08)}
.gaceta .cite{font-family:var(--g-mono);font-size:11px;border:0;background:none;color:var(--ink2);cursor:var(--cur-mano,pointer);padding:2px 4px;text-decoration:underline dotted}
.gaceta .art p{margin:0 0 10px}
.gaceta .art ul{margin:0 0 10px;padding-left:1.3em}
.gaceta .art li::marker{color:var(--seal)}
.gaceta .ej{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.gaceta .ej>div{padding:10px 12px;border-radius:3px;font-size:15.5px;line-height:1.5}
.gaceta .ej .ok{background:var(--okbg);border-left:3px solid var(--ok)}
.gaceta .ej .no{background:var(--badbg);border-left:3px solid var(--bad)}
.gaceta .ej b{display:block;font-family:var(--g-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
.gaceta .ej .ok b{color:var(--ok)}.gaceta .ej .no b{color:var(--bad)}
.gaceta .tabla{overflow-x:auto;margin:6px 0 12px}
.gaceta table{border-collapse:collapse;width:100%;font-size:15px}
.gaceta th,.gaceta td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
.gaceta th{font-family:var(--g-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);font-weight:500}
.gaceta .st-on{color:var(--ok)}.gaceta .st-off{color:var(--ink2)}
.gaceta mark{background:var(--hl);color:inherit;padding:0 1px}
.gaceta .vacio{padding:40px 0;text-align:center;color:var(--ink2);font-style:italic;border:0}
.gaceta .final{margin-top:40px;padding-top:20px;border-top:3px double var(--ink)}
.gaceta .final h2{font-family:var(--g-display);text-align:center;text-transform:none;color:var(--ink)}
.gaceta .lema{font-family:var(--g-display);font-style:italic;font-size:24px;text-align:center;margin:22px 0 6px}
.gaceta .firma{text-align:center;font-family:var(--g-sc);letter-spacing:.14em;font-size:14px;color:var(--ink2)}
.gaceta .examen{border-top:1px solid var(--rule);background:var(--paper);padding:clamp(18px,4vw,40px)}
.gaceta .examen h2{font-family:var(--g-display);font-weight:800;text-transform:none;color:var(--ink)}
.gaceta .preg{border:0;margin:0 0 18px;padding:0}
.gaceta .preg legend{font-weight:600;margin-bottom:6px;padding:0}
.gaceta .preg label{display:flex;gap:9px;align-items:flex-start;padding:5px 8px;border-radius:3px;cursor:var(--cur-mano,pointer);border:0;font-weight:400}
.gaceta .preg label:hover{background:var(--chip)}
.gaceta .preg input{margin-top:6px;accent-color:var(--night)}
.gaceta .preg.bien label.sel{background:var(--okbg)}
.gaceta .preg.mal label.sel{background:var(--badbg)}
.gaceta .preg .exp{font-size:14.5px;color:var(--ink2);margin:4px 8px 0;display:none}
.gaceta .preg.bien .exp,.gaceta .preg.mal .exp{display:block}
.gaceta .preg a,.gaceta a{color:var(--night)}
.gaceta .btn-g{font-family:var(--g-sc);font-weight:700;letter-spacing:.1em;font-size:15px;background:var(--night);color:#fff;border:0;padding:11px 18px;border-radius:3px;cursor:var(--cur-mano,pointer)}
.gaceta .cert{margin-top:22px;border:2px solid var(--ink);outline:1px solid var(--ink);outline-offset:4px;padding:26px;text-align:center;background:var(--sheet)}
.gaceta .cert h3{font-family:var(--g-display);font-weight:800;font-size:26px;margin:6px 0}
.gaceta .cert .nom{font-family:var(--g-display);font-style:italic;font-size:30px;border-bottom:1px solid var(--ink);display:inline-block;min-width:60%;padding:0 10px;margin:10px 0}
.gaceta .cert input{font:inherit;padding:8px 10px;border:1px solid var(--rule);background:#fff;color:var(--ink);border-radius:3px;width:min(340px,100%)}
.gaceta .cod{font-family:var(--g-mono);font-size:12px;color:var(--ink2)}
body.juego{background:transparent}
body.juego .gaceta-wrap{padding:0;max-width:none}
body.juego .gaceta .hoja{border-radius:0;box-shadow:none;min-height:100vh}
@media (max-width:900px){
  .gaceta .layout{grid-template-columns:1fr;gap:14px}
  .gaceta nav.indice{position:static;max-height:none}
  .gaceta .indice details{border:1px solid var(--rule);padding:10px 12px;border-radius:3px}
  .gaceta .indice summary{display:block;cursor:var(--cur-mano,pointer);font-family:var(--g-sc);letter-spacing:.14em}
  .gaceta .indice h2{display:none}
  .gaceta .mast{grid-template-columns:auto 1fr;gap:14px}
  .gaceta .num0{grid-column:1/-1;text-align:center}
  .gaceta .seal{width:60px;height:60px}
  .gaceta .mast-title{text-align:left}
  .gaceta .ej{grid-template-columns:1fr}
}

/* Modo nocturno de lectura (por defecto). Con el modo claro vuelve el papel. */
:root:not([data-theme="light"]) .gaceta{
  --paper:#0d1430; --sheet:#111a36; --ink:#e6e9f5; --ink2:#a7aecb; --rule:#2a3560; --rule2:#1d2647;
  --night:#a9beff; --seal:#ff7b8e; --ok:#63d394; --okbg:#12301f; --bad:#ff8a9c; --badbg:#3a1520;
  --hl:rgba(241,196,81,.32); --chip:#1c2545; --g1:#7fc79a; --g2:#f1c451; --g3:#ff7b8e; --g4:#ff9fb0;
  color-scheme:dark;
}
:root:not([data-theme="light"]) .gaceta .hoja{box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px #1f2b55}
.gaceta .bar input,.gaceta .bar button,.gaceta .cert input{background:var(--sheet);color:var(--ink)}
/* overflow:clip en vez de hidden: así el índice y el buscador pueden quedarse pegados al bajar */
.gaceta .hoja{overflow:clip}
.gaceta nav.indice{scrollbar-width:thin}
.gaceta .indice a{transition:background .2s,color .2s}
.gaceta .indice a.on{background:var(--chip);box-shadow:inset 3px 0 0 var(--seal)}
.gaceta .indice a.on span:last-child{font-weight:600}
.gaceta .indice .actual{display:block;font-family:var(--g-mono);font-size:11px;color:var(--ink2);margin:10px 6px 0}
@media (max-width:900px){
  .gaceta nav.indice{position:sticky;top:122px;z-index:9;background:var(--sheet);padding-block:4px}
  .gaceta .indice details:not([open]) summary::after{content:attr(data-actual);display:block;font-family:var(--g-mono);font-size:11px;color:var(--ink2);letter-spacing:0;margin-top:2px}
  .gaceta .indice details[open] ol{max-height:60vh;overflow:auto}
}
