/* A quiet continuous reading surface, scoped to the guided journey. */
html { scroll-padding-block-start: var(--bc-journey-top, 2rem); }
.bc-is-journey { --bc-admin-offset: 0px; }
.bc-is-journey.admin-bar { --bc-admin-offset: 32px; }
.bc-is-journey .bc-header { position: sticky; inset-block-start: var(--bc-admin-offset); z-index: 90; background: var(--bc-bg); }
.bc-main[data-bc-screen="journey"] { max-width: 760px; }
.bc-daily-journey { counter-reset: bc-step; }
.bc-journey-intro { padding-block-end: 2.25rem; border-block-end: 1px solid var(--bc-border); }
.bc-journey-intro .bc-eyebrow { display: flex; align-items: center; gap: .75rem; }
.bc-journey-intro .bc-eyebrow::before { content: ""; width: 1.75rem; height: 1px; background: var(--bc-gold-line); }
.bc-journey-intro h1 { margin-block: .75rem 1rem; font-size: clamp(2.25rem, 6vw, 3.25rem); }
.bc-journey-intro .bc-intro { font-family: var(--bc-heading); font-style: italic; font-size: clamp(1.0625rem, 2.4vw, 1.25rem); line-height: 1.7; color: #55604d; }
.bc-journey-intro .bc-intro:lang(hi), .bc-journey-intro .bc-intro [lang="hi"] { font-style: normal; }
.bc-journey-context { margin-block-start: 1.25rem; }
.bc-journey-section { position: relative; padding-block: 2.5rem; counter-increment: bc-step; }
.bc-journey-section + .bc-journey-section { border-block-start: 0; }
.bc-journey-section + .bc-journey-section::after { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, var(--bc-gold-line), var(--bc-border) 30%, rgb(222 223 211 / 0%)); }
.bc-journey-section::before { content: counter(bc-step, decimal-leading-zero); content: counter(bc-step, decimal-leading-zero) / ""; display: block; margin-block-end: .5rem; font-size: .6875rem; font-weight: 600; letter-spacing: .22em; color: var(--bc-gold); }
.bc-journey-section h2 { font-size: clamp(1.75rem, 4.4vw, 2.25rem); margin-block-end: 1.5rem; letter-spacing: -.03em; scroll-margin-block-start: 2rem; }
.bc-scripture-reference { font-family: var(--bc-heading); color: var(--bc-accent); font-size: clamp(1.8rem, 5vw, 2.5rem); margin-block-end: 1.5rem !important; }
.bc-verse-placeholder { padding: 1.5rem 1.5rem 1.5rem 1.75rem; border: 1px solid #d9e0cb; border-inline-start: 3px solid #9cac89; background: linear-gradient(170deg, #f4f6ea, #ecf0df); border-radius: 4px 16px 16px 4px; }
.bc-verse-placeholder > p + p { margin-block-start: .75rem; color: var(--bc-muted); font-size: .9375rem; line-height: 1.8; }
.bc-devotional-text { max-width: 36em; font-family: var(--bc-heading); font-size: clamp(1.25rem, 3vw, 1.625rem); line-height: 1.95; text-wrap: pretty; }
blockquote.bc-devotional-text { margin-inline: 0; padding-inline-start: 1.25rem; border-inline-start: 2px solid var(--bc-gold-line); }
.bc-devotional-text [lang="hi"] { line-height: 2; }
.bc-journey-audio { display: inline-flex; align-items: center; gap: .6rem; padding: .7rem 0; min-height: 44px; margin-block-start: 1.5rem; border: 0; background: transparent; color: var(--bc-muted); font-size: .8125rem !important; text-align: start; }
.bc-message-note { margin-block-start: 1.5rem !important; }
.bc-journey-actions { display: flex; justify-content: flex-start; padding-block-start: 2.25rem; }
.bc-journey-actions .bc-button { text-align: start; }
.bc-reflection-response { margin-block-start: 2rem; }
.bc-reflection-response label { display: block; font-size: .875rem; font-weight: 600; margin-block-end: .75rem; }
.bc-reflection-response textarea { display: block; width: 100%; min-height: 150px; max-width: 100%; resize: vertical; padding: 1rem; border: 1px solid #9da891; border-radius: 14px; background: var(--bc-surface); color: var(--bc-ink); box-shadow: 0 1px 2px rgb(45 55 34 / 5%) inset; font: inherit; line-height: 1.8; }
.bc-reflection-response textarea:focus { border-color: var(--bc-accent); }
.bc-reflection-response > p { margin-block-start: .75rem; }
.bc-reflected-choice { display: flex; align-items: center; gap: .75rem; min-height: 48px; padding-block: .5rem; margin-block-start: 1rem; font-size: .9375rem; cursor: pointer; }
.bc-reflected-choice input, .bc-quiz-option input { width: 1.2rem; height: 1.2rem; margin: 0; flex: 0 0 auto; accent-color: var(--bc-accent); }
.bc-completion { margin-block: 1.5rem 0; padding: 2.25rem 1.5rem; border: 1px solid #d9e0cb; border-radius: var(--bc-radius-lg); background: radial-gradient(80% 120% at 100% 0, rgb(255 253 242 / 70%) 0, rgb(255 253 242 / 0%) 70%), linear-gradient(165deg, #f3f6e8, #e9eedb); }
.bc-completion h2 { margin-block: 1.1rem .75rem; font-size: clamp(1.75rem, 4.4vw, 2.25rem); scroll-margin-block-start: 6.5rem; }
.bc-completion > p:not(.bc-prototype-reward) { color: var(--bc-muted); }
.bc-prototype-reward { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-block-start: 1.25rem !important; }
.bc-prototype-reward strong { padding: .15rem .7rem; border: 1px solid var(--bc-gold-line); border-radius: 999px; background: var(--bc-surface); font-size: .8125rem; font-weight: 600; color: var(--bc-gold); }
.bc-daily-challenge { padding-block: 3rem 2.25rem; }
.bc-daily-challenge > h2 { margin-block: .5rem 1.5rem; }
.bc-daily-challenge fieldset { margin: 0; padding: 0; min-width: 0; border: 0; }
.bc-daily-challenge legend { padding: 0; max-width: 100%; font-family: var(--bc-heading); font-size: 1.375rem; line-height: 1.65; margin-block-end: 1.25rem; }
.bc-quiz-options { display: grid; gap: .75rem; }
.bc-quiz-option { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.15rem; min-height: 60px; border: 1px solid #a8b19e; border-radius: 14px; background: var(--bc-surface); box-shadow: 0 1px 2px rgb(45 55 34 / 4%); cursor: pointer; }
.bc-quiz-option:hover { border-color: var(--bc-accent); background: #fbfcf5; }
.bc-quiz-option:has(input:checked) { border-color: var(--bc-accent); background: var(--bc-sage-wash); }
.bc-quiz-option:focus-within { outline: 2px solid var(--bc-gold); outline-offset: 3px; }
.bc-quiz-option[data-bc-answer-state="correct"] { background: var(--bc-accent-soft); border-color: var(--bc-accent); border-width: 2px; }
.bc-quiz-option[data-bc-answer-state="incorrect"] { background: #f7eee8; border-color: #835a44; border-width: 2px; }
.bc-quiz-feedback { margin-block: 1.25rem; font-size: .9375rem; }
.bc-quiz-feedback [data-bc-result="incorrect"], .bc-quiz-feedback [data-bc-result="empty"] { color: #79523e; }
.bc-quiz-feedback [data-bc-result="correct"] { color: var(--bc-accent); }
.bc-daily-challenge .bc-prototype-reward { margin-block-end: 1.25rem; }
.bc-daily-challenge [aria-disabled="true"] { cursor: default; }
.bc-account-prompt { padding: 1.75rem 1.5rem; border-radius: var(--bc-radius-lg); border: 1px solid #d9e0cb; background: linear-gradient(165deg, #f3f6e8, #e9eedb); }
.bc-account-prompt h2 { font-size: 1.5rem; margin-block-end: 1rem; }
.bc-account-prompt > p { font-size: .875rem; color: var(--bc-muted); }
.bc-account-actions { display: grid; gap: .75rem; margin-block: 1.5rem .75rem; }
.bc-account-actions button:disabled { background: var(--bc-bg); color: var(--bc-muted) !important; border-color: #adb69f; box-shadow: none; }
.bc-account-prompt > .bc-text-button { margin-block-start: 1rem; color: var(--bc-accent); text-decoration: underline; text-underline-offset: .25em; }
.bc-guest-continuation { border-block-start: 1px solid var(--bc-border); margin-block-start: 1.5rem; padding-block: 1.5rem; color: var(--bc-muted); }
.bc-guest-continuation a { margin-block-start: 1rem; }
@media (min-width: 600px) {
  .bc-quiz-options, .bc-account-actions { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bc-account-prompt { padding: 2rem; }
  .bc-journey-section { padding-block: 3.25rem; }
  .bc-completion { padding: 2.75rem 2.5rem; }
}
@media (max-width: 782px) { .bc-is-journey.admin-bar { --bc-admin-offset: 46px; } }
@media (max-width: 600px) { .bc-is-journey.admin-bar { --bc-admin-offset: 0px; } }
/* Calm reveals. Each step, the completion and the challenge fade and rise a few pixels when the reader
   reaches them (the existing `hidden` toggle is what starts the animation). Reduced motion: no animation. */
@keyframes bc-reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes bc-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes bc-settle { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .bc-journey-intro { animation: bc-reveal 700ms var(--bc-ease) backwards; }
  .bc-journey-section:not([hidden]) { animation: bc-reveal 650ms var(--bc-ease) backwards; }
  .bc-journey-section:first-of-type:not([hidden]) { animation-delay: 160ms; }
  .bc-completion:not([hidden]) { animation: bc-reveal 800ms var(--bc-ease) backwards; }
  .bc-completion:not([hidden]) .bc-icon-disc { animation: bc-settle 700ms var(--bc-ease) 200ms backwards; }
  .bc-daily-challenge:not([hidden]) { animation: bc-reveal 800ms var(--bc-ease) 450ms backwards; }
  .bc-guest-continuation:not([hidden]) { animation: bc-fade 600ms var(--bc-ease) 300ms backwards; }
  .bc-account-prompt:not([hidden]), .bc-quiz-feedback [data-bc-result]:not([hidden]) { animation: bc-fade 450ms var(--bc-ease) backwards; }
  .bc-quiz-option, .bc-reflection-response textarea { transition: border-color 200ms var(--bc-ease), background-color 200ms var(--bc-ease); }
}
@media print { .bc-is-journey .bc-header { position: static; } }

/* Returning to a finished day. */
.bc-daily-journey > .bc-done { margin-block: 2rem 0; padding: 2.25rem 1.5rem; border: 1px solid #d9e0cb; border-radius: var(--bc-radius-lg); background: linear-gradient(165deg, #f3f6e8, #e9eedb); }
.bc-view-back { margin-block: 1.25rem 0; }
.bc-back-button { gap: .6rem; color: var(--bc-accent) !important; font-size: .9375rem; }
.bc-replay-note { margin-block: 1.25rem 0; }
.bc-saved-reflection { margin-block-start: 1.75rem; padding: 1.25rem 1.25rem 1rem; border-inline-start: 3px solid var(--bc-gold-line); background: var(--bc-sage-wash); border-radius: 4px 14px 14px 4px; }
.bc-saved-reflection h3 { margin-block-end: .6rem; font-family: var(--bc-body); font-size: .875rem; font-weight: 600; }
.bc-saved-text { white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--bc-heading); font-size: 1.125rem; line-height: 1.8; }
.bc-saved-empty { color: var(--bc-muted); }
.bc-saved-reflection .bc-small { margin-block-start: .75rem; }
[data-bc-mode="prayer"] .bc-journey-section::before, [data-bc-mode="reflection"] .bc-journey-section::before { display: none; }
.bc-challenge-done { margin-block-end: 1rem; color: var(--bc-accent); }
@media (min-width: 600px) { .bc-daily-journey > .bc-done { padding: 2.75rem 2.5rem; } }
