/* Glass stays in the controls; writing gets a calm, opaque reading surface. */
.chooser .home-blog { display:block; padding-top:30px; }
.home-blog-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.home-blog.is-unavailable .blog-copy { color:#5d6972; }
.home-blog.is-unavailable .blog-copy p { color:#5d6972; }
.home-blog .blog-link:disabled { background:#e7ecef; border-color:#cbd3d8; color:#66737c; cursor:not-allowed; opacity:1; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.blog-coming-soon { max-width:760px; padding:58px 32px; text-align:center; color:#5d6972; background:#e7ecef; border:1px solid #cbd3d8; border-radius:24px; }
.blog-coming-soon h2 { font:42px/1.2 'Libre Caslon Display',Georgia,serif; margin:0 0 18px; }
.blog-coming-soon p { max-width:43ch; margin:0 auto 24px; }
.blog-coming-soon .back { display:inline-flex; color:var(--ink); }
@media(forced-colors:active) { .home-blog .blog-link:disabled { color:GrayText; background:Canvas; border-color:GrayText; } .blog-coming-soon { color:CanvasText; background:Canvas; border-color:CanvasText; } }
.home-blog .home-feed { margin-top:28px; }
.home-blog .feed-heading { font:600 13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; margin:0 0 14px; color:var(--muted); }
.home-blog .blog-post { padding:24px 28px; }
.home-blog .blog-post h4 { font:30px/1.2 'Libre Caslon Display',Georgia,serif; margin:10px 0 12px; }
.home-blog .post-excerpt { margin:0; }
.home-blog .post-link { margin-top:12px; }
.profile-link { display:inline-flex; align-items:center; gap:7px; min-height:44px; font-size:13px; text-underline-offset:4px; }
.home-blog>.profile-link { margin-top:14px; }
.blog-page main.utility-layout { --utility-content-width:1050px; max-width:1050px; }
.blog-page .intro { max-width:700px; padding-bottom:28px; }
.blog-page .intro>p { max-width:55ch; color:var(--muted); }
.blog-page .intro>.profile-link { margin-top:2px; }
.blog-reading { max-width:760px; }
.blog-section-heading { margin-bottom:24px; }
.blog-section-heading h2 { font:34px/1.2 'Libre Caslon Display',Georgia,serif; margin:0 0 10px; }
.blog-section-heading p { font-size:14px; color:var(--muted); max-width:60ch; margin:0; }
.feed-status { margin:0 0 18px; font-size:14px; color:var(--muted); }
.feed-status[hidden] { display:none; }
.post-stack { background:var(--surface); border:1px solid var(--line); border-radius:24px; overflow:hidden; }
.post-stack:empty { display:none; }
.blog-post { padding:32px 36px; }
.blog-post+.blog-post { border-top:1px solid var(--line); }
.post-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; font-size:12px; color:var(--muted); margin:0 0 12px; }
.blog-post h3 { font:36px/1.16 'Libre Caslon Display',Georgia,serif; letter-spacing:-.3px; margin:0 0 16px; max-width:29ch; }
.blog-post h3 a,.blog-post h4 a { text-decoration:none; }
.blog-post h3 a:hover,.blog-post h4 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.post-excerpt { font-size:16px; line-height:1.75; color:var(--muted); max-width:64ch; margin:0; }
.post-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:16px; font-size:13px; text-underline-offset:4px; }
.publication-link { margin-top:8px; }
.mock-posts { margin-top:54px; }
.preview-label { color:#705326; background:#f5eddf; border-radius:6px; padding:2px 8px; font-weight:500; }
.post-preview { margin-top:16px; }
.post-preview summary { min-height:44px; padding:9px 0; width:fit-content; cursor:pointer; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.post-preview summary::marker { color:var(--muted); }
.post-preview .close-preview,.post-preview[open] .read-preview { display:none; }
.post-preview[open] .close-preview { display:inline; }
.post-body { margin-top:12px; padding-top:16px; border-top:1px solid var(--line); font-size:16px; line-height:1.8; max-width:65ch; }
.post-body p { margin:0 0 20px; }
.post-body p:last-child { margin-bottom:0; }
@media(max-width:700px) {
  .home-blog-heading { align-items:flex-start; flex-direction:column; gap:18px; }
  .home-blog .blog-post { padding:22px; }
  .blog-post { padding:26px 24px; }
  .blog-post h3 { font-size:31px; }
  .blog-section-heading h2 { font-size:29px; }
  .post-stack { border-radius:20px; }
  .mock-posts { margin-top:40px; }
}
@media(prefers-contrast:more) { .preview-label { background:#fff; color:var(--ink); border:1px solid currentColor; } }
@media(forced-colors:active) { .post-stack,.preview-label { border:1px solid CanvasText; } }
