
:root{
--cream:#FAF6EE;--ivory:#FFFDF7;--sand:#EFE6D6;--sage:#7C9473;--sage-dark:#4F6B52;
--olive:#5C6B4A;--gold:#B98B3E;--ink:#33392F;--muted:#5F675A;--night:#22301F;--night2:#2E3D28;
--radius:20px;--shadow:0 10px 30px rgba(51,57,47,.10);
--fs-body:21px;--fs-small:19px;--fs-h1:32px;--fs-h2:26px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,sans-serif;background:linear-gradient(180deg,var(--cream),var(--sand));color:var(--ink);font-size:var(--fs-body);line-height:1.55;min-height:100vh}
body.night{background:linear-gradient(180deg,#1B2418,var(--night2));color:#F2EFE6}
h1{font-size:var(--fs-h1);line-height:1.2;margin:.2em 0}h2{font-size:var(--fs-h2);margin:.4em 0}
p{margin:.6em 0}.muted{color:var(--muted)}body.night .muted{color:#C9CFC0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:none;border-radius:16px}
input,select,textarea{width:100%;min-height:58px;font-size:21px;padding:14px 16px;border:2px solid #D8CFBB;border-radius:16px;background:var(--ivory)}
textarea{min-height:150px;resize:vertical}
:focus-visible{outline:4px solid #2F6F4F;outline-offset:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:12px 22px;font-size:20px;background:#E7E0CF;color:var(--ink);border:2px solid transparent}
.btn:hover{filter:brightness(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-primary{min-height:64px;font-size:23px;background:var(--sage-dark);color:#fff}
.btn-gold{background:var(--gold);color:#fff}
.btn-outline{background:transparent;border-color:var(--sage-dark);color:var(--sage-dark)}
body.night .btn{background:#3B4A34;color:#F2EFE6}body.night .btn-primary{background:#8FB083;color:#16210F}
.btn-block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.icon-btn{background:transparent;font-size:26px;min-width:52px;min-height:52px}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:99}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;position:sticky;top:0;background:rgba(250,246,238,.92);backdrop-filter:blur(6px);z-index:20;border-bottom:1px solid #E2D9C6}
body.night .topbar{background:rgba(27,36,24,.92);border-color:#3B4A34}
.brand{font-size:19px;display:flex;gap:10px;align-items:center}.brand-mark{color:var(--gold);font-size:24px}
main{max-width:820px;margin:0 auto;padding:22px 18px 120px}
.card{background:var(--ivory);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);margin:18px 0;border:1px solid #EAE1CE}
body.night .card{background:#2C3A27;border-color:#41513A}
.hero{background:linear-gradient(135deg,#E9F0E3,#F7F1E2);border:1px solid #DCE5D2}
body.night .hero{background:linear-gradient(135deg,#2E3D28,#243020);border-color:#465740}
.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:15px;color:var(--olive);font-weight:700}
body.night .eyebrow{color:#B9C7AC}
.section-title{margin-top:28px}
.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.stat{background:var(--ivory);border-radius:18px;padding:18px;text-align:center;border:1px solid #E7DEC9}
body.night .stat{background:#33422D;border-color:#465740}
.stat b{display:block;font-size:32px;color:var(--sage-dark)}body.night .stat b{color:#A9C79C}
.verse{background:#F2EFE2;border-left:6px solid var(--gold);padding:18px;border-radius:14px;font-style:italic}
body.night .verse{background:#33422D}
.verse-ref{font-style:normal;font-weight:700;margin-top:10px;color:var(--olive)}
body.night .verse-ref{color:#C9D3BB}
label{display:block;font-weight:700;margin:14px 0 6px;font-size:19px}
.field-error{color:#A3402F;font-size:18px;margin-top:6px;min-height:24px}
.tag{display:inline-block;background:#E4EBDD;color:#3F5138;border-radius:999px;padding:6px 14px;font-size:17px;margin:4px 6px 4px 0}
body.night .tag{background:#3D4C36;color:#D6DECB}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{min-height:52px;padding:10px 18px;border-radius:999px;background:#E7E0CF;font-size:19px}
.chip.active{background:var(--sage-dark);color:#fff}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:rgba(255,253,247,.96);border-top:1px solid #E2D9C6;z-index:30;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
body.night .bottom-nav{background:rgba(27,36,24,.97);border-color:#3B4A34}
.nav-btn{flex:1;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:19px;min-height:56px;color:var(--muted);border-radius:14px}
.nav-btn span{font-size:15px}.nav-btn.active{color:var(--sage-dark);font-weight:800;background:#EAF0E3}
body.night .nav-btn.active{color:#A9C79C;background:#33422D}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:92px;background:#33392F;color:#fff;padding:14px 20px;border-radius:14px;opacity:0;pointer-events:none;transition:.25s;z-index:60;max-width:90vw;font-size:19px}
.toast.show{opacity:1}.toast.error{background:#8C3A2B}
.modal{position:fixed;inset:0;background:rgba(30,36,28,.55);display:flex;align-items:center;justify-content:center;padding:18px;z-index:70}
.modal.hidden{display:none}.modal-card{background:var(--ivory);border-radius:24px;padding:26px;max-width:560px;width:100%;max-height:85vh;overflow:auto}
.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.empty{padding:28px;text-align:center;border:2px dashed #CFC6B0;border-radius:20px;color:var(--muted)}
.entry{border-left:6px solid var(--sage);padding:14px 18px;background:var(--ivory);border-radius:14px;margin:12px 0}
body.night .entry{background:#33422D}
.entry h3{margin:.2em 0;font-size:23px}
details{margin:10px 0}.summary-btn{width:100%;text-align:left}
.speech-controls{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
select#voice-select{max-width:100%}
.print-only{display:none}
@media print{
 body{background:#fff;color:#000;font-size:12pt}
 .topbar,.bottom-nav,.toast,.modal,.no-print{display:none!important}
 main{padding:0;max-width:none}
 .card{box-shadow:none;border:1px solid #999;break-inside:avoid}
 #print-area{display:block!important}
 .print-only{display:block!important}
}
@media (max-width:430px){:root{--fs-body:19px;--fs-small:17px;--fs-h1:27px;--fs-h2:23px}
 .card{padding:18px}.btn{font-size:18px}.btn-primary{font-size:20px}}

.speech-status{display:none;margin:8px 0;padding:10px 12px;border-radius:12px;background:#FFF4DC;color:#5A4210;font-size:.92rem;line-height:1.4}.speech-status.show{display:block}.speech-status[data-kind=nosupport],.speech-status[data-kind=failed],.speech-status[data-kind=unavailable]{background:#F8E3DE;color:#7A2E20}.speech-controls .btn:disabled{opacity:.45;cursor:not-allowed}
#modal-body{white-space:pre-wrap;word-break:break-word}
@media (max-width:380px){.nav-btn span{font-size:13.5px}.bottom-nav{padding-left:2px;padding-right:2px}}
