:root { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; color: #212922; background: #f7f4ee; font-synthesis: none; }
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}
.loading-cover{padding:18vh 12px;text-align:center;color:#23463d}
.app-shell{min-height:100svh;padding-bottom:env(safe-area-inset-bottom)}.app-header{background:linear-gradient(155deg,#13392c,#254f3f);color:white;display:flex;align-items:center;gap:12px;padding:calc(11px + env(safe-area-inset-top)) 16px 13px;box-shadow:0 2px 10px #183b3129;position:sticky;top:0;z-index:10}
.logo{width:55px;height:55px;border-radius:14px;object-fit:cover;box-shadow:0 0 0 2px #c9ab66}.brand{flex:1;min-width:0}.brand h1{font-size:1.27rem;line-height:1.25;margin:0}.brand small{color:#f0dfb8;font-size:.82rem}.menu-back,.icon-button{border:1px solid #c0bbab80;border-radius:14px;background:#fffc;color:#143a2d;min-height:41px;padding:0 12px}
.app-header .menu-back{background:#ffffff1a;color:#fff;border-color:#ffffff60}
main{max-width:1030px;margin:auto;padding:18px 15px 55px}.intro{margin:3px 3px 20px}.intro h2{margin:0 0 7px;font-size:1.35rem;color:#1b4937}.subtle{color:#6c776f;font-size:.92rem;line-height:1.6}.status-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border-radius:13px;padding:9px 12px;background:#ecf2ed;color:#285039;font-size:.83rem;margin:15px 0}
.category-title{color:#1e493a;margin:21px 3px 9px;font-size:1.15rem;border-bottom:1px solid #d9ddcf;padding-bottom:7px}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.menu-card{display:flex;align-items:center;gap:12px;width:100%;text-align:right;background:#fff;border:1px solid #dedcd3;border-radius:19px;padding:18px 16px;box-shadow:0 3px 12px #25351d0b;color:#252c26}.menu-card:hover{border-color:#c9aa69}.menu-card:focus-visible,button:focus-visible{outline:3px solid #e4b64d;outline-offset:3px}.menu-card .symbol{width:48px;height:48px;flex:none;display:grid;place-items:center;background:#f5efe2;border-radius:12px;color:#ad8430;font-size:24px}.menu-card .card-copy{flex:1}.card-copy strong{font-size:1.1rem;display:block}.card-copy small{color:#878a85;display:block;margin-top:4px}.arrow{color:#ba993e;font-size:1.4rem}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid #deddd2;border-radius:15px;padding:9px;margin:0 0 14px;position:sticky;top:82px;z-index:9;box-shadow:0 4px 12px #0000000b}.toolbar .tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.toolbar button,.pill{border:1px solid #ded8c9;background:#fdfaf3;border-radius:11px;padding:9px 12px;color:#254e3c}.toolbar input{width:68px;border:1px solid #d8d1c1;border-radius:9px;padding:9px 5px;text-align:center;direction:ltr}.toolbar strong{color:#224b3b}.reader-title{margin:0 0 10px;color:#244c3b;font-size:1.2rem}
.pdf-pages{display:flex;flex-direction:column;align-items:center;gap:17px;min-height:60vh}.page-slot{width:min(100%,760px);min-height:350px;aspect-ratio:468/668;background:white;border:1px solid #dadada;box-shadow:0 4px 15px #302e2538;position:relative;overflow:hidden}.page-slot canvas{width:100%;height:100%;display:block}.page-label{position:absolute;bottom:0;left:0;background:#17382fd4;color:white;font-size:.74rem;padding:5px 8px;border-radius:0 10px 0 0;z-index:2}.page-loading{position:absolute;top:48%;left:0;right:0;text-align:center;color:#89918c;font-size:.88rem}.page-slot .page-audio{position:absolute;bottom:33px;left:10px;z-index:4}.section-notice{padding:9px 12px;border:1px solid #e6dfd2;background:#fffaf0;color:#79603d;border-radius:12px;margin:0 0 12px;font-size:.87rem}
.audio-panel{padding:15px;border:1px solid #ded7c8;background:#fff;border-radius:18px;margin:12px 0}.audio-panel h3{margin:0 0 9px;color:#274b3e;font-size:1.06rem}.song{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px;padding:9px 0;border-top:1px solid #eee8da}.song span{font-weight:600}.song button{background:#1d4a39;color:white;border:0;border-radius:12px;padding:10px 16px}.song button.playing{background:#a34c1e}.audio-error{font-size:.82rem;color:#a12a2a}
.settings{background:#fff;border-radius:18px;border:1px solid #dddcd2;padding:20px}.settings label{display:block;margin:15px 0 7px}.settings select,.settings input{width:100%;max-width:360px;padding:10px;border:1px solid #d3d2c9;border-radius:12px;background:#fcfbf7}.settings button{background:#194736;color:white;border:0;border-radius:12px;padding:11px;margin:5px}.settings pre{white-space:pre-wrap;text-align:start;background:#f7f4ee;border-radius:12px;padding:12px;font-size:.83rem;max-height:160px;overflow:auto}.sticky-player{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;right:12px;max-width:600px;margin:auto;z-index:20;background:#173e31;color:white;padding:12px;border-radius:17px;box-shadow:0 5px 18px #1118;display:none;align-items:center;justify-content:space-between;gap:10px}.sticky-player.active{display:flex}.sticky-player button{padding:8px 10px;border:0;border-radius:10px;color:#143c30;background:#f5eacb}.hidden{display:none!important}
#toast{position:fixed;bottom:95px;right:20px;left:20px;margin:auto;max-width:600px;padding:12px;text-align:center;background:#2b362d;color:white;border-radius:13px;z-index:50;display:none}.error{color:#a62b22}.load-problem{padding:35px 15px;background:#fff;border-radius:20px;text-align:center}
@media(max-width:500px){.app-header{padding-right:12px;padding-left:12px}.brand h1{font-size:1.05rem}.logo{width:46px;height:46px}.toolbar{top:70px}.page-slot{min-height:300px}.menu-grid{grid-template-columns:1fr}}
.page-slot{aspect-ratio:unset;min-height:0;margin:0;max-width:780px;overflow:hidden}.page-slot img{display:block;width:100%;height:auto;aspect-ratio:468/670;object-fit:contain;background:#fff}.page-slot .page-loading{z-index:0}.page-slot.is-loaded .page-loading{display:none}.page-slot .page-label{z-index:2}.page-audio{z-index:4}.reader-extra{display:flex;justify-content:center;margin:20px}.reader-extra button{min-width:180px;padding:12px}.source-link{text-align:center;padding:14px}.source-link a,.settings a{color:#135d49}.secondary-action{border:1px solid #cfaf65;background:#fff9ec;border-radius:12px;color:#4b4425;padding:11px 15px;margin:10px 0}.download-status{padding:10px 0;color:#4c5e51;font-size:.9rem}.progress-rail{height:9px;background:#ece7da;border-radius:12px;overflow:hidden}.progress-fill{height:100%;width:0;background:#437858;transition:width .1s}.todo-list{font-size:.88rem;color:#62675f}.todo-list p{margin:7px 0}.settings h3{margin-top:25px}.pdf-pages{gap:14px}.page-slot img{position:relative;z-index:1}.page-slot .page-audio{position:absolute;z-index:3;bottom:34px;left:15px}.loading-cover{padding-top:20vh}

.pdf-pages{overflow-x:auto;scroll-padding-top:120px;scrollbar-width:thin;} .page-slot{scroll-margin-top:160px;flex:none} .date-disclaimer{font-size:.76rem;opacity:.7} .page-loading[hidden]{display:none} .reader-title{padding:0 4px} .audio-panel .song button{min-width:86px} a{color:#276a5a} .page-slot .mapped-highlight{mix-blend-mode:multiply}

/* Standalone offline music library */
.music-heading{display:flex;justify-content:space-between;align-items:center;padding:7px 3px 16px}.music-heading h2{color:#174636;margin:0 0 8px;font-size:1.45rem}.music-heading p{color:#69796f;margin:0;line-height:1.6;font-size:.92rem}
.music-search-label{display:block;color:#34604b;font-size:.85rem;margin:7px 3px}.music-search{background:#fff;border:1px solid #d7d5c9;border-radius:15px;padding:13px 16px;display:block;width:100%;font-size:1rem;outline-color:#bfa15a}
.music-tabs{display:flex;gap:8px;margin:15px 0;flex-wrap:wrap}.music-tabs button{border:1px solid #d9d9ce;background:white;border-radius:22px;padding:9px 15px;color:#315c48}.music-tabs .selected{background:#214d3c;color:white}
.music-section-title{margin:22px 0 12px;color:#204a39;font-size:1.08rem}.music-folder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.music-folder{display:flex;gap:12px;align-items:center;text-align:right;background:white;border:1px solid #e2e0d6;border-radius:17px;padding:12px;min-width:0;color:#23352b}.folder-art{display:grid;place-items:center;width:66px;height:66px;border-radius:12px;background:linear-gradient(140deg,#215341,#17352e);color:#e8cf97;font-size:29px;flex:none}.folder-meta{min-width:0;flex:1}.folder-meta strong,.folder-meta small{display:block}.folder-meta strong{font-size:1.1rem;margin-bottom:7px}.folder-meta small{font-size:.84rem;color:#7b817a;line-height:1.4}
.music-album-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.music-album-head h3{margin:0;color:#224b3b}.music-album-head p{margin:5px 0;color:#6e7a72}.music-album-head button{background:#275843;color:white;border:0;padding:11px 14px;border-radius:13px;flex:none}
.music-song-list{border:1px solid #e4e0d5;border-radius:17px;background:white;overflow:hidden}.music-song{display:flex;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid #f0ede5}.music-song:last-child{border-bottom:0}.song-cover{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:#f0eddf;color:#b39349;font-size:21px;flex:none}.music-song-copy{flex:1;min-width:0}.music-song-copy strong{display:block;color:#1e3b2d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-song-copy small{color:#7d817d;font-size:.8rem}.music-favorite,.music-play{border:0;background:transparent;color:#245944;font-size:24px;min-height:44px;min-width:38px}.music-favorite{color:#ac7438}.music-play{border-radius:99px;background:#255741;color:#fff;font-size:19px}
.music-empty{background:white;border:1px dashed #c6c4b9;border-radius:18px;padding:34px 14px;text-align:center;color:#667568}.music-empty span{font-size:40px;display:block;color:#ad9560;margin-bottom:10px}.music-empty strong{display:block;color:#315440}.music-empty p{line-height:1.7;font-size:.92rem}
.sticky-player{flex-direction:column;align-items:stretch;gap:4px;padding:11px 15px 12px}.player-header{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.92rem}.player-label{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-header #player-time{white-space:nowrap;font-variant-numeric:tabular-nums;color:#e0d6ba;font-size:.75rem}.sticky-player #player-seek{width:100%;accent-color:#e2c377;height:17px}.player-buttons{display:flex;align-items:center;justify-content:space-around;gap:5px}.sticky-player .player-buttons button{font-size:1rem;min-width:38px;min-height:37px}.sticky-player .player-buttons #player-action{font-size:1.2rem;background:#e4c177}.sticky-player .player-buttons .active-mode{background:#d6a448;color:#102f25}
.autoscroll-bar{display:flex;gap:5px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #e1dfd6;border-radius:12px;padding:8px;margin-bottom:12px;color:#42594e}.autoscroll-bar span{margin-left:auto;font-size:.88rem}.autoscroll-bar button{border:1px solid #d8d5c8;border-radius:10px;padding:8px 11px;background:#f5f3ed;color:#3a5449}.autoscroll-bar button.selected{background:#2b5b48;color:white}
.app-shell:has(.sticky-player.active){padding-bottom:110px}
@media(max-width:500px){.music-folder-grid{grid-template-columns:1fr}.music-folder .folder-art{width:55px;height:55px}.sticky-player{bottom:calc(6px + env(safe-area-inset-bottom));left:7px;right:7px}.autoscroll-bar span{width:100%;}}

/* Keep implementation notes for the project maintainer only. */
.admin-panel{margin-top:24px;padding:18px;background:#fffdf7;border:1px solid #d1c4a4;border-radius:14px}
.admin-panel input[type=date]{display:block;width:100%;min-height:44px;padding:10px;margin:9px 0;border:1px solid #bcc8be;border-radius:9px;font-size:17px}
.admin-panel button{margin:10px 0}
.date-test-head{border-bottom:1px solid #ddd;padding:12px 0}
.test-item{display:flex;gap:12px;align-items:flex-start;padding:10px;border-bottom:1px solid #eee}
.test-item p{margin:4px 0}
.test-item small{color:#775d42}
.test-dot{font-size:26px;line-height:1}
.test-dot.red{color:#c12231}.test-dot.green{color:#28754d}
.megillah-next{margin:18px 4px;padding:18px;background:#f9f4e6;border:1px solid #d8bd7e;border-radius:15px;display:flex;flex-direction:column;gap:12px;align-items:stretch}
.megillah-next h3,.megillah-next p{margin:0}.megillah-next small{color:#745f41}
.megillah-next .secondary-action{display:block;text-align:center;text-decoration:none;padding:12px;border:1px solid #c8bd99;background:white;border-radius:10px;color:#173f32;font-size:1rem;cursor:pointer}

/* New nigunim: release announcement, shown once per content release. */
.new-music-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#071c18af;padding:18px;overscroll-behavior:contain}
.new-music-modal{width:min(100%,430px);max-height:min(80vh,700px);overflow:auto;background:#fffdf7;color:#203b2e;border:1px solid #d4c390;border-radius:20px;box-shadow:0 18px 65px #0005;text-align:center;padding:26px 22px;line-height:1.65}
.new-music-icon{font-size:2.5rem;color:#b5924f}.new-music-modal h2{font-size:1.45rem;color:#1a4334;margin:6px 0}.new-music-modal p{font-size:.99rem;color:#526759;margin:7px 0 16px}
.new-music-modal ul{text-align:right;background:#f5f3ea;border-radius:12px;padding:14px 32px;margin:0 0 20px;font-size:1.07rem;font-weight:600}
.new-music-modal li{padding:5px 0}.new-music-modal button{display:block;width:100%;cursor:pointer;border-radius:12px;padding:12px;margin:9px 0;border:0;font-size:1rem;font-family:inherit}
.new-music-go{background:#1e523f;color:#fff;font-weight:700}.new-music-dismiss{background:transparent;color:#405549;text-decoration:underline}

/* Cross-platform navigation + section icon */
.app-header{gap:8px;flex-wrap:wrap}.app-header .menu-back{padding:9px;font-size:.85rem;flex:none}
.menu-card .symbol{display:flex;align-items:center;justify-content:center;min-width:48px}
.lemaan-emblem{width:70px;max-width:100%;height:auto;object-fit:contain;border-radius:4px;background:white}
.settings input[type=number],.settings input[type=password],.settings input[type=text]{width:100%;font-size:16px;min-height:44px;padding:9px;border:1px solid #bdcbbb;border-radius:10px;box-sizing:border-box}
.admin-field{margin:13px 0;display:block}.admin-field label{display:block;font-weight:700;margin:5px 0}.admin-field input{width:100%;min-height:42px}
.admin-item{border:1px solid #ddd9ce;background:#fff;border-radius:12px;padding:14px;margin:10px 0}
.admin-item h3{margin:0 0 10px;font-size:1rem;color:#164332}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions button,.settings button{cursor:pointer}
.admin-hint{font-size:.85rem;color:#52645a;line-height:1.6}
@media(max-width:450px){.lemaan-emblem{width:68px}.app-header .menu-back{font-size:0.76rem;padding:8px}.reader-title{font-size:1.3rem}}

.shabbat-cover{position:fixed;inset:0;background:#173c31;color:#f6e9c9;display:flex;justify-content:center;align-items:center;text-align:center;padding:24px;z-index:9999}.shabbat-cover h1{font-size:2.8rem}.shabbat-cover p{font-size:1.15rem}

.version-note{font-size:12px;text-align:center;color:#8b958f;margin:30px auto 20px;direction:rtl;}

/* Contact banner: public feedback channel (WhatsApp requires internet). */
.contact-banner{margin:32px 0 0;display:flex;align-items:center;gap:13px;text-align:right;padding:18px 17px;background:#fdfbf6;border:1px solid #dcd5c6;border-radius:18px;color:#1c4535;text-decoration:none;box-shadow:0 3px 12px #23341d0b;min-height:84px}
.contact-banner:focus-visible{outline:3px solid #caa753;outline-offset:3px}
.contact-banner .contact-icon{flex:none;display:grid;place-items:center;border-radius:14px;background:#e8f4ec;color:#27754f;font-size:28px;width:52px;height:52px}
.contact-copy{flex:1;min-width:0}.contact-copy strong{font-size:1.08rem;display:block}.contact-copy small{display:block;font-size:.86rem;margin-top:4px;color:#66796b;line-height:1.4}.contact-arrow{font-size:24px;color:#b49651}
@media(max-width:480px){.contact-banner{padding:14px 12px}.contact-copy strong{font-size:1rem}.contact-copy small{font-size:.81rem}}

/* Update banner: shown only when a newer published version was verified online. */
.app-update-banner{position:fixed;z-index:4000;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));background:#f7f4ec;border:2px solid #b39953;color:#173c30;border-radius:15px;padding:14px;box-shadow:0 6px 25px #0004;display:flex;gap:9px;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center;font-size:15px}
.app-update-banner strong{font-size:17px}.app-update-banner span{flex-basis:100%}.app-update-banner button{background:#1c533e;color:#fff;padding:9px 15px;border:0;border-radius:9px;cursor:pointer}.app-update-banner #later-app-update{background:#dedbd3;color:#243a31}

/* Dynamic live-stream button (shown only when the published URL is active). */
.live-stream-banner{margin:18px 0;display:flex;align-items:center;gap:14px;padding:17px 16px;border:1px solid #bc9a56;border-radius:17px;background:linear-gradient(125deg,#fff9e9,#f9fdf8);box-shadow:0 4px 14px #19402b19;text-align:right;text-decoration:none;color:#163d30;min-height:72px}
.live-stream-banner .live-stream-dot{font-size:24px;color:#b42d2e;animation:liveDot 2s infinite;line-height:1}
@keyframes liveDot{50%{opacity:.38}}
.live-stream-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.live-stream-copy strong{font-size:1.09rem}.live-stream-copy small{font-size:.79rem;color:#5c6b60;line-height:1.5}
.live-stream-banner:focus-visible{outline:3px solid #bf9c47;outline-offset:3px}
.live-switch{display:flex;align-items:center;gap:8px;margin:16px 0}
.live-switch input{width:20px;height:20px}
#admin-live input[type=url]{width:100%;min-height:45px;font-size:16px;padding:8px;border:1px solid #bdcbbb;border-radius:10px;box-sizing:border-box}

/* V13: new-release button, release notes and update dialog. */
.whats-new-shortcut{margin:16px 0 4px;width:100%;display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #d0bf8f;border-radius:16px;background:linear-gradient(115deg,#faf7ea,#fff);color:#193f30;text-align:right;min-height:70px;cursor:pointer;box-shadow:0 2px 7px #172b190d;font-family:inherit}
.whats-new-shortcut>span:first-child{font-size:27px;color:#b18e3e}.whats-new-shortcut>.news-text{flex:1;display:flex;flex-direction:column;gap:3px}.whats-new-shortcut strong{font-size:1.02rem}.whats-new-shortcut small{font-size:.83rem;color:#6e7c70}
.news-indicator{background:#bb3434;height:10px;width:10px;flex:none;border-radius:50%;box-shadow:0 0 0 3px #bb34341b}.news-indicator.is-hidden{display:none}
.release-backdrop{position:fixed;inset:0;background:#08231bc9;z-index:4500;display:flex;align-items:center;justify-content:center;padding:16px;overscroll-behavior:contain}
.release-modal{box-sizing:border-box;width:min(100%,480px);max-height:min(90dvh,780px);overflow:hidden;border-radius:20px;background:#fffdf8;color:#183b30;border:2px solid #cbb57c;box-shadow:0 16px 60px #0006;padding:18px 18px 15px;display:flex;flex-direction:column;text-align:right}
.release-mark{color:#c0a062;text-align:center;font-size:30px;line-height:1}.release-modal h2{font-size:1.4rem;margin:5px 0;text-align:center}.release-modal>p{text-align:center;color:#53675c;margin:4px 0 10px;line-height:1.55;font-size:.94rem}
.release-scroll{overflow:auto;overscroll-behavior:contain;padding:0 4px;min-height:0}.release-group{border:1px solid #e8e1cc;border-radius:13px;background:#f8f6ee;margin-bottom:11px;padding:11px 12px}.release-group h3{color:#25543c;margin:0 0 6px;font-size:1.02rem}
.release-group ul{margin:5px 0 3px;padding-inline-start:22px;line-height:1.7;font-size:.95rem}.release-group li{margin:6px 0}.release-modal .release-hint{font-size:.84rem;color:#74664e;margin:7px 0}
.release-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:6px}.release-actions button{flex:1;min-width:130px;padding:13px 11px;border:0;border-radius:11px;font-size:1rem;cursor:pointer;font-family:inherit}.release-primary{background:#1e583f;color:white;font-weight:700}.release-secondary{background:#eeece3;color:#294234}
.app-update-banner [data-act="later"]{background:#e5e0d5;color:#254436}.app-update-banner [data-act="changes"]{background:#faf5e2;border:1px solid #c2a96e;color:#284c3b}
@media(max-width:420px){.release-modal{padding:15px 12px 12px}.release-modal h2{font-size:1.25rem}.release-group ul{font-size:.9rem}.app-update-banner button{font-size:.91rem;padding:8px 10px}}

/* V16: remote editing, opening notices and optional editor-written news */
#admin-remote select,#admin-remote textarea,#admin-remote input:not([type="checkbox"]){width:100%;max-width:700px;border:1px solid #d3d2c9;border-radius:12px;padding:11px;background:#fff;color:#212922;display:block;margin:6px 0 10px;font:inherit}
#admin-remote textarea{resize:vertical;line-height:1.55;direction:rtl}
#admin-remote #remote-pages{direction:ltr;text-align:left}
#admin-remote button{margin:6px 4px 6px 0}
#admin-remote h4{margin-top:25px}
.remote-notice-backdrop{position:fixed;inset:0;z-index:120;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px}
.remote-notice-modal{background:#fffdf8;color:#193a2b;width:min(100%,560px);max-height:84svh;overflow:auto;border-radius:21px;padding:26px 22px;box-shadow:0 15px 45px #0004;text-align:right}
.remote-notice-modal h2{margin-top:0}.remote-notice-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:1.08rem}
.remote-notice-modal button{background:#1e503d;border:0;border-radius:12px;color:white;font:inherit;padding:12px 20px;margin-top:15px}
.remote-news-card{padding:15px;margin:12px 0;background:#fdf9ef;border:1px solid #e5d6b3;border-radius:16px;white-space:pre-wrap;line-height:1.7}
.remote-news-card strong{display:block;margin-bottom:6px}

/* V17: community notices, author-created routes and optional editable prayer text. */
.community-ad{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:780px;margin:13px auto 22px;padding:16px;background:#f9f8f2;border:1px solid #d5c9a8;border-radius:15px;color:#193c30;text-align:center;text-decoration:none;box-shadow:0 3px 12px #193c3020;overflow:hidden}
.community-ad-label{align-self:flex-start;font-size:12px;font-weight:700;background:#eee8d8;color:#6e613c;padding:4px 9px;border-radius:9px}
.community-ad-image{display:block;max-width:100%;max-height:440px;object-fit:contain;border-radius:9px}
.community-ad strong{font-size:1.04rem;overflow-wrap:anywhere}.community-ad small{font-size:.83rem;color:#607166}
.community-file-icon{font-size:38px;line-height:1.2}
.community-ad:focus-visible{outline:3px solid #ab8f46;outline-offset:3px}
.page-slot-rich{padding:0 8px 20px;box-sizing:border-box;background:transparent;border:0}
.rich-prayer-text{background:#fffef8;border:1px solid #d6caa9;border-radius:12px;box-shadow:0 2px 13px #00000010;padding:clamp(16px,5vw,44px);color:#24271d;white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(1.25rem,3.8vw,1.8rem);line-height:1.9;text-align:right;min-height:180px}
.rich-brackets{color:#a33629;font-weight:750}
#remote-bracket-fields{background:#f5f4ed;border:1px solid #e3d9c2;padding:11px;border-radius:12px;margin:10px 0}
#remote-custom-routes .admin-item button,#remote-ad-list .admin-item button{margin:10px 0}
#remote-ad-upload-status{background:#f7f6ed;padding:6px;border-radius:8px;min-height:18px}

/* Remote-managed prayer typography: no downloaded fonts, works fully offline. */
.rich-prayer-text{font-size:27px;line-height:1.92;overflow-wrap:break-word}
.rich-prayer-text .rich-brackets{color:var(--prayer-bracket-color,#a33629);font-weight:var(--prayer-bracket-weight,800)}
.remote-style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px;padding:10px 0}
.remote-style-grid>label{display:flex;flex-direction:column;gap:5px;margin:0}
.remote-style-grid input[type=color]{width:100%;max-width:125px;height:48px;padding:3px}
.remote-style-grid select,.remote-style-grid input[type=number]{max-width:100%;min-height:45px}
.remote-style-preview{padding:13px 15px;background:#fffcf3;border-radius:12px;border:1px solid #d9ceaf;font-size:23px;line-height:1.85;margin:12px 0}
.remote-style-preview .rich-brackets{color:var(--prayer-bracket-color,#a33629);font-weight:var(--prayer-bracket-weight,800)}
.prayer-times-heading{padding:8px 2px 15px}.prayer-times-heading h2{margin:0 0 8px;color:#1e4737}
.prayer-times-heading p{color:#56675c;margin:0;line-height:1.5}
.prayer-times-empty{padding:18px;background:#fffaf0;border:1px dashed #d6c7a5;border-radius:14px;color:#655f50;line-height:1.5}
.synagogue-card{background:#fff;border:1px solid #dfd7c8;border-radius:17px;padding:18px;margin-bottom:15px}
.synagogue-card h3{margin:0;color:#194634;font-size:1.18rem}.synagogue-address{color:#566b5e;margin:9px 0}
.times-list{margin:14px 0}.time-row{display:grid;grid-template-columns:minmax(70px,1fr) auto;gap:2px 14px;border-bottom:1px solid #ebe6dc;padding:11px 2px;align-items:center}
.time-row strong{font-size:1rem}.time-hour{font-size:1.13rem;font-weight:750;font-variant-numeric:tabular-nums;color:#1b513d}
.time-row small{grid-column:1/-1;color:#6b6b61}.synagogue-waze{display:inline-flex;align-items:center;min-height:44px;border-radius:11px;background:#1c6047;color:#fff;text-decoration:none;font-weight:700;padding:10px 15px;margin-top:6px}
.admin-prayer-section{background:#f9f8f3;border:1px solid #d8c8a7;border-radius:15px;padding:14px;margin:14px 0}
.admin-prayer-section .admin-item{margin:10px 0}
.admin-prayer-section label{display:block;margin:10px 0 5px}
.admin-prayer-section input,.admin-prayer-section select,.admin-prayer-section textarea{width:100%;max-width:100%;min-height:44px;font-size:1rem}
.admin-prayer-section .admin-times-row{padding:9px;border:1px solid #e0d8c7;border-radius:12px;background:white;margin-bottom:9px}
.admin-prayer-section .admin-times-row strong{display:block;margin-bottom:5px}
.admin-prayer-section .admin-times-row button{margin:3px 0}
.admin-prayer-section .admin-inline-control{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.admin-prayer-section .admin-inline-control>*{min-width:0;flex:1}


/* V21: per-device reading modes (continuous, manual paging, timed paging). */
.reader-picker-backdrop{position:fixed;inset:0;z-index:4800;background:#071b16c9;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box}
.reader-picker{width:min(100%,490px);max-height:94dvh;overflow:auto;background:#fffdf7;color:#193b2f;border-radius:20px;padding:19px 18px;box-shadow:0 15px 45px #0006;line-height:1.55;box-sizing:border-box}
.reader-picker h2{font-size:1.45rem;margin:0 0 4px}.reader-picker p{font-size:.9rem;color:#647267;margin:0 0 12px}
.reader-choices{margin:0;padding:0;border:0}.reader-choices legend{font-weight:750;padding:4px 0}
.reader-choices label{display:flex;align-items:center;gap:12px;border:1px solid #d8d8c9;background:#fff;border-radius:12px;margin:7px 0;padding:12px;cursor:pointer;min-height:62px}
.reader-choices label:has(input:checked){border:2px solid #2a704e;background:#e9f5ed}
.reader-choices input{width:21px;height:21px;flex:none;accent-color:#235c42}
.reader-choices span{display:flex;flex-direction:column}.reader-choices small{font-size:.79rem;color:#66776a}
.reader-pace{background:#f6f4e9;border:1px solid #ded5bc;border-radius:12px;padding:12px;margin:12px 0}
.reader-pace[hidden],.reader-pager[hidden],.reader-auto-controls[hidden],.autoscroll-bar[hidden],.reader-extra[hidden]{display:none!important}
.reader-pace>strong{display:block;margin-bottom:8px}.reader-pace-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.reader-pace-presets button{flex:1;min-width:72px;border:1px solid #c6d4c5;padding:8px;border-radius:9px;background:white;color:#234a35;min-height:44px}
.reader-pace-presets button.selected{color:white;background:#235c42}
.reader-pace label{display:block;font-size:.91rem}.reader-pace input{width:100%;margin-top:9px;accent-color:#235c42;min-height:32px}
.reader-picker-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.reader-picker-actions button{min-height:48px;padding:11px 17px;border:0;border-radius:11px;font-size:1rem;font-family:inherit;cursor:pointer}
#reader-picker-start{background:#1c563c;color:white;font-weight:750;flex:2}#reader-picker-cancel{background:#ebe8de;color:#254034;flex:1}
.reader-mode-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f7f5ed;border:1px solid #dad6c7;border-radius:11px;padding:9px 12px;margin:0 0 10px;flex-wrap:wrap}
.reader-mode-summary button{padding:8px 14px;border-radius:10px;border:1px solid #c2cbbf;background:white;color:#20533b;min-height:42px}
.reader-pager{background:#fcfbf6;border:1px solid #ddd5bf;border-radius:14px;padding:10px;margin:14px 0}
.reader-pager-buttons{display:grid;grid-template-columns:minmax(75px,1fr) auto minmax(75px,1fr);gap:7px;align-items:center;text-align:center}
.reader-pager-buttons button,.reader-auto-controls button{padding:10px 7px;min-height:48px;border:1px solid #b9cdbf;border-radius:11px;background:#e9f2eb;color:#205037;font-family:inherit;font-weight:700;cursor:pointer;font-size:.92rem}
.reader-pager-buttons button:disabled,.toolbar button:disabled{opacity:.4;cursor:not-allowed}
#reader-position{font-size:.87rem;font-weight:700;white-space:nowrap;color:#385842}
.reader-auto-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;flex-wrap:wrap;font-size:.88rem;color:#3c5b49}
#reader-auto-toggle{background:#1e5a40;color:#fff}.reader-swipe-hint{text-align:center;font-size:.78rem;color:#68786e;margin:8px 0 0}
@media(max-width:365px){.reader-picker{padding:13px 10px}.reader-pager-buttons{grid-template-columns:1fr 1fr}.reader-pager-buttons #reader-position{grid-column:1/-1;grid-row:1}.reader-pager-buttons button{grid-row:2}}

.reader-remember{display:flex;align-items:center;gap:10px;padding:8px 3px;cursor:pointer;font-size:.93rem}
.reader-remember input{width:22px;height:22px;accent-color:#235c42;flex:none}


/* V22: genuine 3D page-leaf turn in both manual and timed paging.
   Hebrew book direction: forward turns from left edge toward the right spine. */
.pdf-pages.reader-pageflip-pages{overflow:visible;perspective:1700px}
.page-turn-stage{
 position:relative;
 flex:none;
 perspective:1700px;
 -webkit-perspective:1700px;
 transform-style:preserve-3d;
 -webkit-transform-style:preserve-3d;
 isolation:isolate;
 margin:0 auto;
}
.page-turn-stage>.page-slot{display:block;position:relative;margin:0}
.page-turn-sheet{
 position:absolute;
 z-index:5;
 inset-block-start:0;
 inset-inline-start:0;
 width:100%;
 transform:rotateY(0deg);
 transform-style:preserve-3d;
 -webkit-transform-style:preserve-3d;
 transition:transform .78s cubic-bezier(.23,.76,.28,1);
 will-change:transform;
 pointer-events:none;
 backface-visibility:hidden;
}
.page-turn-forward{transform-origin:right center}
.page-turn-backward{transform-origin:left center}
.page-turn-forward.is-turning{transform:rotateY(178deg)}
.page-turn-backward.is-turning{transform:rotateY(-178deg)}
.page-turn-face{
 position:absolute;
 inset:0;
 backface-visibility:hidden;
 -webkit-backface-visibility:hidden;
 overflow:hidden;
 background:#fffdf7;
 box-shadow:0 9px 24px rgba(26,24,20,.18);
}
.page-turn-front{transform:rotateY(0);-webkit-transform:rotateY(0)}
.page-turn-verso{transform:rotateY(180deg);-webkit-transform:rotateY(180deg);
 background:linear-gradient(90deg,#e4dbc7,#fffdf6 16%,#fffcf4 83%,#e6ddcc)}
.page-turn-paper{width:100%;height:100%;opacity:.45;
 background:repeating-linear-gradient(to bottom,transparent 0px,transparent 21px,rgba(175,157,134,.075) 22px)}
.page-turn-front:after{
 content:"";position:absolute;inset:0;
 background:linear-gradient(to right,rgba(33,29,24,.16),transparent 18%,transparent 75%,rgba(58,42,24,.12));
 pointer-events:none
}
.page-turn-face>.page-slot{border-radius:1px;box-shadow:none;border:0;overflow:hidden}
@media (prefers-reduced-motion:reduce) {
 .page-turn-sheet{transition:none}
}


/* V23 — open Hebrew book: even-numbered pages on the right, odd on the left. */
.pdf-pages.reader-book-pages{
 direction:rtl;
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 align-items:stretch;
 gap:0;
 width:min(100%,1100px);
 max-width:100%;
 margin:12px auto;
 position:relative;
 overflow:visible;
 perspective:1600px;
 background:#f6f0de;
 border:1px solid #c4b9a3;
 border-radius:3px;
 box-shadow:0 7px 22px rgba(28,22,13,.24);
 isolation:isolate;
 touch-action:pan-y pinch-zoom;
}
.pdf-pages.reader-book-pages::before{
 content:"";
 position:absolute;
 width:10px;
 left:calc(50% - 5px);
 top:0;bottom:0;
 background:linear-gradient(90deg,transparent,rgba(30,22,15,.16) 35%,rgba(20,16,11,.22) 50%,rgba(30,22,15,.11) 65%,transparent);
 z-index:3;pointer-events:none;
}
.reader-book-pages>.page-slot,.reader-book-pages>.book-blank{
 min-width:0!important;
 max-width:none!important;
 width:100%!important;
 margin:0!important;
 box-shadow:none!important;
 border:0!important;
 border-radius:0;
 aspect-ratio:468/670;
 background:#fffefa;
 align-self:stretch;
 overflow:hidden;
}
.reader-book-pages>.page-slot img{width:100%;height:100%;object-fit:contain;aspect-ratio:468/670}
.reader-book-pages>.page-slot.page-slot-rich{overflow:auto;aspect-ratio:468/670;padding:2px}
.reader-book-pages>.page-slot-rich .rich-prayer-text{font-size:clamp(9px,2vw,22px)!important;line-height:1.4}
.reader-book-pages>.page-slot[data-book-side="right"]{grid-column:1}
.reader-book-pages>.page-slot[data-book-side="left"]{grid-column:2}
.reader-book-pages>.book-blank[data-book-side="right"]{grid-column:1}
.reader-book-pages>.book-blank[data-book-side="left"]{grid-column:2}
.book-turn-leaf,.book-turn-still{
 position:absolute;
 top:0;bottom:0;
 width:50%;
 pointer-events:none;
 z-index:5;
}
.book-turn-leaf{
 transform-style:preserve-3d;
 -webkit-transform-style:preserve-3d;
 transition:transform .88s cubic-bezier(.22,.62,.33,1);
 will-change:transform;
}
.book-turn-forward{left:0;transform-origin:right center;transform:rotateY(0deg)}
.book-turn-backward{right:0;transform-origin:left center;transform:rotateY(0deg)}
.book-turn-forward.is-turning{transform:rotateY(180deg)}
.book-turn-backward.is-turning{transform:rotateY(-180deg)}
.book-turn-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;background:#fffefa;box-shadow:0 2px 14px rgba(20,13,7,.25)}
.book-turn-front{transform:rotateY(0deg)}
.book-turn-back{transform:rotateY(180deg)}
.book-turn-face>.page-slot,.book-turn-face>.book-blank,.book-turn-still>.page-slot,.book-turn-still>.book-blank{
 width:100%!important;height:100%!important;max-width:none!important;min-width:0!important;border:0!important;box-shadow:none!important;margin:0!important;overflow:hidden;position:relative;display:block;background:#fffefa;
}
.book-turn-face img,.book-turn-still img{display:block;width:100%;height:100%;object-fit:contain}
.book-turn-still{z-index:4}
.book-turn-still-right{right:0}
.book-turn-still-left{left:0}
@media(max-width:600px){
 .pdf-pages.reader-book-pages{margin:7px auto;width:100%}
 .reader-book-pages .page-label{font-size:10px;padding:3px}
 .reader-book-pages .page-audio{font-size:10px;padding:2px}
 .reader-book-pages .page-slot-rich .rich-prayer-text{font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){.book-turn-leaf{transition:none}}

/* Zoomed spreads stay horizontally scrollable instead of pushing the app off-screen. */
.book-viewport.is-book{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;direction:rtl;scrollbar-width:thin}
.book-viewport.is-book .pdf-pages.reader-book-pages{
 width:calc(100% * var(--book-zoom, 1));max-width:none;min-width:0;
}

/* V26: searchable prayer-time directory with separate Rosh Chodesh schedules. */
.prayer-search-input{display:block;width:100%;min-height:46px;margin:8px 0 12px;padding:11px 14px;border:1px solid #b3c5b9;border-radius:12px;background:#fff;color:#183629;font-size:17px;box-sizing:border-box;direction:rtl;}
.prayer-times-heading>label{display:block;font-weight:650;margin-top:14px;}
.prayer-search-hits{display:grid;gap:10px;margin:12px 0;}
.prayer-search-hit{display:flex;flex-direction:column;align-items:flex-start;text-align:right;gap:5px;min-height:64px;padding:13px 16px;background:#fff;border:1px solid #ccd9d0;border-radius:12px;color:#193e32;font-size:17px;cursor:pointer;}
.prayer-search-hit small{font-size:13px;color:#52645b;}
.prayer-search-count{margin:10px 0;color:#52645b;}
.prayer-day-group{margin:13px 0;padding:10px 12px;background:#f5f7f3;border:1px solid #e1e9e1;border-radius:12px;}
.prayer-day-group h4{margin:0 0 8px;font-size:18px;color:#204b37;}
.prayer-day-rosh_chodesh{border-color:#b7cbd1;background:#f0f7f9;}
.prayer-day-rosh_chodesh h4{color:#234a62;}
.time-row .prayer-room{display:block;font-weight:650;color:#2e654d;}
.synagogue-city{color:#4b6d5b;margin:5px 0;}
.synagogue-card{scroll-margin-top:120px;}
#prayer-times-search-results[hidden],#prayer-times-browse[hidden]{display:none!important;}

/* V27: visual PDF route picker. All numbering is based on physical PDF pages. */
.route-gallery[hidden]{display:none!important}
.route-gallery{border:2px solid #9cb8a9;background:#f5f8f3;border-radius:16px;padding:clamp(12px,2vw,22px);margin:20px 0;scroll-margin-top:12px;color:#203d30;}
.route-gallery-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.route-gallery-head h4{font-size:21px;margin:0;}
.route-gallery-pager{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0 8px;}
.route-gallery-pager label{font-size:15px;}
.route-gallery-pager input{max-width:100px;min-width:65px;padding:8px;font-size:17px;}
.route-gallery-pager button,.route-gallery-actions button{min-height:44px;}
.route-gallery-window-label{color:#4a6556;font-size:14px;margin:0 0 10px;}
.route-gallery-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,25%);gap:14px;align-items:start;}
.route-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;}
.route-gallery-thumb{display:flex;flex-direction:column;align-items:center;gap:5px;background:#fff;border:2px solid #d2dcd4;border-radius:9px;padding:5px;color:#243d2e;cursor:pointer;min-height:120px;min-width:0;overflow:hidden;}
.route-gallery-thumb>img{width:100%;height:auto;aspect-ratio:470/670;object-fit:contain;background:#f6f2ec;}
.route-gallery-thumb>span{font-size:13px;font-weight:650;overflow-wrap:break-word;text-align:center;}
.route-gallery-thumb.route-thumb-start{border-color:#217d51;background:#e1f4e6;box-shadow:0 0 0 2px #67a27f;}
.route-gallery-thumb.route-thumb-end{border-color:#8b4a0c;background:#fff0d9;box-shadow:0 0 0 2px #cc9d5b;}
.route-gallery-thumb.route-thumb-between{border-color:#7aab9e;background:#eff8f3;}
.route-gallery-aside{display:grid;gap:12px;border:1px solid #cbd8cc;padding:10px;border-radius:10px;background:white;position:sticky;top:12px;}
.route-gallery-aside img{width:100%;max-height:360px;object-fit:contain;background:#f6f2eb;}
.route-gallery-summary{font-size:15px;line-height:1.6;font-weight:650;}
.route-gallery-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.route-gallery-actions button:disabled{opacity:.5;cursor:not-allowed;}
.route-gallery-trigger{margin:6px 0 14px;min-height:45px;}
@media(min-width:1050px){.route-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));}}
@media(max-width:640px){.route-gallery{padding:10px}.route-gallery-layout{grid-template-columns:minmax(0,1fr)}.route-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.route-gallery-thumb{padding:3px;min-height:90px}.route-gallery-aside{position:static;grid-template-columns:88px 1fr}.route-gallery-aside img{max-height:130px}.route-gallery-aside button{grid-column:1/-1}.route-gallery-actions button{width:100%}}

/* V29: red luminous rectangle around the *original* winter wording in three Amidot.
   Percent geometry stays anchored to the scanned page in scroll and book displays. */
.page-slot .winter-prayer-highlight{
 position:absolute;
 z-index:3;
 display:block;
 box-sizing:border-box;
 pointer-events:none;
 border:clamp(1.5px,.38vw,3px) solid rgba(255,22,41,.68);
 border-radius:clamp(4px,.6vw,9px);
 background:rgba(255,28,35,.10);
 box-shadow:0 0 0 1px rgba(255,35,35,.34),0 0 10px 2px rgba(255,0,24,.42),inset 0 0 6px 1px rgba(255,0,20,.10);
}
.page-slot .winter-prayer-highlight.mincha-kaddish-highlight{
 border-color:rgba(225,176,0,.85);
 background:rgba(255,221,0,.19);
 box-shadow:0 0 0 1px rgba(231,186,0,.42),0 0 10px 2px rgba(255,208,0,.46),inset 0 0 6px 1px rgba(255,220,0,.16);
}
.page-slot .winter-prayer-highlight.rosh-chodesh-green-highlight{
 border-color:rgba(18,134,59,.85);
 background:rgba(44,201,80,.22);
 box-shadow:0 0 5px rgba(18,134,59,.35);
}
/* No flashing animation: keep the marked words readable and avoid distracting readers. */

/* V36 — Shacharit quick jumps, without altering the active prayer route. */
.shacharit-jump-panel{margin:0 0 12px;border:1px solid #c5d4c7;border-radius:15px;background:#fffdf8;color:#1b4937;padding:11px 13px;}
.shacharit-jump-panel summary{cursor:pointer;list-style-position:inside;font-weight:750;font-size:1rem;line-height:1.6;}
.shacharit-jump-panel summary span{color:#687e70;font-weight:450;font-size:.82rem;margin-inline-start:8px;}
.shacharit-jump-options{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.shacharit-jump-options button{color:#194b36;border:1px solid #b6ccbb;background:#f5fbf3;border-radius:11px;padding:9px 12px;min-height:44px;font-size:.94rem;line-height:1.35;text-align:right;}
.shacharit-jump-options button:focus-visible{outline:3px solid #e5b955;outline-offset:2px;}
.shacharit-jump-options button small{display:block;font-size:.71rem;color:#5a6c61;margin-top:3px;}
.shacharit-jump-panel p{margin:4px 0 0;font-size:.78rem;color:#6b7e6f;}
@media(max-width:470px){.shacharit-jump-options button{flex:1 1 43%;}}

/* V37: Shacharit jump menu remains visible when the reader scrolls. */
.shacharit-jump-float{position:fixed;top:calc(env(safe-area-inset-top) + 84px);left:max(12px,env(safe-area-inset-left));z-index:80;direction:rtl;max-width:calc(100vw - 24px)}
.shacharit-jump-trigger{background:#1b543f;color:#fff;border:1px solid #b9d1bb;border-radius:13px;box-shadow:0 3px 14px #0004;font-weight:700;min-height:44px;padding:9px 14px;cursor:pointer}
.shacharit-jump-popover{position:absolute;top:calc(100% + 8px);left:0;direction:rtl;width:min(370px,calc(100vw - 24px));max-height:min(72dvh,610px);overflow-y:auto;overscroll-behavior:contain;background:#fffdf8;border:1px solid #b2c8b6;border-radius:16px;padding:12px;box-shadow:0 14px 35px #0005}
.shacharit-jump-popover[hidden]{display:none!important}
.shacharit-jump-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.shacharit-jump-popover-head button{min-width:40px;min-height:40px;border:1px solid #d4dcd2;border-radius:9px;background:#f7f5ef}
.shacharit-jump-popover .shacharit-jump-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.shacharit-jump-popover .shacharit-jump-options button{min-width:0}
.shacharit-jump-popover p{font-size:.78rem;color:#526d59}


/* Version 38: Tehillim chapter search is available without leaving the current reader. */
.psalm-menu-panel{margin:16px 0 0;padding:15px;border:1px solid #dedbd2;border-radius:17px;background:#fffefb}
.psalm-menu-panel h3{margin:0 0 5px;color:#1d513a}.psalm-menu-panel p{font-size:.88rem;color:#536b5c}
.psalm-menu-panel label,.psalm-jump-popover label{display:block;font-size:.88rem;margin:9px 0 6px;font-weight:600}
.psalm-search-input{display:block;width:100%;min-height:46px;box-sizing:border-box;font-size:17px!important;padding:10px;border:1px solid #b7cfb8;border-radius:11px;background:#fff;color:#182c21;direction:rtl}
.psalm-chapter-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:340px;overflow:auto;overscroll-behavior:contain;margin-top:10px}
.psalm-chapter-item{display:flex;min-width:0;flex-direction:column;gap:3px;align-items:center;justify-content:center;min-height:55px;border:1px solid #d4dacd;border-radius:9px;background:#f7f7f0;color:#1a4c34;padding:7px 3px;text-align:center;font-size:.86rem;cursor:pointer}
.psalm-chapter-item small{font-size:.68rem;color:#607263;white-space:nowrap}
.psalm-chapter-item:hover,.psalm-chapter-item:focus-visible{background:#e3eee3;border-color:#608e67}
.psalm-jump-float{position:fixed;top:calc(env(safe-area-inset-top) + 84px);left:max(12px,env(safe-area-inset-left));z-index:81;direction:rtl;max-width:calc(100vw - 24px)}
.psalm-jump-trigger{background:#1b543f;color:#fff;border:1px solid #b9d1bb;border-radius:13px;box-shadow:0 3px 14px #0004;font-weight:700;min-height:44px;padding:9px 14px;cursor:pointer}
.psalm-jump-popover{position:absolute;top:calc(100% + 8px);left:0;direction:rtl;width:min(385px,calc(100vw - 24px));max-height:min(75dvh,680px);overflow-y:auto;overscroll-behavior:contain;background:#fffdf8;border:1px solid #b2c8b6;border-radius:16px;padding:12px;box-shadow:0 14px 35px #0005}
.psalm-jump-popover[hidden]{display:none!important}
.psalm-jump-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.psalm-jump-close{min-width:40px;min-height:40px;border:1px solid #d4dcd2;border-radius:9px;background:#f7f5ef}
.psalm-jump-popover .psalm-chapter-results{grid-template-columns:repeat(2,minmax(0,1fr));max-height:48dvh}
.psalm-search-note{font-size:.76rem;color:#536b5c;line-height:1.5;margin:9px 0 0}
.psalm-chapter-empty{font-size:.88rem;grid-column:1/-1}
@media(max-width:430px){.psalm-menu-panel .psalm-chapter-results{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V43 – global occasion banner and popup */
.scheduled-global-line{display:flex;align-items:center;justify-content:center;gap:9px;max-width:980px;margin:9px auto;padding:12px 18px;background:#fff9e9;border:1px solid #c9a85b;border-radius:13px;color:#4f3513;text-align:center;font-weight:700;font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
#scheduled-global-banner:not(:has(.scheduled-global-line)){display:none}
.scheduled-opening-backdrop{position:fixed;inset:0;z-index:6100;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:18px}
.scheduled-opening-panel{background:#fffefa;color:#21392c;border:2px solid #c5a95a;border-radius:20px;max-width:510px;width:100%;padding:22px;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.scheduled-opening-panel h2{margin:0 0 12px;font-size:1.3rem}
.scheduled-opening-panel p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:1.09rem}
.scheduled-opening-panel button{min-height:45px;padding:10px 24px;border:0;background:#245641;color:#fff;border-radius:11px;font-size:1rem;font-weight:bold}
#scheduled-list .admin-item{margin-top:9px}#scheduled-editor [hidden]{display:none!important}

.scheduled-admin-details{border:1px solid #c7d6ca;border-radius:14px;margin:14px 0;padding:10px;background:#f8faf5}
.scheduled-admin-details>summary{font-weight:750;cursor:pointer;padding:10px;min-height:44px}
.scheduled-admin-details .admin-item{background:#fff}

/* V46: direct access to date-based announcements from the top of the admin page. */
.admin-shortcuts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 22px;padding:14px 16px;border:1px solid #a9c6b1;border-radius:15px;background:#eef6ec}
.admin-shortcuts #admin-open-scheduled{background:#155c42;color:#fff;min-height:48px;font-size:1.08rem;font-weight:750;padding:11px 21px;box-shadow:0 3px 8px #163b2a2a}
.admin-shortcuts span{font-size:.88rem;line-height:1.5;color:#2d533f;flex:1;min-width:170px}
#admin-scheduled-details{scroll-margin-top:calc(120px + env(safe-area-inset-top));}
#scheduled-editor{scroll-margin-top:calc(120px + env(safe-area-inset-top));}
#scheduled-save-now{min-height:44px;font-weight:750}
#scheduled-save-feedback{border-radius:10px;background:#edf3eb;padding:10px 12px;line-height:1.55}

/* V47: page-300 editor is always one tap away in admin, with sticky-header spacing. */
.admin-shortcuts #admin-open-page300{background:#245b80;color:#fff;min-height:48px;font-size:1.05rem;font-weight:750;padding:11px 18px;box-shadow:0 3px 8px #163b2a2a}
#admin-page300-editor{scroll-margin-top:calc(120px + env(safe-area-inset-top));border:2px solid #a4bdae;box-shadow:0 4px 16px #274f421c;background:#fffcf4}
#admin-page300-editor textarea{font-size:1.07rem;line-height:1.8}
#remote-page300-status{background:#eef5ea;border-right:4px solid #44825b;border-radius:8px;padding:10px 12px;line-height:1.65}
#remote-page300-save{min-height:48px;margin-top:12px;font-weight:750}
.admin-shortcut-flash{animation:adminFlash 1.4s ease-out}
@keyframes adminFlash{0%{box-shadow:0 0 0 7px #90cb87b3}100%{box-shadow:0 4px 16px #274f421c}}

/* V48: the full custom page-300 prayer must remain legible in book mode too. */
.reader-book-pages>.page-slot.page-slot-rich {overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background:#fffef8}
.reader-book-pages>.page-slot.page-slot-rich .rich-prayer-text{font-size:clamp(16px,2.2vw,23px)!important;line-height:1.75;min-height:100%;margin:0;padding:16px 14px 30px}
@media(max-width:600px){.reader-book-pages>.page-slot.page-slot-rich .rich-prayer-text{font-size:16px!important;line-height:1.65}}

/* V50: Invitation/share banner and accessible share dialog, no external UI libraries. */
.share-tefillon-banner{margin:16px 0 0;width:100%;display:flex;align-items:center;gap:13px;text-align:right;padding:18px 16px;background:linear-gradient(115deg,#eff8ee,#fffdf7);border:1px solid #9cc5ab;border-radius:18px;color:#164632;box-shadow:0 3px 12px #183a1a15;min-height:84px;cursor:pointer;font-family:inherit}
.share-tefillon-banner:focus-visible{outline:3px solid #caa753;outline-offset:3px}
.share-tefillon-icon{flex:none;display:grid;place-items:center;border-radius:14px;background:#d7eee0;color:#15563b;font-size:29px;width:52px;height:52px}
.share-tefillon-copy{flex:1;min-width:0}.share-tefillon-copy strong{display:block;font-size:1.06rem}.share-tefillon-copy small{display:block;font-size:.84rem;color:#57735e;line-height:1.5;margin-top:4px}.share-tefillon-arrow{font-size:24px;color:#467c57}
.tefillon-share-overlay{position:fixed;inset:0;z-index:7000;display:flex;align-items:center;justify-content:center;background:rgba(9,27,18,.69);padding:calc(12px + env(safe-area-inset-top)) 13px calc(12px + env(safe-area-inset-bottom));overscroll-behavior:contain}
.tefillon-share-panel{width:min(100%,460px);max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;background:#fffefa;border:1px solid #b8ceba;border-radius:20px;padding:18px;color:#18392c;box-shadow:0 12px 48px #0005;box-sizing:border-box}
.tefillon-share-head{display:flex;gap:15px;align-items:center;justify-content:space-between}.tefillon-share-head h2{margin:0;font-size:1.3rem}.tefillon-share-close{border:1px solid #d3ddd1;background:#f1f3ed;color:#204534;border-radius:11px;padding:8px 13px;min-height:44px;font-size:1.05rem}
.tefillon-share-intro{line-height:1.7;color:#526f5a;font-size:.94rem;margin:12px 0}
.tefillon-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.tefillon-share-actions button,.tefillon-share-actions a{display:flex;justify-content:center;align-items:center;min-height:49px;background:#f3f8f1;border:1px solid #b7ccb9;color:#1c4932;padding:9px 7px;box-sizing:border-box;border-radius:11px;text-decoration:none;font-family:inherit;font-size:.88rem;font-weight:600;line-height:1.4;text-align:center;cursor:pointer}
.tefillon-share-actions #tefillon-native-share{grid-column:1/-1;background:#195b41;color:#fff;border-color:#195b41}
.tefillon-share-actions #tefillon-native-share[hidden]{display:none!important}
.tefillon-share-actions a:focus-visible,.tefillon-share-actions button:focus-visible{outline:3px solid #cea84a;outline-offset:2px}
.tefillon-share-preview{border-top:1px solid #e6e8df;margin-top:14px;padding-top:12px}
.tefillon-share-preview summary{cursor:pointer;min-height:38px;font-size:.87rem;color:#335f45;font-weight:600}
.tefillon-share-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;direction:rtl;text-align:right;font-family:inherit;font-weight:400;font-size:.9rem;line-height:1.8;background:#f8f8f4;border-radius:8px;padding:10px;user-select:text;-webkit-user-select:text}
.tefillon-share-feedback{margin:10px 0 0;min-height:1.2em;color:#1b6643;font-size:.83rem;line-height:1.55}
@media(max-width:430px){.share-tefillon-banner{padding:14px 12px}.share-tefillon-copy strong{font-size:1rem}.share-tefillon-copy small{font-size:.79rem}.tefillon-share-actions{gap:7px}.tefillon-share-actions button,.tefillon-share-actions a{font-size:.78rem}}

/* V52: Sabbath/holiday/yahrzeit Tachnun route status */
.tachanun-status{margin:10px 12px;padding:10px 14px;background:rgba(20,89,58,.08);border:1px solid rgba(20,89,58,.28);border-radius:12px;font-size:.92rem;font-weight:650;color:#245c42;direction:rtl;text-align:right}

/* V53: clarification at the actual Shmoneh Esrei page; never covers scanned words. */
.page-slot.has-tachanun-page-note{display:flex;flex-direction:column;overflow:hidden;background:#fffefa}
.prayer-tachanun-page-note{box-sizing:border-box;width:100%;display:flex;flex-direction:column;gap:3px;direction:rtl;text-align:center;border-bottom:1px solid #d9c28b;background:#fff4db;color:#60451b;padding:9px 13px;font-size:clamp(12px,2.1vw,17px);line-height:1.45;overflow-wrap:anywhere;flex:0 0 auto}
.prayer-tachanun-page-note strong{font-weight:800;color:#633c12}
.page-slot.has-tachanun-page-note .page-artwork{position:relative;display:block;aspect-ratio:940/1372;width:100%;flex:none;overflow:hidden;background:white}
.page-slot.has-tachanun-page-note .page-artwork img{width:100%;height:100%;aspect-ratio:unset;object-fit:fill}
.page-slot.has-tachanun-page-note .page-artwork .page-label{z-index:2}
/* Preserve the scanned page's exact aspect ratio and coordinate system in book/auto modes. */
.reader-book-pages>.page-slot.has-tachanun-page-note{display:flex;flex-direction:column}
.reader-book-pages>.page-slot.has-tachanun-page-note .prayer-tachanun-page-note{font-size:clamp(8px,1.05vw,13px);line-height:1.25;padding:4px 5px;gap:1px}
.reader-book-pages>.page-slot.has-tachanun-page-note .page-artwork{width:auto;height:auto;min-height:0;max-height:100%;max-width:100%;flex:1 1 auto;aspect-ratio:940/1372;margin:0 auto}
.reader-book-pages>.page-slot.has-tachanun-page-note .page-artwork img{width:100%;height:100%;object-fit:fill;aspect-ratio:unset}
@media(max-width:600px){.reader-book-pages>.page-slot.has-tachanun-page-note .prayer-tachanun-page-note{font-size:9px;padding:3px 4px}.reader-book-pages>.page-slot.has-tachanun-page-note .prayer-tachanun-page-note strong{font-size:9px}}

/* V54: a clearly labeled, accessible Tachanun/Yahrzeit editor shortcut. */
.admin-shortcuts #admin-open-tachanun{background:#745020;color:#fff;min-height:48px;font-size:1.08rem;font-weight:750;padding:11px 20px;box-shadow:0 3px 8px #163b2a2a}
.tachanun-editor-heading{margin:2px 0 12px;font-size:1.15rem;color:#674517}
.tachanun-checkbox{background:#fffaed;border:2px solid #e0c58a;border-radius:12px;padding:12px;margin:12px 0;line-height:1.5;font-weight:700}
.tachanun-checkbox input{flex-shrink:0;accent-color:#986521;transform:scale(1.14)}
#scheduled-editor{scroll-margin-top:12px}

/* V55 — compact, topic-based private management. Only the selected tool is visible. */
.admin-v55-dashboard{border:1px solid #d6e2d5;border-radius:18px;background:linear-gradient(145deg,#f6faf5,#fffdf7);padding:17px;margin:8px 0 18px;direction:rtl}
.admin-v55-lead{margin:0 0 16px;color:#315844;line-height:1.55;font-size:.98rem}
.admin-v55-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-v55-nav button{display:flex;flex-direction:column;align-items:flex-start;text-align:right;min-width:0;min-height:108px;margin:0!important;border-radius:15px!important;border:1px solid #d9e5d7!important;background:#fff!important;color:#173c2e!important;padding:13px!important;box-shadow:0 3px 10px #132b1510}
.admin-v55-nav button strong{font-size:1rem;line-height:1.36;margin:7px 0 4px}
.admin-v55-nav button small{line-height:1.35;color:#6b776a;font-size:.76rem}
.admin-v55-icon{font-size:1.45rem;line-height:1}
.admin-v55-nav button:focus-visible{outline:3px solid #cba750}
.admin-v55-nav button.is-selected{background:#e2f1e5!important;border-color:#1b6b4a!important;box-shadow:inset 0 0 0 1px #1b6b4a}
.admin-v55-active-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;border-top:1px solid #d7e2d4;padding-top:14px;scroll-margin-top:calc(90px + env(safe-area-inset-top))}
.admin-v55-active-head strong{font-size:1.18rem;color:#1b4939}
.settings .admin-v55-active-head button{background:#fff9e9;color:#354b39;border:1px solid #d5c9a7;margin:0;flex-shrink:0}
.admin-v55-session{margin:13px 0 0;padding:9px;background:#f0f4ee;border-radius:11px;color:#3f5b45;line-height:1.5;font-size:.86rem}
.settings .admin-v55-session button{display:inline-block;background:transparent;color:#20543e;font-weight:700;margin:0;padding:3px;text-decoration:underline}
.admin-v55-pane{margin:14px 0;direction:rtl}
.admin-v55-pane[hidden],#admin-remote[hidden],.admin-v55-remote-group[hidden],.admin-v55-active-head[hidden],.admin-v55-session[hidden],.admin-v55-lead[hidden],.admin-v55-builtin[hidden]{display:none!important}
#admin-remote{margin:14px 0;padding:0;border:0;background:transparent}
.admin-v55-remote-group{background:#fff;border:1px solid #dcded4;border-radius:15px;padding:14px 16px;margin:10px 0}
.admin-v55-remote-group[data-remote-group="dates"] #admin-scheduled-details{border:0;padding:0;margin:0;overflow:visible}
.admin-v55-remote-group[data-remote-group="dates"] #admin-scheduled-details > summary{display:none}
.admin-v55-remote-group[data-remote-group="publish"]{border:1px solid #c8d8c8;background:#edf5ed;position:relative}
.admin-v55-save-explain{margin:0 0 12px;font-size:.86rem;color:#365e43;line-height:1.6}
.admin-v55-calendar-row{display:flex;gap:9px;align-items:center;justify-content:space-between;border:1px solid #e5dcc3;padding:13px;border-radius:12px;background:#fffaf0}
.admin-v55-calendar-row strong{font-size:.97rem;line-height:1.4}
.admin-v55-calendar-row small{display:block;color:#786d52;margin-top:5px;line-height:1.5}
.admin-v55-tag{background:#eee4cd;color:#6a5735;border-radius:18px;padding:5px 10px;font-size:.79rem;white-space:nowrap}
.admin-v55-builtin{margin:10px 0 20px}
.admin-v55-music-save{background:#23563e!important;margin:15px 0 6px!important}
#admin-v55-dashboard .admin-v55-nav button{width:100%}
#admin-v55-dashboard [hidden]{display:none!important}
@media(max-width:560px){.admin-v55-dashboard{padding:12px}.admin-v55-nav{gap:8px}.admin-v55-nav button{padding:11px!important;min-height:112px}.admin-v55-nav button strong{font-size:.91rem}.admin-v55-nav button small{font-size:.73rem}.admin-v55-active-head{align-items:flex-start;flex-wrap:wrap}.admin-v55-remote-group{padding:12px}}

.admin-v55-more{margin-top:13px;border:1px solid #d2dfcd;border-radius:13px;background:#fffdf8;padding:4px 10px}
.admin-v55-more > summary{padding:10px 6px;font-size:.94rem;font-weight:700;color:#28543e;cursor:pointer}
.admin-v55-more .admin-v55-nav-extra{margin:10px 0 9px}
.admin-v55-builtins-rules{border:1px solid #e3dccb;border-radius:12px;padding:10px 12px;margin:10px 0 20px;background:#fffdf7}
.admin-v55-builtins-rules summary{font-weight:700;color:#305642;cursor:pointer}
.admin-v55-rules{font-size:.89rem;line-height:1.7;color:#435b49}

/* V58 - a cream-and-gold public Yahrzeiten directory matching the siddur design. */
.yahrzeiten-page{background:#fbf4e4;color:#614922;border:1px solid #dfc99e;border-radius:20px;max-width:860px;margin:12px auto 28px;padding:clamp(14px,3vw,27px);direction:rtl;box-shadow:0 3px 22px #4c39231a}
.yahrzeiten-heading{text-align:center;background:#f5e9d3;border:1px solid #e0c893;border-radius:17px;padding:24px 12px 18px;display:flex;flex-direction:column;align-items:center;gap:4px}
.yahrzeiten-logo{width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 3px 3px #6c52162a);margin-bottom:4px}
.yahrzeiten-heading small{font-size:13px;color:#8f6827;font-weight:700}
.yahrzeiten-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,7vw,48px);font-weight:700;line-height:1.15;color:#9c732c;margin:3px 0}
.yahrzeiten-heading p{margin:0;color:#796143;font-size:15px}
.yahrzeiten-search-area{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:8px 12px;padding:18px 3px 8px}
.yahrzeiten-search-area label{font-weight:700;color:#8f6827;font-size:15px;grid-row:1}
.yahrzeiten-search-area input,.yahrzeiten-search-area select{min-width:0;max-width:100%;width:100%;background:#fffdf7;color:#533f22;border:1px solid #d7ba7c;border-radius:11px;padding:12px;font-size:16px;grid-row:2;height:48px}
.yahrzeiten-search-area .yahrzeiten-explain{grid-column:1/-1;margin:2px 0 0;color:#7c684c;font-size:13px}
.yahrzeiten-today{background:#fffaf0;border:1px solid #d8b875;padding:15px;border-radius:13px;margin:12px 0 8px}
.yahrzeiten-today strong{color:#986a24}.yahrzeiten-today p{margin:6px 0 0;color:#634c2d}
.yahrzeiten-month-heading{display:flex;align-items:center;gap:14px;color:#9b722e;text-align:center;font-size:25px;margin:22px 0 10px;font-weight:750}
.yahrzeiten-month-heading:before,.yahrzeiten-month-heading:after{content:'';height:1px;background:#dac293;flex:1}
.yahrzeiten-entry{display:flex;gap:14px;align-items:center;padding:13px 12px;background:#fffdf6;border:1px solid #ecdfc8;border-radius:12px;margin:8px 0;min-height:70px}
.yahrzeiten-date{min-width:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f4e8cc;border-radius:10px;padding:10px 9px;color:#98722f}
.yahrzeiten-date strong{font-size:22px;line-height:1.3}.yahrzeiten-date small{color:#8a703e}
.yahrzeiten-description{display:flex;flex-direction:column;gap:5px;min-width:0}.yahrzeiten-description strong{font-weight:650;color:#624725;line-height:1.45;font-size:16px;overflow-wrap:anywhere}.yahrzeiten-description small{color:#937542;font-size:13px}
.yahrzeiten-empty{margin:22px;text-align:center;color:#7c684c}.yahrzeiten-footer{text-align:center;margin:26px 0 4px;color:#a37b34}
.yahrzeiten-prayer-button{position:fixed;left:max(12px,env(safe-area-inset-left));top:calc(env(safe-area-inset-top) + 145px);z-index:75;border:1px solid #b38e46;box-shadow:0 3px 15px #0003;border-radius:12px;background:#fbf0d3;color:#664a20;font-weight:750;font-size:13px;padding:9px 12px;min-height:40px}
@media(max-width:500px){.yahrzeiten-search-area{grid-template-columns:1fr}.yahrzeiten-search-area label,.yahrzeiten-search-area input,.yahrzeiten-search-area select{grid-row:auto}.yahrzeiten-search-area .yahrzeiten-explain{grid-column:auto}.yahrzeiten-entry{padding:10px;gap:10px}.yahrzeiten-date{min-width:59px}}

/* V58 - a cream-and-gold public Yahrzeiten directory matching the siddur design. */
.yahrzeiten-page{background:#fbf4e4;color:#614922;border:1px solid #dfc99e;border-radius:20px;max-width:860px;margin:12px auto 28px;padding:clamp(14px,3vw,27px);direction:rtl;box-shadow:0 3px 22px #4c39231a}
.yahrzeiten-heading{text-align:center;background:#f5e9d3;border:1px solid #e0c893;border-radius:17px;padding:24px 12px 18px;display:flex;flex-direction:column;align-items:center;gap:4px}
.yahrzeiten-logo{width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 3px 3px #6c52162a);margin-bottom:4px}
.yahrzeiten-heading small{font-size:13px;color:#8f6827;font-weight:700}
.yahrzeiten-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,7vw,48px);font-weight:700;line-height:1.15;color:#9c732c;margin:3px 0}
.yahrzeiten-heading p{margin:0;color:#796143;font-size:15px}
.yahrzeiten-search-area{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:8px 12px;padding:18px 3px 8px}
.yahrzeiten-search-area label{font-weight:700;color:#8f6827;font-size:15px;grid-row:1}
.yahrzeiten-search-area input,.yahrzeiten-search-area select{min-width:0;max-width:100%;width:100%;background:#fffdf7;color:#533f22;border:1px solid #d7ba7c;border-radius:11px;padding:12px;font-size:16px;grid-row:2;height:48px}
.yahrzeiten-search-area .yahrzeiten-explain{grid-column:1/-1;margin:2px 0 0;color:#7c684c;font-size:13px}
.yahrzeiten-today{background:#fffaf0;border:1px solid #d8b875;padding:15px;border-radius:13px;margin:12px 0 8px}
.yahrzeiten-today strong{color:#986a24}.yahrzeiten-today p{margin:6px 0 0;color:#634c2d}
.yahrzeiten-month-heading{display:flex;align-items:center;gap:14px;color:#9b722e;text-align:center;font-size:25px;margin:22px 0 10px;font-weight:750}
.yahrzeiten-month-heading:before,.yahrzeiten-month-heading:after{content:'';height:1px;background:#dac293;flex:1}
.yahrzeiten-entry{display:flex;gap:14px;align-items:center;padding:13px 12px;background:#fffdf6;border:1px solid #ecdfc8;border-radius:12px;margin:8px 0;min-height:70px}
.yahrzeiten-date{min-width:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f4e8cc;border-radius:10px;padding:10px 9px;color:#98722f}
.yahrzeiten-date strong{font-size:22px;line-height:1.3}.yahrzeiten-date small{color:#8a703e}
.yahrzeiten-description{display:flex;flex-direction:column;gap:5px;min-width:0}.yahrzeiten-description strong{font-weight:650;color:#624725;line-height:1.45;font-size:16px;overflow-wrap:anywhere}.yahrzeiten-description small{color:#937542;font-size:13px}
.yahrzeiten-empty{margin:22px;text-align:center;color:#7c684c}.yahrzeiten-footer{text-align:center;margin:26px 0 4px;color:#a37b34}
.yahrzeiten-prayer-button{position:fixed;left:max(12px,env(safe-area-inset-left));top:calc(env(safe-area-inset-top) + 145px);z-index:75;border:1px solid #b38e46;box-shadow:0 3px 15px #0003;border-radius:12px;background:#fbf0d3;color:#664a20;font-weight:750;font-size:13px;padding:9px 12px;min-height:40px}
@media(max-width:500px){.yahrzeiten-search-area{grid-template-columns:1fr}.yahrzeiten-search-area label,.yahrzeiten-search-area input,.yahrzeiten-search-area select{grid-row:auto}.yahrzeiten-search-area .yahrzeiten-explain{grid-column:auto}.yahrzeiten-entry{padding:10px;gap:10px}.yahrzeiten-date{min-width:59px}}

/* V58 - a cream-and-gold public Yahrzeiten directory matching the siddur design. */
.yahrzeiten-page{background:#fbf4e4;color:#614922;border:1px solid #dfc99e;border-radius:20px;max-width:860px;margin:12px auto 28px;padding:clamp(14px,3vw,27px);direction:rtl;box-shadow:0 3px 22px #4c39231a}
.yahrzeiten-heading{text-align:center;background:#f5e9d3;border:1px solid #e0c893;border-radius:17px;padding:24px 12px 18px;display:flex;flex-direction:column;align-items:center;gap:4px}
.yahrzeiten-logo{width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 3px 3px #6c52162a);margin-bottom:4px}
.yahrzeiten-heading small{font-size:13px;color:#8f6827;font-weight:700}
.yahrzeiten-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,7vw,48px);font-weight:700;line-height:1.15;color:#9c732c;margin:3px 0}
.yahrzeiten-heading p{margin:0;color:#796143;font-size:15px}
.yahrzeiten-search-area{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:8px 12px;padding:18px 3px 8px}
.yahrzeiten-search-area label{font-weight:700;color:#8f6827;font-size:15px;grid-row:1}
.yahrzeiten-search-area input,.yahrzeiten-search-area select{min-width:0;max-width:100%;width:100%;background:#fffdf7;color:#533f22;border:1px solid #d7ba7c;border-radius:11px;padding:12px;font-size:16px;grid-row:2;height:48px}
.yahrzeiten-search-area .yahrzeiten-explain{grid-column:1/-1;margin:2px 0 0;color:#7c684c;font-size:13px}
.yahrzeiten-today{background:#fffaf0;border:1px solid #d8b875;padding:15px;border-radius:13px;margin:12px 0 8px}
.yahrzeiten-today strong{color:#986a24}.yahrzeiten-today p{margin:6px 0 0;color:#634c2d}
.yahrzeiten-month-heading{display:flex;align-items:center;gap:14px;color:#9b722e;text-align:center;font-size:25px;margin:22px 0 10px;font-weight:750}
.yahrzeiten-month-heading:before,.yahrzeiten-month-heading:after{content:'';height:1px;background:#dac293;flex:1}
.yahrzeiten-entry{display:flex;gap:14px;align-items:center;padding:13px 12px;background:#fffdf6;border:1px solid #ecdfc8;border-radius:12px;margin:8px 0;min-height:70px}
.yahrzeiten-date{min-width:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f4e8cc;border-radius:10px;padding:10px 9px;color:#98722f}
.yahrzeiten-date strong{font-size:22px;line-height:1.3}.yahrzeiten-date small{color:#8a703e}
.yahrzeiten-description{display:flex;flex-direction:column;gap:5px;min-width:0}.yahrzeiten-description strong{font-weight:650;color:#624725;line-height:1.45;font-size:16px;overflow-wrap:anywhere}.yahrzeiten-description small{color:#937542;font-size:13px}
.yahrzeiten-empty{margin:22px;text-align:center;color:#7c684c}.yahrzeiten-footer{text-align:center;margin:26px 0 4px;color:#a37b34}
.yahrzeiten-prayer-button{position:fixed;left:max(12px,env(safe-area-inset-left));top:calc(env(safe-area-inset-top) + 145px);z-index:75;border:1px solid #b38e46;box-shadow:0 3px 15px #0003;border-radius:12px;background:#fbf0d3;color:#664a20;font-weight:750;font-size:13px;padding:9px 12px;min-height:40px}
@media(max-width:500px){.yahrzeiten-search-area{grid-template-columns:1fr}.yahrzeiten-search-area label,.yahrzeiten-search-area input,.yahrzeiten-search-area select{grid-row:auto}.yahrzeiten-search-area .yahrzeiten-explain{grid-column:auto}.yahrzeiten-entry{padding:10px;gap:10px}.yahrzeiten-date{min-width:59px}}
.page-slot .page69-marked-artwork,.page-slot .daily-psalm-artwork{position:relative;display:block;width:100%;aspect-ratio:940/1361;background:#fff;overflow:hidden}
.page-slot .page69-marked-artwork>img,.page-slot .daily-psalm-artwork>img{width:100%;height:100%;aspect-ratio:940/1361;object-fit:fill}
.page-slot.marks-tefila-ledavid{display:flex;flex-direction:column;background:#fff}
.tefila-ledavid-skip-label{flex:none;direction:rtl;text-align:center;padding:8px 12px;color:#155734;background:#e0f3e6;border-bottom:1px solid #75af86;font-weight:750;font-size:16px}
.tefila-ledavid-skip-highlight,.daily-psalm-highlight{position:absolute;z-index:3;pointer-events:none;box-sizing:border-box;border-radius:4px;mix-blend-mode:multiply}
.tefila-ledavid-skip-highlight{background:rgba(55,190,96,.24);border:2px solid rgba(28,142,66,.65)}
.daily-psalm-highlight{background:rgba(255,45,45,.23);border:2px solid rgba(205,25,25,.85)}
.reader-book-pages>.page-slot.marks-tefila-ledavid .page69-marked-artwork{flex:1 1 auto;min-height:0;width:auto;max-width:100%;margin:0 auto}
.reader-book-pages>.page-slot .daily-psalm-artwork{height:100%;width:100%}

/* V63: section boundaries use the untouched source scan. */
.page-slot .section-page-viewport{position:relative;display:block;width:100%;overflow:hidden;background:#fff}
.page-slot .section-page-viewport>img{position:absolute;left:0;top:var(--section-image-offset);width:100%;height:var(--section-image-height);aspect-ratio:auto;object-fit:fill;max-width:none;max-height:none}
.reader-book-pages>.page-slot.has-section-viewport{display:flex;align-items:center;background:#fff}
.reader-book-pages>.page-slot.has-section-viewport .section-page-viewport{flex:none;max-height:100%}
.page-slot-rich .rich-prayer-text{box-sizing:border-box;width:100%;max-width:100%;min-width:0;white-space:pre-wrap;overflow-wrap:break-word}
.pdf-pages.reader-book-pages.text-reading-spread{display:block;max-width:780px;touch-action:pan-y pinch-zoom}
.pdf-pages.reader-book-pages.text-reading-spread:before{display:none}
.reader-book-pages.text-reading-spread>.page-slot.page-slot-rich{display:block;aspect-ratio:auto;height:auto;max-height:none;overflow:visible;padding:0}
.reader-book-pages.text-reading-spread>.page-slot.page-slot-rich .rich-prayer-text{font-size:clamp(20px,5.5vw,var(--prayer-font-size,27px))!important;line-height:1.85;min-height:0;padding:clamp(16px,4vw,32px);border-radius:3px}

/* V66: music controls belong to the final Zot Chanukah page. */
.page-slot.has-zot-chanukah-audio{display:flex;flex-direction:column;background:#fff}
.zot-chanukah-audio{flex:none;padding:9px 12px;background:#faf2dd;border-bottom:1px solid #c9ae70;color:#244e3b}
.zot-chanukah-song{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;font-weight:650}
.zot-chanukah-song+.zot-chanukah-song{margin-top:6px}
.zot-chanukah-song button{flex:none;min-height:40px;padding:6px 12px;border:1px solid #a58b52;border-radius:9px;background:#fffdf5;color:#244e3b;font-size:15px}
.zot-chanukah-song button.playing{background:#1f5840;color:white}
.zot-chanukah-artwork{position:relative;width:100%;aspect-ratio:940/1363;min-height:0}
.page-slot .zot-chanukah-artwork>img{width:100%;height:100%;aspect-ratio:940/1363;object-fit:contain}
.reader-book-pages>.page-slot.has-zot-chanukah-audio .zot-chanukah-artwork{flex:1 1 auto;overflow:hidden}
@media(max-width:600px){.reader-book-pages .zot-chanukah-audio{padding:6px}.reader-book-pages .zot-chanukah-song{font-size:12px;gap:4px}.reader-book-pages .zot-chanukah-song button{font-size:12px;padding:4px 6px;min-height:36px}}

/* V67: final-page controls also preserve the cropped endings of other orders. */
.zot-chanukah-audio{width:100%;box-sizing:border-box}
.zot-chanukah-artwork>.section-page-viewport{height:100%;aspect-ratio:auto!important;max-height:none!important}

/* V70: text is responsive content; image zoom must never widen its page. */
.pdf-pages>.page-slot.page-slot-rich{width:100%!important;max-width:780px!important;min-width:0!important;box-sizing:border-box;align-self:center}
.book-viewport.is-book .pdf-pages.reader-book-pages.text-reading-spread{width:100%!important;max-width:780px!important;min-width:0!important;box-sizing:border-box;margin-inline:auto}
.pdf-pages .page-slot.page-slot-rich .rich-prayer-text,.pdf-pages.reader-book-pages.text-reading-spread .page-slot.page-slot-rich .rich-prayer-text{font-size:clamp(18px,calc(var(--prayer-font-size,27px) * var(--prayer-zoom,1)),40px)!important;box-sizing:border-box;width:100%;max-width:100%;min-width:0;line-height:1.75;overflow-wrap:anywhere;word-break:normal;padding:clamp(14px,3vw,28px);text-size-adjust:100%;-webkit-text-size-adjust:100%}
.book-viewport.is-book .pdf-pages.reader-book-pages.text-reading-spread>.page-slot.page-slot-rich{width:100%!important;max-width:780px!important;aspect-ratio:auto;max-height:none;height:auto;overflow:visible;min-height:0}
@media(max-width:600px){.pdf-pages .page-slot.page-slot-rich .rich-prayer-text,.pdf-pages.reader-book-pages.text-reading-spread .page-slot.page-slot-rich .rich-prayer-text{font-size:clamp(18px,calc(var(--prayer-font-size,27px) * var(--prayer-zoom,1) * .8),36px)!important}}

/* V74: uploaded booklet pages preserve their individual portrait/landscape proportions. */
.pdf-pages.document-reading>.page-slot{aspect-ratio:auto;min-height:0}
.pdf-pages.document-reading>.page-slot>img{aspect-ratio:auto;height:auto;width:100%;object-fit:contain}
.pdf-pages.reader-book-pages.document-reading{display:block}
.pdf-pages.reader-book-pages.document-reading:before{display:none}
.pdf-pages.reader-book-pages.document-reading>.page-slot{aspect-ratio:auto;height:auto;overflow:visible}

/* V75: original prelude above the editable Lemaan prayer; crop ends before Yehi Ratzon. */
.page-slot-rich .lemaan15-prelude{position:relative;width:100%;aspect-ratio:591/289;overflow:hidden;background:white}
.page-slot-rich .lemaan15-prelude>img{position:absolute;left:0;top:0;width:100%;height:calc(887 / 289 * 100%);max-height:none;aspect-ratio:auto;object-fit:fill}
.rich-prayer-text .rich-brackets.healing-names{color:var(--prayer-bracket-color,#a33629);font-weight:var(--prayer-bracket-weight,800)}

.installation-total{font-size:1.6rem;font-weight:800;color:#205343}.installation-table{width:100%;border-collapse:collapse;margin-block:1rem}.installation-table td,.installation-table th{padding:.6rem;text-align:right;border-bottom:1px solid #dacba9}

/* V61: weekly bracha publication, matching the cream-and-gold siddur style */
.weekly-bracha-page{max-width:860px;margin:0 auto;padding:18px 14px 34px;background:#fff9ee;color:#523d22;border:1px solid #d2b477;border-radius:16px}
.weekly-bracha-heading{text-align:center;padding:14px 8px 20px;border-bottom:1px solid #dfc692}
.weekly-bracha-heading img{display:block;margin:0 auto 10px;width:72px;height:72px;object-fit:contain}
.weekly-bracha-heading small{display:block;color:#8c6a34}
.weekly-bracha-heading h2{color:#9a6d25;font-size:clamp(1.7rem,5vw,2.7rem);margin:6px 0}
.weekly-bracha-heading p{margin:0;color:#6c5937}
.weekly-bracha-status{text-align:center;margin:16px auto;color:#6c4f22;font-weight:700}
.weekly-bracha-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:12px auto}
.weekly-bracha-actions a{display:inline-block;text-decoration:none;border:1px solid #b7995e;border-radius:11px;padding:12px 18px;font-weight:700}
.weekly-bracha-open{background:#184a3a;color:#fff!important}
.weekly-bracha-secondary{background:#f4e7ca;color:#6a502c!important}
.weekly-bracha-preview{border:1px solid #d4c4a4;border-radius:12px;background:white;min-height:470px;overflow:hidden}
.weekly-bracha-preview iframe{width:100%;height:min(78dvh,950px);min-height:470px;border:0;background:#fff}
.weekly-bracha-tip{text-align:center;color:#78684d;font-size:.85rem;line-height:1.6}
.admin-weekly-bracha{background:#fffaee}
.admin-weekly-bracha input[type=file]{width:100%;max-width:100%;margin:9px 0}
@media(max-width:540px){.weekly-bracha-preview{min-height:360px}.weekly-bracha-preview iframe{height:65dvh;min-height:360px}}

/* Route continuation remains inside the final page in scroll and book modes. */
.lemaan-hilula-next{text-align:center;padding:18px 10px;direction:rtl}
.lemaan-hilula-next button{min-height:48px;font-size:1.05rem;width:min(100%,360px)}

.sticky-player #player-close{flex:0 0 44px;min-width:44px;min-height:44px;font-size:1.6rem;line-height:1;background:transparent;color:#fff;border:1px solid #ffffff55}.player-header .player-label{flex:1;min-width:0}

/* V86: Original-scan segments for the selected daily psalm and Megillah continuation. */
.route-page-segments{width:100%;display:flex;flex-direction:column;background:#fff;gap:8px}
.page-slot .route-page-segment{position:relative;overflow:hidden;width:100%;background:#fff}
.page-slot .route-page-segment>img{position:absolute;left:0;top:var(--route-image-top);width:100%;height:var(--route-image-height);aspect-ratio:auto;object-fit:fill;max-width:none;max-height:none}
.reader-book-pages>.page-slot.has-route-segments .route-page-segments{flex:none;width:100%;max-height:100%;overflow:auto}

/* V88 weekly Shabbat times */
.shabbat-times-card{margin:16px 0;padding:20px;border:1px solid #b99c59;border-radius:18px;background:linear-gradient(120deg,#173d31,#234e3f);color:#fff;box-shadow:0 6px 20px #16382e15}.shabbat-times-heading{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.shabbat-times-heading strong{font-size:1.2rem}.shabbat-times-heading span,.shabbat-times-card small{color:#ead8ac}.shabbat-times-hours{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.shabbat-times-hours>div{display:flex;flex-direction:column;text-align:center;border:1px solid #ffffff30;border-radius:12px;padding:12px}.shabbat-times-hours b{font-size:2rem;font-variant-numeric:tabular-nums;color:#fff0c8}.shabbat-admin-city{border:1px solid #d4c49c;border-radius:12px;margin:12px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.shabbat-admin-city input{min-width:0;width:100%;box-sizing:border-box}.shabbat-admin-city label{min-width:0}

.shabbat-city-status{grid-column:1/-1;margin:0;font-weight:600;color:#9e3328}.shabbat-city-status[data-complete="true"]{color:#236848}#shabbat-completion{padding:12px;background:#f4eddb;border-radius:10px;font-weight:600;color:#16382e}

.shabbat-molad{border-top:1px solid #ffffff30;padding-top:14px;display:flex;flex-direction:column;gap:6px;white-space:pre-wrap;overflow-wrap:anywhere}

/* V89: personal favorites, preview dialogs and one-hand reader */
.menu-favorites{margin:18px 0 26px;padding:16px;border:1px solid #c9b47d;border-radius:18px;background:#fffaf0}.favorites-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.favorites-heading h3{margin:0 0 12px}.favorites-heading button{border:1px solid #b69e62;border-radius:12px;background:#fff;color:#173c30;padding:9px 12px;min-height:44px}.menu-favorites .symbol{color:#9b762e}
.local-dialog-overlay{position:fixed;inset:0;z-index:7500;background:#09271fbc;display:flex;align-items:center;justify-content:center;padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));box-sizing:border-box}.local-dialog{background:#fbf8f0;color:#203a30;border-radius:20px;box-shadow:0 15px 60px #0005;padding:18px;max-width:760px;width:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;box-sizing:border-box}.local-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:14px;position:sticky;top:-18px;background:#fbf8f0;z-index:1;padding:10px 0}.local-dialog h2{font-size:1.3rem;margin:0}.local-dialog button{min-width:44px;min-height:44px;padding:10px;border:1px solid #c6b78e;border-radius:10px;background:#194736;color:#fff;font:inherit}.local-dialog button:disabled{opacity:.4}.local-dialog input[type=checkbox]{width:22px;height:22px;accent-color:#194736;flex:none}.local-dialog select{font:inherit;padding:12px;max-width:100%;border-radius:10px}.favorite-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.favorite-choices label{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px;border:1px solid #d9d2c1;border-radius:12px;cursor:pointer}.favorite-order-row{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px;border-radius:12px;background:#eee6d2}.favorite-order-row strong{flex:1}.favorite-save{width:100%}.admin-preview-caption{border-radius:10px;padding:10px;background:#f0e4be;color:#624c22}.preview-notice{position:static!important;max-width:100%;box-sizing:border-box}.prayer-preview-page{background:#fffdf7;border:1px solid #e1d7be;border-radius:12px;padding:18px}.prayer-preview-page .rich-prayer-text{white-space:pre-wrap;line-height:1.9}.prayer-preview-page img{max-width:100%;height:auto}.local-dialog .rich-brackets{color:var(--prayer-bracket-color);font-weight:var(--prayer-bracket-weight)}
.one-hand-reader{position:fixed;bottom:calc(8px + env(safe-area-inset-bottom));z-index:100;display:grid;grid-template-columns:repeat(3, minmax(54px,1fr));gap:7px;width:min(260px,calc(100vw - 24px));box-sizing:border-box;border:1px solid #b99c59;border-radius:17px;background:#fbf6e9;padding:9px;box-shadow:0 5px 24px #0003}.one-hand-reader.side-right{right:max(12px,env(safe-area-inset-right))}.one-hand-reader.side-left{left:max(12px,env(safe-area-inset-left))}.one-hand-reader button{min-height:52px;min-width:0;border:0;border-radius:11px;background:#194736;color:#fff;font-size:1.1rem;font-weight:700;touch-action:manipulation}.one-hand-reader button:disabled{opacity:.38}.one-hand-reader [data-hand-action=settings]{font-size:1.3rem}.has-one-hand-reader .app-shell{padding-bottom:calc(170px + env(safe-area-inset-bottom))!important}.has-one-hand-reader .sticky-player{bottom:calc(150px + env(safe-area-inset-bottom))}.local-dialog [hidden]{display:none!important}@media(max-width:420px){.favorite-choices{grid-template-columns:1fr}.local-dialog{padding:14px}.prayer-preview-page{padding:12px}}

.shnayim-study{max-width:820px;margin:auto;padding-bottom:24px}.shnayim-study select{display:block;width:100%;font:inherit;padding:12px;border:1px solid #d2c6a5;border-radius:12px;background:#fffdf8;margin:8px 0 18px}.shnayim-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.shnayim-tabs button,.shnayim-tools button{min-height:48px;border:1px solid #b8a268;border-radius:12px;padding:10px 14px;font:inherit;background:#fbf7ed;color:#194736}.shnayim-tabs [aria-selected=true]{background:#194736;color:white}.shnayim-page{background:#fffdf7;border:1px solid #d5caa9;border-radius:18px;padding:22px;box-shadow:0 5px 18px #173c3010}.shnayim-page>section{padding:20px 0;border-top:1px solid #e7dfcb}.shnayim-text{font-family:David,'Times New Roman',serif;font-size:var(--shnayim-size,28px);line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.shnayim-label{font-size:14px;color:#836a31;font-weight:700}.shnayim-targum{background:#f4f0e5;padding:18px!important;border-radius:12px}.shnayim-verse-reference{font-size:calc(var(--shnayim-size) * .85);line-height:1.7;color:#665832}.shnayim-tools{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));margin-top:18px;display:flex;gap:8px;justify-content:center;padding:10px;background:#f7f2e5;border:1px solid #cdbb88;border-radius:16px;z-index:50}.shnayim-tools button{background:#194736;color:white;flex:1}.shnayim-tools button:disabled{opacity:.4}.shnayim-tools.onehand-right,.shnayim-tools.onehand-left{position:fixed;width:min(250px,calc(100vw - 42px));display:grid;grid-template-columns:1fr 1fr;z-index:100}.shnayim-tools.onehand-right{right:max(12px,env(safe-area-inset-right))}.shnayim-tools.onehand-left{left:max(12px,env(safe-area-inset-left))}.shnayim-tools[class*=onehand-] button{min-height:52px}.shnayim-inline-ohr summary,.shnayim-sources summary{cursor:pointer;padding:14px 0;font-weight:700}.shnayim-sources{margin-top:22px;color:#6b6657;font-size:.9rem;line-height:1.7}@media(max-width:450px){.shnayim-page{padding:16px}.shnayim-tools{gap:6px}.shnayim-tools button{padding:10px}}

.esther-ktiv{font-size:.6em;color:#665b49;margin-inline:.3em;white-space:nowrap;}

.esther-source-credit{padding:8px 16px;font-size:12px;line-height:1.6;text-align:center}.esther-source-credit a{color:inherit}

/* V96: daily calendar and personal Amidah additions */
.day-times-card{background:#fffdf7;border:1px solid #d6c8a5;border-radius:20px;padding:20px;margin:16px 0;box-shadow:0 6px 20px #16382e0b;color:#16382e}
.day-times-card h2{font-size:1.25rem;margin:0 0 8px}.day-times-card header{text-align:center}.day-parasha{margin:8px 0 16px}.day-times-card dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.day-times-card dl>div{padding:12px;background:#f3f1e8;border-radius:12px;text-align:center}.day-times-card dt{font-size:.9rem}.day-times-card dd{margin:5px 0 0;font-size:1.55rem;font-weight:700;font-variant-numeric:tabular-nums}.day-times-card details{margin-top:16px;font-size:.85rem;line-height:1.6}.day-times-card summary{cursor:pointer}.shabbat-preview{background:#edf4e9!important;font-weight:700}.personal-amidah-highlight{border:3px solid #c21818!important;background:rgba(255,0,0,.09)!important;box-shadow:0 0 0 2px #fff9!important;pointer-events:none}
@media(max-width:360px){.day-times-card{padding:12px}.day-times-card dt{font-size:.8rem}}

/* V98: named healing addition, in the flow of Refaenu. */
.healing-scan-part{position:relative;width:100%;overflow:hidden;background:white}
.page-slot.has-personal-healing .healing-scan-part>img{position:absolute;display:block;max-width:none;max-height:none}
.personal-healing-prayer{position:relative;padding:16px 20px;background:#fff5f3;color:#b71319;border:2px solid #c92329;text-align:right;line-height:1.85;font-family:serif}
.personal-healing-prayer>strong{display:block;font-size:14px}.personal-healing-prayer p{font-size:clamp(19px,3.6vw,29px);margin:8px 0}.personal-healing-prayer b{font-weight:800;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
#healing-name-fields{padding:14px;background:#fff7ee;border-radius:12px}#healing-name-fields[hidden]{display:none}#healing-name{width:100%;box-sizing:border-box;padding:12px;font-size:18px;border:1px solid #a9b8ac;border-radius:9px}
.reader-book-pages>.page-slot.has-personal-healing{overflow-y:auto;display:block}.reader-book-pages .personal-healing-prayer p{font-size:clamp(13px,2.5vw,23px)}

.personal-healing-prayer{background:white;border:0;border-top:1px solid #444;padding:8px 10%;line-height:1.5;color:#b71319}
.personal-healing-prayer>strong{font-size:14px}.personal-healing-prayer p{font-size:clamp(15px,2.5vw,21px);margin:5px 0}.personal-healing-prayer b{text-decoration:none}
.healing-footnote-star{z-index:4;padding:0;min-width:24px;min-height:28px;border:0;background:white;color:#b71319;font:bold 26px serif;line-height:1;cursor:pointer}
.healing-footnote-back{font:inherit;font-size:14px;background:transparent;color:#17513e;border:0;text-decoration:underline;padding:6px 0;cursor:pointer}
.healing-resume-anchor{scroll-margin-top:180px}.personal-healing-prayer{scroll-margin-top:180px}
