.crossword-grid-wrap { max-width: 100%; overflow: auto; margin: 12px 0 24px; }
.crossword-pairs { min-width: 0; margin: 0 0 18px; padding: 0; border: 0; }
.crossword-pairs legend { margin-bottom: 10px; font-weight: 700; }
.crossword-pair-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr) auto; align-items: end; gap: 10px; margin-bottom: 12px; padding: 12px; border: 1px solid #d5dfe5; border-radius: 5px; }
.crossword-pair-row .front-tools-field { min-width: 0; margin: 0; }
.crossword-pair-row .crossword-remove { margin-bottom: 1px; }
.crossword-pairs > #crossword-add { margin-bottom: 4px; }
.crossword-grid { border-collapse: collapse; table-layout: fixed; }
.crossword-grid td { position: relative; width: clamp(16px, 3vw, 30px); height: clamp(16px, 3vw, 30px); padding: 0; border: 1px solid #82909a; text-align: center; }
.crossword-grid td.black { background: #26343e; border-color: #26343e; }
.crossword-grid td.white { background: #fff; }
.crossword-grid td small { position: absolute; top: 0; left: 2px; font-size: 8px; line-height: 1; }
.crossword-grid td b { font-size: clamp(11px, 1.8vw, 18px); }
.crossword-clues { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.crossword-clues li { padding: 3px; }
#crossword-original-key { padding-left: 0; list-style: none; }
.crossword-tool #crossword-error { color: #a94442; }
@media (max-width: 767px) { .crossword-clues { grid-template-columns: 1fr; } .crossword-pair-row { grid-template-columns: 1fr; gap: 8px; } .crossword-pair-row .crossword-remove { justify-self: start; } }
@media print { @page { size: A4 portrait; margin: 10mm; } body * { visibility: hidden !important; } #crossword-result, #crossword-result * { visibility: visible !important; } #crossword-result { position: absolute; inset: 0 auto auto 0; width: 100%; } .crossword-tool .front-tools-actions { display: none !important; } .crossword-grid td { width: 6mm; height: 6mm; } body.crossword-print-task #crossword-key-grid, body.crossword-print-task #crossword-original-key, body.crossword-print-task #crossword-result > h2:nth-of-type(2) { display: none !important; } body.crossword-print-key #crossword-task-grid, body.crossword-print-key #crossword-across, body.crossword-print-key #crossword-down, body.crossword-print-key .crossword-clues, body.crossword-print-key #crossword-result > h2:first-of-type { display: none !important; } }
