* { box-sizing: border-box; margin: 0; padding: 0; } body { align-items: center; display: flex; font-family: "Maven Pro", sans-serif; justify-content: center; min-height: 100vh; } #grid { display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: repeat(5, 1fr); width: 100%; } .tile { --border-width: 1px; align-content: center; aspect-ratio: 1 / 1; border-color: #000; border-style: solid; border-width: 0 var(--border-width) var(--border-width) 0; font-size: 11pt; padding: 0.5em; text-align: center; } .tile.col-start { border-top-width: var(--border-width); } .tile.row-start { border-left-width: var(--border-width); } @media print { #grid { margin: 20mm; } .tile { --border-width: 1pt; } } @media print and (orientation: landscape) { body { height: 210mm; width: 297mm; } #grid { height: calc(100% - 20mm * 2); width: auto; } } @media print and (orientation: portrait) { body { height: 297mm; width: 210mm; } } @media screen { #grid { margin: 2em; max-width: 1000px; } }