#journeyRoot { line-height: 1.55; }
#journeyRoot h2 { font-size: 1.5rem; line-height: 1.25; margin: 16px 0; }
#journeyRoot h3 { font-size: 1.2rem; margin-top: 28px; }
#journeyRoot h4 { font-size: 1.15rem; margin: 12px 0 6px; overflow-wrap: anywhere; }
#journeyRoot button { font: inherit; font-size: .9rem; padding: 10px 14px; min-height: 44px; border-radius: 22px; cursor: pointer; }
#journeyRoot button:disabled { opacity: .5; cursor: default; }
#journeyRoot :focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.journey-primary { background: var(--primary); color: white; border: 1px solid var(--primary); }
.journey-secondary { background: var(--paper-light); color: var(--primary); border: 1px solid var(--rule); }
.journey-muted { color: var(--ink); font-size: .85rem; }
.journey-phase { color: var(--primary); font-family: Georgia, serif; font-style: italic; margin-top: 24px; }
#journeyRoot progress { width: 100%; height: 8px; border: none; border-radius: 8px; overflow: hidden; background: var(--rule); accent-color: var(--primary); }
#journeyRoot progress::-webkit-progress-bar { background: var(--rule); }
#journeyRoot progress::-webkit-progress-value { background: var(--primary); }
.journey-field { border: 0; padding: 0; margin: 24px 0; min-width: 0; }
.journey-field > label, .journey-field legend { display: block; font-weight: 600; margin-bottom: 10px; }
#journeyRoot textarea, #journeyRoot input[type="text"], #journeyRoot input[type="date"], #journeyRoot select { display: block; width: 100%; min-width: 0; max-width: 100%; font: inherit; font-size: 16px; padding: 12px; color: var(--ink); background: var(--paper-light); border: 1px solid var(--rule); border-radius: 10px; }
#journeyRoot textarea { resize: vertical; min-height: 112px; }
#journeyRoot input[type="checkbox"], #journeyRoot input[type="radio"] { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--primary); margin: 2px 0 0; }
.journey-check, .journey-choices label { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; min-height: 44px; cursor: pointer; font-weight: 400; }
#journeyRoot label.journey-check { display: flex; font-weight: 400; }
.journey-choices { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.journey-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 12px; }
.journey-actions button { flex: 1; white-space: nowrap; }
.journey-status { font-size: .85rem; color: var(--primary); min-height: 24px; }
.journey-status.journey-error { color: var(--danger); font-weight: 600; }
.journey-card { border: 1px solid var(--rule); border-radius: 12px; padding: 18px; background: var(--paper-light); margin: 14px 0; }
.journey-badge { display: inline-block; background: var(--paper); color: var(--primary); border-radius: 20px; padding: 3px 10px; font-size: .8rem; }

#journeyRoot .journey-delete-link { color: var(--danger); margin: 8px 0 0 8px; }
#journeyRoot .journey-delete-dialog { color: var(--ink); background: var(--paper-light); border: 1px solid var(--rule); border-radius: 16px; padding: 24px; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; }
#journeyRoot .journey-delete-dialog::backdrop { background: rgba(0, 0, 0, .4); }
#journeyRoot .journey-delete-dialog p { overflow-wrap: anywhere; }
#journeyRoot .journey-delete-dialog h2 { margin-top: 0; }
#journeyRoot .journey-delete-button { color: white; background: var(--danger); border: 1px solid var(--danger); }
#journeyRoot .journey-delete-dialog .journey-actions button { white-space: normal; }

#journeyRoot .journey-field[hidden] { display: none; }
#journeyRoot select + label { margin-top: 16px; }
#journeyRoot .journey-scripture { background: var(--paper); border-left: 3px solid var(--gold); border-radius: 10px; padding: 20px; margin: 24px 0; }
#journeyRoot .journey-scripture h3 { margin-top: 0; }
#journeyRoot .journey-scripture a { color: var(--primary); display: inline-block; padding: 12px 0; margin-right: 12px; }
#journeyRoot .journey-passage { font: 1.12rem/1.8 Georgia, serif; white-space: pre-wrap; }
#journeyRoot .journey-answer { white-space: pre-wrap; }
#journeyRoot .journey-reflection { margin: 28px 0; }
#journeyRoot .journey-reference { color: var(--primary); font-weight: 600; }
#journeyRoot p, #journeyRoot h2, #journeyRoot h3 { overflow-wrap: anywhere; }
#journeyRoot details summary { padding: 12px 0; cursor: pointer; }
#journeyRoot .journey-actions button { white-space: normal; min-width: 80px; }
#journeyRoot > button { margin: 8px 8px 8px 0; }
/* Optional Scripture discovery uses the existing prayer-card palette. */
.journey-helper { border: 1px solid var(--rule); border-radius: 16px; padding: 18px; }
.journey-helper summary { cursor: pointer; font-weight: 600; }
.journey-suggestion { margin-top: 20px; padding-top: 12px; border-top: 1px solid var(--rule); }
.journey-suggestion h4 { font-size: 1.1rem; margin: 8px 0; }
.journey-helper [hidden] { display: none !important; }


/* Scripture remains distinct within the navy and gold theme. */
#journeyRoot .journey-scripture{background:var(--primary);color:#fff;border-left:4px solid var(--gold)}
#journeyRoot .journey-scripture a{color:#E0C879}
#journeyRoot .journey-scripture .journey-secondary{background:#fff;color:var(--primary)}
