/* Print stylesheet — loaded lazily via <link media="print">.
   Turns the homepage into a clean, single-column CV-style printout. */
@media print {
    @page {
        margin: 0.4in;
        size: letter;
    }

    html {
        scroll-behavior: auto;
    }

    body {
        background: white;
        color: black;
        font-family: 'Times New Roman', serif;
        line-height: 1.25;
        font-size: 9.3pt;
    }

    .navbar,
    .hero-links,
    .publications-footer,
    .social-links,
    .footer {
        display: none !important;
    }

    section,
    .hero,
    .publications {
        padding: 7px 0 !important;
        background: white !important;
    }

    main > section:not(.hero) {
        content-visibility: visible !important;
        contain-intrinsic-size: auto !important;
    }

    .container,
    .hero-container,
    .about-content,
    .contact-content {
        width: 100% !important;
        max-width: none !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .hero {
        min-height: auto !important;
        display: block !important;
        background-image: none !important;
        border-bottom: 1px solid #d9d9d9;
        margin-bottom: 0.08in;
        padding-top: 0 !important;
    }

    .hero-content,
    .hero-image {
        max-width: none !important;
    }

    .hero-title {
        white-space: normal !important;
        font-size: 18pt !important;
        line-height: 1.05 !important;
        margin-bottom: 3pt !important;
    }

    .hero-title-cn {
        font-size: 0.9em !important;
    }

    .hero-subtitle {
        font-size: 10.5pt !important;
        margin-bottom: 3pt !important;
        color: #444 !important;
    }

    .hero-description {
        max-width: none !important;
        margin-bottom: 5pt !important;
        color: #333 !important;
    }

    .profile-card {
        margin-top: 5pt;
        padding: 4pt 9pt !important;
        box-shadow: none !important;
        background: white !important;
        border: 1px solid #d9d9d9 !important;
        border-radius: 0 !important;
    }

    .profile-info {
        padding: 2.5pt 0 !important;
        color: #333 !important;
    }

    .profile-icon,
    .contact-item svg {
        display: none !important;
    }

    .profile-label {
        color: #666 !important;
    }

    .section-title {
        font-size: 12.5pt !important;
        margin-bottom: 5pt !important;
        break-after: avoid;
        page-break-after: avoid;
    }

    .section-title::after {
        width: 28px !important;
        margin-top: 3pt !important;
        background: #555 !important;
    }

    .timeline {
        gap: 4pt !important;
    }

    .timeline::before,
    .timeline-marker {
        display: none !important;
    }

    .timeline-item {
        padding-left: 0 !important;
    }

    .timeline-content,
    .publication-card,
    .software-card,
    .skill-category {
        padding: 3pt 0 !important;
        margin-bottom: 3pt !important;
        border-bottom: 1px solid #e3e3e3 !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .about-content > *,
    .contact-content > * {
        break-inside: avoid;
        page-break-inside: avoid;
        margin-bottom: 4pt !important;
    }

    .timeline-header {
        gap: 6pt !important;
    }

    .timeline-header h3,
    .publication-title,
    .software-header h3 {
        font-size: 10.5pt !important;
    }

    .publication-group-title {
        font-size: 11pt !important;
        color: #1d4a76 !important;
    }

    .timeline-date {
        color: #333 !important;
    }

    .skill-tag {
        color: #1d4a76 !important;
    }

    .publications-grid {
        gap: 4pt !important;
    }

    .timeline-location,
    .publication-authors,
    .publication-venue-full,
    .timeline-description,
    .software-card p,
    .contact-item p {
        color: #444 !important;
    }

    .skill-tags {
        gap: 5pt !important;
    }

    .contact-item {
        margin-bottom: 3pt !important;
    }

    a[href^="http"]::after,
    a[href^="mailto:"]::after {
        content: "";
    }

    /* Keep GitHub links discoverable on a printed copy */
    .software-github {
        display: inline !important;
        width: auto !important;
        height: auto !important;
        border: 0 !important;
        color: #555 !important;
    }

    .software-github svg {
        display: none !important;
    }

    .software-github::after {
        content: " (" attr(href) ")" !important;
        color: #555 !important;
        font-size: 8.5pt !important;
        word-break: break-all;
    }
}
