/* Shared shell for daily archive + live reader pages */
.daily-wrap { max-width: 760px; margin: 0 auto; padding: 24px 18px 72px; }
.daily-banner {
  border: 1px solid color-mix(in srgb, var(--blog-accent, #9ec1ff) 35%, transparent);
  border-radius: 12px;
  padding: 16px 18px;
  margin-bottom: 20px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--blog-accent, #9ec1ff) 14%, transparent), transparent 55%),
    var(--blog-bg, rgba(0,0,0,0.25));
}
.daily-banner h1 { margin: 0 0 8px; font-size: 1.55rem; color: var(--blog-accent, inherit); }
.daily-banner p { margin: 0; opacity: 0.85; }
.daily-banner .format-chip {
  display: inline-block;
  margin-top: 10px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  border: 1px solid color-mix(in srgb, var(--blog-accent, #9ec1ff) 45%, transparent);
  color: var(--blog-accent, #9ec1ff);
}
.daily-nav {
  display: flex; flex-wrap: wrap; gap: 10px 14px;
  margin: 0 0 22px; font-size: 0.92rem;
}
.daily-nav a { text-decoration: none; }
.daily-list { list-style: none; margin: 0; padding: 0; }
.daily-list li {
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 12px;
  background: rgba(0,0,0,0.2);
}
.daily-list a { color: inherit; text-decoration: none; }
.daily-list h2 { margin: 0 0 6px; font-size: 1.15rem; }
.daily-list .meta { opacity: 0.75; font-size: 0.85rem; margin: 0 0 6px; }
.daily-list .abs { opacity: 0.9; margin: 0; }
.daily-empty { opacity: 0.8; padding: 12px 0; }

/* Companion animation clips are vertical — never a landscape player box */
.daily-post-hero,
.blog-video-portrait-wrap {
  display: flex;
  justify-content: center;
  margin: 14px auto 20px;
  max-width: 100%;
}
.daily-post-hero video,
.blog-video-portrait,
video.blog-video-portrait {
  display: block;
  width: min(100%, 340px);
  max-width: 100%;
  aspect-ratio: 9 / 16;
  height: auto;
  max-height: min(72vh, 620px);
  object-fit: cover;
  object-position: center top;
  border-radius: 18px;
  background: #0a0a0a;
  margin: 0;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4);
}

/* Theme page heroes: portrait presence instead of landscape full-bleed */
[class$="-hero"] {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 16px 8px;
  overflow: visible;
  background: transparent !important;
}
[class$="-hero"] > video,
[class$="-hero"] video[data-blog-hero-video] {
  position: relative !important;
  inset: auto !important;
  width: min(100%, 340px) !important;
  height: auto !important;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  object-position: center top;
  border-radius: 20px;
  filter: none;
}
[class$="-hero-scrim"] {
  display: none !important;
}
[class$="-hero-card"] {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  max-width: min(640px, 100%) !important;
  margin: 18px auto 8px !important;
  width: 100%;
}

/* Mid-article / media-break frames stay portrait */
[class$="-media-break"] {
  max-width: 340px !important;
  margin-left: auto;
  margin-right: auto;
}
[class$="-media-break"] video {
  aspect-ratio: 9 / 16 !important;
  object-fit: cover;
  object-position: center top;
}

.daily-section { margin: 18px 0; }
.daily-section h3 {
  margin: 0 0 8px; font-size: 1.05rem;
  color: color-mix(in srgb, var(--blog-accent, #c8d6e5) 80%, #fff);
}
.daily-section p { margin: 0 0 12px; line-height: 1.65; }

/* Shell layouts — different page shapes per format */
.daily-post[data-shell="narrow"],
.daily-wrap:has(.daily-post[data-shell="narrow"]) { max-width: 560px; }
.daily-post[data-shell="wide"],
.daily-wrap:has(.daily-post[data-shell="wide"]) { max-width: 900px; }
.daily-post[data-shell="stack"] article { display: flex; flex-direction: column; gap: 8px; }
.daily-post[data-shell="cards"] article {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.daily-post[data-shell="cards"] .daily-section {
  margin: 0;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--blog-accent, #9ec1ff) 28%, transparent);
  background: color-mix(in srgb, var(--blog-bg, #111) 88%, #000);
}
@media (min-width: 720px) {
  .daily-post[data-shell="cards"] article { grid-template-columns: 1fr 1fr; }
  .daily-post[data-shell="cards"] .daily-section:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
.daily-post[data-shell="split"] article {
  display: grid;
  gap: 16px;
}
@media (min-width: 720px) {
  .daily-post[data-shell="split"] article { grid-template-columns: 1.1fr 0.9fr; }
}
.daily-post[data-shell="list"] .daily-section p { line-height: 1.5; }
.daily-post[data-shell="list"] .daily-section h3 {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.daily-post[data-shell="quest"] .daily-banner {
  border-left: 4px solid var(--blog-accent, #fb923c);
}
.daily-post[data-shell="quest"] .daily-section h3 {
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.9rem;
}
.daily-post[data-shell="credo"] .daily-section p {
  font-size: 1.08rem;
  line-height: 1.45;
}
.daily-post[data-shell="beacon"] .daily-section p {
  font-size: 1.15rem;
  line-height: 1.8;
  max-width: 28ch;
}
.daily-post[data-shell="dialogue"] .daily-section p {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.05rem;
  line-height: 1.9;
  border-left: 2px solid color-mix(in srgb, var(--blog-accent, #cbd5e1) 50%, transparent);
  padding-left: 12px;
}
.daily-post[data-len="short"] .daily-section p { font-size: 1.08rem; }
.daily-post[data-len="long"] .daily-section p { font-size: 0.98rem; line-height: 1.7; }
