.container { max-width: 720px; margin: 0 auto; padding: 1.5rem; }
body { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:#fafafa; color:#111; }
a { color:#111; text-decoration: none; }
a:hover { text-decoration: underline; }
.site-header { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); }
.site-footer { border-top:1px solid #eee; margin-top:2rem; font-size:0.875rem; color:#555; }
.site-title { margin:0; font-size:1.4rem; letter-spacing:0.04em; text-transform:uppercase; }
.site-tagline { margin:0.2rem 0 0; font-size:0.9rem; color:#666; }
.site-header-inner { display:flex; justify-content:space-between; align-items:baseline; gap:1.5rem; }
.site-logo { height:32px; width:auto; display:block; }
.site-brand-text { font-size:0.9rem; font-weight:500; letter-spacing:0.06em; text-transform:uppercase; color:#555; }
.site-nav { display:flex; gap:0.6rem; font-size:0.85rem; color:#777; padding:0.15rem; border-radius:999px; background:rgba(0,0,0,0.03); }
.site-nav-link { color:#555; padding:0.25rem 0.9rem; border-radius:999px; transition:background-color 0.15s ease, color 0.15s ease; }
.site-nav-link:hover { color:#111; text-decoration:none; background:rgba(0,0,0,0.06); }
.site-nav-link.active { background:#111; color:#fff !important; text-decoration:none; }
.post-list { list-style:none; padding:0; }
.post-list-item { margin-bottom:1.2rem; }
.post-list-item h3 { margin:0 0 0.2rem; }
.meta { font-size:0.8rem; color:#777; }
.post h1 { margin-bottom:0.4rem; }
.post-body { margin-top:1rem; line-height:1.6; }
.post-body img { max-width:100%; height:auto; display:block; margin:1rem 0; }
.post-body pre { background:#111; color:#eee; padding:0.8rem; overflow-x:auto; }
.post-body code { font-family:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.post-layout { display:flex; flex-direction:column; gap:1.5rem; overflow:hidden; }
.post { overflow:hidden; min-width:0; }
.author-card { border:1px solid #eee; padding:1rem; font-size:0.9rem; color:#444; background:#fff; }
.author-card h2 { margin-top:0; font-size:1rem; text-transform:uppercase; letter-spacing:0.06em; font-weight:600; color:#555; }
.author-name { font-weight:600; margin:0.4rem 0 0.1rem; }
.author-role { margin:0 0 0.6rem; font-size:0.85rem; color:#777; }
.author-bio { margin:0 0 0.6rem; }
.author-link a { font-size:0.85rem; }
.author-card + .author-card { border-top:1px dashed #eee; margin-top:1rem; padding-top:1rem; }
@media (min-width: 900px) {
  .post-layout { flex-direction:row; align-items:flex-start; }
  .post { flex:3; }
  .author-card { flex:1; position:sticky; top:2rem; }
}
.not-found { margin-top:3rem; text-align:center; color:#555; }
.not-found h2 { font-size:2rem; margin-bottom:0.5rem; }
.not-found p { margin:0.4rem 0; }
.pagination { margin-top:1.2rem; display:flex; align-items:center; gap:0.8rem; font-size:0.85rem; color:#777; }
.page-link { color:#777; }
.page-link:hover { color:#111; text-decoration:none; }
.page-info { color:#999; }

.reading-list { list-style:disc; padding-left:1.25rem; margin:0; font-size:0.9rem; }
.reading-list li { margin-left:0.25rem; margin-bottom:0.4rem; }
.reading-list .meta { font-size:0.8rem; color:#888; }

.lightbox-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.8); display:none; align-items:center; justify-content:center; z-index:1050; }
.lightbox-overlay.is-visible { display:flex; }
.lightbox-inner { text-align:center; max-width:90vw; max-height:90vh; }
.lightbox-overlay img { max-width:100%; max-height:80vh; box-shadow:0 10px 40px rgba(0,0,0,0.6); border-radius:4px; }
.lightbox-caption { margin-top:0.5rem; font-size:0.85rem; color:#eee; }
.lightbox-control { background:none; border:none; color:#fff; font-size:2rem; padding:0 0.75rem; cursor:pointer; line-height:1; }
.lightbox-control:hover { color:#ddd; }
