/* Print styles */
@page { margin: 12mm; }
body { background: #fff !important; color: #000 !important; font-size: 11pt; }
.site-header, .site-footer, .scroll-top, .nav__backdrop, .toast, .reading-progress, .post-aside, .post-share, .post-nav, .related, .cta-band, .hero__cta, .gen-types, .gen-controls, .gen-actions, .gen-results__actions, .icon-btn, .pagination, .blog-cats { display: none !important; }
.hero, .page-hero, .post-hero, .section--ink { background: #fff !important; color: #000 !important; }
.hero h1, .page-hero h1, .post-hero h1, .section--ink h2 { color: #000 !important; }
.post-cover { margin: 0 !important; }
.prose a::after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
a { color: #000 !important; }
[data-reveal] { opacity: 1 !important; transform: none !important; }

/* Generator shortlist printing */
body.is-printing { margin: 0; }
body.is-printing > *:not(#print-sheet) { display: none !important; }
body.is-printing #print-sheet { display: block !important; }
#print-sheet { font-family: var(--font-body); font-size: 9.5pt; line-height: 1.4; color: #12343F; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
#print-sheet * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
#print-sheet p, #print-sheet h2, #print-sheet h3, #print-sheet ul, #print-sheet ol, #print-sheet li { margin: 0; padding: 0; }

#print-sheet .ps-head { display: flex; justify-content: space-between; align-items: center; gap: 6mm; padding: 4mm 5mm; border-radius: 3mm; background: #12343F; border-bottom: 1.2mm solid #FFC72C; color: #F6F1E6; }
#print-sheet .ps-brand { display: flex; align-items: center; gap: 3mm; }
#print-sheet .ps-mark { width: 10mm; height: 10mm; display: grid; place-items: center; border-radius: 2mm; background: #B3261E; color: #fff; font-family: var(--font-jp); font-weight: 700; font-size: 15pt; line-height: 1; }
#print-sheet .ps-site { display: block; font-family: var(--font-display); font-weight: 800; font-size: 13pt; line-height: 1.1; color: #fff; }
#print-sheet .ps-url { display: block; font-size: 7.3pt; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #FFC72C; }
#print-sheet .ps-date { font-size: 8.5pt; font-weight: 600; color: #B9CBCF; white-space: nowrap; }

#print-sheet .ps-intro { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 2.5mm 6mm; margin: 4.5mm 0 3.5mm; padding-bottom: 3mm; border-bottom: .3mm solid rgba(18, 52, 63, .18); }
#print-sheet .ps-title { font-family: var(--font-display); font-weight: 800; font-size: 20pt; line-height: 1.1; color: #12343F; }
#print-sheet .ps-meta { list-style: none; display: flex; flex-wrap: wrap; gap: 1.5mm; }
#print-sheet .ps-meta li { padding: .8mm 3mm; border-radius: 99px; background: #F6F1E6; border: .25mm solid rgba(18, 52, 63, .15); font-size: 8pt; font-weight: 600; }
#print-sheet .ps-meta b { margin-right: 1.5mm; font-size: 6.6pt; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #B3261E; }

#print-sheet .ps-grid { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5mm; }
#print-sheet .ps-card { display: flex; gap: 2.8mm; padding: 2.6mm 3.2mm; border: .3mm solid rgba(18, 52, 63, .16); border-left: 1.2mm solid #FFC72C; border-radius: 2.5mm; background: #FFFDF7; break-inside: avoid; page-break-inside: avoid; }
#print-sheet .ps-card--mine { border-color: #F0B10F; background: #FFF6D6; }
#print-sheet .ps-num { flex: none; width: 6.5mm; height: 6.5mm; display: grid; place-items: center; border-radius: 50%; background: #12343F; color: #FFC72C; font-size: 7.5pt; font-weight: 800; }
#print-sheet .ps-body { flex: 1; min-width: 0; }
#print-sheet .ps-mine { display: inline-block; margin-bottom: 1mm; padding: .3mm 2mm; border-radius: 99px; background: #FFC72C; color: #0A2028; font-size: 6.5pt; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
#print-sheet .ps-top { display: flex; justify-content: space-between; align-items: baseline; gap: 3mm; }
#print-sheet .ps-kanji { flex: none; max-width: 48%; font-family: var(--font-jp); font-weight: 700; font-size: 13pt; line-height: 1.15; color: #B3261E; text-align: right; }
#print-sheet .ps-name { font-family: var(--font-display); font-weight: 800; font-size: 11.5pt; line-height: 1.2; color: #12343F; overflow-wrap: anywhere; }
#print-sheet .ps-say { font-size: 7.8pt; letter-spacing: .02em; color: #47616A; }
#print-sheet .ps-mean { margin-top: .6mm; font-size: 8.3pt; }
#print-sheet .ps-mean .jp { color: #B3261E; }
#print-sheet .ps-mean .dot { color: #47616A; }
#print-sheet .ps-sub { margin-top: .6mm; font-size: 7.5pt; color: #47616A; }

#print-sheet .ps-favs { margin-top: 4mm; padding: 3.5mm 4mm; border-radius: 2.5mm; background: #F6F1E6; border: .3mm solid rgba(18, 52, 63, .14); }
#print-sheet .ps-favs__title { break-after: avoid; page-break-after: avoid; display: flex; align-items: center; gap: 2mm; margin-bottom: 2mm; font-family: var(--font-display); font-weight: 800; font-size: 12pt; color: #12343F; }
#print-sheet .ps-favs__title svg { width: 4mm; height: 4mm; fill: #B3261E; stroke: none; }
#print-sheet .ps-favs__title span { padding: .3mm 2mm; border-radius: 99px; background: #12343F; color: #FFC72C; font-family: var(--font-body); font-size: 7.5pt; }
#print-sheet .ps-favs__list { list-style: none; columns: 2; column-gap: 6mm; font-size: 8.5pt; }
#print-sheet .ps-favs__list li { position: relative; padding: .6mm 0 .6mm 3.5mm; break-inside: avoid; }
#print-sheet .ps-favs__list li::before { content: ""; position: absolute; left: 0; top: 2.1mm; width: 1.5mm; height: 1.5mm; border-radius: 50%; background: #FFC72C; }

/* landscape fits three columns, narrow paper falls back to one */
@media print and (orientation: landscape) {
  #print-sheet .ps-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #print-sheet .ps-favs__list { columns: 3; }
}
@media print and (max-width: 130mm) {
  #print-sheet .ps-grid { grid-template-columns: 1fr; }
  #print-sheet .ps-favs__list { columns: 1; }
}

.split--sticky .split__media { position: static !important; }
