*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#111827;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.topbar{position:sticky;top:0;z-index:5;background:#314693;color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.topbar h1{font-size:20px;margin:2px 0}.eyebrow{font-size:10px;letter-spacing:.12em;opacity:.78}.iconbtn{background:transparent;color:#fff;border:0;font-size:22px}main{max-width:900px;margin:auto;padding:14px 14px 90px}.view{display:none}.view.active{display:block}.card{background:#fff;border-radius:16px;padding:16px;margin:0 0 14px;box-shadow:0 2px 12px #0000000d}.hero{background:linear-gradient(135deg,#314693,#263b80);color:white}.hero h2{margin:6px 0}.progress{height:9px;background:#ffffff40;border-radius:99px;overflow:hidden;margin:15px 0 7px}.progress>div{height:100%;background:#fff;width:0}.muted{color:#667085}.hero .muted{color:#dbe4ff}.small{font-size:12px}.sectionhead{display:flex;justify-content:space-between;gap:10px;align-items:center}.sectionhead h2,.sectionhead h3{margin:0}.primary{background:#314693;color:white;border:0}.danger{background:#b42318;color:white}.bottomnav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;display:flex;z-index:10;padding-bottom:env(safe-area-inset-bottom)}.bottomnav button{flex:1;border:0;background:none;padding:12px 4px;font-size:12px;color:#667085}.bottomnav button.active{color:#314693;font-weight:700}button,select,input,textarea{font:inherit;border:1px solid #d0d5dd;border-radius:10px;padding:9px;background:#fff}button{cursor:pointer}.selectors{display:grid;grid-template-columns:1.5fr 1fr auto;gap:8px;margin:12px 0}.readerSettings{margin:8px 0 0;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px}.readerSettings summary{cursor:pointer;font-weight:600;font-size:13px;color:#475467;list-style-position:inside}.readerSettingControls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:8px}.readerSettingControls label{display:flex;align-items:center;gap:5px;font-size:13px}.reader{font-family:Georgia,serif;font-size:20px;line-height:1.7}.reader.sans{font-family:system-ui,sans-serif}.verse{padding:6px 0;border-bottom:1px solid #f0f1f3}.vnum{font-size:.72em;font-weight:700;color:#314693;margin-right:6px;vertical-align:super}.checkrow{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.checkrow input{width:20px;height:20px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid2 label,label{display:flex;flex-direction:column;gap:5px;font-size:13px;margin:7px 0}.extra{display:grid;grid-template-columns:1fr 100px auto;gap:8px;align-items:end}.studyGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.studyGrid button{padding:18px;text-align:left}.hidden{display:none}.toast{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);background:#111827;color:#fff;padding:10px 14px;border-radius:10px;display:none;z-index:20}.stat{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee}@media(max-width:600px){.selectors{grid-template-columns:1fr 1fr}.selectors button{grid-column:1/-1}.extra{grid-template-columns:1fr 85px}.extra button{grid-column:1/-1}.grid2{grid-template-columns:1fr}.readerSettingControls{display:block}}
/* v3 fixes: rows, modals, audio controls, progress bar in modals, dark theme */
.checkrow,.readerSettings label{flex-direction:row}
.checkrow button.open{margin-left:auto;padding:5px 12px;font-size:12px}
.audioControls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.modal{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:30}
.modal.hidden{display:none}
.sheet{background:#fff;width:100%;max-width:600px;max-height:88vh;overflow:auto;border-radius:18px 18px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
@media(min-width:700px){.modal{align-items:center}.sheet{border-radius:18px}}
.sheet .progress{background:#e5e7eb;margin:12px 0 6px}
.sheet .progress>div{background:#314693;transition:width .2s}
.pill{display:inline-block;background:#e0e7ff;color:#263b80;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:600}
.vbtns{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.backuprow{margin:12px 0}
body.dark{background:#0f1420;color:#e6e9f2;color-scheme:dark}
body.dark .card,body.dark .sheet,body.dark .bottomnav{background:#1a2133}
body.dark .hero{background:linear-gradient(135deg,#314693,#263b80);color:#fff}
body.dark .muted{color:#9aa4bd}
body.dark .hero .muted{color:#dbe4ff}
body.dark button,body.dark select,body.dark input,body.dark textarea{background:#232c42;color:#e6e9f2;border-color:#37415c}
body.dark .primary{background:#4a63c4;color:#fff;border:0}
body.dark .danger{background:#b42318;color:#fff}
body.dark .iconbtn{background:transparent;color:#fff;border:0}
body.dark .bottomnav{border-color:#2a3350}
body.dark .bottomnav button{background:none;color:#9aa4bd;border:0}
body.dark .bottomnav button.active{color:#9db4ff}
body.dark .stat,body.dark .checkrow,body.dark .verse{border-color:#2a3350}
body.dark .vnum{color:#9db4ff}
body.dark .pill{background:#2a3767;color:#dbe4ff}
body.dark .sheet .progress{background:#37415c}
body.dark .sheet .progress>div{background:#9db4ff}
body.dark .toast{background:#e6e9f2;color:#111827}

/* v3.1: day navigation, calendar, per-book progress, study plans */
.card:not(.hero) .progress{background:#e5e7eb}
.card:not(.hero) .progress>div{background:#314693;transition:width .2s}
.daynav{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.daynav button,.behind button{background:#ffffff26;color:#fff;border:0;padding:7px 12px;font-size:13px}
.behind{margin-top:10px;font-size:13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#00000026;border-radius:10px;padding:8px 10px}
.dayGrid{display:grid;grid-template-columns:repeat(auto-fill,22px);gap:4px;margin:10px 0}
.cell{display:inline-block;width:22px;height:22px;padding:0;border:0;border-radius:5px;vertical-align:middle}
.cell.done{background:#2e9e5b}.cell.part{background:#e0a800}.cell.missed{background:#e58a84}.cell.future{background:#e5e7eb}.cell.today{background:#c7d2fe;outline:2px solid #314693}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px}.legend .cell{width:12px;height:12px;border-radius:3px;margin-right:4px}
.bookrow{display:grid;grid-template-columns:1fr 90px 54px;gap:8px;align-items:center;padding:4px 0;font-size:13px}
.mini{height:7px;background:#e5e7eb;border-radius:9px;overflow:hidden}.mini i{display:block;height:100%;background:#2e9e5b}
#bookProgress h4{margin:14px 0 4px}details summary{cursor:pointer;font-weight:600}
.sadd{display:grid;grid-template-columns:1fr 80px 80px;gap:8px;margin-top:10px}
#studyContent h4{margin:14px 0 0}
body.dark .cell.future,body.dark .mini,body.dark .card:not(.hero) .progress{background:#2a3350}
body.dark .cell.today{background:#3a4a8a;outline-color:#9db4ff}
body.dark .card:not(.hero) .progress>div{background:#9db4ff}
body.dark .daynav button,body.dark .behind button{background:#ffffff26;color:#fff;border:0}

/* v3.3: plan settings */
.restwrap{margin:12px 0}.restdays{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.restdays label{flex-direction:row;align-items:center;gap:5px;margin:0;padding:6px 10px;border:1px solid #d5dae8;border-radius:99px;font-size:13px}
.restdays input{width:16px;height:16px;padding:0}
.preview{background:#f1f4fb;border-radius:10px;padding:10px 12px;font-size:13px;margin-top:12px;line-height:1.5}
body.dark .preview{background:#232c42}body.dark .restdays label{border-color:#37415c}

.mixgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mixgrid label{margin:0}

/* v3.5: built-in help */
.topbtns{display:flex;gap:6px;align-items:center}
.helptoc{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.helptoc button{padding:7px 12px;font-size:13px;border-radius:99px}
.helpdoc{scroll-margin-top:84px;line-height:1.6}
.helpdoc h2{margin:0 0 10px;font-size:19px}.helpdoc h3{margin:16px 0 6px;font-size:15.5px}
.helpdoc p{margin:8px 0}.helpdoc ul,.helpdoc ol{margin:8px 0;padding-left:22px}.helpdoc li{margin:5px 0}
.hb{display:inline-block;border:1px solid #dfe4f0;background:#e8edfb;border-radius:8px;padding:1px 9px;font-size:13.5px;font-weight:600;white-space:nowrap}
.hb.p{background:#314693;color:#fff;border-color:#314693}
.htip,.hwarn{border-radius:10px;padding:10px 12px;margin:12px 0;font-size:14.5px}
.htip{background:#e8edfb}.hwarn{background:#fff4de}.hwarn b{color:#b26a00}
.hscroll{overflow-x:auto;margin:10px 0}.helpdoc table{border-collapse:collapse;width:100%;font-size:14px}
.helpdoc th,.helpdoc td{border:1px solid #dfe4f0;padding:7px 9px;text-align:left;vertical-align:top}.helpdoc th{background:#e8edfb}
.hdot{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:middle}
body.dark .hb{background:#232c42;border-color:#37415c;color:#e6e9f2}body.dark .hb.p{background:#4a63c4;border-color:#4a63c4;color:#fff}
body.dark .htip{background:#232c42}body.dark .hwarn{background:#3a2d14}body.dark .hwarn b{color:#f0b35a}
body.dark .helpdoc th,body.dark .helpdoc td{border-color:#2a3350}body.dark .helpdoc th{background:#232c42}

.chapterNav{display:flex;justify-content:space-between;gap:10px;margin:0 0 14px}.chapterNav button{flex:1;padding:12px 16px;font-weight:600}.chapterNav button:disabled{opacity:.45;cursor:not-allowed}

.verseFocus{outline:2px solid currentColor;outline-offset:3px;border-radius:6px}

.bibleChooser{margin:12px 0}.chooserTitle{font-weight:700;margin-bottom:8px}.bookButtons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bookButtons button{padding:10px 8px;text-align:left}.bookButtons button.active{background:#314693;color:#fff;border-color:#314693}.chapterChooser{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}.chapterChooser button{padding:10px 4px}.chapterChooser button.active{background:#314693;color:#fff;border-color:#314693}.chooserState{display:none!important}@media(max-width:600px){.bookButtons{grid-template-columns:repeat(2,1fr)}.chapterChooser{grid-template-columns:repeat(5,1fr)}}

.openBooksBtn{width:100%;padding:12px 16px;font-weight:700;margin-top:4px}.bookButtons{margin-top:10px}

.readerTitle{text-align:center;padding:8px 8px 22px;margin-bottom:10px;border-bottom:1px solid var(--border)}.readerTitle h2{margin:4px 0;font-size:1.6rem}.readerTitle p{margin:0}
