
:root { color-scheme: light; }
body { max-width: 900px; margin: 0 auto; padding: 1.5em; font-family: Georgia, 'Times New Roman', serif; line-height: 1.55; color: #222; background: #fff; }
.site-header { border-bottom: 2px solid #ccc; padding-bottom: 0.6em; margin-bottom: 1.5em; }
.header-img { display: block; width: 100%; height: auto; }
.site-sub { color: #888; font-size: 0.85em; margin: 0.4em 0 0; }
.layout { display: flex; gap: 2.5em; align-items: flex-start; }
main { flex: 1; min-width: 0; }
.sidebar { width: 220px; flex-shrink: 0; font-family: Georgia, serif; font-size: 0.85em; }
h1 { font-size: 1.5em; border-bottom: 1px solid #ddd; padding-bottom: 0.3em; }
h2 { font-size: 1.15em; margin-top: 2em; color: #a33; }
blockquote { border-left: 3px solid #ddd; margin-left: 0; padding-left: 1em; color: #444; }
a { color: #0645ad; }
table.hCalendarTable { border-collapse: collapse; width: 100%; margin-bottom: 1.5em; }
table.hCalendarTable td { text-align: center; padding: 2px; }
footer { margin-top: 3em; padding-top: 1em; border-top: 1px solid #ddd; color: #888; font-size: 0.8em; }
@media (max-width: 700px) {
  .layout { flex-direction: column; }
  .sidebar { width: auto; }
}
