* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: Arial, sans-serif; color: #222; background: #fff; line-height: 1.5; }
.container { max-width: 900px; margin: 0 auto; padding: 24px 16px; min-height: 100vh; display: flex; flex-direction: column; }
header { border-bottom: 1px solid #ddd; padding-bottom: 12px; margin-bottom: 20px; }
header h1 { font-size: 2rem; margin-bottom: 6px; }
.tagline { color: #666; margin-bottom: 10px; }
nav { display: flex; gap: 16px; }
nav a { color: #222; text-decoration: none; }
nav a.active { text-decoration: underline; }
main { flex: 1; }
.blog-list { display: flex; flex-direction: column; }
.blog-item { border-bottom: 1px solid #e6e6e6; padding: 10px 0; }
.blog-line { display: grid; grid-template-columns: minmax(220px,2fr) 1fr 1fr 1fr; gap: 10px; color: #222; text-decoration: none; font-size: 0.95rem; }
.blog-line:hover { text-decoration: underline; }
.line-title { font-weight: 600; }
.post-header { border-bottom: 1px solid #ddd; margin-bottom: 16px; padding-bottom: 10px; }
.post-header h1 { margin-bottom: 6px; font-size: 1.8rem; }
.post-meta { display: flex; gap: 16px; color: #666; font-size: 0.9rem; }
.back-link { display: inline-block; margin-top: 18px; color: #222; text-decoration: none; border: 1px solid #222; padding: 6px 10px; }
.about-section { border: 1px solid #ddd; padding: 12px; }
.about-section h2 { margin-bottom: 10px; }
.about-section h3 { margin: 16px 0 8px; }
footer { border-top: 1px solid #ddd; margin-top: 20px; padding-top: 10px; color: #666; text-align: center; }
@media (max-width: 700px) {
  .blog-line { grid-template-columns: 1fr; gap: 2px; }
  .post-meta { flex-direction: column; gap: 4px; }
}
