/* festivoshoy — piel «agenda de bolsillo»: azul noche, verde «libre», ámbar «solo en parte». Sin rojo (en el
   portafolio el rojo es peligro) y sin letras web (parpadeo cero). Si cambia un fondo, cambiar también el
   anti-parpadeo y el theme-color de src/layout.mjs. */
:root{
  --bg:#f3f5f8;--sup:#ffffff;--sup2:#eef1f6;--tinta:#13203a;--suave:#56627a;--linea:#dbe1ea;--acento:#24539f;--acento-t:#ffffff;
  --libre:#17714a;--libre-bg:#e2f3ea;--libre-borde:#9fd3b6;--parcial:#8a5300;--parcial-bg:#fdf0d8;--parcial-borde:#efc77d;
  --finde:#56627a;--finde-bg:#eceff4;--anillo:#13203a;--sombra:0 1px 2px rgba(19,32,58,.06),0 4px 14px rgba(19,32,58,.06);
  --r:12px;--fs:17px;--ancho:1120px;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
}
html.dark{
  --bg:#0e1420;--sup:#151d2c;--sup2:#1b2536;--tinta:#e7ecf4;--suave:#a1acbf;--linea:#2a3549;--acento:#8db3f0;--acento-t:#0e1420;
  --libre:#6fd7a2;--libre-bg:#123123;--libre-borde:#24603f;--parcial:#f2bb5c;--parcial-bg:#3a2a0d;--parcial-borde:#6c4f17;
  --finde:#a1acbf;--finde-bg:#1d2637;--anillo:#e7ecf4;--sombra:none;
}
html[data-fs="s"]{--fs:15.5px}html[data-fs="l"]{--fs:19.5px}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);color:var(--tinta);-webkit-text-size-adjust:100%}
body{margin:0;font:400 var(--fs)/1.55 var(--sans);background:var(--bg);color:var(--tinta);overflow-wrap:anywhere}
a{color:var(--acento);text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--acento);outline-offset:2px;border-radius:4px}
.in{max-width:var(--ancho);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:8px;background:var(--sup);padding:8px 12px;z-index:9;border-radius:8px}
h1,h2,h3{line-height:1.2;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(1.55rem,1.1rem + 1.9vw,2.25rem);font-weight:800}
h2{font-size:clamp(1.22rem,1.05rem + .8vw,1.5rem);font-weight:750;margin-top:1.6em}
h3{font-size:1.06rem;font-weight:700}
p{margin:0 0 .8em}
.num,time,td.n{font-variant-numeric:tabular-nums}

/* Cabecera */
header.site{background:var(--sup);border-bottom:1px solid var(--linea)}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.logo{display:flex;align-items:center;gap:10px;color:var(--tinta);text-decoration:none;min-width:0}
.logo svg{width:36px;height:36px;flex:none}
.wordmark{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.wordmark b{font-size:1.18rem;font-weight:800;letter-spacing:-.02em}
.wordmark small{font-size:.78rem;color:var(--suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tools{display:flex;gap:6px;align-items:center;flex:none}
.tools button{font:600 .82rem/1 var(--sans);color:var(--tinta);background:var(--sup2);border:1px solid var(--linea);border-radius:8px;min-width:34px;height:34px;padding:0 8px;cursor:pointer}
.tools .fs{display:flex;gap:4px}
.tools .theme svg{width:15px;height:15px;vertical-align:-3px}
.tools .theme span{margin-left:5px}
.gnav ul{list-style:none;display:flex;gap:4px 18px;flex-wrap:wrap;margin:0 auto;padding:4px 16px 8px}
.gnav a{display:inline-block;padding:6px 0;color:var(--suave);text-decoration:none;font-weight:600;font-size:.92rem}
.gnav a[aria-current="page"]{color:var(--tinta);box-shadow:inset 0 -2px 0 var(--acento)}
.noofi{margin:0;background:var(--sup2);border-top:1px solid var(--linea);font-size:.8rem;color:var(--suave)}
.noofi .in{display:block;padding-top:6px;padding-bottom:6px}
.noofi b{color:var(--tinta);font-weight:700;margin-right:6px}

main.page{padding-top:20px;padding-bottom:40px}
.migas ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0 0 12px;padding:0;font-size:.85rem;color:var(--suave)}
.migas li+li::before{content:"›";margin:0 6px 0 2px;color:var(--suave)}
.h1-hoy{font-size:clamp(1.2rem,1.05rem + .7vw,1.45rem);margin:0 0 10px}
.bajada{font-size:1.05rem;color:var(--suave);max-width:60ch}

/* Respuesta grande: ¿es festivo hoy? */
.dia{display:none}
.respuesta{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.hoja{background:var(--sup);border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sombra);overflow:hidden}
.hoja-cab{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--anillo);color:var(--bg);font-weight:700;font-size:.9rem}
.hoja-cab .aros{display:flex;gap:10px;margin-left:auto}
.hoja-cab .aros i{width:9px;height:9px;border-radius:50%;background:var(--bg);opacity:.9}
.hoja-cuerpo{padding:16px 18px 18px}
.pregunta{font-size:.95rem;font-weight:700;color:var(--suave);margin:0 0 2px}
.veredicto{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 6px}
.veredicto .si,.veredicto .no{font-size:clamp(2.6rem,1.9rem + 3.2vw,3.6rem);font-weight:850;line-height:1;letter-spacing:-.03em}
.veredicto .si{color:var(--libre)}
.veredicto .no{color:var(--tinta)}
.veredicto .cuando{font-size:1.05rem;font-weight:650}
.explica{font-size:1.04rem;margin:6px 0 0;max-width:62ch}
.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 10px;font-size:.82rem;font-weight:700;border:1px solid}
.chip.libre{color:var(--libre);background:var(--libre-bg);border-color:var(--libre-borde)}
.chip.parcial{color:var(--parcial);background:var(--parcial-bg);border-color:var(--parcial-borde)}
.chip.finde{color:var(--finde);background:var(--finde-bg);border-color:var(--linea)}

