/* Print preview is a separate reading surface; the live game DOM stays intact. */
#print-preview[hidden]{display:none}
body[data-print-preview]{display:block;height:auto;min-height:100dvh;overflow:auto}
body[data-print-preview]>.site-header,body[data-print-preview]>main,body[data-print-preview]>.skip{display:none}
#print-preview{max-width:840px;margin:0 auto;padding:20px 16px 40px}
.print-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
#print-message{font-size:14px;line-height:1.5;margin:8px 0 20px}
#print-sheet{background:oklch(100% 0 0);color:oklch(0% 0 0);padding:32px;border:1px solid var(--border);font:400 16px/1.5 var(--body);overflow-wrap:anywhere}
.print-heading h1{font:500 28px/1.25 var(--display);margin:12px 0 8px}
.print-heading p{margin:0;font-size:16px}
.print-domain{font-weight:500}
.print-grid{margin:24px 0;break-inside:avoid;page-break-inside:avoid}
.print-grid svg{display:block;max-width:100%;height:auto}
.print-grid rect{fill:oklch(100% 0 0);stroke:oklch(0% 0 0);stroke-width:1}
.print-grid text{font:400 14px var(--body);fill:oklch(0% 0 0)}
.print-clues{display:block;list-style:none;padding:0;margin:0}
.print-clues>li{display:grid;grid-template-columns:2ch minmax(0,1fr);gap:12px;margin:0 0 12px;break-inside:avoid;page-break-inside:avoid}
.print-number{font-weight:500;font-variant-numeric:tabular-nums}
.print-clue-row{display:grid;grid-template-columns:1em minmax(0,1fr);gap:8px}
.print-clue-row+.print-clue-row{margin-top:6px}
.print-direction{font-size:1em;line-height:inherit}
.print-length{white-space:nowrap}
@media(max-width:540px){#print-sheet{padding:20px 16px}}
@page{size:A4 portrait;margin:12mm}
@media print{
  html,body.crossword-page{display:block!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;background:oklch(100% 0 0)!important;color:oklch(0% 0 0)!important}
  body.crossword-page>*:not(#print-preview){display:none!important}
  #print-preview{display:block!important;max-width:none;margin:0;padding:0}
  #print-preview[hidden]{display:none!important}
  .print-toolbar,#print-message{display:none!important}
  #print-sheet{padding:0;border:0;font-size:12pt;line-height:1.4}
  .print-heading h1{font-size:20pt;margin:6mm 0 2mm}
  .print-heading p{font-size:12pt}
  .print-grid{margin:6mm 0}
  .print-grid svg{max-width:100%;height:auto}
  .print-grid text{font-size:17px}
  .print-clues>li{margin-bottom:3mm}
}
