/* P5: 層と責務ごとのスタイル。画面の同一性は算出スタイルで検証する。 */
@layer base {
@media print {
a { text-decoration: none; }
html { scroll-padding-top: 0; }
}
}
@layer utilities {
@media print {
:is(.birth-form, .method-section, .faq-section, .section-heading > p, .section-feedback, .compat-axis-feedback, .site-footer, .member-subnav, .result-actions, .button, .text-button, .member-card, .member-benefits, .result-next, .calculation-status, .site-header, .reading-toc) { display: none !important; }
}
}
@layer layout {
@media print {
.wrap { max-width: none; }
}
}
@layer layout {
@media print and (min-width: 901px) {
.site-header { position: static; }
}
}
@layer pages {
@media print {
.calculation, .reading-section { margin-top: 15px; }
}
}
@layer components {
@media print {
.member-card { break-inside: avoid; }
}
}
@layer pages {
@media print {
.chart-panel { background: #fff; }
.trad-table-scroll { overflow: visible; }
.trad-table { min-width: 0; }
.trad-card, .pair-overview article, .category-card, .strong-signs-list li, .compat-card, .pair-overview { break-inside: avoid; }
.pair-full-reports .person-full { break-before: page; }
.personal-report, .compatibility-report { width: 100%; }
.compat-chart-section { break-inside: avoid; box-shadow: none; padding: 0; }
.personal-heading, .compatibility-heading { background: #fff; color: #111; border: 1px solid #aaa; break-inside: avoid; }
.personal-heading h3, .compatibility-heading h3, .personal-heading .analysis-key small, .personal-heading .analysis-key strong, .personal-heading .section-index, .compatibility-heading .section-index { color: #111; }
.personal-section { break-inside: avoid; max-width: none; }
}
}
