/* settings */
:root{
  --papel:#fbf7ec;
  --papel-hondo:#f3ecd9;
  --cuadricula:rgba(18,40,76,.07);
  --tinta:#12284c;
  --tinta-suave:#43506a;
  --lapiz:#c8322f;
  --grafito:#6b7280;
  --raya:#cfc3a3;
  --blanco-hoja:#fffdf6;
  --sombra:0 1px 0 rgba(18,40,76,.08),0 6px 18px -10px rgba(18,40,76,.35);
  --f-titulo:"Arvo",Georgia,serif;
  --f-texto:"Maven Pro",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ancho-max:1220px;
}

/* generic */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background-color:var(--papel);
  background-image:
    linear-gradient(var(--cuadricula) 1px,transparent 1px),
    linear-gradient(90deg,var(--cuadricula) 1px,transparent 1px);
  background-size:28px 28px;
  color:var(--tinta);
  font:400 17px/1.62 var(--f-texto);
  overflow-x:hidden;
}
img,svg{max-width:100%;height:auto}

/* elements */
h1,h2,h3{font-family:var(--f-titulo);line-height:1.22;color:var(--tinta);margin:0 0 .55em}
h1{font-size:clamp(1.65rem,1.2rem + 2vw,2.45rem);font-weight:700}
h2{font-size:clamp(1.3rem,1.1rem + .9vw,1.6rem);margin-top:1.9em;padding-top:.5em;border-top:2px dashed var(--raya)}
h3{font-size:1.12rem;margin-top:1.4em}
p{margin:0 0 1em}
a{color:var(--tinta);text-decoration-color:var(--lapiz);text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--lapiz)}
ul,ol{padding-left:1.25em;margin:0 0 1em}
li{margin-bottom:.35em}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th,td{padding:.42em .55em;text-align:left;border:1px solid var(--raya)}
th{font-family:var(--f-titulo);font-size:.82rem;font-weight:700;background:var(--papel-hondo);letter-spacing:.02em}
td{background:var(--blanco-hoja);font-size:.95rem}
caption{caption-side:bottom;text-align:left;font-size:.82rem;color:var(--grafito);padding-top:.45em;line-height:1.4}
summary{cursor:pointer}

/* objects */
.o-cuartilla{width:100%;max-width:var(--ancho-max);margin-inline:auto;padding-inline:20px}
.o-rejilla-hoja{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding-block:26px 48px}
@media (min-width:1080px){
  .o-rejilla-hoja{grid-template-columns:minmax(0,1fr) 290px;gap:44px}
}
.o-desliz{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 1.4em;border-radius:4px}
.o-desliz table{min-width:520px}
.o-desliz--corta table{min-width:0}

