:root{--bg:#f2f7f5;--card:#fff;--ink:#13302a;--muted:#5b706b;--line:#d5e3de;--accent:#1d5f94;--accent-ink:#fff;--green:#1e7552;--gold:#d4a11e;--gold-soft:#fbf0cf;--done:#1e7552;--done-soft:#cdeadb;--missed:#e2ece8;--header:linear-gradient(120deg, #1c6b4e 0%, #1d5f94 100%);--shadow:0 1px 2px #10302a0f, 0 4px 14px #10302a0f;--radius:14px;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1a19;--card:#162624;--ink:#e4efeb;--muted:#98afa9;--line:#27403a;--accent:#6db2e8;--accent-ink:#0e1a19;--green:#4cc28a;--gold:#ebc24f;--gold-soft:#3a3218;--done:#4cc28a;--done-soft:#1e3f31;--missed:#21332f;--header:linear-gradient(120deg, #145039 0%, #173e66 100%);--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1a19;--card:#162624;--ink:#e4efeb;--muted:#98afa9;--line:#27403a;--accent:#6db2e8;--accent-ink:#0e1a19;--green:#4cc28a;--gold:#ebc24f;--gold-soft:#3a3218;--done:#4cc28a;--done-soft:#1e3f31;--missed:#21332f;--header:linear-gradient(120deg, #145039 0%, #173e66 100%);--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans);padding-bottom:calc(72px + env(safe-area-inset-bottom));margin:0}a{color:var(--accent)}h1,h2{font-family:var(--serif);line-height:1.25}h2{margin:0 0 .5rem;font-size:1.15rem}.muted{color:var(--muted)}.small{font-size:.875rem}.topbar{z-index:5;padding:calc(.6rem + env(safe-area-inset-top)) 1rem .6rem;background:var(--header);color:#fff;border-bottom:3px solid var(--gold);align-items:center;gap:.5rem;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:1.2rem;overflow:hidden}.icon-btn{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;min-width:44px;min-height:44px;padding:.25rem;text-decoration:none;display:grid}.icon-btn:hover{background:#ffffff24}.icon-btn:focus-visible{outline:2px solid var(--gold);outline-offset:1px}#support svg{fill:var(--gold);transition:transform .15s}#support:hover svg{transform:scale(1.12)}.icon-btn svg,.tabbar svg{fill:currentColor;width:24px;height:24px}.support-wrap{display:inline-flex;position:relative}#support-callout{border:1px solid var(--line);background:var(--card);width:min(290px,100vw - 32px);color:var(--ink);text-align:left;z-index:20;border-radius:12px;padding:12px 14px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 6px 20px #00000040}#support-callout.open{animation:.18s ease-out support-callout-in;display:block}@keyframes support-callout-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.support-callout-arrow{border-left:1px solid var(--line);border-top:1px solid var(--line);background:var(--card);width:10px;height:10px;position:absolute;top:-6px;right:17px;transform:rotate(45deg)}.support-callout-title{margin:0 0 4px;font-size:.9rem;font-weight:700}.support-callout-body{color:var(--muted);margin:0 0 10px;font-size:.85rem;line-height:1.5}.support-callout-actions{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.support-callout-btn{font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:6px;padding:6px 12px;font-size:.85rem;text-decoration:none}.support-callout-btn-primary{background:var(--accent);color:var(--accent-ink);font-weight:600}.support-callout-btn-secondary{border:1px solid var(--line);background:var(--card);color:var(--ink)}.support-callout-btn-text{color:var(--muted);background:0 0;padding:6px 2px;font-size:.8rem}.support-callout-btn-text:hover{color:var(--ink);text-decoration:underline}main{max-width:640px;margin:0 auto;padding:1rem}.tabbar{z-index:5;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:.5rem 0 .4rem;font-size:.75rem;text-decoration:none;display:flex;position:relative}.tabbar a.on{color:var(--accent);font-weight:600}.tabbar a.on:before{content:"";background:var(--gold);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:30%;right:30%}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:.75rem;padding:1rem;list-style:none}ul{margin:0;padding:0}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1rem;text-decoration:none;display:inline-flex}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.btn:hover{border-color:var(--accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:#b3261e}.btn.wide{width:100%;display:flex}.actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.seg{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:.4rem .8rem}.seg button.on{background:var(--accent);color:var(--accent-ink)}.seg.wide{display:flex}.seg.wide button{flex:1}#kinds{border-radius:14px;flex-wrap:wrap}#kinds button{flex:5.5rem}.bar{background:var(--missed);border-radius:99px;height:8px;margin:.5rem 0 .25rem;overflow:hidden}.bar span{background:linear-gradient(90deg, var(--green), var(--gold));border-radius:99px;height:100%;display:block}.toast{left:50%;bottom:calc(90px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);opacity:0;z-index:10;pointer-events:none;text-align:center;border-radius:999px;width:max-content;max-width:calc(100vw - 32px);padding:.6rem 1.2rem;transition:all .25s;position:fixed;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.today-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.today-head .date{font-family:var(--serif);margin:0;font-size:1.35rem}.today-head .muted{margin:0;font-size:.875rem}.streak{color:var(--ink);background:var(--gold-soft);border:1px solid var(--gold);border-radius:999px;align-items:baseline;gap:.2rem;padding:.3rem .8rem;text-decoration:none;display:flex}.streak strong{font-size:1.3rem}.assignments .icon,.tracks .icon{margin-right:.4rem}.track-name{color:var(--green);font-weight:600}.units{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.unit{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:.35rem .8rem;text-decoration:none}.unit:hover{border-color:var(--accent)}.unit.review{color:var(--muted);border-style:dashed}.preview{font-family:var(--serif);color:var(--muted);margin:.6rem 0 0}.check-area{text-align:center;margin:1.5rem 0}.check-area p{margin:.3rem 0}.check{cursor:pointer;border:4px solid var(--done);background:var(--card);width:112px;height:112px;color:var(--done);border-radius:50%;place-items:center;transition:transform .15s,background .2s;display:inline-grid}.check svg{fill:currentColor;width:64px;height:64px}.check:active{transform:scale(.94)}.check.done{background:var(--done);color:#fff;box-shadow:0 0 0 6px var(--gold-soft), 0 0 0 8px var(--gold)}.welcome{text-align:center;padding:2rem 1.25rem}.reader{font-family:var(--serif);font-size:1.15rem;line-height:1.7}.reader-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.reader h1{margin:.25rem 0 .75rem;font-size:1.5rem}.reader h2{margin-top:1.25rem}.reader sup{font-family:var(--sans);color:var(--muted);margin:0 .15em 0 .3em;font-size:.65em}.reader .seg{font-family:var(--sans);font-size:.9rem}select.version{font:inherit;font-family:var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem}select.version.wide{border-radius:10px;width:100%;margin-bottom:.5rem}.qnum{font-family:var(--sans);color:var(--muted);margin:0}.question{font-size:1.45rem}.answer{border-left:4px solid var(--gold);padding-left:1rem;font-size:1.25rem}.answer p{margin:0 0 .8em}.creed-text{font-size:1.12rem}.creed-text.said{font-size:1.25rem}.creed-text .pnum{font-family:var(--sans);color:var(--green);font-weight:700}.proof-mark{font-family:var(--sans);color:var(--gold);font-size:.7em;font-weight:700}.proofs{font-family:var(--sans);padding-left:0;font-size:.95rem;list-style:none}.proofs li{margin:.25rem 0}.proofs .proof-mark{min-width:1.4em;font-size:.85em;display:inline-block}.sung{font-family:var(--sans);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:1.25rem 0 0;padding:.9rem 1rem}.sung figcaption{margin-bottom:.5rem;font-weight:600}.sung audio{width:100%}.sung p{margin:.5rem 0 0}.reader details{font-family:var(--sans);margin-top:1rem;font-size:.95rem}.verses-hymn p{white-space:pre-line;margin:1rem 0}.credits{font-family:var(--sans)}.pager{justify-content:space-between;align-items:center;margin:1.5rem 0;display:flex}.track-link{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;text-decoration:none;display:flex}.track-link .muted{flex-basis:100%}.plan-form fieldset{border:0;min-width:0;margin:0 0 1.25rem;padding:0}.plan-form legend{font-family:var(--serif);margin-bottom:.5rem;font-size:1.15rem;font-weight:700}.plan-form select,.plan-form input[type=number]{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.45rem .6rem}.plan-form>fieldset>select{width:100%;margin-top:.6rem}.plan-form input[type=number]{width:4.5rem}.radio{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0;display:flex}.plan-form input[type=search],.plan-form input[type=text]{width:100%;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem}.pick-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.btn.small{padding:.35rem .8rem;font-size:.875rem}.pick-list{border:1px solid var(--line);background:var(--card);border-radius:10px;max-height:320px;padding:.25rem 0;overflow-y:auto}.pick-list li{list-style:none}.pick-list label{cursor:pointer;align-items:baseline;gap:.6rem;padding:.4rem .75rem;display:flex}.pick-list li+li label{border-top:1px solid var(--line)}.pick-list li.muted{padding:.6rem .75rem}.hint{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem}.hint:empty{display:none}.error{color:#b3261e}.danger-zone{border-top:1px solid var(--line);padding-top:1rem}fieldset[disabled] .seg{opacity:.7}.stat-hero{text-align:center}.stat-hero .big{color:var(--green);font-size:3.2rem;font-weight:700;line-height:1.1}.stat-hero p{margin:.2rem 0}.stat-hero .bar{max-width:260px;margin:.75rem auto .25rem}.tiles{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem;display:grid}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-align:center;padding:.8rem}.tile strong{color:var(--accent);font-size:1.6rem;display:block}.tile span{color:var(--muted);font-size:.8rem}.weeks{align-items:flex-end;gap:4px;height:110px;display:flex}.week{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.week .col{background:linear-gradient(180deg, var(--gold), var(--green));border-radius:4px 4px 0 0;width:100%;min-height:2px}.week .n{color:var(--muted);font-size:.7rem}.cal{justify-content:center;gap:3px;display:flex}.cal-col{flex-direction:column;flex:1;gap:3px;max-width:22px;display:flex}.cell{aspect-ratio:1;background:var(--missed);cursor:pointer;border:0;border-radius:4px;padding:0}.cell.off{outline:1px dashed var(--line);outline-offset:-1px;background:0 0}.cell.done{background:var(--done)}.cell.before{background:var(--missed);opacity:.35}.cell.future{visibility:hidden}.cell.today{outline:2px solid var(--accent);outline-offset:1px}.progress li{margin-bottom:.9rem;list-style:none}.progress p{margin:0}.days{gap:.3rem;display:flex}.day{flex:1}.day input{opacity:0;position:absolute}.day span{text-align:center;border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:.5rem 0;font-size:.85rem;display:block}.day input:checked+span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.day input:focus-visible+span{outline:2px solid var(--gold)}.esv summary{cursor:pointer;margin:.25rem 0}.key-row{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.key-row input{min-width:0;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;flex:12rem;padding:.45rem .6rem}.sing-slot{margin:-1rem -1rem 0}iframe.lets-sing{border:0;width:100%;height:0;display:block}iframe.lets-sing.ready{height:calc(100dvh - 6.9rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:420px}.more{border:1px solid var(--line);background:var(--card);border-radius:10px;margin-top:.75rem;padding:.5rem .8rem}.more summary{cursor:pointer;padding:.2rem 0;font-weight:600}.more p{margin:.5rem 0}.more textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;margin-bottom:.5rem;padding:.5rem .7rem}.more .btn{margin-bottom:.5rem}.pick-list.matches{max-height:none;margin:.5rem 0}.pick-list.matches select{max-width:100%;margin-top:.2rem}.prayer-steps{padding-left:1.4rem}.prayer-steps li{margin-bottom:1.1rem}.prayer-steps li::marker{color:var(--gold);font-weight:700}.prayer-steps h2{color:var(--green);margin:0 0 .25rem;font-size:1.2rem}.prayer-steps p{margin:0 0 .4rem}.prayer-steps .said{border-left:4px solid var(--gold);padding-left:.8rem;font-style:italic}.prayer-steps .refs{font-family:var(--sans)}.prayer-parts{margin:.5rem 0;padding-left:1.4rem}.prayer-part{margin-bottom:.75rem}.prayer-part p{margin:.3rem 0}.prayer-part textarea{width:100%;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);resize:vertical;border-radius:10px;margin-top:.4rem;padding:.5rem .7rem;display:block}.part-tools{gap:.4rem;margin-top:.4rem;display:flex}.part-tools .btn:disabled{opacity:.4;cursor:default}.reader .guide{font-family:var(--sans);margin:0 0 .75rem;font-size:.95rem;line-height:1.5}
