[hidden] { display: none !important; }
.blog-shell { max-width: var(--max); margin: 0 auto; padding: 64px 32px 100px; min-height: 75vh; }
.blog-heading { padding: 0 0 48px; border-bottom: 1px solid var(--line); }
.blog-heading h1, .article-shell h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(36px, 5vw, 64px); line-height: 1.12; letter-spacing: -1.5px; margin: 12px 0 24px; }
.blog-heading .lead { max-width: 48ch; }
.post-list { padding: 36px 0; }
.post-card { padding: 32px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 160px 1fr; gap: 24px; }
.post-card h2 { font-family: Georgia, serif; font-weight: 400; font-size: 30px; line-height: 1.3; }
.post-card a { color: var(--ink); text-decoration: none; }
.post-card a:hover { color: var(--blue); }
.post-card p { color: var(--grey); max-width: 60ch; }
.post-card time { color: var(--blue); font-size: 14px; padding-top: 8px; }
.back-link, .footer a, #view-post { color: var(--blue); }
.article-shell { max-width: 820px; }
.article-shell article { padding-top: 40px; }
.post-content { margin-top: 36px; font-size: 19px; line-height: 1.85; overflow-wrap: anywhere; }
.post-content h2 { font-family: Georgia, serif; font-weight: 400; margin: 36px 0 12px; line-height: 1.3; }
.post-content p { white-space: pre-wrap; }
.editor-shell .blog-heading h1 { font-size: 48px; }
.editor-panel { padding: 28px; border: 1px solid var(--line); background: var(--bg-soft); border-radius: 12px; }
#auth-panel { max-width: 520px; }
.editor-form { display: grid; gap: 20px; }
.editor-form small, .editor-note { color: var(--grey); font-size: 13px; }
.editor-layout { display: grid; grid-template-columns: 260px 1fr; gap: 24px; align-items: start; }
.editor-layout section { min-width: 0; }
.editor-toolbar, .editor-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 20px 0; }
button { font: inherit; cursor: pointer; }
button.btn { border: 1px solid var(--blue); }
.text-button { border: none; background: transparent; color: var(--blue); padding: 8px 0; text-align: left; }
.editor-post { display: block; width: 100%; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 14px; margin: 12px 0; overflow-wrap: anywhere; }
.editor-post small { display: block; color: var(--grey); }
button:disabled { opacity: .6; cursor: wait; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--blue-light); outline-offset: 4px; }
.is-error { color: var(--error); }
#post-preview { border-top: 1px solid var(--line); padding-top: 24px; }
.nav__links [aria-current] { color: var(--blue); }
@media (max-width: 760px) {
  .nav { flex-wrap: wrap; gap: 12px; padding: 16px 20px; }
  .nav__links { flex-wrap: wrap; gap: 14px; }
  .nav__links a:not(.nav__cta) { display: inline; }
  .blog-shell { padding: 40px 20px 64px; }
  .post-card, .editor-layout { grid-template-columns: 1fr; gap: 12px; }
  .editor-panel { padding: 20px; }
}