/* components: portadilla (cabecera) */
.c-portadilla{position:sticky;top:0;z-index:30;background:var(--tinta);color:#fff;border-bottom:4px solid var(--lapiz)}
.c-portadilla__fila{display:flex;align-items:center;gap:18px;min-height:64px}
.c-portadilla__firma{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;margin-right:auto}
.c-portadilla__firma:hover{color:#fff}
.c-portadilla__nombre{font-family:var(--f-titulo);font-weight:700;font-size:1.08rem;line-height:1.1}
.c-portadilla__lema{display:block;font-family:var(--f-texto);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.78}
.c-palanca{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:6px;background:transparent;color:#fff;cursor:pointer}
.c-palanca span,.c-palanca span::before,.c-palanca span::after{display:block;width:20px;height:2px;background:#fff;position:relative;content:""}
.c-palanca span::before{position:absolute;top:-6px}
.c-palanca span::after{position:absolute;top:6px}

/* off-canvas: c-cajon */
.c-cajon{position:fixed;top:0;right:0;bottom:0;width:min(84vw,330px);background:var(--blanco-hoja);color:var(--tinta);transform:translateX(105%);transition:transform .28s ease;z-index:50;padding:22px 22px 30px;overflow-y:auto;box-shadow:-10px 0 30px rgba(0,0,0,.25)}
.c-cajon.is-abierto{transform:none}
.c-cajon__cierre{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-family:var(--f-titulo);font-weight:700}
.c-cajon__cierre button{background:none;border:1px solid var(--raya);border-radius:6px;width:40px;height:40px;font-size:1.3rem;color:var(--tinta);cursor:pointer}
.c-cajon__renglones{list-style:none;margin:0;padding:0}
.c-cajon__renglones li{margin:0;border-bottom:1px dashed var(--raya)}
.c-cajon__renglones a{display:block;padding:.7em 0;text-decoration:none;font-weight:500}
.c-cajon__renglones a[aria-current="page"]{color:var(--lapiz)}
.c-velo-hoja{position:fixed;inset:0;background:rgba(18,40,76,.45);opacity:0;pointer-events:none;transition:opacity .25s;z-index:29}
.c-velo-hoja.is-abierto{opacity:1;pointer-events:auto}
@media (min-width:1080px){
  .c-palanca,.c-cajon__cierre,.c-velo-hoja{display:none}
  .c-cajon{position:static;transform:none;width:auto;background:none;color:#fff;padding:0;box-shadow:none;overflow:visible}
  .c-cajon__renglones{display:flex;gap:4px}
  .c-cajon__renglones li{border:0}
  .c-cajon__renglones a{color:#fff;padding:.45em .7em;border-radius:4px;font-size:.93rem}
  .c-cajon__renglones a:hover{background:rgba(255,255,255,.12);color:#fff}
  .c-cajon__renglones a[aria-current="page"]{color:#fff;box-shadow:inset 0 -3px 0 var(--lapiz)}
  .c-cajon .c-pase{display:none}
}

/* CTA */
.c-pase{display:inline-flex;align-items:center;gap:8px;padding:.62em 1.05em;border:2px solid var(--lapiz);border-radius:3px;background:var(--lapiz);color:#fff;font-weight:700;font-size:.93rem;text-decoration:none;line-height:1.2}
.c-pase:hover{background:#a7231f;border-color:#a7231f;color:#fff}
.c-pase--trazo{background:transparent;color:var(--lapiz)}
.c-pase--trazo:hover{background:var(--lapiz);color:#fff}
.c-portadilla .c-pase--cabeza{display:none}
@media (min-width:1080px){.c-portadilla .c-pase--cabeza{display:inline-flex}}

/* folio (contenido) */
.c-folio{background:var(--blanco-hoja);border:1px solid var(--raya);border-left:6px double var(--lapiz);box-shadow:var(--sombra);padding:26px 22px 30px;min-width:0}
@media (min-width:700px){.c-folio{padding:38px 46px 44px}}
.c-folio__fecha{font-size:.84rem;color:var(--grafito);margin-bottom:1.2em}
.c-folio__fecha time{font-weight:700;color:var(--tinta-suave)}
.c-folio__entradilla{font-size:1.08rem;border-left:3px solid var(--tinta);padding-left:14px}
.c-folio__guia{background:var(--papel);border:1px dashed var(--raya);padding:14px 18px;margin:0 0 1.4em;font-size:.94rem}
.c-folio__guia ol{margin:0;columns:2;column-gap:28px}
@media (max-width:600px){.c-folio__guia ol{columns:1}}
.c-folio__llamado{margin:1.6em 0;padding:16px 18px;background:var(--papel);border:1px solid var(--raya);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.c-folio__llamado p{margin:0;flex:1 1 260px;font-size:.95rem}

/* pizarra: line score */
.c-pizarra{margin:0 0 1.5em}
.c-pizarra table{min-width:540px}
.c-pizarra th,.c-pizarra td{text-align:center;padding:.36em .3em}
.c-pizarra th:first-child,.c-pizarra td:first-child{text-align:left;padding-left:.6em;width:5.5em}
.c-pizarra__total{font-weight:700;background:var(--papel-hondo)}
.c-pizarra__ganador td:first-child{color:var(--lapiz);font-weight:700}
.c-pizarra__creditos{font-size:.85rem;color:var(--tinta-suave);margin:.35em 0 0}

/* rayitas decor + rombo */
.c-rayitas{display:inline-block;height:14px;width:42px;background:repeating-linear-gradient(90deg,var(--lapiz) 0 2px,transparent 2px 8px);transform:skewX(-12deg);vertical-align:middle;margin-right:8px}
.c-rombo-portada{display:block;margin:0 auto 1.2em;max-width:260px}

/* casillero (tabla de datos) */
.c-casillero td.u-tabulado,.c-casillero th.u-tabulado{text-align:right}
.c-casillero tr:nth-child(even) td{background:#fbf6e8}
.c-casillero__lider td{font-weight:700}

/* preguntas */
.c-preguntas details{border:1px solid var(--raya);background:var(--papel);margin-bottom:10px;border-radius:3px}
.c-preguntas summary{padding:12px 16px;font-family:var(--f-titulo);font-weight:700;font-size:1rem;list-style:none;position:relative;padding-right:40px}
.c-preguntas summary::-webkit-details-marker{display:none}
.c-preguntas summary::after{content:"+";position:absolute;right:16px;top:9px;font-size:1.3rem;color:var(--lapiz)}
.c-preguntas details[open] summary::after{content:"–"}
.c-preguntas details p{padding:0 16px 14px;margin:0}

/* margen (aside) */
.c-apostilla{display:flex;flex-direction:column;gap:18px;min-width:0}
.c-apostilla__nota{background:var(--blanco-hoja);border:1px solid var(--raya);border-top:4px solid var(--tinta);padding:16px 18px;font-size:.92rem;box-shadow:var(--sombra)}
.c-apostilla__titulo{font-family:var(--f-titulo);font-weight:700;font-size:1rem;margin:0 0 .5em}
.c-apostilla__nota ul{margin:0;padding-left:1.1em}
.c-apostilla__nota p:last-child{margin-bottom:0}
@media (min-width:1080px){.c-apostilla{position:sticky;top:90px;align-self:start}}

/* aviso de juego responsable */
.c-aviso-mayores{border:2px solid var(--tinta);background:var(--papel);padding:14px 18px;font-size:.93rem;margin-top:1.6em}
.c-aviso-mayores strong{color:var(--lapiz)}

/* pie */
.c-pie-hoja{background:var(--tinta);color:#e6e9f0;font-size:.9rem;padding:34px 0 26px;border-top:4px solid var(--lapiz)}
.c-pie-hoja a{color:#fff}
.c-pie-hoja__cols{display:grid;gap:22px;grid-template-columns:1fr}
@media (min-width:760px){.c-pie-hoja__cols{grid-template-columns:1.3fr 1fr 1fr}}
.c-pie-hoja__titulo{color:#fff;font-family:var(--f-titulo);font-weight:700;font-size:1rem;margin:0 0 .6em}
.c-pie-hoja ul{list-style:none;padding:0;margin:0}
.c-pie-hoja__linea{border-top:1px solid rgba(255,255,255,.18);margin-top:24px;padding-top:16px;font-size:.82rem;opacity:.85}

/* 404 */
.c-casilla-vacia{text-align:center;padding:60px 20px 70px}
.c-casilla-vacia__k{font-family:var(--f-titulo);font-size:6rem;line-height:1;color:var(--lapiz);transform:scaleX(-1);display:inline-block}
.c-casilla-vacia ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.c-casilla-vacia li a{display:inline-block;padding:.5em .9em;border:1px solid var(--raya);background:var(--blanco-hoja);text-decoration:none}

/* utilities */
.u-tabulado{text-align:right}
.u-solo-lector{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.u-lapiz{color:var(--lapiz)}
.u-sin-margen{margin:0}
body.is-cajon-fijo{overflow:hidden}
code{font-size:.9em;background:var(--papel-hondo);padding:.1em .35em;border-radius:3px;word-break:break-all}
.c-casilla-vacia{margin-block:40px 56px}
.o-desliz caption{position:sticky;left:0;max-width:calc(100vw - 92px)}
@media (min-width:700px){.o-desliz caption{max-width:none;position:static}}
