body { font-family: 'Georgia', serif; margin: 0; background: #fdfaf4; color: #2c2c2c; line-height: 1.6; }
header { background: #800000; color: #ffd700; padding: 50px 20px; text-align: center; border-bottom: 5px solid #4a0000; }
nav { background: #333; color: white; padding: 15px; text-align: center; position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 5px rgba(0,0,0,0.2); }
nav a { color: white; margin: 0 20px; text-decoration: none; font-weight: bold; text-transform: uppercase; font-size: 0.85em; letter-spacing: 1px; }
nav a:hover { color: #ffd700; }

.container { display: flex; max-width: 1200px; margin: 30px auto; padding: 0 20px; gap: 40px; }
main { flex: 3; background: white; padding: 40px; box-shadow: 0 5px 25px rgba(0,0,0,0.05); border-radius: 4px; }
aside { flex: 1; min-width: 280px; }

.widget { background: white; padding: 20px; margin-bottom: 30px; border-radius: 4px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); border-top: 3px solid #800000; }
.widget h3 { color: #800000; font-size: 1.2em; margin-top: 0; border-bottom: 1px solid #eee; padding-bottom: 10px; }

blockquote { margin: 0; font-style: italic; color: #555; }
blockquote cite { display: block; margin-top: 10px; font-weight: bold; color: #800000; }

.recommend-list, .archive-list { list-style: none; padding: 0; }
.recommend-list li { padding: 8px 0; border-bottom: 1px solid #f9f9f9; color: #555; font-size: 0.95em; }
.archive-list li { margin-bottom: 10px; }
.archive-list a { color: #800000; text-decoration: none; font-size: 0.95em; }
.archive-list a:hover { text-decoration: underline; }

.post-image { width: 100%; max-height: 450px; object-fit: cover; border-radius: 4px; margin: 20px 0; }
.image-caption { font-size: 0.85em; color: #888; text-align: center; margin-top: -15px; margin-bottom: 30px; }

footer { text-align: center; padding: 50px; background: #222; color: #888; margin-top: 60px; }

@media (max-width: 900px) {
    .container { flex-direction: column; }
    aside { min-width: 100%; }
}
