/* Minimal base styles (moved from style.css so style.css only holds theme info) */
*,
*::before,
*::after { box-sizing: border-box; }

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    background: #fff;
}

#page { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }

.site-header {
    padding: 1rem 0;
    border-bottom: 1px solid #ddd;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

.site-title { margin: 0; font-size: 1.5rem; }
.site-title a { color: inherit; text-decoration: none; }
.site-title a:hover { text-decoration: underline; }
.site-description { margin: 0.25rem 0 0; font-size: 0.9rem; color: #666; }

.main-navigation { margin-left: auto; }
.main-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1rem; }
.main-navigation a { text-decoration: none; color: inherit; }
.main-navigation a:hover { text-decoration: underline; }

.site-content { padding: 2rem 0; min-height: 50vh; }

.entry-header { margin-bottom: 1rem; }
.entry-title { margin: 0 0 0.5rem; font-size: 1.75rem; }
.entry-meta { font-size: 0.875rem; color: #666; }
.entry-content,
.entry-summary { margin-bottom: 2rem; }
.entry-content p { margin: 0 0 1em; }
.entry-content p:last-child { margin-bottom: 0; }

.archive-header { margin-bottom: 2rem; }
.archive-title { margin: 0 0 0.5rem; font-size: 1.5rem; }
.archive-description { margin: 0; color: #666; }

article + article { padding-top: 2rem; border-top: 1px solid #eee; }

.site-footer {
    padding: 1.5rem 0;
    border-top: 1px solid #ddd;
    font-size: 0.875rem;
    color: #666;
}
.site-info { margin: 0; }
.site-info a { color: inherit; }

.error-404 .entry-content { margin-bottom: 0; }
.error-404 .entry-content a { color: #2271b1; }

body,
main {
    overflow-x: hidden;
}
