/* History slots stretch with the row; all colours inherit the band's kit values. */
.reader.one .track[data-earlier-row], .reader.one .brief-more .track { align-items: stretch; overflow-anchor: none; scroll-snap-type: none; }
/* Only the slots stretch: a card keeps the height of its own words (live sweep #119, 23 Oct 2026: a card without a picture
   stood 153 px taller than its words beside picture cards). The news strip keeps its text cards one height (.nv-card). */
.reader.one :is(.track[data-earlier-row], .brief-more .track) > .card:not(.nv-card) { align-self: flex-start; }
.reader.one .dd { flex: 0 0 72px; align-self: stretch; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border-radius: 24px; background: color-mix(in srgb, var(--new-ring, var(--ember)) 9%, var(--panel)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--new-ring, var(--ember)) 28%, transparent); color: var(--ink); }
.reader.one .dd small { font: 600 12px/16px Manrope, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--text2); }
.reader.one .dd b { font: 600 30px/34px Manrope, sans-serif; letter-spacing: -.02em; }
.reader.one .dd i { width: 22px; height: 2px; border-radius: 2px; background: var(--new-ring, var(--ember)); margin: 6px 0; }
.reader.one .dd .dd-label { max-width: var(--brief-divider-label-width, 56px); font: 600 13px/18px Manrope, sans-serif; text-align: center; }
.reader.one .dl { flex: 0 0 216px; min-height: 240px; align-self: stretch; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; border-radius: 24px; color: var(--text2); background: color-mix(in srgb, var(--new-ring, var(--ember)) 5%, transparent); font: 500 14px/20px Manrope, sans-serif; }
.reader.one .dl .lockup { width: 92px; color: var(--ink); opacity: .85; }
.reader.one .dl .lockup svg { width: 100%; height: auto; }
.reader.one .de { flex: 0 0 216px; align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 24px; border-radius: 24px; background: color-mix(in srgb, var(--new-ring, var(--ember)) 9%, var(--panel)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--new-ring, var(--ember)) 28%, transparent); color: var(--ink); }
.reader.one .de b { font: 600 20px/26px Manrope, sans-serif; }
.reader.one .de span { font: 400 14px/20px Manrope, sans-serif; color: var(--text2); }
.reader.one .earlier-vertical { display: flex; flex-direction: column; gap: 16px; grid-column: 1 / -1; min-width: 0; overflow-anchor: none; }
.reader.one .earlier-vertical > .dd { flex: none; flex-direction: row; justify-content: flex-start; gap: 8px; padding: 16px 24px; }
.reader.one .earlier-vertical > .dd b { font-size: 20px; line-height: 26px; }
.reader.one .earlier-vertical > .dl, .reader.one .earlier-vertical > .de { flex: none; min-height: 140px; }
.reader.one .nv-row.earlier-card { position: relative; }
.reader.one .nv-row.earlier-card > .chip.when { position: absolute; top: 22px; left: 22px; }
.reader.one .earlier-rise { animation: earlier-rise 280ms var(--ease-out, ease-out) both; }
@keyframes earlier-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 1024px) {
  /* Specificity keeps the Brief a strip despite the older desktop grid rule. */
  .reader.one .b-brief .one-row:nth-child(1 of .one-row):is(.brief-more, :has([data-earlier-row])) .track { display: flex; gap: 20px; overflow-x: auto; padding: 4px 0 12px; margin: 0; scroll-snap-type: none; }
  .reader.one .b-brief .one-row:nth-child(1 of .one-row):is(.brief-more, :has([data-earlier-row])) .track > .card { flex: 0 0 calc((100% - 40px) / 3); width: calc((100% - 40px) / 3); }
  .reader.one .b-brief .one-row:nth-child(1 of .one-row):is(.brief-more, :has([data-earlier-row])) .nx:not([hidden]) { display: grid; }
}
@media (prefers-reduced-motion: reduce) { .reader.one .earlier-rise { animation: none; } }
.watch .w-end .dl { display: flex; flex-direction: column; align-items: center; gap: 10px; color: #d7d9de; font: 500 14px/20px Manrope, sans-serif; }
.watch .w-end .dl .lockup { width: 92px; color: #fff; }
.watch .w-end .dl .lockup svg { width: 100%; height: auto; }

/* Reviews keep an explicit history card; each tap appends the prior saved day in the same strip. */
.reader.one .review-history-more { flex-basis: var(--review-history-width, 216px); padding: 24px; border: 1px solid var(--rule); background: var(--panel); color: var(--ink); text-align: center; }
.reader.one .review-history-more b { font-size: 20px; line-height: 26px; font-weight: 600; }
.reader.one .review-history-more > span { color: var(--text2); }
.reader.one .review-history-more:hover { background: var(--fill); }
.reader.one .review-history-more:focus-visible { outline: 2px solid var(--orchid); outline-offset: 3px; }
.reader.one .review-history-more:disabled { cursor: wait; }
