body { 
    font-family: sans-serif; 
    line-height: 1.6; 
    max-width: 800px; 
    margin: 0 auto; 
    padding: 2rem; 
    color: #333; 
}

header#site-header {
    min-height: 120px; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-bottom: 1px solid #eee;
    margin-bottom: 2rem;
}

#page-nav { min-height: 1.5rem; margin-bottom: 0.5rem; }
#page-nav a { margin-right: 1rem; text-decoration: none; color: #007bff; font-weight: 500; }
#main-heading { min-height: 1.2em; margin: 0; font-size: 2rem; }

img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1.5rem 0;
    border-radius: 4px;
}

blockquote {
    margin: 2rem 0;
    padding: 1rem 1.5rem;
    border-left: 4px solid #007bff;
    background-color: #f9f9f9;
    color: #555;
    font-style: italic;
}
blockquote p { margin: 0; }
blockquote p + p { margin-top: 1rem; }

table { width: 100%; border-collapse: collapse; margin: 2rem 0; }
th, td { text-align: left; padding: 12px 10px; border-bottom: 1px solid #eee; }
.date-subtitle { color: #666; font-style: italic; margin-top: -1rem; margin-bottom: 2rem; }
footer { margin-top: 4rem; padding-top: 2rem; border-top: 1px solid #eee; }

@media (max-width: 600px) {
    body { padding: 1rem; }
    header#site-header { min-height: 140px; }
}
