/* A continuous, wider resume sheet with compact academic typography. */
html { font-size: 16px; scroll-padding-top: 88px; }
body { font-family: Arial, 'Helvetica Neue', 'Microsoft YaHei', 'PingFang SC', sans-serif; line-height: 1.7; }
.resume-sheet {
    width: min(1200px, calc(100% - 48px));
    margin: 88px auto 40px;
    padding: 42px 44px 24px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: 0 3px 18px rgba(33, 37, 41, 0.05);
}
.resume-sheet .hero { min-height: 0; display: block; text-align: left; padding: 0 0 28px; margin-bottom: 30px; border-bottom: 1px solid var(--border); }
.resume-sheet .hero-content { display: grid; grid-template-columns: minmax(0, 1fr) 200px; column-gap: 36px; align-items: start; animation: none; }
.resume-sheet .avatar-container { grid-column: 2; grid-row: 1 / span 4; width: 200px; height: 240px; margin: 0; }
.resume-sheet .avatar { width: 200px; height: 240px; border-radius: 4px; border: 1px solid var(--border); padding: 3px; object-fit: cover; }
.resume-sheet .avatar-name { grid-column: 1; grid-row: 1; text-align: left; font-size: 2rem; font-weight: 500; line-height: 1.25; margin: 0 0 12px; }
.resume-sheet .title { grid-column: 1; grid-row: 2; font-size: 1rem; font-weight: 400; min-height: 1.7rem; margin-bottom: 8px; color: var(--accent); }
.resume-sheet .subtitle { grid-column: 1; grid-row: 3; font-size: 0.98rem; letter-spacing: 0; margin-bottom: 10px; }
.resume-sheet .bio { grid-column: 1; grid-row: 4; max-width: none; font-size: 0.95rem; line-height: 1.8; margin: 0; color: var(--text-secondary); }
.resume-sheet .social-links { grid-column: 1 / -1; grid-row: 5; justify-content: flex-start; margin-top: 22px; }
.resume-sheet .main-content { max-width: none; margin: 0; padding: 0; }
.resume-sheet .section { margin-bottom: 32px; }
.resume-sheet .section-header { border-bottom: 1px solid var(--border); padding-bottom: 9px; margin-bottom: 16px; gap: 0.55rem; }
.resume-sheet .section-header h2 { font-size: 1.15rem; font-weight: 600; }
.resume-sheet .section-line { display: none; }
.resume-sheet .about-intro p { font-size: 0.95rem; line-height: 1.8; }
.resume-sheet .about-card { box-shadow: none; background: var(--bg-primary); }
.resume-sheet .about-card p { font-size: 0.9rem; }
.resume-sheet .quote-box { font-size: 0.9rem; }
.resume-sheet .project-card, .resume-sheet .news-card {
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    box-shadow: none;
    transform: none;
}
.resume-sheet .project-card:last-child, .resume-sheet .news-card:last-child { border-bottom: 0; }
.resume-sheet .projects-grid, .resume-sheet .news-grid { gap: 0; }
.resume-sheet .project-header h3, .resume-sheet .news-card h3 { font-size: 1rem; line-height: 1.5; }
.resume-sheet .project-desc, .resume-sheet .news-desc { font-size: 0.9rem; line-height: 1.7; }
.resume-sheet .news-venue { font-size: 0.85rem; }
.resume-sheet .timeline-content { box-shadow: none; border: 0; padding: 12px 0; }
.resume-sheet .timeline-content h3 { font-size: 1rem; }
.resume-sheet .timeline-company { font-size: 0.9rem; }
.resume-sheet .section-stats { background: var(--bg-primary); }
.resume-sheet .community-section { max-width: none; margin: 0 0 28px; padding: 0; }
.resume-sheet .community-like-panel, .resume-sheet .community-guestbook { box-shadow: none; }
.resume-sheet .footer { margin-top: 24px; padding: 24px 0 0; }
.resume-sheet .footer-content { max-width: none; gap: 24px; }
.resume-sheet .contact-items { flex-wrap: wrap; }

@media (max-width: 900px) {
    .navbar { padding: 0.8rem 1.5rem; }
    .nav-links { gap: 0.65rem; align-items: center; }
    .resume-sheet { width: calc(100% - 32px); padding: 30px 28px 22px; }
    .resume-sheet .hero-content { column-gap: 24px; }
}
@media (max-width: 600px) {
    html { font-size: 15px; }
    .resume-sheet { width: calc(100% - 24px); margin: 76px auto 24px; padding: 24px 18px 20px; border-radius: 8px; }
    .resume-sheet .hero-content { grid-template-columns: minmax(0, 1fr) 120px; column-gap: 16px; }
    .resume-sheet .avatar-container, .resume-sheet .avatar { width: 120px; height: 150px; }
    .resume-sheet .avatar-container { grid-row: 1 / span 3; }
    .resume-sheet .avatar-name { font-size: 1.65rem; }
    .resume-sheet .bio { grid-column: 1 / -1; margin-top: 12px; }
    .resume-sheet .subtitle { font-size: 0.9rem; }
    .resume-sheet .social-links { gap: 0.65rem; margin-top: 18px; }
    .resume-sheet .hero { margin-bottom: 24px; padding-bottom: 24px; }
    .resume-sheet .section { margin-bottom: 26px; }
    .resume-sheet .timeline { padding-left: 1rem; }
    .resume-sheet .timeline-dot { left: -1rem; }
    .resume-sheet .footer-content { align-items: flex-start; text-align: left; }
    .resume-sheet .contact-items { justify-content: flex-start; }
}