.proximo{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px dashed var(--linea)}
.cuenta{grid-row:span 2;align-self:start;text-align:center;min-width:76px;border:1px solid var(--linea);border-radius:10px;padding:6px 8px;background:var(--sup2)}
.cuenta b{display:block;font-size:1.7rem;line-height:1.05;font-weight:850}
.cuenta small{font-size:.75rem;color:var(--suave)}
.proximo .que{font-weight:700}
.proximo .que,.proximo .donde{margin:0}
.proximo .donde{font-size:.92rem;color:var(--suave)}
.donde-todos{margin:10px 0 0;font-size:.92rem}

/* Lista de territorios: el estado a la derecha de cada fila (donde mira el ojo). */
.terr{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.terr li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--linea);min-height:44px}
.terr .t{font-weight:650}
.terr .t a{color:var(--tinta)}
.terr .e{text-align:right;font-size:.88rem;color:var(--suave)}
.terr .e.libre{color:var(--libre);font-weight:700}
.terr .e small{display:block;font-weight:500;color:var(--suave);font-size:.8rem}
.lista-tit{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 6px}
.lista-tit h2{margin:0;font-size:1.1rem}
.lista-tit span{font-size:.82rem;color:var(--suave)}

/* Tarjetas, puentes, tablas */
.tarjetas{display:grid;gap:12px;align-items:start;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:12px 0}
.tarjeta{background:var(--sup);border:1px solid var(--linea);border-radius:var(--r);padding:14px 16px;box-shadow:var(--sombra)}
.tarjeta h3{margin:0 0 4px}
.tarjeta .rango{font-size:1.25rem;font-weight:800;margin:0 0 2px}
.tarjeta p{margin:0 0 6px;font-size:.95rem}
.tarjeta .quien{font-size:.88rem;color:var(--suave)}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:14px 0}
.cifra{background:var(--sup);border:1px solid var(--linea);border-radius:10px;padding:10px 12px}
.cifra b{display:block;font-size:1.6rem;font-weight:850;line-height:1.1}
.cifra span{font-size:.85rem;color:var(--suave)}
.tabla-env{overflow-x:auto;border:1px solid var(--linea);border-radius:var(--r);background:var(--sup);margin:12px 0}
table{border-collapse:collapse;width:100%;font-size:.93rem}
th,td{padding:8px 10px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}
th{background:var(--sup2);font-weight:700;font-size:.85rem;color:var(--suave)}
tr:last-child td{border-bottom:0}
td.fecha{white-space:nowrap;font-weight:700}
.aviso{border-left:4px solid var(--parcial-borde);background:var(--parcial-bg);color:var(--tinta);padding:10px 14px;border-radius:0 10px 10px 0;margin:14px 0;font-size:.95rem}
.nota{font-size:.88rem;color:var(--suave)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:10px;background:var(--acento);color:var(--acento-t);font-weight:700;text-decoration:none}
.enlaces{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}

/* Agenda: el día grande a la izquierda */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.agenda{list-style:none;margin:12px 0;padding:0;background:var(--sup);border:1px solid var(--linea);border-radius:var(--r)}
.agenda li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--linea)}
.agenda li:last-child{border-bottom:0}
.agenda .f{display:flex;flex-direction:column;align-items:center;border:1px solid var(--linea);border-radius:9px;background:var(--sup2);padding:3px 0;line-height:1.05}
.agenda .f b{font-size:1.4rem;font-weight:850}
.agenda .f small{font-size:.7rem;color:var(--suave);text-transform:uppercase;letter-spacing:.04em}
.agenda .q{font-weight:700;margin:0}
.agenda .d{font-size:.9rem;color:var(--suave);margin:2px 0 0}
.porterr{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.porterr li{background:var(--sup);border:1px solid var(--linea);border-radius:10px;padding:10px 14px}
.porterr .q{font-weight:700;margin:0 0 4px;display:flex;justify-content:space-between;gap:8px;align-items:center}
.porterr .d{font-size:.9rem;color:var(--suave);margin:0}

/* Fuentes y FAQ */
.fuentes{margin-top:28px;background:var(--sup);border:1px solid var(--linea);border-radius:var(--r);padding:12px 16px;font-size:.9rem}
.fuentes h2{font-size:1rem;margin:0 0 6px}
.fuentes ul{margin:0 0 6px;padding-left:18px}
.fuentes .rev{color:var(--suave);margin:0}
.faq details{background:var(--sup);border:1px solid var(--linea);border-radius:10px;margin:8px 0;padding:0 14px}
.faq summary{cursor:pointer;font-weight:700;padding:12px 0;min-height:44px}
.faq .faq-a{padding:0 0 10px}

/* Pie */
.foot{border-top:1px solid var(--linea);background:var(--sup);font-size:.88rem;color:var(--suave);padding:20px 0 28px}
.foot ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;padding:0;margin:10px 0}
.foot a{color:var(--suave)}
.ext::after{content:"↗";font-size:.8em;margin-left:2px}

@media (min-width:900px){
  .respuesta{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}
}
@media (max-width:420px){
  .tools .theme span{display:none}
  .wordmark small{display:none}
}
@media print{header.site,.foot,.tools{display:none}body{background:#fff;color:#000}}
