/* Dedicated A4 editorial composition. Runtime screen styles remain separate. */
@page { size: A4; margin: 12mm 15mm; }
@media print {
 html, body { margin: 0 !important; padding: 0 !important; background: #fff !important; color: #111114 !important; }
 body > header, body > main, body > footer, body > dialog { display: none !important; }
 #paper-report { display: block !important; font-family: "Yu Gothic", "Meiryo", sans-serif; font-size: 9.2pt; line-height: 1.56; color: #111114; }
 #paper-report * { box-sizing: border-box; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
 #paper-report p, #paper-report h1, #paper-report h2, #paper-report h3 { margin: 0; }
 #paper-report .paper-sheet { width: 180mm; height: 272mm; display: flex; flex-direction: column; break-inside: avoid; overflow: visible; }
 #paper-report .paper-sheet > * { flex-shrink: 0; }
 #paper-report .paper-sheet:first-child { break-after: page; }
 #paper-report .paper-head { display: flex !important; align-items: center; gap: 3mm; padding: 0 0 2.5mm; border: 0; border-bottom: 1.8pt solid #111114; font-size: 8pt; letter-spacing: 0; }
 #paper-report .paper-brand { width: 12mm; height: 12mm; display: flex; align-items: center; justify-content: center; background: #f5e600; color: #111114; font-family: "Arial Black", "Yu Gothic", sans-serif; font-size: 32pt; font-weight: 900; line-height: 1; }
 #paper-report .paper-wordmark { display: flex; flex-direction: column; gap: .5mm; }
 #paper-report .paper-wordmark b { font-family: Arial, sans-serif; font-size: 13.5pt; line-height: 1; letter-spacing: -.035em; }
 #paper-report .paper-wordmark span { font-size: 7.1pt; line-height: 1.2; letter-spacing: .09em; }
 #paper-report .paper-page-number { margin-left: auto; font-size: 9pt; letter-spacing: .04em; font-weight: 800; }
 #paper-report .paper-intro { padding: 4mm 0 3mm; }
 #paper-report .paper-eyebrow { display: inline-block; font-size: 9pt; font-weight: 800; color: #111114; padding: .4mm 1.5mm; background: #f5e600; letter-spacing: .04em; }
 #paper-report h1 { font-family: "Yu Gothic", "Meiryo", sans-serif; font-size: 28pt; font-weight: 900; line-height: 1.23; letter-spacing: -.055em; white-space: pre-line; text-wrap: balance; margin: 2mm 0 2.3mm; }
 #paper-report .paper-sheet-2 h1 { font-size: 30pt; line-height: 1.13; letter-spacing: -.035em; margin-top: 2mm; margin-bottom: 2mm; }
 #paper-report .paper-profile { padding: 0; margin: 0 0 1.6mm !important; color: #333338; font-size: 8.2pt; font-weight: 700; }
 #paper-report .paper-intro-description { font-size: 9.5pt; line-height: 1.58; }
 #paper-report .paper-status { display: grid; grid-template-columns: 43mm 1fr; gap: 3mm; align-items: center; padding: 2.2mm 0; margin: 0 0 1.5mm; background: none; border: 0; border-top: .8pt solid #111114; border-bottom: .8pt solid #111114; font-size: 8.4pt; }
 #paper-report .paper-status b { display: block; padding: 1.3mm 1.6mm; color: #fff; background: #111114; font-size: 8.2pt; line-height: 1.5; }
 #paper-report .paper-status p { margin: 0 !important; color: #111114; font-size: 8.4pt; line-height: 1.5; }
 #paper-report .paper-block { padding: 2.4mm 0 2.4mm; border: 0; }
 #paper-report .paper-section-heading { display: flex; align-items: center; gap: 2.5mm; margin-bottom: 1.5mm; }
 #paper-report .paper-section-number { display: flex; width: 10mm; height: 10mm; flex: 0 0 10mm; align-items: center; justify-content: center; font-family: Arial, "Yu Gothic", sans-serif; font-size: 20pt; font-weight: 900; letter-spacing: -.055em; line-height: 1; color: #111114; background: #f5e600; }
 #paper-report .paper-kicker { font-family: Arial, "Yu Gothic", sans-serif; font-size: 6.8pt; letter-spacing: .06em; font-weight: 800; color: #111114; line-height: 1.1; }
 #paper-report h2 { margin: .7mm 0 0 !important; font-size: 12pt; font-weight: 800; line-height: 1.35; letter-spacing: -.02em; }
 #paper-report .paper-body { font-size: 9.2pt; line-height: 1.56; }
 #paper-report .paper-evidence-list { padding: 0; margin: 1.5mm 0 0; list-style: none; font-size: 9.2pt; line-height: 1.52; }
 #paper-report .paper-evidence-list li { position: relative; margin: 0; padding: 1.1mm 0 1.1mm 4mm; border-bottom: .5pt solid #c7c7cb; }
 #paper-report .paper-evidence-list li:last-child { border-bottom: 0; }
 #paper-report .paper-evidence-list li::before { content: ""; position: absolute; width: 1.5mm; height: 1.5mm; background: #111114; top: 2.7mm; left: .5mm; }
 #paper-report .paper-alternative-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
 #paper-report .paper-alternative { display: block; margin: 0; padding: 2mm 0; border-top: 1.2pt solid #111114; font-size: 8.5pt; }
 #paper-report .paper-alternative b { display: block; margin-bottom: 1mm; font-size: 9.1pt; font-weight: 800; line-height: 1.45; }
 #paper-report .paper-alternative p { font-size: 8.7pt; color: #333338; line-height: 1.5; }
 #paper-report .paper-device-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; }
 #paper-report .paper-device { padding: 2.5mm 3mm; background: none; border: 1pt solid #111114; border-top: 1pt solid #111114; }
 #paper-report .paper-device:first-child { border: 1pt solid #111114; background: none; }
 #paper-report .paper-device > small:first-child { display: inline-block; background: #111114; color: #fff; padding: .3mm 1mm; font-size: 7pt; line-height: 1.4; font-weight: 700; }
 #paper-report .paper-device:first-child > small:first-child { background: #f5e600; color: #111114; }
 #paper-report .paper-device-title { display: flex; align-items: baseline; gap: 2mm; margin: 1mm 0 1.4mm; }
 #paper-report .paper-device-number { font-family: Arial, sans-serif; font-size: 28pt; font-weight: 900; line-height: 1; letter-spacing: -.04em; }
 #paper-report .paper-device h3 { font-family: "Yu Gothic", "Meiryo", sans-serif; font-size: 19pt; font-weight: 900; line-height: 1.15; margin: 0 !important; letter-spacing: -.05em; }
 #paper-report .paper-device p { font-size: 9.2pt; font-weight: 700; line-height: 1.5; }
 #paper-report .paper-device > small:last-child { display: block; margin-top: 1.1mm; font-size: 7.4pt; color: #333338; line-height: 1.45; }
 #paper-report .paper-note { margin-top: 2.3mm !important; font-size: 7pt; color: #444449; line-height: 1.5; }
 #paper-report .paper-foot { display: flex !important; flex-direction: column; align-items: stretch; justify-content: space-between; height: 26mm; max-width: none; margin: auto 0 0; padding: 2mm 0 0; border: 0; border-top: 1.8pt solid #111114; color: #111114; gap: 0; }
 #paper-report .paper-footer-entry { display: flex; align-items: center; justify-content: space-between; gap: 4mm; height: 17mm; }
 #paper-report .paper-footer-school-copy { display: flex; flex-direction: column; gap: .6mm; }
 #paper-report .paper-footer-entry b { font-size: 10pt; font-weight: 800; line-height: 1.3; }
 #paper-report .paper-footer-school-link { align-self: flex-start; font-size: 9pt; font-weight: 800; line-height: 1.35; text-decoration: none; border-bottom: 2pt solid #f5e600; }
 #paper-report .paper-footer-school-url { align-self: flex-start; font-size: 7.5pt; line-height: 1.3; text-decoration: underline; text-underline-offset: .5mm; }
 #paper-report .paper-foot img { width: 17mm; height: 17mm; object-fit: contain; flex-shrink: 0; }
 #paper-report .paper-footer-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 3mm; border-top: .5pt solid #111114; padding-top: 1mm; font-size: 8pt; line-height: 1.4; white-space: nowrap; }
 #paper-report .paper-footer-page { font-family: Arial, sans-serif; font-size: 9pt; font-weight: 800; letter-spacing: .06em; }
 #paper-report .paper-school-bridge { height: 20mm; display: grid; grid-template-columns: 9mm 1fr; align-items: center; gap: 3mm; padding: 1.5mm 3mm; margin-top: 1.5mm; border: 1pt solid #111114; border-left: 4pt solid #f5e600; }
 #paper-report .paper-school-arrow { font-size: 24pt; line-height: 1; font-weight: 800; }
 #paper-report .paper-school-bridge h3 { font-size: 9.5pt; font-weight: 800; line-height: 1.3; margin: 0 !important; }
 #paper-report .paper-school-theme { font-size: 8.2pt; font-weight: 700; line-height: 1.35; margin-top: .5mm !important; }
 #paper-report .paper-school-question { font-size: 8.2pt; line-height: 1.35; margin-top: .5mm !important; }
 #paper-report .paper-experiment { padding: 2.5mm 3mm; border: 1pt solid #111114; margin-bottom: 2mm; }
 #paper-report .paper-plan-note { margin-top: 1.5mm !important; color: #333338; font-size: 8.1pt !important; line-height: 1.5; }
 #paper-report .paper-step { position: static; padding: 2.4mm 0 2.6mm; border: 0; }
 #paper-report .paper-step .paper-section-heading { margin-bottom: 1mm; }
 #paper-report .paper-step .paper-section-number { background: #111114; color: #f5e600; width: 9mm; height: 9mm; flex-basis: 9mm; font-size: 18pt; }
 #paper-report .paper-step .paper-body { font-size: 8.4pt; line-height: 1.5; }
 #paper-report .paper-writing-prompt { display: block; font-size: 7.3pt; font-weight: 700; color: #333338; margin-top: 1.5mm; }
 #paper-report .writing-lines { height: 13mm; margin-top: .8mm; background: none; border: 0; border-bottom: .6pt solid #8c8c92; position: relative; }
 #paper-report .writing-lines::after { content: ""; position: absolute; left: 0; right: 0; top: 6.5mm; border-top: .6pt solid #8c8c92; }
 #paper-report .paper-caution { margin-top: 1mm; padding: 2mm 0; display: flex; gap: 3mm; background: none; border: 0; border-top: 1pt solid #111114; border-bottom: 1pt solid #111114; font-size: 8.1pt; }
 #paper-report .paper-caution b { white-space: nowrap; font-weight: 800; }
 #paper-report .paper-answer-strip { padding-top: 2mm; font-size: 7.8pt; line-height: 1.48; }
 #paper-report .paper-answer-strip b { font-size: 8pt; font-weight: 800; }
 #paper-report .paper-answer-strip p { margin-top: .7mm !important; }
}
