:root{--ink:#132a3a;--muted:#60717b;--paper:#f7f4ec;--surface:#fffdf8;--gold:#b88732;--gold-soft:#efe1be;--line:#dce1df;--sage:#dce8df;--shadow:0 18px 50px rgba(18,43,59,.09);color-scheme:light}
:root.dark{--ink:#edf4f4;--muted:#a9b9bd;--paper:#0d1b24;--surface:#142833;--gold:#f1c879;--gold-soft:#3a3427;--line:#2c4450;--sage:#203c3b;--shadow:0 18px 50px rgba(0,0,0,.24);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app-shell{max-width:900px;margin:auto;min-height:100vh}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:.18em}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:10px;border:1px solid var(--gold);border-radius:50%;color:var(--gold)}.top-actions{display:flex;gap:8px}.icon-button,.favorite-button{border:0;background:transparent;color:var(--ink);font-size:1.3rem;cursor:pointer}.icon-button{width:42px;height:42px;border-radius:50%}.icon-button:hover{background:var(--gold-soft)}.progress-wrap{padding:22px 28px 10px}.progress-copy{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.progress-track,.audio-track{height:4px;background:var(--line);border-radius:99px;overflow:hidden}.progress-track{margin-top:10px}.progress-track span,.audio-track span{display:block;height:100%;width:0;background:var(--gold);transition:width .35s ease}.devotional{margin:10px 28px 60px;padding:clamp(26px,6vw,68px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.eyebrow,.day-number,.section-kicker{margin:0;color:var(--gold);font-size:.75rem;font-weight:800;letter-spacing:.16em}.title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:12px 0 28px}.day-number{color:var(--muted)}h1{margin:2px 0 0;font-family:Georgia,serif;font-size:clamp(3rem,9vw,6.2rem);line-height:1;font-weight:500;letter-spacing:-.04em}h2{font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.favorite-button{font-size:2.1rem}.favorite-button.active{color:var(--gold)}.scripture{margin:0;padding:24px 0 24px 28px;border-left:3px solid var(--gold)}.scripture p{margin:0;font:italic 1.22rem/1.65 Georgia,serif}.scripture cite{display:block;margin-top:12px;color:var(--muted);font-style:normal;font-size:.85rem;font-weight:700}.audio-card{display:flex;align-items:center;gap:16px;margin:34px 0;padding:18px;background:var(--ink);color:var(--paper)}.play-button{flex:0 0 52px;height:52px;border:0;border-radius:50%;background:var(--gold);color:#132a3a;cursor:pointer;font-size:1.05rem}.audio-main{flex:1}.audio-labels{display:flex;justify-content:space-between;font-size:.82rem}.audio-labels span{opacity:.72}.audio-track{margin-top:10px;background:rgba(255,255,255,.2)}.audio-extras{display:flex;flex-direction:column;gap:8px;align-items:stretch}#voiceRate,#sleepTimer{border:1px solid rgba(255,255,255,.25);background:transparent;color:inherit;padding:7px;font-size:.8rem}#voiceRate option,#sleepTimer option{color:#132a3a}.repeat-button{border:1px solid rgba(255,255,255,.25);background:transparent;color:inherit;padding:6px;font-size:1rem;cursor:pointer}.repeat-button.active{background:var(--gold);border-color:var(--gold);color:#132a3a}.content-section{margin:42px 0}.content-section p,.prayer-panel p{white-space:pre-line}.prayer-panel{padding:30px;border:1px solid var(--gold);background:linear-gradient(135deg,var(--gold-soft),transparent)}.amen{font-family:Georgia,serif;font-size:1.35rem}.declaration-panel{margin:26px 0;padding:24px 28px;background:var(--sage)}.declaration-panel p:last-child{font:1.35rem/1.5 Georgia,serif}.action-panel{display:flex;gap:18px;align-items:flex-start;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.action-panel p{margin:0}.action-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--gold);color:#132a3a;font-size:1.35rem}.notes-section{margin:34px 0}.notes-section label{display:block;margin-bottom:8px;font-weight:800}textarea{width:100%;padding:16px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;resize:vertical}.save-status{margin:4px 0 0;color:var(--muted);font-size:.78rem}.complete-button{width:100%;padding:17px;border:0;background:var(--ink);color:var(--paper);font:inherit;font-weight:800;cursor:pointer}a.complete-button{display:block;box-sizing:border-box;text-align:center;text-decoration:none}.complete-button.completed{background:var(--gold);color:#132a3a}.day-nav{display:flex;justify-content:space-between;margin-top:20px}.day-nav button{border:0;background:none;color:var(--ink);padding:10px 0;font:inherit;font-weight:700;cursor:pointer}.day-nav button:disabled{opacity:.3}dialog{width:min(760px,calc(100% - 24px));max-height:88vh;padding:30px;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(3,14,20,.7)}.dialog-header{display:flex;justify-content:space-between;align-items:start}.dialog-header h2{margin:4px 0 20px;font-size:2.4rem}.day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.day-card{padding:15px;border:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.day-card:hover{border-color:var(--gold)}.day-card.done{background:var(--sage)}.day-card small{display:block;color:var(--muted)}
@media(max-width:600px){.topbar{padding:0 18px}.progress-wrap{padding:18px}.devotional{margin:6px 10px 40px;padding:28px 20px}.audio-card{align-items:center;flex-wrap:wrap}.audio-main{min-width:180px}.audio-labels{display:block}.audio-labels span{display:block}.prayer-panel{padding:24px 20px}.day-grid{grid-template-columns:1fr 1fr}}
.track-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 20px}
.track-chip{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.track-chip:hover{border-color:var(--gold)}
.track-chip.active{border-color:var(--gold);background:var(--gold-soft)}
.track-chip small{color:var(--muted)}
.filter-tabs{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}
.filter-tab{padding:8px 16px;border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--muted);font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.filter-tab:hover{border-color:var(--gold)}
.filter-tab.active{border-color:var(--gold);color:var(--gold)}
.day-card{position:relative}
.day-card .fav-mark{position:absolute;top:12px;right:12px;color:var(--gold)}
.empty-note{margin:6px 0;color:var(--muted)}
.title-actions{display:flex;gap:2px;align-items:flex-start}
.share-button{font-size:1.45rem;padding-top:8px}
.journal-entry{padding:18px 0;border-bottom:1px solid var(--line)}
.journal-entry p:last-child{margin:8px 0 0;white-space:pre-line}
#exportButton{margin-top:22px}
#exportButton:disabled{opacity:.4;cursor:default}
.noscript-note{display:block;margin:40px 28px;padding:20px;border:1px solid var(--line);background:var(--surface)}
.data-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.text-button{border:0;background:none;padding:0;color:var(--ink);font:inherit;font-size:.85rem;font-weight:700;text-decoration:underline;cursor:pointer}
.text-button.danger{color:#b3402e}
:root.dark .text-button.danger{color:#e2705c}
.checkin-section{margin:34px 0;padding:24px 28px;border:1px solid var(--line)}
.checkin-question{margin:6px 0 14px;font-family:Georgia,serif;font-size:1.15rem}
.checkin-scale{display:flex;gap:8px;flex-wrap:wrap}
.checkin-scale button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
.checkin-scale button:hover{border-color:var(--gold)}
.checkin-scale button.selected{background:var(--gold);border-color:var(--gold);color:#132a3a}
.checkin-note{margin:12px 0 0;color:var(--muted);font-size:.82rem}
.sos-button{position:fixed;right:18px;bottom:18px;z-index:10;border:0;border-radius:99px;padding:14px 22px;background:var(--gold);color:#132a3a;font:inherit;font-size:.9rem;font-weight:800;letter-spacing:.04em;cursor:pointer;box-shadow:0 12px 32px rgba(18,43,59,.28)}
.sos-button:hover{transform:translateY(-1px)}
main{padding-bottom:78px}
.sos-dialog{max-width:560px;padding:36px clamp(24px,5vw,44px)}
.sos-close{position:absolute;top:14px;right:14px}
.sos-stage{min-height:280px}
.sos-stage h2{margin:8px 0 20px}
.sos-stage .checkin-scale{margin:8px 0 4px}
.sos-prayer{margin:22px 0 14px;white-space:pre-line}
.sos-decl{font:1.25rem/1.5 Georgia,serif;margin:0 0 18px}
.sos-actions{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.sos-footer{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.sos-resources{margin-top:14px;padding:16px 20px;background:var(--sage);font-size:.92rem}
.sos-resources ul{margin:10px 0;padding-left:20px}
.breath-circle{width:150px;height:150px;margin:28px auto;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:700;animation:breathe 14s ease-in-out infinite}
@keyframes breathe{0%{transform:scale(.72)}28%{transform:scale(1)}57%{transform:scale(1)}100%{transform:scale(.72)}}
.ledger{margin:4px 0 22px;padding:16px 20px;background:var(--sage)}
.ledger-line{margin:8px 0 0;font-size:.95rem}
.welcome-paths{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.path-button{display:flex;flex-direction:column;gap:3px;padding:15px 18px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.path-button:hover{border-color:var(--gold)}
.path-button small{color:var(--muted)}
.reminder-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:.9rem}
.reminder-row label{font-weight:700}
.reminder-row input[type=time]{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:6px 8px;font:inherit}
.install-hint{position:fixed;left:12px;right:12px;bottom:12px;z-index:11;display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--ink);color:var(--paper);box-shadow:0 12px 32px rgba(0,0,0,.3)}
.install-hint[hidden]{display:none}
.install-hint p{margin:0;font-size:.88rem}
.install-hint .icon-button{color:var(--paper);flex:none}
.welcome-list{margin:18px 0 26px;padding:0;list-style:none}
.welcome-list li{position:relative;margin:10px 0;padding-left:30px}
.welcome-list li::before{content:"✦";position:absolute;left:2px;color:var(--gold)}
@media print{.topbar,.progress-wrap,.audio-card,.notes-section,.complete-button,.day-nav,.title-actions,dialog{display:none!important}body{background:#fff}.devotional{margin:0;border:none;box-shadow:none;padding:0}}
:is(a,button,select,textarea):focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.breath-circle{animation:none}}
