.print-sheet {
    display: none;
}

@media print {
    @page {
        size: A4;
        margin: 16mm 16mm 18mm;
    }

    body:has(.print-sheet:not(:empty)) {
        background: #fff;
    }

    body:has(.print-sheet:not(:empty)) > :not(.print-sheet) {
        display: none !important;
    }

    .print-sheet {
        display: block;
        color: #000;
        font-size: 11pt;
        line-height: 1.5;
    }

    .print-head {
        padding-bottom: 10pt;
        border-bottom: 1.5pt solid #000;
    }

    .print-head h1 {
        font-size: 18pt;
    }

    .print-head p {
        margin-top: 4pt;
        color: #444;
        font-size: 10pt;
    }

    .print-fields {
        display: grid;
        grid-template-columns: 3fr 1fr;
        gap: 16pt;
        margin-top: 14pt;
    }

    .print-fields span {
        padding-bottom: 2pt;
        border-bottom: .75pt solid #888;
        color: #444;
        font-size: 9pt;
    }

    .print-question {
        margin-top: 18pt;
        break-inside: avoid;
    }

    .print-question h2,
    .print-key h2 {
        display: flex;
        align-items: baseline;
        gap: 8pt;
        margin-bottom: 6pt;
        font-size: 12.5pt;
    }

    .print-question h2 small {
        color: #555;
        font-family: var(--font-text);
        font-size: 8.5pt;
        font-weight: 600;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .print-options {
        display: grid;
        gap: 5pt;
        margin-top: 8pt;
        list-style: none;
    }

    .print-options li {
        display: grid;
        grid-template-columns: 18pt minmax(0, 1fr);
        gap: 8pt;
        align-items: start;
    }

    .print-letter {
        display: grid;
        place-items: center;
        width: 16pt;
        height: 16pt;
        border: .75pt solid #000;
        border-radius: 50%;
        font-size: 8.5pt;
        font-weight: 700;
    }

    .print-lines span {
        display: block;
        height: 22pt;
        border-bottom: .75pt solid #bbb;
    }

    .print-key {
        break-before: page;
    }

    .print-key-item {
        display: grid;
        grid-template-columns: 34pt minmax(0, 1fr);
        gap: 6pt;
        padding: 6pt 0;
        border-bottom: .5pt solid #ccc;
        break-inside: avoid;
    }

    .print-hint {
        margin-top: 3pt;
        color: #444;
        font-size: 9.5pt;
    }

    .print-sheet .markdown blockquote,
    .print-sheet .markdown pre,
    .print-sheet .markdown .table-wrap {
        background: #fff;
        break-inside: avoid;
    }

    .print-sheet .markdown .table-wrap,
    .print-sheet .markdown pre {
        overflow: visible;
    }

    .print-sheet .markdown pre {
        white-space: pre-wrap;
    }

    .print-sheet .markdown img {
        max-height: 220pt;
    }
}
