:root{--blue:#42a5f5;--blue-dark:#2196f3;--ink:#37474f;--muted:#607d8b;--soft:#f5f7f8;--line:#d9e0e4;--green:#66bb6a;--yellow:#fdd835;--success:#81c784;--danger:#e53935;--shadow:0 2px 10px rgba(28,42,50,.12);font-family:Roboto,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#eef2f4}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#edf2f5,#f8fafb 45%,#edf2f5)}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,920px);min-height:100vh;margin:0 auto;background:white;box-shadow:0 0 36px rgba(38,50,56,.1);position:relative}.topbar{height:56px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid #edf0f2;background:#fff;position:sticky;top:0;z-index:20}.topbar-title{font-size:20px;font-weight:500;color:#263238;flex:1}.icon-btn{border:0;background:transparent;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#455a64}.icon-btn:hover{background:#eef5fa}.screen{min-height:calc(100vh - 56px);padding:20px 24px 100px}.home-screen{display:grid;place-items:center;min-height:calc(100vh - 56px);padding:42px 24px}.home-card{text-align:center;max-width:730px;padding:48px 36px}.display-title{font-size:clamp(40px,7vw,58px);line-height:1.05;font-weight:800;color:#37474f;margin:0 0 26px}.quote{font-size:18px;line-height:1.65;font-style:italic;color:#455a64;margin:0 auto 14px;max-width:740px}.citation{color:#607d8b;margin-bottom:28px}.actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.btn{border:0;border-radius:22px;padding:10px 18px;min-height:42px;font-weight:650;letter-spacing:.01em;transition:.15s transform,.15s box-shadow,.15s opacity}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--blue);color:white;box-shadow:0 2px 5px rgba(33,150,243,.25)}.btn-outline{background:#fff;color:var(--blue-dark);border:1px solid #a7cfee}.btn-tonal{background:#e8f3fb;color:#1565c0}.btn-danger{background:#ffebee;color:#b71c1c}.btn:disabled{opacity:.38;cursor:not-allowed}.section-title{text-align:center;font-size:23px;font-weight:500;margin:18px 0 24px;color:#263238}.subtle{color:#757575}.label{font-size:14px;color:#607d8b}.card{background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(55,71,79,.07)}.card-pad{padding:22px}.progress-wrap{padding:12px 16px 2px;background:white}.progress{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:0;max-width:720px;margin:auto}.progress-step{position:relative;text-align:center;color:#9e9e9e;font-size:12px;padding-top:35px;line-height:1.25}.progress-step::before{content:attr(data-n);position:absolute;top:0;left:50%;transform:translateX(-50%);width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#9e9e9e;color:#fff;font-weight:700;z-index:2}.progress-step:not(:last-child)::after{content:"";position:absolute;top:13px;left:50%;width:100%;height:1px;background:#9e9e9e;z-index:1}.progress-step.active{color:#111}.progress-step.active::before{background:#fff;color:#2196f3;border:2px solid #2196f3}.progress-step.done{color:#111}.progress-step.done::before{content:"✓";background:#2196f3}.wizard-body{max-width:760px;margin:0 auto;padding:8px 20px 110px}.wizard-footer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,920px);background:#fff;border-top:1px solid #e8ecef;padding:14px 28px;display:flex;justify-content:space-between;z-index:30}.question-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.question{font-size:22px;font-weight:500;line-height:1.3;margin:0}.passage-ref{font-weight:650;margin-top:12px}.recommendation-stage{position:relative;max-width:560px;margin:12px auto 0}.passage-card{min-height:480px}.passage-image-frame{height:260px;width:100%;position:relative;overflow:hidden;background:#e8ecef}.passage-image{position:absolute;left:0;width:100%;height:calc(100% + var(--image-tune,0px));object-fit:cover;background:#e8ecef}.passage-image-frame.align-top .passage-image{top:0}.passage-image-frame.align-bottom .passage-image{bottom:0}.passage-content{padding:20px 22px 24px}.passage-title{font-size:22px;font-weight:750;margin:0 0 5px}.passage-copy{color:#455a64;line-height:1.55;max-height:122px;overflow:auto;font-size:14px}.attribution{font-size:11px;color:#90a4ae;margin-top:12px}.image-attribution{font-size:10.5px;line-height:1.25;color:#90a4ae;margin:0;padding:4px 12px 0}.image-attribution + .passage-content{padding-top:12px}.carousel-tools{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.dot-count{font-size:13px;color:#78909c}.modal-backdrop{position:fixed;inset:0;background:rgba(22,33,38,.42);z-index:80;display:grid;place-items:center;padding:20px}.modal{width:min(94vw,620px);max-height:86vh;overflow:auto;background:#fff;border-radius:20px;padding:28px;box-shadow:0 18px 60px rgba(0,0,0,.24)}.modal h2{margin-top:0;text-align:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field label{font-size:13px;font-weight:650;color:#546e7a}.input,.textarea,.select{width:100%;border:0;border-bottom:2px solid #90a4ae;background:#f1f4f5;padding:13px 12px;border-radius:4px 4px 0 0;color:#263238;outline:none}.input:focus,.textarea:focus,.select:focus{border-color:#2196f3;background:#eef6fc}.textarea{min-height:100px;resize:vertical;line-height:1.45}.timer-config{display:grid;place-items:center;margin:14px 0}.timer-ring{--p1:11.67%;--p2:23.33%;--p3:33.33%;width:250px;height:250px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) 0 var(--p1),var(--yellow) var(--p1) var(--p2),var(--blue) var(--p2) var(--p3),#dfe5e8 var(--p3) 100%);position:relative}.timer-ring::after{content:"";position:absolute;width:196px;height:196px;background:white;border-radius:50%;box-shadow:inset 0 0 0 1px #edf0f2}.timer-ring strong{position:relative;z-index:2;font-size:54px}.timer-ring span{position:relative;z-index:2;display:block;text-align:center;color:#78909c}.slider-block{margin:22px 4px}.slider-head{display:flex;justify-content:space-between;align-items:center}.slider-head strong{font-size:16px}.slider-block input[type=range]{width:100%;accent-color:#2196f3}.scene-row{padding:14px 0;border-bottom:1px solid #eceff1;display:grid;grid-template-columns:1fr auto;gap:10px}.scene-row p{margin:7px 0 0;line-height:1.55}.scene-toggle{width:34px;height:34px;border:0;border-radius:17px;background:#e3f2fd;color:#1565c0;font-size:22px}.scene-editor{grid-column:1/2;margin-bottom:4px}.grace-grid{display:grid;gap:10px}.grace-option{display:grid;grid-template-columns:1fr auto;gap:12px;padding:15px;border:1px solid #e0e6e9;border-radius:12px}.grace-option h3{font-size:16px;margin:0 0 5px}.grace-option p{font-size:13px;color:#607d8b;margin:0;line-height:1.4}.prep-list{display:grid;gap:4px}.check-item{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px 4px;border-bottom:1px solid #eef1f2}.check-item input{width:23px;height:23px;accent-color:#2196f3}.check-title{font-weight:650;margin-bottom:4px}.check-help{font-size:13px;color:#757575;line-height:1.4}.prayer-stage{padding-bottom:30px}.prayer-head{text-align:center;padding-top:16px}.prayer-head h2{font-size:18px;margin:4px}.prayer-head h3{font-size:14px;margin:5px;font-weight:600}.voice-help{float:right;margin-top:-38px}.countdown{text-align:center;font-weight:800;font-size:clamp(70px,14vw,108px);line-height:1;margin:18px 0}.time-columns{display:grid;grid-template-columns:1fr 1.25fr 1fr;text-align:center;margin:10px auto 20px;max-width:650px}.time-col{padding:8px;border-left:1px solid transparent}.time-col+ .time-col{border-left-color:#455a64}.time-col span{display:block;font-size:16px;font-weight:650}.time-col b{font-size:16px}.scene-color{color:var(--green)}.contemplatio-color{color:#d5b500}.colloquy-color{color:var(--blue)}.player{display:grid;grid-template-columns:1fr 150px 1fr;align-items:center;min-height:200px}.player-side{height:160px;border:0;background:#f6f8f9;display:flex;align-items:center;justify-content:center;gap:6px;font-size:34px}.player-side.left{border-radius:0 80px 80px 0}.player-side.right{border-radius:80px 0 0 80px}.player-center{display:grid;place-items:center}.repeat-btn{width:112px;height:112px;border-radius:56px;border:0;background:#fff;box-shadow:var(--shadow);font-size:45px}.player-small{border:0;background:transparent;font-size:22px}.grace-reminder{text-align:center;font-size:17px;font-style:italic;color:#455a64;padding:0 60px}.fab{position:fixed;right:max(calc((100vw - 920px)/2 + 30px),30px);bottom:28px;width:54px;height:54px;border-radius:16px;border:0;background:#edf6fd;color:#2196f3;box-shadow:var(--shadow);font-size:24px;z-index:35}.review-grid{display:grid;gap:30px;padding:10px 8px}.review-q label{display:block;font-weight:700;margin-bottom:9px}.success-icon{font-size:76px;color:#66bb6a;text-align:center}.summary-card{background:var(--success);padding:20px;border-radius:16px}.summary-card h3{margin-bottom:4px}.summary-section{border-top:1px solid rgba(0,0,0,.28);margin-top:20px;padding-top:15px}.summary-section p{white-space:pre-wrap}.snackbar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#263238;color:#fff;padding:11px 18px;border-radius:5px;z-index:100}.gospel-head{padding:24px 34px 8px}.gospel-meta{display:flex;justify-content:space-between;align-items:center}.hearts{font-size:24px;color:#e53935;letter-spacing:2px}.shuffle-btn{border:0;background:transparent;color:#42a5f5;font-size:23px;position:relative}.badge{width:7px;height:7px;background:#42a5f5;border-radius:50%;position:absolute;top:2px;right:2px}.gospel-title{font-size:24px;margin:4px 0 8px}.gospel-sub{font-size:14px}.swipe-zone{max-width:600px;margin:10px auto;padding:0 24px;position:relative}.swipe-card{user-select:none;touch-action:pan-y;cursor:grab;transition:transform .18s ease,opacity .18s ease}.swipe-card.dragging{transition:none;cursor:grabbing}.gospel-img{height:260px;width:100%;object-fit:cover}.gospel-card-body{padding:22px}.gospel-card-body h2{font-size:23px;margin:0 0 7px}.gospel-card-body p{line-height:1.5;color:#455a64}.location{color:#607d8b;font-size:14px}.swipe-hint{position:absolute;top:112px;left:0;right:0;display:flex;justify-content:space-between;padding:0 24px;pointer-events:none;font-size:13px;font-weight:800;letter-spacing:.08em;color:#78909c}.swipe-actions{display:flex;justify-content:space-between;gap:20px;margin-top:16px}.feedback{position:absolute;top:34px;left:50%;transform:translateX(-50%);font-size:30px;font-weight:800;background:white;padding:10px 18px;border-radius:14px;box-shadow:var(--shadow);z-index:10}.game-over{text-align:center;padding:80px 20px}.tabs{display:flex;gap:7px;overflow:auto;padding:0 24px 12px}.tab{border:0;background:#edf2f4;padding:9px 16px;border-radius:18px;color:#455a64;white-space:nowrap}.tab.active{background:#42a5f5;color:white}.timeline-list{display:grid;gap:14px;max-width:760px;margin:0 auto;padding:0 24px 70px}.timeline-row{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:12px}.timeline-row img{width:80px;height:80px;object-fit:cover;border-radius:12px}.timeline-row h3{margin:2px 0 5px;font-size:16px}.timeline-row p{margin:3px 0;color:#607d8b;font-size:13px}.legacy-panel{max-width:730px;margin:0 auto}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #cfd8dc;background:white;border-radius:18px;padding:7px 12px;color:#455a64}.chip.active{background:#e3f2fd;border-color:#42a5f5;color:#1565c0}.restored-badge{display:inline-block;background:#e8f5e9;color:#2e7d32;border-radius:12px;padding:5px 9px;font-size:12px;font-weight:700}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.feature-card{padding:20px;text-align:left}.feature-card h3{margin:4px 0 7px}.feature-card p{color:#607d8b;font-size:14px}.speech-status{font-size:12px;color:#78909c;text-align:center;margin-top:8px}.hidden{display:none!important}
@media(max-width:640px){.passage-image-frame{height:225px}.passage-image{height:calc(100% + var(--image-tune-mobile,0px))}body{background:white}.app-shell{box-shadow:none}.screen{padding:18px 16px 92px}.home-card{padding:30px 5px}.display-title{font-size:43px}.quote{font-size:16px}.actions{flex-direction:column}.actions .btn{width:100%}.wizard-body{padding-left:16px;padding-right:16px}.wizard-footer{padding:12px 18px}.form-grid{grid-template-columns:1fr}.timer-ring{width:220px;height:220px}.timer-ring::after{width:170px;height:170px}.player{grid-template-columns:1fr 110px 1fr}.player-side{height:145px}.repeat-btn{width:92px;height:92px}.grace-reminder{padding:0 20px}.countdown{font-size:72px}.time-col span,.time-col b{font-size:13px}.gospel-head{padding:20px 22px 8px}.swipe-zone{padding:0 16px}.gospel-img{height:225px}.feature-grid{grid-template-columns:1fr}.progress-step{font-size:10px}.modal{padding:22px}.fab{right:20px}.timeline-list{padding-left:16px;padding-right:16px}}
.player-side .player-small{width:52px;height:52px;border-radius:50%;display:grid;place-items:center}.player-side .player-small:hover{background:#e8eef1}.player-side .player-small:disabled{opacity:.35}

.artwork-fallback{object-fit:cover!important;background:#eef3f6}

/* Faithful pre-prayer reflection (steps 1-4 from the supplied app) */
.reflection-step{padding-top:4px}.reflection-heading{display:flex;align-items:center;justify-content:center;gap:6px;position:relative}.reflection-heading .section-title{margin-left:40px}.reflection-info{font-size:20px;color:#2962ff}.reflection-groups{display:grid;gap:2px}.reflection-group{padding:0 0 20px}.reflection-group h3{font-size:14px;margin:0 0 8px 4px;color:#37474f}.reflection-group .chips{gap:8px}.reflection-group .chip{padding:8px 13px;background:#f5f7f8;border-color:#d6dde1}.reflection-group .chip.active{background:#e3f2fd;border-color:#42a5f5;color:#1565c0}.reflection-group .chip:disabled{opacity:.42;cursor:not-allowed}.reflection-textarea{min-height:150px}.quote-modal-text{font-size:16px;line-height:1.65;color:#455a64}.summary-card b{font-weight:700}

/* 2026-09-04 — inline feeling thought prompt + centered reflection choices */
.reflection-group .chips{justify-content:center;text-align:center}
.reflection-group h3{text-align:left;width:100%}
.reflection-instruction{text-align:center;color:#607d8b;font-size:14px;margin:-4px 0 22px}
.feeling-choice{position:relative;display:inline-flex;align-items:center;justify-content:center}
.thought-popover{position:absolute;z-index:45;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);width:min(360px,calc(100vw - 42px));padding:15px 16px 16px;border:1px solid #cfd8dc;border-radius:14px;background:#fff;box-shadow:0 10px 32px rgba(38,50,56,.22);text-align:left;color:#37474f}
.thought-popover label{display:block;font-size:14px;line-height:1.42;margin-bottom:10px}
.thought-popover-textarea{min-height:96px;max-height:190px;background:#f7f9fa}
.thought-popover-arrow{position:absolute;width:16px;height:16px;left:50%;bottom:-9px;transform:translateX(-50%) rotate(45deg);background:#fff;border-right:1px solid #cfd8dc;border-bottom:1px solid #cfd8dc}
@media(max-width:640px){.thought-popover{width:min(320px,calc(100vw - 28px));padding:13px 14px 14px}.thought-popover-textarea{min-height:88px}}

/* 2026-09-04 — validated feeling selection + natural-width wrapping */
.reflection-choice-rows{display:grid;gap:8px}
.reflection-group .reflection-choice-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.reflection-group .reflection-choice-row>.chip,.reflection-group .reflection-choice-row>.feeling-choice{flex:0 0 auto;max-width:100%}
.reflection-group .reflection-choice-row>.chip,.feeling-choice>.chip{width:auto;white-space:nowrap}
@media(max-width:520px){.reflection-group .reflection-choice-row{gap:7px}.reflection-group .reflection-choice-row>.chip,.feeling-choice>.chip{white-space:normal}}

/* 2026-09-04 — robust hierarchical Bible passage picker */
.bible-picker-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.passage-picker-help{max-width:500px;margin:-6px auto 16px;text-align:center;color:#607d8b;font-size:13px;line-height:1.45}
.passage-picker-reference{text-align:center;font-weight:700;font-size:17px;margin:16px 0 20px;color:#37474f}
.custom-passage-art{display:grid;place-items:center;background:linear-gradient(145deg,#eef6fb,#e3edf3)}
.custom-passage-art-inner{display:grid;place-items:center;gap:12px;color:#607d8b;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:12px}
.custom-passage-art-inner svg{width:86px;height:86px;fill:none;stroke:#42a5f5;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.custom-card-kicker{display:inline-block;margin-bottom:9px;padding:5px 9px;border-radius:999px;background:#e8f3fb;color:#1565c0;font-size:12px;font-weight:750}
.custom-reference{font-size:18px;color:#37474f;margin-top:4px}
.custom-passage-copy{max-height:none;overflow:visible;margin-bottom:18px}
.custom-card-actions{margin-top:12px}

/* 2026-09-04 — simplified Section 4 cards */
.bible-picker-icon{color:#2962ff}
.passage-card{min-height:0}

/* 2026-09-04 — new Section 5: familiarise with and retell the selected passage */
.familiarise-step{padding-top:2px}
.familiarise-title{max-width:720px;margin-left:auto;margin-right:auto;line-height:1.42}
.familiarise-reference{text-align:center;font-weight:750;font-size:17px;color:#455a64;margin:-8px 0 12px;display:none}
.passage-reading{max-width:700px;margin:0 auto 24px;padding:22px 24px;background:#fbfcfd;border:1px solid #e2e8ec;border-radius:14px;box-shadow:0 1px 5px rgba(38,50,56,.06);overflow:visible}
.passage-reading-text{font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.82;color:#37474f;letter-spacing:.005em}
.passage-paragraph{margin:0 0 1.15em;text-wrap:pretty}.passage-paragraph:last-child{margin-bottom:0}
.passage-verse{display:inline}
.passage-verse sup{font-family:Roboto,Inter,ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:800;color:#2196f3;margin-right:3px;vertical-align:super;line-height:0}
.bundled-passage{white-space:normal}
.passage-reading-state{text-align:center;color:#607d8b;line-height:1.55;padding:14px 6px}
.passage-reading-state p{margin-top:0}
.retelling-sections{max-width:700px;margin:0 auto;display:grid;gap:20px}.retelling-section label{display:block;margin:0 0 8px 2px;font-size:16px;font-weight:750;color:#37474f}.passage-retelling{min-height:170px;background:#f4f6f7;font-size:16px;line-height:1.6;padding:16px}
@media(max-width:640px){.passage-reading{padding:18px 17px;margin-bottom:20px}.passage-reading-text{font-size:16.5px;line-height:1.78}.retelling-sections{gap:16px}.passage-retelling{min-height:155px}}


/* 2026-09-04 — desktop-focused split layout for Section 5 */
.app-shell.wide-step{width:min(100%,1120px)}
.app-shell.wide-step .wizard-footer{width:min(100%,1120px)}
.wizard-body-wide{max-width:980px}
.desktop-familiarise{padding-top:2px}
.familiarise-header{max-width:860px;margin:0 auto 16px}
.familiarise-layout{display:grid;grid-template-columns:minmax(300px,0.82fr) minmax(0,1.12fr);gap:20px;align-items:start}
.passage-reading-panel{position:sticky;top:92px;overflow:hidden;max-height:calc(100vh - 190px);display:flex;flex-direction:column;background:#fff}
.passage-reading-panel-head{display:flex;align-items:center;gap:10px;padding:18px 20px;border-bottom:1px solid #e8edf1;background:#fff}
.passage-reading-book{display:none}
.passage-reading-panel-title{font-size:16px;font-weight:700;color:#1565c0}
.passage-reading-panel-body{padding:18px 22px 22px;overflow:auto;min-height:240px}
.passage-reading-panel .passage-reading-text{font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.82;color:#37474f;letter-spacing:.005em}
.passage-reading-panel .passage-reading-state{padding:22px 8px}
.passage-reading-panel .passage-paragraph:first-child{margin-top:0}
.retelling-panel{overflow:hidden;background:#fff}
.retelling-card-section{padding:18px 20px 20px}
.retelling-card-section+.retelling-card-section{border-top:1px solid #e8edf1}
.retelling-card-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.retelling-step-badge{display:none}
.retelling-card-head h3{margin:0;font-size:16px;font-weight:700;color:#37474f}
.retelling-card-head p{display:none}
.retelling-panel .passage-retelling{min-height:164px;background:#f1f4f5;border:0;border-bottom:2px solid #90a4ae;border-radius:4px 4px 0 0;padding:13px 12px;font-size:16px;line-height:1.6;box-shadow:none}
.retelling-panel .passage-retelling:focus{background:#eef6fc;border-color:#2196f3;box-shadow:none}
@media(max-width:980px){
  .app-shell.wide-step{width:min(100%,920px)}
  .app-shell.wide-step .wizard-footer{width:min(100%,920px)}
  .wizard-body-wide{max-width:760px}
  .familiarise-layout{grid-template-columns:1fr;gap:18px}
  .passage-reading-panel{position:static;max-height:none}
  .passage-reading-panel-body{max-height:none;overflow:visible}
}


/* 2026-09-04 — harmonise Section 5 with the established faithful UI */
.familiarise-header{margin-bottom:16px}
.familiarise-title{font-size:23px;font-weight:500;line-height:1.42;color:#263238;margin-top:18px;margin-bottom:20px}
.familiarise-reference{font-size:16px;font-weight:650;color:#455a64;margin:-8px 0 10px}
.familiarise-layout{gap:22px}
.passage-reading-panel,.retelling-panel{border-radius:16px;border:1px solid rgba(55,71,79,.07);box-shadow:var(--shadow)}
.passage-reading-panel-head{padding:15px 18px;border-bottom:1px solid #edf0f2}
.passage-reading-book{width:32px;height:32px;border-radius:50%;background:#eef5fa;color:#2962ff;font-size:16px}
.passage-reading-panel-title{font-size:15px;font-weight:650;color:#455a64}
.passage-reading-panel-body{padding:18px 20px 22px}
.passage-reading-panel .passage-reading-text{font-size:17px;line-height:1.82;color:#37474f}
.retelling-card-section{padding:18px 20px 20px}
.retelling-card-section+.retelling-card-section{border-top:1px solid #eef1f2}
.retelling-card-head{gap:10px;margin-bottom:10px;align-items:center}
.retelling-step-badge{width:30px;height:30px;border-radius:50%;background:#e3f2fd;color:#1565c0;font-size:14px;font-weight:750}
.retelling-card-head h3{font-size:16px;font-weight:650;color:#37474f}
.retelling-card-head p{margin:2px 0 0;color:#607d8b;font-size:13px}
.retelling-panel .passage-retelling{min-height:158px;background:#f1f4f5;border:0;border-bottom:2px solid #90a4ae;border-radius:4px 4px 0 0;padding:14px 13px;font-size:16px;line-height:1.55;color:#263238;box-shadow:none}
.retelling-panel .passage-retelling:focus{background:#eef6fc;border-color:#2196f3;box-shadow:none}

/* 2026-09-04 — simplify Section 5 further per review */
.familiarise-reference{display:none !important}
.app-shell.wide-step{width:min(100%,1120px)}
.app-shell.wide-step .wizard-footer{width:min(100%,1120px)}
.wizard-body-wide{max-width:980px}
.familiarise-header{max-width:860px;margin:0 auto 14px}
.familiarise-layout{grid-template-columns:minmax(300px,0.82fr) minmax(0,1.12fr);gap:20px}
.passage-reading-panel-head{gap:0;padding:15px 18px}
.passage-reading-book,.retelling-step-badge,.retelling-card-head p{display:none !important}
.passage-reading-panel-title{font-size:15px;font-weight:650;color:#455a64}
.retelling-card-head{margin-bottom:8px;gap:0;align-items:flex-start}
.retelling-card-head h3{margin:0;font-size:16px;font-weight:650;color:#37474f}
.retelling-card-section{padding:16px 18px 18px}
.retelling-panel .passage-retelling{min-height:160px;padding:13px 12px}
@media(max-width:980px){
  .app-shell.wide-step{width:min(100%,920px)}
  .app-shell.wide-step .wizard-footer{width:min(100%,920px)}
  .wizard-body-wide{max-width:760px}
  .familiarise-layout{grid-template-columns:1fr;gap:18px}
}

/* 2026-09-04 — final Section 5 spacing/placeholder polish */
.familiarise-header{margin-bottom:20px}

/* 2026-09-04 — a little more breathing room under Section 5 title */
.familiarise-header{margin-bottom:22px}


/* 2026-09-04 — Section 7 reflection context + divider-based grace list */
.grace-reflection-summary{margin:18px 0 34px;padding:16px 18px;background:#f7f8f9;border-radius:12px;color:#263238;display:grid;gap:7px}
.grace-reflection-summary>div{display:grid;grid-template-columns:max-content 1fr;gap:9px;align-items:start;line-height:1.4}
.grace-reflection-summary strong{font-weight:750}
.grace-reflection-summary span{min-width:0;overflow-wrap:anywhere}
.suggested-graces-title{text-align:center;font-size:22px;font-weight:500;margin:0 0 8px;color:#263238}
.suggested-graces-help{text-align:center;margin:0 0 24px}
.grace-list{display:block;border-top:1px solid #e6ebee}
.grace-list .grace-option{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px 6px;border:0;border-bottom:1px solid #e6ebee;border-radius:0;background:transparent}
.grace-list .grace-option h3{font-size:16px;margin:0 0 5px;font-weight:650;color:#263238}
.grace-list .grace-option p{font-size:13px;color:#607d8b;margin:0;line-height:1.45}
.grace-list .grace-option input[type="radio"]{width:22px;height:22px;margin:0 4px 0 10px;accent-color:#42a5f5}
.grace-list .grace-option:hover{background:#fbfcfd}
@media(max-width:640px){.grace-reflection-summary{padding:14px 15px;margin-bottom:28px}.grace-list .grace-option{padding:16px 3px}}


/* 2026-09-04 — Section 6 grace refinements */
.suggested-graces-title{text-align:left}
.suggested-graces-help{text-align:left}
.grace-list .grace-option{cursor:default}
.grace-list .grace-option input[type="radio"]{cursor:pointer}
.grace-list .grace-option:hover{background:transparent}


/* 2026-09-04 — draggable total-time handle on the 60-minute ring */
.timer-ring{--ring-radius:125px}
.timer-value{position:relative;z-index:3;text-align:center;pointer-events:none}
.timer-total-handle{position:absolute;z-index:6;left:50%;top:50%;width:22px;height:22px;padding:0;border-radius:50%;border:3px solid var(--blue-dark);background:#fff;box-shadow:0 2px 7px rgba(33,150,243,.34);transform:translate(-50%,-50%) rotate(var(--total-angle)) translateY(calc(-1 * var(--ring-radius)));transform-origin:center;touch-action:none;cursor:grab}
.timer-total-handle:hover{box-shadow:0 2px 9px rgba(33,150,243,.48)}
.timer-total-handle:focus-visible{outline:3px solid rgba(33,150,243,.28);outline-offset:4px}
.timer-total-handle.dragging{cursor:grabbing;transform:translate(-50%,-50%) rotate(var(--total-angle)) translateY(calc(-1 * var(--ring-radius))) scale(1.1)}
@media(max-width:640px){.timer-ring{--ring-radius:110px}.timer-total-handle{width:21px;height:21px}}

/* 2026-09-04 — Section 7 timer refinement */
.timer-ring{
  --ring-radius:115px;
  background:conic-gradient(var(--green) 0 var(--p1),var(--yellow) var(--p1) var(--p2),var(--blue) var(--p2) var(--p3),#dfe5e8 var(--p3) 100%);
}
.timer-ring::after{width:210px;height:210px}
.timer-total-handle{
  width:19px;height:19px;
  border:3px solid var(--blue-dark);
  box-shadow:0 2px 7px rgba(33,150,243,.28);
}
.timer-total-handle:hover{box-shadow:0 2px 9px rgba(33,150,243,.42)}
.timer-total-handle:focus-visible{outline-color:rgba(33,150,243,.24)}
.colloquy-color{color:var(--blue)}
.slider-block input[type=range].scene-range{accent-color:var(--green)}
.slider-block input[type=range].contemplatio-range{accent-color:var(--yellow)}
.slider-block input[type=range].colloquy-range{accent-color:var(--blue)}
@media(max-width:640px){
  .timer-ring{--ring-radius:101px}
  .timer-ring::after{width:184px;height:184px}
  .timer-total-handle{width:18px;height:18px}
}


/* 2026-09-04 — slightly slimmer timer ring and larger drag handle */
.timer-ring{--ring-radius:116px}
.timer-ring::after{width:214px;height:214px}
.timer-total-handle{width:23px;height:23px}
@media(max-width:640px){
  .timer-ring{--ring-radius:102px}
  .timer-ring::after{width:188px;height:188px}
  .timer-total-handle{width:22px;height:22px}
}

/* 2026-09-04 — further slim the timer ring and enlarge its drag handle */
.timer-ring{--ring-radius:118px}
.timer-ring::after{width:220px;height:220px}
.timer-total-handle{width:28px;height:28px}
@media(max-width:640px){
  .timer-ring{--ring-radius:104px}
  .timer-ring::after{width:196px;height:196px}
  .timer-total-handle{width:27px;height:27px}
}


/* 2026-09-04 — Section 8 preparation info popovers */
.check-copy{min-width:0}
.check-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.check-title-row .check-title{margin-bottom:0;min-width:0}
.prep-info{width:32px;height:32px;flex:0 0 32px;font-size:18px;color:#2962ff;margin:-5px -2px -5px 4px}
.prep-info:hover{background:#eef5fa}

/* 2026-09-04 — Section 8 quotation popovers */
.prep-quote-stack{display:grid;gap:0;margin:4px 0 22px}
.prep-quote-text{margin:0;padding:14px 0}
.prep-quote-text+.prep-quote-text{border-top:1px solid #eef1f2}

/* 2026-09-04 — support multiple attributed quotes in Section 8 info popups */
.prep-quote-entry+.prep-quote-entry{border-top:1px solid #eef1f2}
.prep-quote-entry .prep-quote-text{border-top:0;padding-bottom:6px}
.prep-quote-source{margin:0 0 14px;color:#607d8b;font-size:14px;text-align:right}

/* 2026-09-04 — reliable SVG icons for the prayer player */
.player-icon{width:26px;height:26px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.player-icon-fill{fill:currentColor;stroke:none}
.player-icon-fill-part{fill:currentColor;stroke:none}
.player-small{display:grid;place-items:center;color:#455a64}
.player-small.is-active{color:var(--blue-dark);background:#e3f2fd}
.repeat-btn{display:grid;place-items:center;color:#455a64}
.repeat-btn .player-icon{width:46px;height:46px;stroke-width:1.55}
.voice-help .player-icon{width:22px;height:22px;stroke-width:1.8}
.player-small:focus-visible,.repeat-btn:focus-visible,.voice-help:focus-visible{outline:3px solid rgba(33,150,243,.24);outline-offset:3px}


/* 2026-09-04 — prayer-stage footer navigation */
.btn-stage-scenes{background:var(--green);color:#fff;box-shadow:0 2px 5px rgba(76,175,80,.24)}
.btn-stage-contemplatio{background:var(--yellow);color:#37474f;box-shadow:0 2px 5px rgba(213,181,0,.22)}
.btn-stage-colloquy{background:var(--blue);color:#fff;box-shadow:0 2px 5px rgba(33,150,243,.25)}
.fab{bottom:88px}
@media(max-width:640px){.fab{bottom:82px}}

/* 2026-09-04 — Note Taker: live pad stays above saved notes */
.saved-notes-list{margin-top:18px;padding-top:4px}
.note-saved+.note-saved{margin-top:16px}
.note-live{margin-bottom:4px}


/* 2026-09-04 — voice commands and note dictation */
.voice-help.is-listening{color:var(--blue-dark);background:#e3f2fd}
.voice-help.is-dictating{color:#fff;background:var(--blue-dark)}
.voice-status{font-size:12px;text-align:center;color:#1565c0;margin:10px 0 0;font-weight:650}
.voice-status.dictating{color:#455a64}
.voice-modal-status{text-align:center;margin:-4px 0 18px;color:#607d8b;font-size:14px}
.voice-modal-status.active{color:#1565c0;font-weight:650}
.voice-command-list{border-top:1px solid #eef1f2;border-bottom:1px solid #eef1f2;padding:8px 0;margin:0 0 18px}
.voice-command-list p{margin:10px 0;line-height:1.45;color:#455a64}
.voice-browser-note{text-align:center;margin:14px auto 0;max-width:500px;line-height:1.45;color:#78909c}

/* 2026-09-04 — prayer player status polish */
.voice-help{position:relative}
.voice-help.is-listening::after,
.voice-help.is-dictating::after{
  content:"";
  position:absolute;
  top:3px;
  right:3px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#43a047;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(67,160,71,.18);
}
.time-col span,.time-col b{font-weight:550}
.time-col.active-stage span,.time-col.active-stage b{font-weight:850}
.time-col.active-stage span{letter-spacing:.01em}

/* 2026-09-04 — saved-prayer cards on the Home page (front-end design only) */
.home-screen.home-with-saved{display:block;min-height:calc(100vh - 56px);padding:42px 24px 90px}
.home-with-saved .home-card{margin:0 auto;padding-bottom:32px}
.saved-prayers-home{width:min(100%,680px);margin:8px auto 0}
.saved-prayers-home>h2{margin:0 8px 14px;font-size:22px;font-weight:500;color:#37474f;text-align:left}
.saved-prayer-list{display:grid;gap:24px}
.saved-prayer-card{border-radius:16px;overflow:hidden;background:#fff}
.saved-prayer-head{padding:18px 20px 15px}
.saved-prayer-ref{font-size:22px;font-weight:500;line-height:1.2;color:#263238}
.saved-prayer-date{margin-top:5px;font-size:12px;color:#78909c}
.saved-prayer-art .passage-image-frame{height:220px;border-radius:0;background:#e8ecef}
.saved-prayer-art .passage-image{border-radius:0}
.saved-prayer-body{padding:18px 20px 6px}
.saved-prayer-label{font-size:13px;font-weight:700;color:#455a64;margin-bottom:8px}
.saved-prayer-final,.saved-prayer-detail-block p{margin:0;color:#455a64;font-size:14px;line-height:1.58;white-space:pre-wrap}
.saved-prayer-divider{height:1px;background:#e6ebee;margin:17px 0}
.saved-prayer-detail-block{padding:0 0 17px}
.saved-prayer-detail-block+.saved-prayer-detail-block{padding-top:2px}
.saved-prayer-actions{display:flex;justify-content:flex-end;padding:4px 10px 10px}
.saved-prayer-text-btn{border:0;background:transparent;color:var(--blue-dark);font-size:13px;font-weight:700;padding:11px 10px;border-radius:8px;letter-spacing:.01em}
.saved-prayer-text-btn:hover{background:#eef6fc}
.saved-prayer-text-btn:focus-visible{outline:3px solid rgba(33,150,243,.2);outline-offset:2px}
@media(max-width:640px){
  .home-screen.home-with-saved{padding:30px 16px 78px}
  .home-with-saved .home-card{padding:30px 5px 28px}
  .saved-prayers-home>h2{margin-left:2px;margin-right:2px}
  .saved-prayer-list{gap:18px}
  .saved-prayer-head{padding:16px 17px 13px}
  .saved-prayer-ref{font-size:20px}
  .saved-prayer-art .passage-image-frame{height:205px}
  .saved-prayer-body{padding:16px 17px 5px}
}


/* 2026-09-04 — saved-prayer detail page refinement */
.home-with-saved .home-card{padding-bottom:62px}
.saved-prayers-home{margin:22px auto 0}
.saved-prayer-art .passage-image-frame{height:300px}

.saved-prayer-detail-page{min-height:calc(100vh - 56px);padding-bottom:72px;background:#fff}
.saved-detail-hero{height:300px;overflow:hidden;background:#e8ecef}
.saved-detail-hero .passage-image-frame{height:300px;border-radius:0}
.saved-detail-title-card{position:relative;width:min(82%,560px);margin:-44px auto 0;background:#fff;text-align:center;padding:24px 24px 20px;box-shadow:none}
.saved-detail-title-card h1{margin:0 0 7px;color:#263238;font-size:25px;font-weight:500;line-height:1.25}
.saved-detail-reference{font-size:15px;font-weight:700;color:#455a64}
.saved-detail-meta{margin-top:6px;font-size:12px;color:#78909c}
.saved-detail-body{width:min(100%,720px);margin:28px auto 0;padding:0 26px}
.saved-detail-section{padding:5px 0 8px}
.saved-detail-section h2{margin:0 0 18px;font-size:21px;font-weight:500;color:#263238}
.saved-detail-subsection{margin-top:23px;padding-top:4px}
.saved-detail-subsection h3{margin:0 0 12px;font-size:16px;font-weight:650;color:#455a64}
.saved-detail-row,.saved-detail-note{padding:9px 0}
.saved-detail-key{font-size:12px;font-weight:700;color:#78909c;margin-bottom:4px;text-transform:none}
.saved-detail-value{font-size:14px;line-height:1.58;color:#455a64;white-space:pre-wrap}
.saved-detail-divider{height:1px;background:#e5eaed;margin:22px 0}
.saved-detail-notes{display:grid;gap:3px}
.saved-detail-note{border-bottom:1px solid #eef1f2;padding-bottom:13px;margin-bottom:3px}
.saved-detail-note:last-child{border-bottom:0}
.saved-detail-empty{margin:0;color:#90a4ae;font-size:14px}
.saved-detail-final-prayer{margin-top:20px;padding:17px 18px;background:#f4f8fb;border-radius:12px;border:1px solid #e3edf4}
.saved-detail-final-prayer p{margin:5px 0 0;color:#37474f;font-size:15px;line-height:1.62;white-space:pre-wrap}
.saved-passage-toggle{width:100%;border:0;border-top:1px solid #e5eaed;border-bottom:1px solid #e5eaed;background:#fff;padding:18px max(26px,calc((100% - 668px)/2));display:flex;align-items:center;justify-content:space-between;text-align:left;color:#37474f;font-size:17px;font-weight:500}
.saved-passage-toggle:hover{background:#f8fafb}
.saved-passage-text{width:min(100%,720px);margin:0 auto;padding:20px 26px 4px;color:#455a64;font-size:14px;line-height:1.68;white-space:pre-wrap}
.saved-passage-text p{margin:8px 0 0}
.saved-passage-chevron{color:#78909c;font-size:20px}

@media(max-width:640px){
  .home-with-saved .home-card{padding-bottom:50px}
  .saved-prayers-home{margin-top:18px}
  .saved-prayer-art .passage-image-frame{height:225px}
  .saved-detail-hero,.saved-detail-hero .passage-image-frame{height:225px}
  .saved-detail-title-card{width:84%;margin-top:-34px;padding:20px 16px 17px}
  .saved-detail-title-card h1{font-size:22px}
  .saved-detail-body{padding:0 18px;margin-top:24px}
  .saved-passage-toggle{padding-left:18px;padding-right:18px}
  .saved-passage-text{padding-left:18px;padding-right:18px}
}

/* 2026-09-04 — Saved prayer passage + Pray Again */
.saved-pray-again{margin-top:18px;min-width:132px}
.saved-passage-text{white-space:normal;padding-top:22px;padding-bottom:28px}
.saved-passage-reference{font-size:16px;font-weight:650;color:#37474f;margin-bottom:18px}
.saved-passage-reading .passage-paragraph{margin:0 0 15px;line-height:1.75}
.saved-passage-reading .passage-verse{display:inline}
.saved-passage-reading .passage-verse sup{color:#2196f3;font-size:.7em;font-weight:700;margin-right:3px;vertical-align:super}
.saved-passage-state{padding:8px 0 18px;color:#78909c;line-height:1.6}
.saved-custom-passage-art{
  min-height:200px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef7fd;
  color:#2196f3;
}
.saved-custom-passage-art.detail{min-height:230px}
.saved-custom-passage-art svg{width:66px;height:66px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:640px){
  .saved-custom-passage-art{min-height:180px}
  .saved-custom-passage-art.detail{min-height:200px}
}

/* 2026-09-04 — Pray Again + saved-prayer detail polish */
.saved-prayer-actions{
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
}
.saved-prayer-repeat-btn{
  background:#eef7fd;
  border:1px solid #c7e5fa;
  color:var(--blue-dark);
  padding-left:14px;
  padding-right:14px;
}
.saved-prayer-repeat-btn:hover{background:#e2f2fc}
.saved-passage-toggle{margin-top:38px}
.saved-passage-chevron{
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 30px;
  color:#78909c;
}
.saved-passage-chevron svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .18s ease;
}
.saved-passage-toggle[aria-expanded="true"] .saved-passage-chevron svg{
  transform:rotate(180deg);
}
.saved-detail-final-prayer{
  margin-top:28px;
  padding-top:20px;
  padding-bottom:20px;
}
@media(max-width:640px){
  .saved-prayer-actions{justify-content:flex-end}
  .saved-passage-toggle{margin-top:30px}
}

/* 2026-09-04 — Home saved-prayer actions use the same visual treatment */
.saved-prayer-actions .saved-prayer-text-btn{
  background:transparent;
  border:0;
  color:var(--blue-dark);
  padding:12px;
}
.saved-prayer-actions .saved-prayer-text-btn:hover{
  background:rgba(33,150,243,.06);
}

/* 2026-09-04 — Home back-button confirmation */
.leave-prayer-modal{max-width:440px}
.leave-prayer-modal h2{margin-bottom:10px}
.leave-prayer-copy{
  margin:0 0 22px;
  color:#607d8b;
  line-height:1.6;
}
.leave-prayer-modal .actions{
  margin-top:4px;
  justify-content:flex-end;
}

/* 2026-09-04 — optional Gospel narrative project */
.optional-writing-step{
  max-width:760px;
  margin:0 auto;
}
.optional-writing-badge{
  width:max-content;
  max-width:100%;
  margin:0 auto 18px;
  padding:6px 11px;
  border-radius:999px;
  background:#eef7fd;
  color:var(--blue-dark);
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
}
.optional-writing-intro{
  max-width:680px;
  margin:-4px auto 24px;
  color:#607d8b;
  line-height:1.7;
  text-align:center;
}
.optional-narrative-textarea{
  min-height:320px;
  line-height:1.7;
}
.optional-summary-section{
  border-top:1px solid #e7ecef;
  padding-top:20px;
}
.summary-narrative,
.saved-detail-optional-writing p{
  white-space:pre-wrap;
  line-height:1.75;
}
.saved-detail-optional-writing{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid #e7ecef;
}

/* 2026-09-04 — content-aware Thank You / Prayer Details */
.summary-reference{
  margin:0 0 8px;
  font-size:20px;
  font-weight:650;
  color:#37474f;
}
.summary-section:first-of-type{margin-top:12px}
.summary-section h2{
  margin:0 0 12px;
  font-size:18px;
  font-weight:650;
  color:#37474f;
}
.summary-item{margin:0 0 15px}
.summary-item:last-child{margin-bottom:0}
.summary-item h3{margin:0 0 4px;font-size:14px;font-weight:700;color:#546e7a}
.summary-item p{margin:0 0 7px;line-height:1.62}

/* 2026-09-04 — persistent Previous Prayers */
.previous-prayers-empty{
  max-width:640px;
  margin:8px auto 0;
  padding:34px 24px;
  text-align:center;
  border:1px dashed #cfd8dc;
  border-radius:16px;
  color:#607d8b;
  background:#fafcfd;
}
.previous-prayers-empty p{
  margin:0 0 6px;
  color:#455a64;
  font-weight:600;
}
.previous-prayers-empty span{
  font-size:13px;
  line-height:1.5;
}
.prayer-save-notice{
  max-width:620px;
  margin:0 auto 22px;
  padding:10px 14px;
  border-radius:10px;
  text-align:center;
  font-size:13px;
  line-height:1.5;
}
.prayer-save-notice.saved{
  background:#eef7fd;
  color:#1976d2;
}
.prayer-save-notice.failed{
  background:#fff3f2;
  color:#b33a2b;
}

/* 2026-09-04 — one canonical Custom Passage placeholder image */
.custom-passage-image-frame{
  background:#edf6fc;
}
.custom-passage-placeholder-image{
  top:0!important;
  bottom:auto!important;
  height:100%!important;
  object-fit:cover;
  object-position:center;
  background:#edf6fc;
}
.saved-prayer-art .custom-passage-image-frame,
.saved-detail-hero .custom-passage-image-frame{
  background:#edf6fc;
}

/* 2026-09-04 — Supabase account + cross-device Previous Prayers sync */
.account-topbar-btn{
  border:0;
  background:transparent;
  color:#2196f3;
  font-weight:700;
  min-height:38px;
  padding:0 10px;
  border-radius:18px;
}
.account-topbar-btn:hover{background:#eef6fc}
.account-sync-strip{
  width:min(100%,730px);
  margin:-12px auto 30px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  color:#607d8b;
  font-size:13px;
  text-align:center;
}
.account-sync-strip strong{color:#455a64;font-weight:700}
.account-sync-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#90a4ae;
  flex:0 0 auto;
}
.account-sync-dot.synced{background:#66bb6a}
.account-sync-dot.syncing,.account-sync-dot.checking{background:#42a5f5}
.account-sync-dot.offline{background:#f9a825}
.account-sync-dot.error{background:#ef5350}
.account-modal{
  max-width:470px;
  position:relative;
}
.account-modal-close{
  position:absolute;
  right:14px;
  top:12px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#607d8b;
  font-size:26px;
  line-height:1;
}
.account-modal-close:hover{background:#f1f5f7}
.account-intro,.account-privacy-note,.account-help,.account-loading{
  color:#607d8b;
  line-height:1.55;
}
.account-intro{text-align:center;margin:-4px auto 20px;max-width:390px}
.account-email{
  text-align:center;
  color:#455a64;
  font-weight:700;
  margin:-5px 0 18px;
}
.account-status-card{
  border:1px solid #e2e9ed;
  background:#f7fafb;
  border-radius:14px;
  padding:16px;
  margin:12px 0 16px;
}
.account-status-title{font-weight:750;color:#37474f;margin-bottom:5px}
.account-status-card p{margin:0;color:#607d8b;line-height:1.5}
.account-privacy-note{font-size:13px}
.account-help{
  font-size:12px;
  text-align:center;
  margin:16px 0 0;
}
.account-error{
  background:#ffebee;
  color:#b71c1c;
  border-radius:10px;
  padding:10px 12px;
  line-height:1.4;
  font-size:13px;
}
.account-actions{margin-top:20px}

.account-forgot-link,.account-back-link{
  display:block;
  border:0;
  background:transparent;
  color:#2196f3;
  font:inherit;
  font-weight:650;
  padding:4px 0;
  cursor:pointer;
}
.account-forgot-link{
  margin:-2px 0 2px auto;
  font-size:13px;
}
.account-back-link{
  margin:12px auto 0;
  font-size:13px;
}
.account-forgot-link:hover,.account-back-link:hover{text-decoration:underline}
@media(max-width:640px){
  .account-sync-strip{margin-top:-6px;margin-bottom:24px;padding:0 12px}
  .account-topbar-btn{padding:0 7px}
}

/* 2026-09-04 — end-of-prayer account prompt + in-app registration */
.post-prayer-account-card{
  max-width:720px;
  margin:22px auto 28px;
  padding:22px 24px;
  border:1px solid #dce9f1;
  border-radius:16px;
  background:#f8fbfd;
  box-shadow:0 5px 18px rgba(55,71,79,.07);
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:2px 16px;
  text-align:left;
}
.post-prayer-account-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e3f2fd;
  color:#2196f3;
  font-size:21px;
  grid-row:1 / span 2;
}
.post-prayer-account-copy h3{
  margin:1px 0 7px;
  color:#37474f;
  font-size:18px;
}
.post-prayer-account-copy p{
  margin:0;
  color:#607d8b;
  line-height:1.55;
}
.post-prayer-account-copy .post-prayer-account-reassurance{
  margin-top:8px;
  font-size:13px;
  color:#78909c;
}
.post-prayer-account-actions{
  grid-column:2;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:17px;
}
.post-prayer-cloud-confirmation{
  max-width:720px;
  margin:16px auto 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#546e7a;
  font-size:14px;
}
.post-prayer-cloud-check{
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e8f5e9;
  color:#43a047;
  font-weight:800;
}
.account-mode-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  max-width:320px;
  margin:2px auto 22px;
  padding:4px;
  border-radius:999px;
  background:#eef3f6;
}
.account-mode-switch button{
  border:0;
  border-radius:999px;
  background:transparent;
  color:#607d8b;
  min-height:38px;
  padding:0 14px;
  font-weight:700;
}
.account-mode-switch button.active{
  background:#fff;
  color:#2196f3;
  box-shadow:0 1px 5px rgba(55,71,79,.12);
}
.account-notice{
  background:#e8f5e9;
  color:#2e7d32;
  border-radius:10px;
  padding:11px 12px;
  line-height:1.45;
  font-size:13px;
}
@media(max-width:640px){
  .post-prayer-account-card{
    grid-template-columns:36px minmax(0,1fr);
    padding:18px;
    gap:2px 12px;
  }
  .post-prayer-account-icon{
    width:36px;
    height:36px;
    font-size:18px;
  }
  .post-prayer-account-actions{
    grid-column:1 / -1;
    margin-top:16px;
  }
  .post-prayer-account-actions .btn{
    flex:1 1 140px;
  }
}

/* 2026-09-04 — simplify the post-prayer account prompt */
.post-prayer-account-card.minimal{
  max-width:720px;
  margin:20px auto 26px;
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:left;
}
.post-prayer-account-card.minimal h3{
  margin:0;
  color:#37474f;
  font-size:18px;
  font-weight:700;
}
.post-prayer-account-card.minimal .post-prayer-account-actions{
  grid-column:auto;
  margin:0;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
@media(max-width:640px){
  .post-prayer-account-card.minimal{
    padding:14px 0;
    flex-direction:column;
    align-items:flex-start;
  }
  .post-prayer-account-card.minimal .post-prayer-account-actions{
    width:100%;
  }
}

/* 2026-09-05 — hosted Supabase confirmation callback */
.account-auth-notice{
  margin-left:6px;
  color:#2e7d32;
  font-weight:650;
}

/* 2026-09-05 — natural Feelings / Needs chip wrapping */
.reflection-choice-rows{
  width:min(920px,calc(100% - 96px));
  margin-left:auto;
  margin-right:auto;
}
.reflection-group .reflection-choice-row{
  gap:8px;
}
@media(max-width:760px){
  .reflection-choice-rows{
    width:calc(100% - 32px);
  }
}
@media(max-width:520px){
  .reflection-choice-rows{
    width:calc(100% - 20px);
  }
}

/* 2026-09-05 — final deployment navigation alignment */
.topbar .icon-btn{
  display:grid;
  place-items:center;
  padding:0;
  line-height:1;
}
.topbar .icon-btn::before,
.topbar .icon-btn::after{
  line-height:1;
}

/* 2026-09-05 — final release navigation + More Info icons */
.topbar .topbar-back-btn{
  width:40px;
  height:40px;
  min-width:40px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:0;
}
.topbar .topbar-back-btn .material-nav-icon{
  width:24px;
  height:24px;
  display:block;
  flex:0 0 24px;
  fill:currentColor;
}

.material-info-button{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:0;
  color:#2196f3;
}
.material-info-icon{
  width:20px;
  height:20px;
  display:block;
  flex:0 0 20px;
  fill:currentColor;
}
.reflection-info.material-info-button{
  width:36px;
  height:36px;
  font-size:0;
}
.prep-info.material-info-button{
  width:32px;
  height:32px;
  font-size:0;
}
.material-info-button:hover{
  background:#eef6fc;
}

/* 2026-09-05 — Step 1 "How are you?" More Info positioning only */
.reflection-heading{
  gap:0;
}
.reflection-heading .section-title{
  margin-left:30px;
}
.reflection-heading .reflection-info.material-info-button{
  width:30px;
  height:30px;
  margin-left:-2px;
  transform:translateY(-9px);
}

/* 2026-09-05 — perfectly centre the account modal close icon */
.account-modal-close{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:0;
  font-size:0;
}

/* 2026-09-05 — small geometric x, exactly centred in the account close button */
.account-modal-close{
  display:grid;
  place-items:center;
  padding:0;
}
.little-close-icon{
  position:relative;
  display:block;
  width:14px;
  height:14px;
  flex:0 0 14px;
}
.little-close-icon::before,
.little-close-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:1.5px;
  border-radius:999px;
  background:currentColor;
  transform-origin:50% 50%;
}
.little-close-icon::before{
  transform:translate(-50%,-50%) rotate(45deg);
}
.little-close-icon::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}
