.ks{--rojo:#d90000;--rojo2:#b00000;--negro:#111;--gris:#6b6b6b;--gris2:#9a9a9a;--borde:#e6e6e6;--suave:#f6f6f6;--amarillo:#ffd200;--verde:#18a957;max-width:1100px;margin:0 auto;color:var(--negro)}
.ks *{box-sizing:border-box}
.ks a{color:inherit}
.ks .flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;margin-right:.35em;font-weight:400}
/* Cabecera */
.ks-cab{background:#0b0b0b;color:#fff;border-radius:16px;padding:1.6em 1.6em 1.4em;position:relative;overflow:hidden}
.ks-cab::after{content:"";position:absolute;right:-120px;top:-80px;width:420px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgba(217,0,0,.55),rgba(217,0,0,0));pointer-events:none}
.ks-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:1em;margin-bottom:.4em}
.ks-logo{display:block;height:84px;width:auto;max-width:48%;object-fit:contain;object-position:right top}
@media (max-width:600px){.ks-logo{height:54px}}
.ks-volver{display:inline-block;color:#bbb!important;text-decoration:none;font-size:.9em;margin-bottom:.8em}
.ks-volver:hover{color:#fff!important}
.ks-et{display:inline-block;background:var(--rojo);color:#fff;font-weight:800;font-size:.78em;letter-spacing:.06em;text-transform:uppercase;padding:.25em .7em;border-radius:6px;margin-bottom:.6em}
.ks-cab h1{margin:0;font-size:clamp(1.9em,5vw,3em);line-height:1.05;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;color:#fff}
.ks-cab h1 span{color:var(--amarillo)}
.ks-sub{margin:.6em 0 0;color:#ddd;font-size:1.02em}
.ks-sel{position:relative;z-index:1;margin-top:1.1em;display:flex;gap:.6em;flex-wrap:wrap;align-items:center}
.ks-sel label{font-size:.85em;color:#bbb}
.ks-sel select{max-width:100%;padding:.55em .8em;border-radius:8px;border:1px solid #444;background:#1b1b1b;color:#fff;font-size:.95em}
/* Tarjetas */
.ks-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8em;margin:1.2em 0}
.ks-kpi{border:1px solid var(--borde);border-radius:12px;padding:.8em 1em;background:#fff}
.ks-kpi b{display:block;font-size:1.7em;line-height:1.1;font-weight:900}
.ks-kpi b.r{color:var(--rojo)}
.ks-kpi span{font-size:.82em;color:var(--gris)}
.ks-kpi a{text-decoration:underline;text-decoration-color:var(--rojo);text-underline-offset:3px}
/* Secciones */
.ks-sec{border:1px solid var(--borde);border-radius:14px;padding:1.2em 1.3em;margin:1.2em 0;background:#fff}
.ks-sec h2{margin:0 0 .2em;font-size:1.35em;font-weight:900;text-transform:uppercase;letter-spacing:-.005em}
.ks-sec h2 span{color:var(--rojo)}
.ks-ayuda{color:var(--gris);font-size:.9em;margin:0 0 1em}
.ks-dos{display:grid;grid-template-columns:1fr 1fr;gap:1.4em}
@media (max-width:760px){.ks-dos{grid-template-columns:1fr}}
/* Reparto */
.ks-sexo h3{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 .3em;font-size:1.1em;text-transform:uppercase;font-weight:900}
.ks-sexo h3 b{font-size:1.9em;color:var(--rojo);line-height:1}
.ks-sexo h3 small{font-size:.5em;color:var(--negro);font-weight:700}
.ks-etqs{display:flex;gap:.4em;flex-wrap:wrap;margin-bottom:.7em}
.ks-etq{font-size:.78em;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:.2em .55em;border-radius:5px}
.ks-etq.d{background:var(--rojo);color:#fff}.ks-etq.t{background:var(--amarillo);color:var(--negro)}
.ks-fila{display:grid;grid-template-columns:7.5em 1fr 3.8em;gap:.6em;align-items:center;margin:.35em 0;font-size:.92em}
.ks-pista{height:14px;background:var(--suave);border-radius:7px;overflow:hidden}
.ks-pista i{display:block;height:100%;border-radius:7px}
.ks-fila .v{text-align:right;font-weight:800}
.ks-datos{display:flex;flex-direction:column;gap:.15em;font-size:.88em;color:#333;margin:0 0 .6em}
.ks-datos b{font-weight:800}
.ks-pais{display:block;font-size:.78em;color:var(--gris);font-weight:500;margin-top:.1em}
.ks-corte{margin-top:.8em;padding:.6em .8em;background:#fffbe6;border:1px solid #f3e19a;border-radius:9px;font-size:.9em}
.ks-corte b{font-size:1.1em}
details.ks-como{margin-top:1em;font-size:.9em}
details.ks-como summary{cursor:pointer;font-weight:700;color:var(--rojo)}
details.ks-como p{margin:.5em 0;color:#333;line-height:1.5}
.ks-sim{display:inline-flex;align-items:center;gap:.4em;margin-top:.6em;font-size:.88em;color:var(--gris)}
.ks-sim input{width:5em;padding:.3em .4em;border:1px solid var(--borde);border-radius:6px}
/* Grupos de edad */
.ks-leyenda{display:flex;gap:1.2em;font-size:.85em;font-weight:700;margin-bottom:.6em}
.ks-leyenda i{display:inline-block;width:14px;height:10px;border-radius:3px;margin-right:.4em}
.ks-ag{display:grid;grid-template-columns:4.2em 1fr 1.8em;gap:.5em;align-items:center;margin:.22em 0;font-size:.88em}
.ks-ag .b{display:flex;height:13px;background:var(--suave);border-radius:4px;overflow:hidden}
.ks-ag .b i.d{background:var(--rojo)}.ks-ag .b i.t{background:var(--amarillo)}
.ks-ag .n{text-align:right;font-weight:800}.ks-ag .n.cero{color:var(--gris2);font-weight:500}
/* Calculadora */
.ks-calc{display:flex;gap:.6em;flex-wrap:wrap;align-items:flex-end}
.ks-calc label{display:flex;flex-direction:column;font-size:.82em;color:var(--gris);gap:.25em}
.ks-calc input,.ks-calc select{padding:.55em .7em;border:2px solid var(--negro);border-radius:8px;font-size:1em;min-width:7em}
.ks-calc button{padding:.65em 1.2em;background:var(--rojo);color:#fff;border:0;border-radius:8px;font-weight:800;font-size:1em;cursor:pointer}
.ks-calc button:hover{background:var(--rojo2)}
.ks-res{margin-top:1em;display:none;border-left:5px solid var(--rojo);background:var(--suave);border-radius:8px;padding:.8em 1em;line-height:1.55}
.ks-res b{font-weight:900}
/* Tabla */
.ks-barra{display:flex;gap:.5em;flex-wrap:wrap;align-items:center;margin-bottom:.8em;position:sticky;top:0;z-index:5;background:#fff;padding:.5em 0}
.ks-barra input[type=search]{flex:1;min-width:12em;padding:.6em .8em;border:2px solid var(--negro);border-radius:8px;font-size:1em}
.ks-barra select{padding:.55em .6em;border:1px solid var(--borde);border-radius:8px}
.ks-chip{padding:.45em .9em;border:1px solid var(--borde);border-radius:999px;background:#fff;cursor:pointer;font-size:.88em;font-weight:700}
.ks-chip.on{background:var(--negro);border-color:var(--negro);color:#fff}
.ks-cuenta{font-size:.88em;color:var(--gris);margin:.2em 0 .6em}
.ks-tabla{overflow-x:auto}
.ks table{width:100%;border-collapse:collapse;font-size:.9em}
.ks th{text-align:right;font-size:.75em;text-transform:uppercase;letter-spacing:.03em;color:var(--gris);border-bottom:2px solid var(--negro);padding:.45em .5em;white-space:nowrap;cursor:pointer;user-select:none}
.ks th.izq,.ks td.izq{text-align:left}
.ks th.orden::after{content:" ▲";color:var(--rojo)}.ks th.orden.desc::after{content:" ▼"}
.ks td{text-align:right;padding:.5em .5em;border-bottom:1px solid var(--borde);white-space:nowrap;font-variant-numeric:tabular-nums}
.ks td.at a{font-weight:700;text-decoration:underline dotted;text-underline-offset:3px}
.ks tr.directo td{background:#fff1f1}.ks tr.tiempo td{background:#fffbe6}
.ks td.cor{font-weight:800}
.ks .sl{display:inline-block;font-size:.78em;font-weight:800;padding:.15em .5em;border-radius:5px;white-space:nowrap}
.ks .sl.directo{background:var(--rojo);color:#fff}.ks .sl.tiempo{background:var(--amarillo);color:var(--negro)}
.ks .sl.no{color:var(--gris2);font-weight:500}
.ks-mas[hidden],.ks-res[hidden]{display:none!important}
.ks-mas{display:block;margin:1em auto 0;padding:.65em 1.4em;border:2px solid var(--negro);background:#fff;border-radius:8px;font-weight:800;cursor:pointer}
.ks-nota{color:var(--gris);font-size:.8em;line-height:1.5;margin-top:1.4em}
@media (max-width:640px){
  .ks-cab{padding:1.2em}
  .ks table,.ks tbody,.ks tr,.ks td{display:block;width:100%}
  .ks thead{display:none}
  .ks tr{border:1px solid var(--borde);border-radius:10px;margin-bottom:.6em;padding:.55em .8em;display:grid!important;grid-template-columns:1fr 1fr;column-gap:1.2em}
  .ks td{border:0;padding:.12em 0;display:flex;justify-content:space-between;gap:.6em;white-space:normal}
  .ks td::before{content:attr(data-l);color:var(--gris);font-size:.85em}
  .ks td.at{grid-column:1/-1;order:-2;display:block;font-size:1.08em;padding-bottom:.3em}
  .ks td.at::before{content:none}
  .ks td[data-l="Pos."]{order:-1}
  .ks tr.directo td,.ks tr.tiempo td{background:transparent}.ks tr.directo{border-left:5px solid var(--rojo)}.ks tr.tiempo{border-left:5px solid var(--amarillo)}
}
