
/* These styles make the body take up at least the full viewport height */

@media print {
        body * {
            visibility: hidden;
        }
        #printable-ticket, #printable-ticket * {
            visibility: visible;
        }
        #printable-ticket {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 9999;
        }
    }
.prose {
    font-family: system-ui, sans-serif;
    font-size: 1rem;
    line-height: 1.75;
    color: #333;
    max-width: 65ch;
    margin: 0 auto;
    padding: 1rem;
}

.prose h1,
.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6 {
    font-weight: 600;
    margin-top: 2em;
    margin-bottom: 0.5em;
    line-height: 1.25;
}

.prose h1 { font-size: 2rem; }
.prose h2 { font-size: 1.75rem; }
.prose h3 { font-size: 1.5rem; }
.prose h4 { font-size: 1.25rem; }
.prose h5 { font-size: 1.125rem; }
.prose h6 { font-size: 1rem; }

.prose p {
    margin-bottom: 1em;
}

.prose a {
    color: #0366d6;
    text-decoration: underline;
}

.prose ul,
.prose ol {
    padding-left: 1.25em;
    margin-bottom: 1em;
}

.prose li {
    margin-bottom: 0.5em;
}

.prose blockquote {
    border-left: 4px solid #ccc;
    padding-left: 1em;
    color: #666;
    font-style: italic;
    margin: 1.5em 0;
}
.prose s,
.prose del {
    text-decoration: line-through;
    color: #666; /* Optional: muted tone */
}

.prose code {
    background-color: #f5f5f5;
    padding: 0.2em 0.4em;
    border-radius: 4px;
    font-family: monospace;
    font-size: 0.95em;
}

.prose br {
    margin-bottom: 1em;
    display: block;
    content: "";
}
/* Mobile first: show SMALL, hide LARGE */
.only-small {
    display: block;
}
.only-large {
    display: none;
}

/* At 640px and up: hide SMALL, show LARGE */
@media (min-width: 640px) {
    .only-small {
        display: none;
    }
    .only-large {
        display: block;
    }
}
