:root{--font-scale:1;--bg:#f4f7fc;--bg-elevated:#fff;--text:#131c2e;--text-muted:#4d5972;--accent:#1e3f78;--accent-contrast:#fff;--border:#d7e0ee;--focus-ring:#2a63c9;--danger:#ae2c1e;--shadow:0 1px 3px #131c2e14, 0 1px 2px #131c2e0f;--radius:12px;--tint-bg:#e7eefc}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1524;--bg-elevated:#142238;--text:#eef2fb;--text-muted:#aebbd6;--accent:#7fa8e8;--accent-contrast:#0b1526;--border:#28395a;--focus-ring:#8fb8f5;--danger:#f2897a;--shadow:0 1px 3px #0006;--tint-bg:#1b2a46}}:root[data-theme=dark]{--bg:#0c1524;--bg-elevated:#142238;--text:#eef2fb;--text-muted:#aebbd6;--accent:#7fa8e8;--accent-contrast:#0b1526;--border:#28395a;--focus-ring:#8fb8f5;--danger:#f2897a;--shadow:0 1px 3px #0006;--tint-bg:#1b2a46}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--bg);color:var(--text);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,Noto Serif,serif;font-size:calc(17px * var(--font-scale));min-height:100vh;margin:0;line-height:1.5}#app{flex-direction:column;min-height:100vh;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}a{color:var(--accent)}button{font-family:inherit;font-size:inherit;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);padding:.65em 1.1em}button:hover{filter:brightness(.97)}@media (prefers-color-scheme:dark){:root[data-theme=dark] button:hover,:root:not([data-theme=light]) button:hover{filter:brightness(1.15)}}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}button.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:600}button.ghost{box-shadow:none;background:0 0}button:disabled{opacity:.4;cursor:not-allowed}button.small{padding:.4em .75em;font-size:.85em}fieldset{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 1.25rem;padding:1rem}legend{color:var(--text-muted);padding:0 .4em;font-weight:600}label.option-row{justify-content:space-between;align-items:center;gap:1rem;padding:.5em 0;display:flex}select{font:inherit;background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.4em .6em}.shortcut-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.shortcut-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.shortcut-keys{gap:.3rem;display:flex}kbd{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-bottom-width:2px;border-radius:6px;padding:.15em .5em;font-family:inherit;font-size:.85em}.app-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}.app-header h1{letter-spacing:.02em;margin:0;font-size:1.15rem}.app-logo-link{color:inherit;align-items:center;gap:.45rem;text-decoration:none;display:flex}.app-logo-link:hover{color:var(--accent)}.logo-mark{color:var(--accent);font-size:1.35rem;display:inline-flex}.app-footer{border-top:1px solid var(--border);max-width:720px;margin-top:2.5rem;margin-left:auto;margin-right:auto;padding:1.5rem 1.25rem 2rem}.app-footer p{color:var(--text-muted);margin:0 0 .5em;font-size:.82rem;line-height:1.6}.app-footer a{color:var(--text-muted);text-decoration:underline}.app-footer a:hover{color:var(--accent)}.app-nav{flex-wrap:wrap;gap:.4rem;display:flex}.app-nav a{color:var(--text-muted);border-radius:8px;padding:.4em .7em;font-size:.95rem;text-decoration:none}.app-nav a[aria-current=page]{background:var(--tint-bg);color:var(--text);font-weight:600}main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.screen-title{margin:0 0 .25rem;font-size:1.6rem}.subtle{color:var(--text-muted)}.home-body{padding-top:1rem}.home-sentence{max-width:20ch;margin:0 0 2rem;font-size:clamp(1.75rem,4.5vw,3rem);line-height:1.3}.home-sentence .accent-text{color:var(--accent)}.home-actions{flex-wrap:wrap;align-items:center;gap:.85rem;margin-bottom:1rem;display:flex}.home-actions select{padding:.6em .8em;font-size:1.05rem}.home-actions button{padding:.7em 1.6em;font-size:1.05rem}.resume-banner{background:var(--tint-bg);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.25rem;display:flex}.cta-row{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:1rem 0;display:flex}.screen-pray{z-index:1;background:var(--bg);position:fixed;inset:0}.pray-screen{flex-direction:column;height:100%;display:flex}.pray-layout{flex:1;min-height:0;display:flex}.pray-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.decade-sidebar{border-right:1px solid var(--border);flex-shrink:0;width:15rem;padding:1.25rem 1rem;overflow-y:auto}.decade-sidebar ol{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.decade-item{color:var(--text-muted);border-radius:8px;align-items:center;gap:.65rem;padding:.45rem .5rem;display:flex}.decade-item .decade-num{border:1.5px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.8rem;font-weight:600;display:flex}.decade-item.decade-active{background:var(--tint-bg);color:var(--text);font-weight:600}.decade-item.decade-active .decade-num{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.decade-item.decade-done{opacity:.6}.decade-item.decade-done .decade-num{background:var(--border);border-color:var(--border)}.decade-name{font-size:.88rem;line-height:1.25}@media (width<=680px){.pray-layout{flex-direction:column}.decade-sidebar{border-right:none;border-bottom:1px solid var(--border);width:auto;padding:.75rem 1rem;overflow:auto hidden}.decade-sidebar ol{flex-direction:row;gap:.6rem}.decade-item{padding:.15rem}.decade-name{display:none}}.pray-header{border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:.85rem 1.1rem;display:grid}.pray-header .ghost{justify-self:start}.pray-header-spacer{justify-self:end}.pray-progress{text-align:center;color:var(--text-muted);font-size:.95rem}.home-button{justify-content:center;align-items:center;width:2.4rem;height:2.4rem;padding:0;font-size:1.1rem;display:inline-flex}.pray-subheader{text-align:center;border-bottom:1px solid var(--border);background:var(--tint-bg);padding:.55rem 1.1rem;font-size:.92rem}.pray-main{text-align:center;cursor:pointer;flex-direction:column;flex:1;align-items:center;width:100%;max-width:760px;min-height:0;margin:0 auto;padding:2rem 1.5rem 3rem;display:flex;overflow-y:auto}.pray-main-inner{flex-direction:column;align-items:center;gap:1.25rem;margin-top:auto;margin-bottom:auto;display:flex}.repeat-count{margin-top:-.75rem}#main-content:focus-visible{outline:none}.prayer-title{font-size:calc(2.1rem * var(--font-scale,1) / var(--font-scale,1));margin:0;font-size:2.1rem}.prayer-text{white-space:pre-line;max-width:46ch;font-size:1.5rem;line-height:1.65}.prayer-text p{margin:0 0 .6em}.mystery-announce .mystery-title{margin:.1em 0;font-size:2.2rem}.mystery-announce .scripture{max-width:50ch;font-size:1.25rem;font-style:italic}.mystery-announce .fruit{color:var(--text-muted)}.beads-only .prayer-title{color:var(--text-muted);font-size:1.4rem}.bead-dot{background:var(--accent);width:3.5rem;height:3.5rem;color:var(--accent-contrast);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.pray-controls{border-top:1px solid var(--border);display:flex}.pray-controls button{border:none;border-right:1px solid var(--border);min-width:0;box-shadow:none;background:0 0;border-radius:0;flex:50%;justify-content:center;align-items:center;gap:.55em;padding:1em;font-size:1.05rem;display:flex}.pray-controls button:last-child{border-right:none}.pray-controls button:hover:not(:disabled){background:var(--tint-bg)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.complete-banner{background:var(--tint-bg);border:1px solid var(--border);border-radius:var(--radius);text-align:center;margin:1rem 0;padding:1.5rem}.mystery-set-section h2{margin:1.75rem 0 .5rem;font-size:1.3rem}.mystery-entry{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem 1.25rem}.mystery-entry h3{margin:0 0 .3rem;font-size:1.1rem}.mystery-entry .ref{color:var(--text-muted);font-size:.9rem}.mystery-entry .scripture-text{margin:.5rem 0;font-style:italic}.modal-overlay{z-index:10;background:#0a101e8c;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:28rem;max-height:85vh;padding:1.5rem;overflow-y:auto;box-shadow:0 8px 32px #0a101e59}.modal-dialog:focus-visible{outline:none}.modal-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.modal-header h2{margin:0;font-size:1.3rem}
