:root { color-scheme: light; font-family: "Noto Serif Hebrew", "David Libre", Georgia, serif; color: #24201c; background: #f6f1e7; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top, #fffdf8, #f3ecdf 70%); }
main { width: min(100% - 2rem, 48rem); margin: 0 auto; padding: 3rem 0 5rem; }
.site-header { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; margin-bottom: 1rem; }
.header-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.current-middle { color: #78674d; }
.content-menu-button, .content-file-button { font: inherit; cursor: pointer; }
.content-menu-button { border: 1px solid #a78a57; border-radius: .3rem; padding: .45rem .9rem; color: #47371f; background: #fffdf8; }
#bookmarks-button { position: fixed; left: max(.75rem, env(safe-area-inset-left)); top: 1rem; z-index: 10; box-shadow: 0 .2rem .7rem rgb(60 45 25 / .18); }
.content-menu-button:hover, .content-menu-button:focus-visible { background: #f0e5d2; }
.android-app-link { text-decoration: none; }
#content { font-size: clamp(1.1rem, 2.2vw, 1.35rem); line-height: 2; }
.document { background: rgb(255 253 248 / .8); border: 1px solid #ded4c4; box-shadow: 0 0.5rem 2rem rgb(60 45 25 / .08); padding: clamp(1.25rem, 5vw, 3.5rem); }
.document > :first-child { margin-top: 0; }
.document > :last-child { margin-bottom: 0; }
h1, h2, h3, h4, h5, h6 { color: #47371f; font-weight: 600; line-height: 1.35; }
h1 { font-size: 2em; margin: 1.75rem 0 .75rem; text-align: center; }
h2 { font-size: 1.55em; margin: 1.6rem 0 .65rem; }
h3 { font-size: 1.3em; margin: 1.4rem 0 .55rem; }
h4 { font-size: 1.15em; margin: 1.2rem 0 .45rem; }
h5 { font-size: 1.05em; margin: 1.2rem 0 .45rem; }
h6 { font-size: .95em; margin: 1.2rem 0 .45rem; }
p { margin: 0 0 1.4rem; white-space: pre-line; }
strong { font-weight: 700; }
em { font-style: italic; }
#content ul, #content ol { margin: 0 0 1.4rem; padding-inline-start: 2rem; }
#content li { padding-inline-start: .25rem; }
#content a { color: #59451f; text-decoration-thickness: .08em; text-underline-offset: .15em; }
.verse { white-space: pre-line; padding: .35rem 1rem; margin: 0 0 1.4rem; border-right: .2rem solid #a78a57; background: #fbf7ee; }
.page-marker { color: #78674d; font-size: .9rem; letter-spacing: .08em; text-align: center; margin: 2rem 0; }
.bookmark-heading { scroll-margin-top: 1rem; }
.bookmark-section { --section-color: #3978b8; border-right: .25rem solid var(--section-color); padding: .15rem 1rem .05rem; margin: 0 0 1.5rem; background: color-mix(in srgb, var(--section-color) 5%, transparent); }
.bookmark-section .bookmark-heading { color: var(--section-color); font-weight: 700; margin-bottom: .5rem; }
.bookmark-file-button { border-inline-start: .25rem solid var(--bookmark-color); }
.page-marker::before, .page-marker::after { content: ""; display: inline-block; vertical-align: middle; width: 20%; border-top: 1px solid #cbbd9f; margin: 0 .75rem; }
.return-to-top { display: flex; justify-content: center; margin-top: 2rem; }
.return-to-top-button { font: inherit; cursor: pointer; border: 1px solid #a78a57; border-radius: .3rem; padding: .45rem .9rem; color: #47371f; background: #fffdf8; }
.return-to-top-button:hover, .return-to-top-button:focus-visible { background: #f0e5d2; }
.loading, .error { text-align: center; padding: 3rem 1rem; }
.error { color: #8d1f1f; }
dialog { width: min(100% - 2rem, 32rem); max-height: min(80vh, 42rem); border: 1px solid #cbbd9f; border-radius: .4rem; padding: 1.25rem; color: #24201c; background: #fffdf8; box-shadow: 0 1rem 3rem rgb(60 45 25 / .25); }
dialog::backdrop { background: rgb(36 32 28 / .4); }
.dialog-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.dialog-header h2 { margin: 0; }
.dialog-date { margin: .2rem 0 0; color: #78674d; font-size: .9rem; }
.date-picker-label { display: block; margin-top: 1rem; color: #78674d; }
.service-date-input { width: 100%; margin: .35rem 0 .75rem; padding: .55rem; font: inherit; }
.dialog-close { border: 0; background: transparent; font-size: 1.5rem; cursor: pointer; }
.content-file-list { list-style: none; padding: 0; margin: 1rem 0 0; columns: 2; }
.content-file-list li { break-inside: avoid; }
.content-file-button { width: 100%; border: 0; border-radius: .2rem; padding: .35rem .5rem; text-align: right; color: #47371f; background: transparent; }
.content-file-button:hover, .content-file-button:focus-visible { background: #f0e5d2; }
@media (max-width: 30rem) { .content-file-list { columns: 1; } }
@media print { #bookmarks-button { display: none; } body { background: white; } main { width: 100%; padding: 0; } .document { border: 0; box-shadow: none; } }
