/* Archive baseline: readable before, without, or after failed enhancement. */
:root { --archive-reader-ready: 1; --archive-header-height: 80px; --archive-offset: 96px; }
html { scroll-behavior: auto; }
.reveal { opacity: 1; transform: none; transition: none; }
.week-draft { display: none !important; }
.week-body { max-height: none; overflow: visible; transition: none; }
.week-header { display: none; }
.week::before { content: attr(data-title); display: block; padding: 1rem 1.25rem; font: 600 1.5rem var(--font-display); }
:is(.copy-btn, .link-btn):not(.copy-ready),
.carousel-section:not(.carousel-ready) :is(.carousel-toggle, .carousel-dots),
.podcast-player:not(.player-ready) .player-row { display: none; }
.carousel-section:not(.carousel-ready) .carousel-cover { display: none !important; }
.carousel-section:not(.carousel-ready) :is(.carousel-slides-wrap, .carousel-slides) { display: block !important; max-height: none; overflow: visible; }
.carousel-section:not(.carousel-ready) .carousel-slides img { width: 100%; height: auto; margin-bottom: 1rem; }
.carousel-ready .carousel-slides[hidden] + .carousel-dots { display: none; }
.carousel-ready .carousel-slides[hidden] { display: none !important; }
.week-section, .week-section [id] { scroll-margin-top: var(--archive-offset); }
.week-section pre, .week-section pre code { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; max-width: 100%; }
.week-section pre { padding-top: 1rem; }
.week-section, .email-content, .item, .player-middle { min-width: 0; overflow-wrap: anywhere; }
.week-body-inner { max-width: 70ch; margin-inline: auto; }
.archive-notice { max-width: 70ch; margin: 1rem auto; padding: 1rem; border: 1px solid var(--accent-warm); background: var(--cream); }
.archive-notice:empty { display: none; }
.archive-core-ready .week::before { display: none; }
.archive-core-ready .week-header { display: flex; align-items: stretch; padding: 0; cursor: default; }
.archive-core-ready .week-header:hover { background: transparent; }
.archive-core-ready .week-body { display: none; }
.archive-core-ready .week.expanded .week-body { display: block; max-height: none; }
.week-open { display: flex; flex: 1; align-items: center; gap: 1rem; min-width: 0; padding: 1.25rem; color: var(--navy-deep); text-decoration: none; border-radius: 9px; }
.week-open:hover { color: var(--navy-deep); }
.week-open:focus-visible, .reader-bar a:focus-visible, .link-btn:focus-visible { outline: 3px solid var(--accent-warm); outline-offset: 3px; }
.week-actions { padding: .75rem; align-items: flex-start; }
.week-title { overflow-wrap: anywhere; white-space: normal; overflow: visible; text-overflow: clip; display: block; -webkit-line-clamp: unset; }
.week-meta { flex-wrap: wrap; }
.week-num { flex-shrink: 0; }
.link-btn { min-width: 44px; min-height: 44px; }
.week-chevron { display: none; }

