/* Crossword maker (bundle 2A, 2026-10-16). Every rule under #visu-tools.vt-crossword; borders 1px hairline.
 * The sheet options, the result panel and the play panel frame come from css/_puzzle-kit.css. */
#visu-tools.vt-crossword [hidden] { display: none !important; }
#visu-tools.vt-crossword .vt-cw-board:not([hidden]) { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 22px; align-items: start; }
#visu-tools.vt-crossword .vt-cw-gridwrap { overflow-x: auto; max-width: 100%; }
#visu-tools.vt-crossword .vt-cw-grid { display: grid; grid-template-columns: repeat(var(--cols, 10), minmax(22px, 38px)); gap: 0; width: max-content; max-width: 100%; }
#visu-tools.vt-crossword .vt-cw-void { aspect-ratio: 1; }
#visu-tools.vt-crossword .vt-cw-sq { position: relative; aspect-ratio: 1; border: 1px solid var(--vt-ink); margin: 0 -1px -1px 0; background: #fff; }
#visu-tools.vt-crossword .vt-cw-sq.vt-cw-on { background: #e5f4fd; }
#visu-tools.vt-crossword .vt-cw-sq.vt-cw-cur { background: #bfe6fb; }
#visu-tools.vt-crossword .vt-cw-sq.vt-cw-bad input { color: var(--vt-err) !important; }
#visu-tools.vt-crossword .vt-cw-sq.vt-cw-good input { color: var(--vt-ok) !important; }
#visu-tools.vt-crossword .vt-cw-n { position: absolute; top: 1px; left: 2px; font-size: 9px; line-height: 1; font-weight: 650; color: var(--vt-ink); pointer-events: none; }
/* !important: the theme styles bare inputs (border, padding, height). */
#visu-tools.vt-crossword .vt-cw-sq input { width: 100% !important; height: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 6px 0 0 !important; border: 0 !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important; text-align: center; font: 700 clamp(13px, 2.6vw, 19px)/1 inherit !important; text-transform: uppercase; color: var(--vt-ink) !important; caret-color: transparent; }
#visu-tools.vt-crossword .vt-cw-sq input:focus { outline: none; }
#visu-tools.vt-crossword .vt-cw-clues { display: grid; gap: 16px; }
#visu-tools.vt-crossword .vt-cw-list { list-style: none; display: grid; gap: 2px; margin: 6px 0 0; padding: 0; }
#visu-tools.vt-crossword .vt-cw-clue { display: block; width: 100%; min-height: 0 !important; margin: 0 !important; padding: 6px 10px !important; border: 0 !important; border-radius: 8px !important; background: transparent !important;
  box-shadow: none !important; text-align: left; color: var(--vt-text) !important; font: 400 14.5px/1.4 inherit !important; cursor: pointer; }
#visu-tools.vt-crossword .vt-cw-clue:hover { background: var(--vt-bg) !important; }
#visu-tools.vt-crossword .vt-cw-clue.vt-cw-on { background: #e5f4fd !important; color: var(--vt-ink) !important; }
@media (max-width: 860px) {
  #visu-tools.vt-crossword .vt-cw-board:not([hidden]) { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  #visu-tools.vt-crossword .vt-cw-levels .vt-seg-items { flex-wrap: wrap; overflow: visible; margin: 0; padding: 0; }
  /* Big grids shrink their cells to the card instead of scrolling (17 columns fit 290 px). */
  #visu-tools.vt-crossword .vt-cw-grid { grid-template-columns: repeat(var(--cols, 10), minmax(0, 30px)); width: 100%; }
  #visu-tools.vt-crossword .vt-cw-grid > *, #visu-tools.vt-crossword .vt-cw-grid input { min-width: 0; }
}
