/* Seven Conferences: scoped visual layer. Keep shared headers, site navigation,
   reader preferences and all original interaction geometry in their own files. */
body.cth-unified {
  --cth-u-paper: var(--paper, var(--cth-paper, #fbfdfc));
  --cth-u-ink: var(--ink, var(--cth-ink, #152725));
  --cth-u-muted: var(--soft, var(--cth-muted-strong, #526c67));
  --cth-u-line: var(--line, var(--cth-line, #d9e5e2));
  --cth-u-brand: var(--cth-reader-brand, var(--cth-brand, #176d68));
  --cth-u-soft: color-mix(in srgb, var(--cth-u-brand) 7%, var(--cth-u-paper));
}

body.cth-unified :is(.ls-wrap, .cth-community-page) {
  min-width: 0;
}
body.cth-unified :is(.booklet-primary, .booklet-primary-action, .mg-pn,
  .cth-material-row, .cth-material-hymn, .sd-resource-row,
  .cth-community-load-more, .cth-community-retry, .cth-community-page__state button) {
  min-height: 44px;
  font-size: 15px;
}
body.cth-unified :is(.booklet-primary, .cth-dashboard-action,
  .cth-form-submit, .cth-locality-request-submit, .sy-primary) {
  border-radius: 10px;
  box-shadow: none;
  font-weight: 600;
}
body.cth-unified :is(.ls-wrap, .cth-community-page, .cth-morning-dialog,
  .cth-locality-request-screen, .cth-community-info__dialog,
  .sy-section-screen, .sy-preview-screen, .sy-modal-card)
  :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--cth-u-brand);
  outline-offset: 3px;
}
body.cth-unified :is(.ls-wrap, .cth-community-page, .cth-morning-dialog,
  .cth-locality-request-screen, .sy-modal-card) :is(button:disabled, [aria-disabled="true"]) {
  cursor: default;
}

/* Only known official covers receive an image. Opacity preserves the original
   fallback text in the accessibility tree; unknown editions keep that text. */
body.cth-unified [data-cth-cover="2026-1"] { --cth-u-cover: url("/static/7cth/covers/2026-1-4348.jpg"); }
body.cth-unified [data-cth-cover="2026-2"] { --cth-u-cover: url("/static/7cth/covers/2026-2-4349.jpg"); }
body.cth-unified [data-cth-cover="2026-3"] { --cth-u-cover: url("/static/7cth/covers/2026-3-4350.jpg"); }
body.cth-unified [data-cth-cover="2026-4-upper"] { --cth-u-cover: url("/static/7cth/covers/2026-4-4351-1.jpg"); }
body.cth-unified [data-cth-cover="2026-4-lower"] { --cth-u-cover: url("/static/7cth/covers/2026-4-4351-2.jpg"); }
body.cth-unified [data-cth-cover="2026-5"] { --cth-u-cover: url("/static/7cth/covers/2026-5-4352.jpg"); }
body.cth-unified :is(.booklet-cover, .cth-home-book):is(
  [data-cth-cover="2026-1"], [data-cth-cover="2026-2"],
  [data-cth-cover="2026-3"], [data-cth-cover="2026-4-upper"],
  [data-cth-cover="2026-4-lower"], [data-cth-cover="2026-5"]) {
  position: relative;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cth-unified :is(.booklet-cover, .cth-home-book)[data-cth-cover]::before {
  content: none;
}
body.cth-unified :is(.booklet-cover, .cth-home-book):is(
  [data-cth-cover="2026-1"], [data-cth-cover="2026-2"],
  [data-cth-cover="2026-3"], [data-cth-cover="2026-4-upper"],
  [data-cth-cover="2026-4-lower"], [data-cth-cover="2026-5"]) > * {
  opacity: 0;
}
body.cth-unified :is(.booklet-cover, .cth-home-book):is(
  [data-cth-cover="2026-1"], [data-cth-cover="2026-2"],
  [data-cth-cover="2026-3"], [data-cth-cover="2026-4-upper"],
  [data-cth-cover="2026-4-lower"], [data-cth-cover="2026-5"])::after {
  position: absolute;
  inset: 0;
  background: var(--cth-u-cover) center / auto 100% no-repeat;
  mix-blend-mode: multiply;
  content: "";
  pointer-events: none;
}
body.cth-unified .booklet-cover-list {
  flex: 0 0 54px;
  width: 54px;
  min-height: 72px;
  height: 72px;
  padding: 7px 5px 7px 10px;
  border-radius: 2px 5px 5px 2px;
  box-shadow: none;
}
body.cth-unified .booklet-cover-list::before { left: 6px; }
body.cth-unified .booklet-cover-list .booklet-cover-year,
body.cth-unified .booklet-cover-list .booklet-cover-series { font-size: 8px; line-height: 1.25; }
body.cth-unified .booklet-cover-list .booklet-cover-name { font-size: 10px; line-height: 1.4; letter-spacing: 0; }

/* Homepage: retain the body's existing warm green canvas and original tokens.
   The gray local palette in cth-homepage.css must not form a second canvas. */
body.cth-unified.cth-index main#main[data-homepage-design="morning-course"] {
  --cth-home-canvas: inherit;
  --cth-home-paper: inherit;
  --cth-home-ink: inherit;
  --cth-home-muted: inherit;
  --cth-home-line: inherit;
  --cth-home-soft: inherit;
  --cth-brand: inherit;
  --cth-focus: inherit;
  --cth-ink: inherit;
  --cth-muted-strong: inherit;
  --cth-line: inherit;
  --cth-paper: inherit;
  gap: 28px;
  padding-top: 20px;
  background: transparent;
  color: var(--cth-u-ink);
}
body.cth-unified.cth-index main#main[data-homepage-design] .booklet-search {
  min-height: 48px;
  border: 1px solid var(--cth-u-line);
  border-radius: 24px;
  background: var(--cth-u-paper);
  box-shadow: none;
}
body.cth-unified.cth-index main#main[data-homepage-design] .booklet-search input {
  color: var(--cth-u-ink);
  font-size: 15px;
}
body.cth-unified.cth-index main#main[data-homepage-design] .booklet-search input::placeholder { color: var(--cth-u-muted); }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-mine {
  padding: 0 0 28px;
  border: 0;
  border-bottom: 1px solid var(--cth-u-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-heading {
  color: var(--cth-u-ink);
  font-size: 20px;
  line-height: 1.5;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-greeting {
  margin: 16px 0 18px;
  padding: 0 0 0 12px;
  border-left: 2px solid var(--cth-u-brand);
  color: var(--cth-u-brand);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
  text-wrap: pretty;
  overflow-wrap: anywhere;
}
body.cth-unified.cth-index main#main[data-homepage-design] {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
body.cth-unified.cth-index main#main[data-homepage-design] :is(input, textarea, [contenteditable="true"]) {
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px 16px;
}
body.cth-unified.cth-index main#main[data-homepage-design]
  :is(.cth-dashboard-locality, .cth-dashboard-progress) {
  display: grid;
  gap: 3px;
  margin: 0;
  color: var(--cth-u-muted);
  font-size: 13px;
  line-height: 1.6;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-locality-name {
  color: var(--cth-u-ink);
  font-size: 15px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-date { font-size: 14px; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-dashboard-progress {
  justify-items: end;
  white-space: nowrap;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-progress-count {
  color: var(--cth-u-ink);
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.4;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-dashboard-settings { color: var(--cth-u-brand); }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-week-intro { display: none; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-mine .cth-week-grid { margin: 20px 0 24px; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-week-label { color: var(--cth-u-muted); font-size: 13px; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-week-date { color: var(--cth-u-ink); font-size: 18px; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-week-grid::before { background: var(--cth-u-line); }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-week-day.is-current .cth-week-marker {
  background: var(--cth-home-canvas);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cth-u-brand) 10%, transparent);
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-week-day.is-current.is-complete .cth-week-marker { background: var(--cth-u-brand); }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-feature {
  display: grid;
  grid-template-columns: minmax(88px, .72fr) minmax(0, 1.5fr);
  gap: 16px 20px;
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-art {
  width: 100%;
  max-width: 160px;
  justify-self: center;
  overflow: visible;
  aspect-ratio: 3 / 4;
  border-radius: 0;
  background: transparent;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-book {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: space-between;
  gap: 12px;
  overflow: hidden;
  padding: 14px 12px 14px 18px;
  border-radius: 3px 7px 7px 3px;
  background: linear-gradient(90deg, var(--cth-brand-2) 0 6px, var(--cth-u-brand) 6px);
  color: #fff;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-cover-title { min-height: 0; overflow: hidden; font-size: 14px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-cover-type { font-size: 10px; line-height: 1.6; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-book[data-cth-cover] { padding: 0; border-radius: 0; background: transparent; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-feature-copy { min-width: 0; padding: 0; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-art-label {
  position: static;
  display: inline-block;
  max-width: 100%;
  margin: 0 0 10px;
  padding: 3px 8px;
  border-radius: 6px;
  background: var(--cth-u-soft);
  color: var(--cth-u-brand);
  font-size: 13px;
  line-height: 1.6;
  text-align: left;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-topic { color: var(--cth-u-ink); font-size: 20px; line-height: 1.55; }
body.cth-unified.cth-index main#main[data-homepage-design]
  :is(.cth-dashboard-position, .cth-today-state, .cth-completion-time) { color: var(--cth-u-muted); font-size: 14px; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-actions {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
  gap: 12px;
  padding: 0;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-actions > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 10px 8px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-actions > a:only-child { grid-column: 1 / -1; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-actions .cth-dashboard-action {
  background: var(--cth-u-brand);
  color: #fff !important;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-actions .cth-week-materials {
  border-color: color-mix(in srgb, var(--cth-u-brand) 70%, var(--cth-u-line));
  background: transparent;
  color: var(--cth-u-brand) !important;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-today-action > svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-actions > a:active {
  opacity: .82;
}
body.cth-unified.cth-index main#main[data-homepage-design]
  :is(.cth-community-list, .cth-ranking-list, .cth-community-preview-footer) {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cth-unified.cth-index main#main[data-homepage-design]
  :is(.cth-community-row, .cth-ranking-row) { min-height: 64px; padding: 14px 0; }
body.cth-unified.cth-index main#main[data-homepage-design]
  :is(.cth-community-row + .cth-community-row, .cth-ranking-row + .cth-ranking-row,
  .cth-community-preview-footer) { border-top-color: var(--cth-u-line); }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-community-preview-footer { padding-inline: 0; }
body.cth-unified.cth-index main#main[data-homepage-design] .cth-community-name { color: var(--cth-u-ink); font-size: 15px; }
body.cth-unified.cth-index main#main[data-homepage-design]
  :is(.cth-community-position, .cth-community-count, .cth-ranking-number) { color: var(--cth-u-muted); font-size: 13px; }
body.cth-unified.cth-index main#main[data-homepage-design]
  :is(.cth-community-more-link, .booklet-more-years) { font-size: 14px; }

/* Archive and conference: continuous rows, complete titles and small covers. */
body.cth-unified.cth-index .ixy {
  margin-bottom: 0;
  border: 0;
  border-bottom: 1px solid var(--cth-u-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cth-unified.cth-index .ixy-hd { min-height: 52px; padding-inline: 0; font-size: 16px; }
body.cth-unified.cth-index .ixy-y { font-size: 16px; }
body.cth-unified.cth-index .ixy-n { color: var(--cth-u-muted); font-size: 13px; }
body.cth-unified.cth-index .ixy-bd .lrow { min-height: 96px; gap: 16px; padding: 12px 0; }
body.cth-unified.cth-index .ixr-type { color: var(--cth-u-brand); font-size: 14px; line-height: 1.5; }
body.cth-unified.cth-index .lrow-t { color: var(--cth-u-ink); font: 600 16px/1.6 var(--cth-sans); overflow-wrap: anywhere; }
body.cth-unified.cth-index .lrow-s { color: var(--cth-u-muted); font-size: 13px; }
body.cth-unified.cth-index main#main[data-homepage-design] .ixy { border-radius: 0; background: transparent; }
body.cth-unified.cth-index main#main[data-homepage-design] .ixy-hd { padding-inline: 0; }
body.cth-unified.cth-index main#main[data-homepage-design] .ixy-bd .lrow { padding-inline: 0; }
body.cth-unified.cth-index main#main[data-homepage-design] .ixr-type { color: var(--cth-u-brand); font-size: 14px; }
body.cth-unified.cth-index main#main[data-homepage-design] .lrow-t { color: var(--cth-u-ink); font: 600 16px/1.6 var(--cth-sans); }
body.cth-unified.cth-index main#main[data-homepage-design] .lrow-s { color: var(--cth-u-muted); font-size: 13px; }
body.cth-unified.cth-conf .ls-wrap,
body.cth-unified.cth-week .ls-wrap { padding-top: 24px; }
body.cth-unified.cth-conf .cf-hero,
body.cth-unified.cth-week .booklet-week-hero {
  grid-template-columns: minmax(88px, 132px) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  margin-bottom: 28px;
}
body.cth-unified.cth-conf .booklet-cover-lg,
body.cth-unified.cth-week .booklet-cover-week { min-height: 0; box-shadow: none; }
body.cth-unified.cth-conf .cf-hero-copy h2,
body.cth-unified.cth-week .week-hero-copy h2 {
  margin: 6px 0 10px;
  font-size: 21px;
  font-weight: 650;
  line-height: 1.55;
  letter-spacing: 0;
  text-wrap: pretty;
  overflow-wrap: anywhere;
}
body.cth-unified.cth-conf .cf-summary,
body.cth-unified.cth-week .week-meta { color: var(--cth-u-muted); font-size: 13px; line-height: 1.7; }
body.cth-unified.cth-conf .cf-list {
  border: 0;
  border-top: 1px solid var(--cth-u-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cth-unified.cth-conf .booklet-group-heading { padding: 20px 0 12px; }
body.cth-unified.cth-conf .booklet-group-heading h2 { font-size: 20px; }
body.cth-unified.cth-conf .cf-item { padding: 18px 0; }
body.cth-unified.cth-conf .cf-ti { font-size: 17px; font-weight: 600; line-height: 1.6; }
body.cth-unified.cth-conf :is(.cf-no, .cf-pg, .booklet-meta) { font-size: 13px; }
body.cth-unified.cth-conf .cf-progress { height: 4px; margin-top: 12px; }
body.cth-unified.cth-week .wk-material-card {
  padding: 16px 0;
  border-width: 1px 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cth-unified.cth-week .wk-material-kicker { font-size: 16px; font-weight: 600; }
body.cth-unified.cth-week .wk-material-copy > strong { font-size: 15px; line-height: 1.6; }
body.cth-unified.cth-week .wk-material-tags { gap: 6px 12px; }
body.cth-unified.cth-week .wk-material-tags > span { padding: 0; border-radius: 0; background: transparent; color: var(--cth-u-muted); font-size: 13px; font-weight: 400; }
body.cth-unified.cth-week .tl.booklet-group { border-inline: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.cth-unified.cth-week .tl-b { min-height: 64px; padding-inline: 0; }

/* Materials and official long-form companions share the reader's quiet width. */
body.cth-unified:is(.cth-materials, .cth-burden, .cth-related) .ls-wrap { padding-top: 24px; }
body.cth-unified :is(.cth-materials-hero, .cth-burden-hero) { margin-bottom: 28px; }
body.cth-unified :is(.cth-materials-hero, .cth-burden-hero) h1 { font-size: 21px; font-weight: 650; line-height: 1.55; }
body.cth-unified :is(.cth-materials-group > h2, .cth-related .sd-h) { font-size: 18px; font-weight: 600; }
body.cth-unified :is(.cth-material-row, .cth-material-hymn, .sd-resource-row) { min-height: 56px; font-size: 16px; font-weight: 600; }
body.cth-unified.cth-related .booklet-group {
  overflow: visible;
  padding: 0 0 24px;
  border: 0;
  border-bottom: 1px solid var(--cth-u-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cth-unified.cth-related-demo .dmp { border: 0; padding: 0; }
body.cth-unified.cth-related-demo .dmp p { font-size: var(--fs, 18px); line-height: 1.9; }
body.cth-unified.cth-burden .cth-burden-reader p { font-size: var(--fs, 18px); }
body.cth-unified.cth-related-psrp .ps-t { font-size: 18px; line-height: 1.6; }
body.cth-unified.cth-related-psrp .ps-v { max-width: 100%; border-radius: 8px; box-shadow: none; }
body.cth-unified.cth-related-psrp .ps-note { font-size: 14px; line-height: 1.75; }
body.cth-unified .cth-au { border-radius: 10px; box-shadow: none; }
body.cth-unified .cth-au .aud { border: 1px solid var(--cth-u-line); border-radius: 10px; background: var(--cth-u-paper); box-shadow: none; }
body.cth-unified .cth-au .aud-controls { gap: 8px; }
body.cth-unified .cth-au :is(.aud-rate, .audt) { color: var(--cth-u-muted); font-size: 14px; }
body.cth-unified .cth-au .aud-rate { min-width: 48px; min-height: 48px; }
body.cth-unified .cth-au .cth-au-t { color: var(--cth-u-ink); font-size: 15px; font-weight: 600; }

/* Reader chrome follows --paper / --ink. Do not set --fs, language visibility,
   source-key regions, theme values, audio positions or shared fixed navigation. */
body.cth-unified.cth-read :is(#svEnglishHelp, #svtbEnglishHelp) { display: none !important; }
body.cth-unified.cth-read .cth-olv-collapse {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 44px;
  margin-top: 16px;
  padding: 8px 16px;
  border: 0;
  border-top: 1px solid var(--cth-u-line);
  background: transparent;
  color: var(--cth-u-brand);
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}
body.cth-unified.cth-read .cth-olv-collapse svg { width: 18px; height: 18px; }
body.cth-unified.cth-read.cth-booklet-read :is(.bar:not(.sv-navbar), .cth-tb) {
  border-color: var(--line, var(--cth-line));
  background: var(--paper, var(--cth-paper));
  box-shadow: none;
}
body.cth-unified.cth-read.cth-booklet-read .cth-tb-b .lbl { font-size: 12px; opacity: .85; }
body.cth-unified.cth-read.cth-booklet-read .cth-mh { margin-bottom: 20px; padding-top: 24px; padding-bottom: 0; }
body.cth-unified.cth-read.cth-booklet-read.cth-mr .cth-mh-no,
body.cth-unified.cth-read.cth-booklet-read .cth-content-title .cth-mh-no { font-size: 14px !important; font-weight: 600 !important; letter-spacing: 0; }
body.cth-unified.cth-read.cth-booklet-read.cth-mr .cth-mh-t,
body.cth-unified.cth-read.cth-booklet-read.cth-content-read .cth-content-title .cth-mh-t {
  color: var(--ink, var(--cth-ink)) !important;
  font-size: 22px !important;
  font-weight: 650 !important;
  line-height: 1.55 !important;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
body.cth-unified.cth-read.cth-booklet-read :is(#cthTabsPh, #svTabs) { border-width: 0 0 1px; border-radius: 0; background: transparent; }
body.cth-unified.cth-read.cth-booklet-read :is(#cthTabsPh, #svTabs) :is(button, .cth-tab-ph) { border-radius: 6px 6px 0 0; }
body.cth-unified.cth-read.cth-booklet-read .cth-piece-reading { border-radius: 0; box-shadow: none; }
body.cth-unified.cth-read.cth-booklet-read #cthLg { border-radius: 10px; box-shadow: none; }

/* Both leaderboard modes use the same continuous directory rhythm. */
body.cth-unified.cth-community-body .cth-community-page { padding-top: 24px; padding-bottom: calc(96px + env(safe-area-inset-bottom)); color: var(--cth-u-ink); }
body.cth-unified.cth-community-body .cth-community-page__header { grid-template-columns: 44px minmax(0, 1fr); }
body.cth-unified.cth-community-body .cth-community-back { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
body.cth-unified.cth-community-body .cth-community-page__header h1 { font-size: 20px; font-weight: 650; line-height: 1.5; }
body.cth-unified.cth-community-body .cth-community-page__summary { margin-top: 4px; color: var(--cth-u-muted); font-size: 14px; }
body.cth-unified.cth-community-body .cth-title-with-info { display: inline-flex; align-items: center; gap: 0; }
body.cth-unified.cth-community-body .cth-title-info-button { position: static; flex: 0 0 44px; margin-block: -6px; }
body.cth-unified.cth-community-body .cth-community-search { min-height: 48px; border: 1px solid var(--cth-u-line); border-radius: 24px; background: var(--cth-u-paper); box-shadow: none; }
body.cth-unified.cth-community-body .cth-community-search input { min-height: 46px; font-size: 15px; }
body.cth-unified.cth-community-body .cth-community-sort { flex-wrap: wrap; gap: 8px 24px; }
body.cth-unified.cth-community-body .cth-community-sort button { min-height: 44px; font-size: 15px; }
body.cth-unified.cth-community-body .cth-community-sort-note { color: var(--cth-u-muted); font-size: 13px; }
body.cth-unified.cth-community-body .cth-community-page__results { border-inline: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.cth-unified.cth-community-body .cth-community-page__row { gap: 16px; min-height: 84px; padding: 18px 0; }
body.cth-unified.cth-community-body .cth-community-page__identity strong { font-size: 16px; line-height: 1.5; }
body.cth-unified.cth-community-body .cth-community-page__identity span { color: var(--cth-u-muted); font-size: 14px; line-height: 1.6; }
body.cth-unified.cth-community-body :is(.cth-community-page__count-total strong, .cth-community-page__count--daily strong) { font-size: 22px; }

/* Existing settings, church requests and rule dialogs retain their behavior. */
body.cth-unified :is(.cth-morning-dialog, .cth-community-info__dialog, .cth-locality-request-screen) {
  max-width: calc(100vw - 32px);
  border: 1px solid var(--cth-u-line);
  border-radius: 16px;
  background: var(--cth-u-paper);
  color: var(--cth-u-ink);
  box-shadow: 0 16px 48px rgb(21 39 37 / 14%);
}
body.cth-unified .cth-community-info__dialog { max-height: calc(100dvh - 48px); overflow-y: auto; padding: 24px; }
body.cth-unified .cth-community-info__dialog h2 { font-size: 20px; line-height: 1.5; }
body.cth-unified .cth-community-info__dialog p { color: var(--cth-u-muted); font-size: 15px; line-height: 1.8; }
body.cth-unified .cth-community-info__close { border-radius: 8px; background: transparent; color: var(--cth-u-muted); }
body.cth-unified .cth-morning-dialog .cth-morning-form-heading { background: var(--cth-u-paper); }
body.cth-unified .cth-morning-dialog .cth-morning-form-heading h2 { color: var(--cth-u-ink); font-size: 20px; font-weight: 650; }
body.cth-unified .cth-morning-dialog .cth-dashboard-kicker { color: var(--cth-u-muted); font-size: 13px; font-weight: 400; letter-spacing: 0; }
body.cth-unified .cth-morning-dialog .cth-morning-section-title { padding-left: 0; border: 0; color: var(--cth-u-ink); font-size: 16px; font-weight: 600; }
body.cth-unified :is(.cth-morning-dialog, .cth-locality-request-screen) :is(input:not([type="hidden"]), select, .cth-select-trigger) {
  min-height: 48px;
  border: 1px solid var(--cth-u-line);
  border-radius: 10px;
  background: var(--cth-u-paper);
  color: var(--cth-u-ink);
  font-size: 15px;
  box-shadow: none;
}
body.cth-unified :is(.cth-morning-dialog, .cth-locality-request-screen) .cth-select-option { min-height: 44px; font-size: 15px; }
body.cth-unified .cth-morning-dialog .cth-form-submit { min-height: 48px; border-radius: 10px; background: var(--cth-u-brand); color: #fff !important; font-size: 15px; }
body.cth-unified .cth-locality-request-tabs button { min-height: 44px; font-size: 15px; }

/* Sunday: preserve the four-section editor, 500-character limit and fixed nav. */
body.cth-unified.cth-sunday .ls-wrap { padding-top: 24px !important; }
body.cth-unified.cth-sunday .sd-t { font-size: 21px !important; font-weight: 650; line-height: 1.55 !important; }
body.cth-unified.cth-sunday .sd-hero { margin-bottom: 24px; }
body.cth-unified.cth-sunday .sd-note { margin-top: 10px; font-size: 13px !important; line-height: 1.8; }
body.cth-unified.cth-sunday .sy-editor.sd-sec.booklet-group {
  padding: 20px;
  margin-bottom: 28px;
  border: 1px solid var(--cth-u-line);
  border-radius: 12px;
  background: var(--cth-u-paper);
  box-shadow: none;
}
body.cth-unified.cth-sunday .sy-draft-head { align-items: center; gap: 12px; margin-bottom: 0; }
body.cth-unified.cth-sunday .sy-draft-head .sd-h { margin: 0; font-size: 17px; }
body.cth-unified.cth-sunday .sy-draft-count { padding: 0; font-size: 13px; }
body.cth-unified.cth-sunday .sy-draft-empty {
  justify-items: start;
  gap: 6px;
  padding: 24px 0 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
  box-shadow: none;
}
body.cth-unified.cth-sunday .sy-draft-empty strong { font-size: 16px; font-weight: 500; }
body.cth-unified.cth-sunday .sy-draft-empty p { max-width: none; font-size: 14px; line-height: 1.7; }
body.cth-unified.cth-sunday .sy-draft-list:empty { display: none; }
body.cth-unified.cth-sunday .sy-draft-list:not(:empty) { margin: 16px 0; gap: 0; }
body.cth-unified.cth-sunday .sy-draft-card { border-width: 0 0 1px; border-radius: 0; background: transparent; box-shadow: none; }
body.cth-unified.cth-sunday .sy-draft-open { min-height: 112px; padding: 16px 64px 16px 0; }
body.cth-unified.cth-sunday .sy-draft-open > strong { font-size: 16px; line-height: 1.6; }
body.cth-unified.cth-sunday .sy-draft-excerpt { font-size: 14px; }
body.cth-unified.cth-sunday .sy-new-draft {
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 12px 16px;
  border-radius: 9px;
  background: var(--cth-u-brand);
  color: #fff;
  font-size: 15px;
}
body.cth-unified.cth-sunday .sy-capacity-note { margin: 12px 0 0; color: var(--cth-u-muted); font-size: 12px !important; line-height: 1.7; }
body.cth-unified.cth-sunday .sy-references { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.cth-unified.cth-sunday .sy-references-heading { margin: 0 0 8px; font-size: 16px; font-weight: 600; }
body.cth-unified.cth-sunday .sd-resource-nav { margin-top: 0; border-top: 0; }
body.cth-unified.cth-sunday .sd-resource-row { min-height: 56px; font-size: 15px; font-weight: 500; }
body.cth-unified.cth-sunday .sd-fold { margin: 0; border: 0; border-bottom: 1px solid var(--cth-u-line); border-radius: 0; background: transparent; }
body.cth-unified.cth-sunday .sd-fold-hd { min-height: 56px; padding: 0; }
body.cth-unified.cth-sunday .sd-fold-t { font-size: 15px; font-weight: 500; }
body.cth-unified.cth-sunday .sd-fold-bd { padding: 12px 0; }
body.cth-unified.cth-sunday :is(.sy-primary, .sy-secondary, .sy-danger, .sy-layer-back, .sy-layer-done, .sy-section-stepper button) { min-height: 44px; font-size: 15px; }
body.cth-unified.cth-sunday .sy-modal-card { border-radius: 16px; box-shadow: 0 16px 48px rgb(21 39 37 / 14%); }
body.cth-unified.cth-sunday .sy-verse-search input { min-height: 48px; border-radius: 10px; font-size: 15px; }
body.cth-unified.cth-sunday .sy-reading > h1 { font-size: 21px; line-height: 1.55; }
body.cth-unified.cth-sunday .sy-section-input { border-radius: 0; box-shadow: none; }

/* A shared quiet rhythm for loading, empty and recoverable failure states. */
body.cth-unified :is(.ix-empty, .cf-empty, .wk-empty, .wk-today-empty,
  .dmp-none, .ps-empty, .cth-community-page__state) {
  padding: 24px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--cth-u-muted);
  box-shadow: none;
  font-size: 15px;
  line-height: 1.8;
}
body.cth-unified.cth-index main#main[data-homepage-design] .cth-mine .cth-dashboard-loading { min-height: 240px; color: var(--cth-u-muted); font-size: 15px; }
body.cth-unified.cth-index main#main[data-homepage-design]
  :is(.cth-community-list, .cth-ranking-list) > :is(.cth-dashboard-loading, .cth-dashboard-muted, .cth-dashboard-fallback) {
  min-height: 120px;
  color: var(--cth-u-muted);
  font-size: 14px;
}

@media (max-width: 599px) {
  body.cth-unified.cth-conf .cf-hero,
  body.cth-unified.cth-week .booklet-week-hero { grid-template-columns: minmax(84px, 30%) minmax(0, 1fr); gap: 16px; }
  body.cth-unified.cth-conf .cf-hero-copy h2,
  body.cth-unified.cth-week .week-hero-copy h2 { font-size: 20px; }
  body.cth-unified.cth-conf #cfContinue { width: 100%; padding-inline: 10px; }
  body.cth-unified.cth-conf .cf-item-meta { flex-wrap: wrap; gap: 4px 12px; }
  body.cth-unified .cth-community-info__dialog { padding: 20px; }
  body.cth-unified .cth-morning-dialog .cth-morning-form-heading { padding: 20px 20px 12px; }
  body.cth-unified .cth-morning-dialog .cth-morning-form-body { padding-inline: 20px; }
  body.cth-unified .cth-morning-dialog .cth-morning-form-actions { padding-inline: 20px; }
}
@media (max-width: 359px) {
  body.cth-unified.cth-index main#main[data-homepage-design] { padding-inline: 16px; }
  body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-feature { grid-template-columns: 88px minmax(0, 1fr); gap: 16px; }
  body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-topic { font-size: 18px; }
  body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-greeting { font-size: 17px; }
  body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-actions > a { font-size: 14px; }
  body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-meta { gap: 8px 12px; }
  body.cth-unified.cth-index main#main[data-homepage-design] .cth-dashboard-progress { text-align: left; }
  body.cth-unified.cth-index main#main[data-homepage-design] .booklet-section-heading { flex-wrap: wrap; }
  body.cth-unified.cth-community-body .cth-community-page__row { gap: 12px; }
  body.cth-unified.cth-community-body .cth-community-page__count { min-width: 56px; }
  body.cth-unified.cth-sunday .sy-editor.sd-sec.booklet-group { padding: 16px; }
  body.cth-unified.cth-read.cth-booklet-read.cth-mr .cth-mh-t,
  body.cth-unified.cth-read.cth-booklet-read.cth-content-read .cth-content-title .cth-mh-t { font-size: 21px !important; }
}
@media (min-width: 900px) {
  body.cth-unified.cth-index main#main[data-homepage-design] { gap: 28px 40px; }
  body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-feature { grid-template-columns: 140px minmax(0, 1fr); }
}
@media (hover: hover) {
  body.cth-unified :is(.cf-item, .cth-material-row, .cth-material-hymn, .sd-resource-row,
    .cth-community-load-more, .cth-community-page__state button, .cth-select-option):hover {
    background: var(--cth-u-soft);
  }
  body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-actions .cth-dashboard-action:hover { background: var(--cth-brand-hover, #125d59); }
  body.cth-unified.cth-index main#main[data-homepage-design] .cth-home-actions .cth-week-materials:hover { background: color-mix(in srgb, var(--cth-u-brand) 12%, var(--cth-u-paper)); }
}
@media (prefers-reduced-motion: reduce) {
  body.cth-unified :is(.ls-wrap, .cth-community-page, .cth-morning-dialog, .cth-locality-request-screen,
    .cth-community-info__dialog, .sy-section-screen, .sy-preview-screen, .sy-modal-card) *,
  body.cth-unified :is(.ls-wrap, .cth-community-page) *::before,
  body.cth-unified :is(.ls-wrap, .cth-community-page) *::after { transition: none; scroll-behavior: auto; }
}

/* Mobile reading controls keep their own scale when the article font grows.
   Visual fills shrink inside the existing touch targets; text and handlers stay intact. */
@media (max-width: 640px) {
  body.cth-unified.cth-read.cth-booklet-read .cth-olvb {
    position: relative;
    isolation: isolate;
    min-height: 44px;
    padding: 0 10px !important;
    margin: 2px 0 0;
    gap: 5px;
    border-radius: 14px !important;
    background: transparent !important;
    color: var(--gold, #8a6518);
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 20px;
    white-space: nowrap;
  }
  body.cth-unified.cth-read.cth-booklet-read .cth-olvb::after {
    position: absolute;
    inset: 8px 0;
    z-index: -1;
    border-radius: 14px;
    background: color-mix(in srgb, var(--gold, #8a6518) 9%, transparent);
    content: "";
    pointer-events: none;
  }
  body.cth-unified.cth-read.cth-booklet-read .cth-olvb.on::after,
  body.cth-unified.cth-read.cth-booklet-read .cth-olvb:active::after {
    background: color-mix(in srgb, var(--gold, #8a6518) 15%, transparent);
  }
  body.cth-unified.cth-read.cth-booklet-read .cth-olvb i svg { width: 12px; height: 12px; }

  body.cth-unified.cth-read.cth-booklet-read .cth-au {
    position: relative;
    margin-block: 8px 12px;
    padding-block: 0 !important;
  }
  body.cth-unified.cth-read.cth-booklet-read #app .cth-au {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: 0;
  }
  body.cth-unified.cth-read.cth-booklet-read .cth-au .cth-au-t {
    margin: 0 0 2px;
    padding-right: 90px;
    font-size: 14px !important;
    font-weight: 500;
    line-height: 20px;
  }
  body.cth-unified.cth-read.cth-booklet-read #app .cth-au .cth-au-t {
    font-family: var(--cth-sans, -apple-system, BlinkMacSystemFont, sans-serif) !important;
  }
  body.cth-unified.cth-read.cth-booklet-read .cth-au .aud-main { gap: 0 !important; }
  body.cth-unified.cth-read.cth-booklet-read .cth-au .aud-seek { display: block; }
  body.cth-unified.cth-read.cth-booklet-read .cth-au .audt {
    position: absolute;
    top: 2px;
    right: 0;
    justify-content: flex-end;
    gap: 3px;
    margin: 0;
    color: var(--cth-u-muted);
    font-size: 12px;
    line-height: 16px;
  }
  body.cth-unified.cth-read.cth-booklet-read .cth-au .audt .t1::before { content: " / "; }
  body.cth-unified.cth-read.cth-booklet-read .cth-au .aud-controls {
    min-height: 44px;
    justify-content: flex-start;
    gap: 8px;
  }
  body.cth-unified.cth-read.cth-booklet-read .cth-au .play {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    background: radial-gradient(circle 18px at center, var(--cthau-c, #2a6e50) 99%, transparent 100%) !important;
    box-shadow: none;
  }
  body.cth-unified.cth-read.cth-booklet-read .cth-au .play svg { width: 16px; height: 16px; }
  body.cth-unified.cth-read.cth-booklet-read .cth-au .aud-skip {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
  }
  body.cth-unified.cth-read.cth-booklet-read .cth-au .aud-skip svg { width: 24px; height: 24px; }
  body.cth-unified.cth-read.cth-booklet-read .cth-au .aud-rate {
    min-width: 44px;
    min-height: 44px;
    height: 44px;
    margin-left: auto;
    color: var(--cth-u-muted);
    font-size: 13px;
    font-weight: 500;
  }
  body.cth-unified.cth-read.cth-booklet-read #app .cth-au + .h.h1 { margin-top: 24px !important; }
  html[data-sv-theme="night"] body.cth-unified.cth-read.cth-booklet-read .cth-olvb {
    --gold: var(--cth-gold, #d0b070);
  }
  html[data-sv-theme="night"] body.cth-unified.cth-read.cth-booklet-read .cth-au {
    --cth-u-muted: var(--cth-ink3, #9a9384);
  }
}