/* The original edition nodes form both the wall and the reader. */
.archive-enhanced .weeks-container > .container { max-width: 1180px; }
.archive-enhanced .archive-editions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.archive-enhanced .week { overflow: visible; margin: 0; border: 1px solid var(--grey-warm-pale); border-radius: 10px; background: var(--color-bg-card, white); box-shadow: none; transform: none; transition: none; }
.archive-enhanced .week:hover { border-color: var(--accent-warm); box-shadow: none; transform: none; }
.archive-enhanced .week-header { height: 100%; position: relative; }
.archive-enhanced .week-open { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: .875rem; padding: 1.5rem; }
.archive-enhanced .week-num { font-size: .8rem; line-height: 1.5; color: var(--accent-warm-dark, #9b563d); padding-right: 3rem; }
.archive-enhanced .week-main { width: 100%; }
.archive-enhanced .week-title { font-family: var(--font-display); font-size: 1.5rem; line-height: 1.25; margin-bottom: 1rem; }
.archive-enhanced .week-meta { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; font-size: .8rem; line-height: 1.6; }
.archive-enhanced .week-meta .dot { display: none; }
.archive-enhanced .week-actions { position: absolute; top: .5rem; right: .5rem; padding: 0; }
.archive-enhanced .year-band { display: none; }
.archive-reading .archive-editions { display: block; max-width: 74ch; margin-inline: auto; }
.archive-reading .week { display: none; }
.archive-reading .week.archive-current { display: block; border: 0; background: transparent; }
.archive-reading .week.archive-current .week-header { display: none; }
.archive-reading .week-body-inner { padding: 1rem 0 2rem; }
.archive-reading .signup-top, .archive-reading .archive-intro { display: none; }
.archive-reading .weeks-container { padding-top: 1rem; }
.reader-bar { display: none; }
.archive-reading .reader-bar { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1rem; max-width: 74ch; margin-inline: auto; padding: .625rem 0; background: var(--cream); border-block: 1px solid var(--grey-warm-pale); z-index: 50; }
.archive-reading .reader-bar-top { position: sticky; top: var(--archive-header-height); }
.reader-bar a { display: inline-flex; align-items: center; min-height: 44px; color: var(--navy-deep); text-decoration: none; padding-inline: .5rem; border: 1px solid transparent; border-radius: 4px; }
.reader-bar a:hover { border-color: var(--accent-warm); }
.reader-bar a[aria-disabled="true"] { opacity: .45; cursor: default; }
.reader-position { flex: 1; text-align: center; font-size: .8rem; }
.reader-position time { display: block; color: var(--grey-warm-dark); }
.reader-message { flex-basis: 100%; font-size: .875rem; padding: .5rem; }
.reader-message:empty { display: none; }
.archive-reading .archive-notice { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); border: 0; }
.reader-adjacent { display: flex; gap: .25rem; }
@media (max-width: 960px) { .archive-enhanced .archive-editions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .archive-enhanced .archive-editions { grid-template-columns: minmax(0, 1fr); }
  .archive-reading .reader-bar { gap: .125rem .5rem; }
  .reader-position { flex: 1 1 55%; text-align: right; }
  .reader-adjacent { width: 100%; justify-content: space-between; }
  .archive-reading .week-body-inner { padding-inline: 0; }
  .archive-enhanced .week-title { font-size: 1.375rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media print {
  .header, .footer, .signup-top, .archive-intro, .reader-bar, .archive-notice, .cookie-banner,
  .year-band, .week-actions, .section-crosslink, .copy-btn, .week-section pre button,
  .carousel-toggle, .carousel-dots, .player-row, [id*="chat-widget"], .chat-widget { display: none !important; }
  body, main, .weeks-container, .weeks-container > .container, .archive-editions { display: block !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .week, .week.archive-current { display: block !important; overflow: visible !important; max-height: none !important; height: auto !important; break-inside: auto !important; page-break-inside: auto !important; border: 0 !important; margin: 0 0 2rem !important; }
  .week-draft { display: none !important; }
  .week::before { display: block !important; }
  .week-header { display: none !important; }
  .week-body, .week-body-inner, .week-section, .email-content, .item, .prompt-block, pre, .carousel-section, .carousel-slides-wrap, .carousel-slides {
    display: block !important; max-height: none !important; height: auto !important; min-height: 0 !important; overflow: visible !important; width: auto !important; max-width: none !important; break-inside: auto !important; page-break-inside: auto !important; contain: none !important;
  }
  .carousel-ready .carousel-slides[hidden] { display: block !important; }
  .carousel-cover { display: none !important; }
  .carousel-slides img { display: block !important; width: 100% !important; max-width: 100% !important; height: auto !important; max-height: none !important; margin: 0 0 1rem !important; break-inside: avoid; }
  .podcast-player { display: block !important; background: transparent !important; color: black !important; padding: 0 !important; border: 1px solid #ccc !important; }
  .podcast-player .player-row { display: none !important; }
  .player-footer, .player-footer a { color: black !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
.reader-position:focus, .week-body:focus { outline: none; }
