.study-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 10px}
.study-tools .check{margin:0}
.hint{font-size:13px;color:var(--muted);line-height:1.6}
.passage-guide{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.passage-guide summary{font-weight:700;cursor:pointer;color:var(--navy2)}
.passage-guide p,.personal-step{font-size:15px;line-height:1.75}
.personal-step{margin:14px 0 0}
.welcome{margin:28px 0;padding:22px 0;border-bottom:1px solid var(--line)}
.welcome h2{font:28px Georgia,serif;margin:0 0 12px}
.welcome p{color:var(--muted);max-width:760px}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.contact-actions a{text-decoration:none}
.help-dialog{width:min(510px,92vw);border:1px solid var(--line);border-radius:12px;padding:28px;color:var(--ink);background:var(--paper)}
.help-dialog::backdrop{background:rgba(15,40,42,.55)}
.help-dialog h2{font:28px Georgia,serif;margin:0 0 14px}
.help-dialog label{display:block;font-weight:700;margin:15px 0 7px}
.help-dialog select{width:100%;padding:12px;font:inherit;border:1px solid var(--line);background:white;border-radius:6px;margin-bottom:18px}
.help-dialog .small-note{color:var(--muted);font-size:13px}
.help-close{float:right;padding:6px 12px;border:1px solid var(--line);background:white;border-radius:5px}
.share-link{width:min(100%,520px);padding:12px;border:1px solid var(--line);margin-top:15px}
.church-invitation{max-width:900px;margin:0 auto 36px;padding:30px 24px;text-align:center;border-top:1px solid var(--line)}
.church-invitation h2{font:30px Georgia,serif;margin:0 0 14px}
.church-invitation>p{max-width:620px;margin:0 auto 24px;color:var(--muted)}
.church-invitation h3{font:24px Georgia,serif;margin:0 0 10px}
.church-invitation address{font-style:normal;line-height:1.7}
.service-times{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 40px;margin:24px 0}
.service-times dt{font-weight:700}
.service-times dd{margin:4px 0 0;color:var(--muted)}
@media print{.church-invitation{display:none!important}}
@media(max-width:600px){.personal-step,.passage-guide p{font-size:14px}.contact-actions>*{width:100%}}
@media print{.help-dialog{display:none!important}}
.getting-started{margin:24px 0 30px;border-bottom:1px solid var(--line);padding-bottom:24px}
.getting-started h2,.completion-page h2,.journey-callout h2{font:28px Georgia,serif}
.begin-steps{display:grid;gap:14px;padding-left:24px}
.begin-steps li{padding-left:6px}
.begin-steps strong{display:block;color:var(--navy)}
.small-note{font-size:13px;color:var(--muted);line-height:1.6}
.journey-callout{margin:30px 0;padding:24px 0;border-top:1px solid var(--line)}
.completion-page{max-width:850px;margin:15px auto}
.completion-page>p{max-width:740px}
.next-step-actions,.unfinished-list{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.unfinished-list{flex-direction:column;align-items:flex-start}
.unfinished-list button{text-align:left}
.reflection-download{margin:22px 0}
.lesson-nav{flex-wrap:wrap}
button,a.primary,a.secondary{min-height:44px}
.help-dialog .primary,.help-dialog .secondary{display:inline-flex;align-items:center;justify-content:center}
main{overflow-wrap:anywhere}
@media(max-width:600px){
 .topbar{height:auto;min-height:62px;flex-wrap:wrap;gap:4px 14px;padding-top:12px;padding-bottom:12px}
 .page{padding-left:16px;padding-right:16px}
 .qcard{padding:18px}
 .choices{flex-direction:column;align-items:stretch}
 .choice{text-align:left}
 .next-step-actions{flex-direction:column}
 .unfinished-list{align-items:stretch}
 .lesson-nav>*{flex:1 1 100%;text-align:center}
 input,textarea,select{font-size:16px}
 .completion-page .title{font-size:31px;line-height:1.2}
}
