:root{--ink:#2b2420;--muted:#5f554c;--accent:#7a3e2b;--gold:#a87a2e;--bg:#faf6ef;--card:#fff;--line:#e3d8c6}
*{box-sizing:border-box}html{font-size:19px}body{margin:0;font-family:Georgia,'Times New Roman',serif;line-height:1.6;color:var(--ink);background:var(--bg)}
a{color:var(--accent)}a:focus,button:focus,input:focus,select:focus{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:1100px;margin:auto;padding:0 16px}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}.sr{position:absolute;left:-999px}
header{background:#3b2a22;color:#f4ead9}header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:10px 16px;gap:6px}
.logo{font-size:1.5rem;color:#f4ead9;text-decoration:none}.logo b{color:#d9a84e}header nav a{color:#f4ead9;text-decoration:none;margin-left:14px;font-size:.95rem}
.crumbs{font-size:.85rem;color:var(--muted);margin:12px 0}
.hero{text-align:center;padding:28px 0 18px;border-bottom:1px solid var(--line);margin-bottom:18px}.hero h1{font-weight:normal;font-size:1.8rem;line-height:1.25;margin:.2em 0}
.verse{font-style:italic;color:var(--muted);max-width:720px;margin:8px auto}.verse cite{display:block;font-style:normal;font-size:.8rem;color:var(--gold);letter-spacing:1px;text-transform:uppercase}
h1{font-weight:normal;line-height:1.25}h2{font-size:1.25rem;margin-top:1.4em}
.onb{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin-bottom:14px}.onb h2{margin:.3em 0;font-size:1.05rem}
.choices{display:flex;flex-wrap:wrap;gap:8px}.choices button{font:inherit;font-size:.92rem;padding:8px 14px;border-radius:22px;border:1px solid #cdbfa8;background:#fffdf9;cursor:pointer;min-height:44px}.choices button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
.link{background:none;border:0;color:var(--accent);text-decoration:underline;font:inherit;cursor:pointer}
.filters{display:grid;grid-template-columns:1fr;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px}
.filters label{display:flex;flex-direction:column;font-size:.85rem;color:var(--muted)}.filters .chk{flex-direction:row;align-items:center;gap:8px}
input[type=search],select,input[type=email]{font:inherit;font-size:1rem;padding:10px;border:1px solid #bfae94;border-radius:6px;background:#fffdf9;min-height:44px;color:var(--ink)}input[type=checkbox]{width:22px;height:22px}
@media(min-width:760px){.filters{grid-template-columns:2fr 1fr 1fr 1fr}.filters .chk{grid-column:span 2}}
.grid{display:grid;grid-template-columns:1fr;gap:12px;margin:12px 0}@media(min-width:600px){.grid{grid-template-columns:1fr 1fr}}@media(min-width:950px){.grid{grid-template-columns:1fr 1fr 1fr}}
.card{display:flex;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px;text-decoration:none;color:var(--ink);flex-direction:column}
.bk{flex-direction:row}.bk img,.bk .nocover{width:72px;height:108px;object-fit:cover;flex:none;border-radius:3px;background:#eadfcd}.card b{color:var(--accent);line-height:1.3}.card span{font-size:.85rem;color:var(--muted)}
.nocover{display:flex;align-items:center;justify-content:center;text-align:center;font-size:.6rem;padding:4px;color:#7a6a58;background:#eadfcd;width:120px;height:180px}
.tag{display:inline-block;font:13px/1.4 system-ui,sans-serif;background:#f2e9da;color:#5a4636;border-radius:3px;padding:2px 7px;margin:3px 3px 0 0}
.stars{color:#b07a12;letter-spacing:1px}.muted{color:var(--muted);font-size:.9rem}
.pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:16px 0}.pager button{font:inherit;min-width:44px;min-height:44px;border:1px solid #cdbfa8;background:#fff;border-radius:6px;cursor:pointer}.pager button[aria-current=page]{background:var(--accent);color:#fff}
.sits{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:600px){.sits{grid-template-columns:1fr 1fr}}@media(min-width:950px){.sits{grid-template-columns:repeat(3,1fr)}}
.sit{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:8px;padding:12px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}.sit span{font-size:.82rem;color:var(--muted)}
.book{display:grid;grid-template-columns:1fr;gap:18px}@media(min-width:700px){.book{grid-template-columns:220px 1fr}}.bcover img,.bcover .nocover{width:200px;height:300px;object-fit:cover;border-radius:4px;box-shadow:0 3px 10px #0002}
.by{color:var(--muted)}dl{display:grid;grid-template-columns:150px 1fr;gap:4px 12px}dt{color:var(--muted)}dd{margin:0}
.glance{background:#fff8e8;border-left:4px solid var(--gold);padding:8px 16px;border-radius:4px;margin:16px 0}.glance h2{margin:.3em 0;font-size:1.05rem}.glance ul{padding-left:1.1em;margin:.3em 0}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:10px 14px;border-radius:6px;margin:4px 4px 0 0;min-height:44px}
.cols{columns:1}@media(min-width:700px){.cols{columns:3}}.top li{margin:6px 0}
.nl{background:#3b2a22;color:#f4ead9;border-radius:8px;padding:18px;margin:28px 0;text-align:center}.nl h2{margin:0}.nl button{font:inherit;padding:10px 16px;background:#d9a84e;border:0;border-radius:6px;color:#2b2420;cursor:pointer;min-height:44px}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;padding:16px 0 40px}
.answer{font-size:1.05rem;max-width:780px;margin:10px auto;text-align:left;background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:6px}
html[data-size="1"]{font-size:22px}html[data-size="2"]{font-size:25px}
.sizer{display:flex;gap:4px}.sizer button{font:inherit;font-size:.85rem;min-width:44px;min-height:40px;border:1px solid #d9a84e;background:transparent;color:#f4ead9;border-radius:6px;cursor:pointer}
/* kids theme */
.th-kids body{background:#fffaf0;font-family:'Trebuchet MS','Comic Sans MS',system-ui,sans-serif}.th-kids header{background:#2f6fb5}.th-kids .logo b{color:#ffd23f}
.th-kids .card,.th-kids .sit,.th-kids .answer{border-radius:20px;border:2px solid #ffd23f}.th-kids .sit{border-top:6px solid #ff7a59}.th-kids h1{color:#2f6fb5}.th-kids a{color:#c2410c}.th-kids .btn{background:#ff7a59;border-radius:20px;color:#fff}.th-kids .hero{background:linear-gradient(135deg,#fff3c4,#d7f0ff);border-radius:20px;border:0}
/* elder theme: high contrast, large */
html.th-elder{font-size:21px}html.th-elder[data-size="1"]{font-size:24px}html.th-elder[data-size="2"]{font-size:27px}
.th-elder body{background:#fff;color:#111}.th-elder a{color:#0b3d91;text-decoration:underline}.th-elder .verse,.th-elder .muted,.th-elder .card span,.th-elder .sit span{color:#222}.th-elder .card,.th-elder .sit{border:2px solid #333}.th-elder header{background:#111}
.prayer{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:10px 0}.prayer small{color:var(--muted)}
@media(max-width:700px){header nav{display:flex;overflow-x:auto;white-space:nowrap;width:100%;gap:14px;padding-bottom:4px}header nav a{margin:0}.onb{padding:10px}.choices button{padding:6px 12px}}
.th-kids header nav a,.th-elder header nav a{color:#fff}.th-elder .btn,.th-kids .btn{color:#fff;text-decoration:none}.th-elder .logo{text-decoration:none}
