/* Fantasmas en la imagen. Hereda la paleta de site.css (tema de lectura). */

/* Colores fijos de las marcas, legibles sobre la imagen gris; cada ojo lleva además su forma. */
#fantasmas { --m-real: #ffffff; --m-crudo: #4da3ff; --m-mediana: #19d3a2; --m-qwen: #ff9a3c; --m-gemma: #ff5c8a; }

.cifras { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; margin: 22px 0 6px; }
.cifra .k { font-family: var(--mono); font-size: 11.5px; letter-spacing: .1em; color: var(--suave); }
.cifra .v { font-family: var(--mono); font-size: 24px; color: var(--texto); margin-top: 4px; }
.cifra .v small, .cifra .s { font-size: 13px; color: var(--suave); }
.cifra .s { font-family: var(--mono); }

.resultado { border: 1px solid var(--azul); border-radius: 6px; padding: 18px 20px; margin: 18px 0 26px; }
.elegir .fila { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 10px; }
.elegir .k { font-family: var(--mono); font-size: 11.5px; letter-spacing: .1em; color: var(--suave); min-width: 92px; }
.botones { display: flex; flex-wrap: wrap; gap: 6px; }
.botones button, .acercar button {
  font-family: var(--mono); font-size: 13px; color: var(--suave); background: transparent;
  border: 1px solid var(--borde); border-radius: 4px; padding: 7px 11px; cursor: pointer;
}
.botones button[aria-pressed="true"] { color: var(--texto); border-color: var(--azul); }
.botones button:focus-visible, .acercar button:focus-visible { outline: 2px solid var(--azul); outline-offset: 2px; }
.acercar { margin: 8px 0 0; }
.resumen { font-size: 15px; color: var(--suave); margin: 4px 0 14px; max-width: 72ch; }

.leyenda { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--suave); margin-bottom: 8px; }
.leyenda span { display: inline-flex; align-items: center; gap: 6px; }
.leyenda svg { width: 16px; height: 16px; background: #3c3c3c; border-radius: 2px; }

.vista { background: #000; border-radius: 4px; overflow: hidden; }
#cuadro { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; image-rendering: pixelated; }
.marcas { filter: drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000); }
.marcas * { stroke-linecap: round; }
.m-real, .m-real * { stroke: var(--m-real); }
.m-crudo * { stroke: var(--m-crudo); }
.m-mediana * { stroke: var(--m-mediana); }
.m-qwen *, .marcas .recuadro { stroke: var(--m-qwen); }
.marcas .recuadro { stroke-dasharray: 3 2; opacity: .9; }
.m-gemma * { stroke: var(--m-gemma); }

.tabla-env { overflow-x: auto; margin-top: 14px; }
#tabla, .tabla { border-collapse: collapse; font-size: 13.5px; width: 100%; }
#tabla th, .tabla th { font-family: var(--mono); font-size: 11.5px; letter-spacing: .08em; color: var(--suave); font-weight: normal; text-align: left; padding: 6px 12px 6px 0; border-bottom: 1px solid var(--borde); }
#tabla td, .tabla td { padding: 6px 12px 6px 0; border-bottom: 1px solid var(--borde); vertical-align: top; }
td.num { font-family: var(--mono); white-space: nowrap; }
td small { color: var(--suave); font-size: 11.5px; }
.tabla tr.elegida td { background: rgba(47, 127, 224, .10); }
#casos tbody tr { cursor: pointer; }
#casos tbody tr:hover td { background: rgba(255, 255, 255, .04); }
#casos tbody tr:focus-visible { outline: 2px solid var(--azul); outline-offset: -2px; }
.punto { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 8px; vertical-align: 0; }
.punto[data-ojo="real"] { background: var(--m-real); }
.punto[data-ojo="crudo"] { background: var(--m-crudo); }
.punto[data-ojo="mediana"] { background: var(--m-mediana); }
.punto[data-ojo="qwen"] { background: var(--m-qwen); }
.punto[data-ojo="gemma"] { background: var(--m-gemma); }

.detalle { font-size: 14.5px; margin: 12px 0 4px; padding: 6px 12px; border-left: 2px solid var(--borde); color: var(--suave); }
.detalle p + p { margin-top: 4px; }
.respuestas details { margin-top: 10px; font-size: 14px; }
.respuestas summary { cursor: pointer; color: var(--suave); font-family: var(--mono); font-size: 12.5px; }
.respuestas pre {
  font-family: var(--mono); font-size: 12px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere;
  background: rgba(255,255,255,.03); border-radius: 4px; padding: 10px 12px; margin-top: 6px; max-height: 260px; overflow-y: auto;
}
.hallazgos { margin: 8px 0 18px 20px; }
.hallazgos li { margin: 8px 0; }

@media (max-width: 560px) {
  .resultado { padding: 14px 12px; }
  .elegir .k { min-width: 0; width: 100%; }
}

/* nota.css no parte las tablas; aquí el nombre de cada ojo sí se parte en el teléfono */
#fantasmas table { display: table; margin: 0; }
#fantasmas td, #fantasmas th { white-space: normal; }
#fantasmas td.num { white-space: nowrap; }
#tabla td:first-child, .tabla td:first-child { min-width: 8em; }
.detalle { font-family: var(--serif); }
@media (max-width: 560px) {
  #tabla, .tabla { font-size: 12.5px; }
  #fantasmas td.num { white-space: normal; }
}
.respuestas .cortada { font-size: 12.5px; color: var(--suave); margin-top: 4px; }
