@font-face{font-family:Newsreader;src:url('/assets/newsreader.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fbf9f3;color:#25414f;font:15px/1.65 Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #af8843;outline-offset:4px}.skip{position:absolute;left:-1000px;z-index:9}.skip:focus{left:10px;background:white;padding:12px}.draft{text-align:center;background:#eee8da;color:#71674e;font-size:10px;letter-spacing:1.6px;padding:6px}.draft span{margin:0 10px}header{background:#25414f;color:#e6d8b7;position:sticky;top:0;z-index:5;border-bottom:1px solid #62716f}.header-inner{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 36px}.brand{display:block;width:290px;line-height:0}.brand img{width:100%;height:auto}nav{display:flex;gap:32px;align-items:center}nav a{text-decoration:none;font-size:13px}nav a:hover{text-decoration:underline;text-underline-offset:6px}.donate{border:1px solid #ccb98d;padding:9px 24px}.wrap{max-width:1150px;margin:auto;padding-left:36px;padding-right:36px}.hero{text-align:center;background:#f0ebdf;border-bottom:1px solid #ddd5c5;padding:60px 0 36px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#8c7345;margin:0 0 16px}.hero h1{font-family:Newsreader,Georgia,serif;font-weight:400;font-size:64px;line-height:1.03;letter-spacing:-1.5px;margin:0 0 20px}em{font-weight:400;color:#8f7446}.intro{color:#627075;margin:0 0 28px;font-size:16px}.mobile-break{display:none}#search-form{display:flex;background:#fffcf7;border:1px solid #c9c1b0;padding:7px;max-width:700px;margin:auto;box-shadow:0 6px 22px #263c4b06}#search{min-width:0;flex:1;border:0;background:transparent;padding:12px 16px;color:#25414f;font-size:15px}.primary{display:inline-block;border:1px solid #25414f;background:#25414f;color:#fffaf0;padding:12px 24px;text-decoration:none;font-size:13px;white-space:nowrap}.primary:hover{background:#365968}.hero-note{font-size:11px;color:#8a8270;letter-spacing:.6px;margin:18px 0 0}.library{padding-top:46px;padding-bottom:52px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-heading .eyebrow{margin-bottom:6px}h2{font:400 38px/1.15 Newsreader,Georgia,serif;margin:0}.library-total{color:#8b8c81;font-size:12px}.category-tabs{display:flex;gap:8px;border-bottom:1px solid #d9d3c5;padding-bottom:20px;flex-wrap:wrap}.category-tabs button{border:1px solid #d9d3c5;color:#55656b;background:transparent;padding:9px 20px;font-size:13px}.category-tabs button[aria-pressed=true]{background:#25414f;border-color:#25414f;color:#fffaf0}.category-tabs button:hover{border-color:#25414f}.filters{display:grid;grid-template-columns:1.6fr 1.4fr .9fr 1.1fr;gap:16px;padding:24px 0 16px}.filters label>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px;color:#7b817b}select{width:100%;border:1px solid #d9d3c5;border-radius:0;background:#fffdf8;padding:10px 28px 10px 12px;color:#354c56;font-size:12px}.results-bar{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#7b817b;padding:0 0 9px;border-bottom:1px solid #a9b2ad}.results-bar p{margin:0 0 8px}.text-button{color:#6e654f;border:0;background:none;font-size:12px;text-decoration:underline;padding:0 0 8px}.shiur{display:grid;grid-template-columns:1fr auto;gap:20px;padding:22px 0;border-bottom:1px solid #dfdbd1}.shiur-meta{font-size:10px;letter-spacing:.5px;color:#8c7955;margin:0 0 5px}.shiur h3{font:400 24px/1.25 Newsreader,Georgia,serif;margin:0 0 4px}.shiur-sub{font-size:12px;color:#7b817b;margin:0}.shiur-actions{display:flex;align-items:center;gap:10px}.listen,.read{border:1px solid #bfc6c1;background:transparent;padding:9px 20px;min-width:98px;color:#25414f;font-size:12px;text-decoration:none;text-align:center}.listen:hover,.listen[aria-expanded=true]{background:#25414f;color:#fffaf0;border-color:#25414f}.read{border-color:transparent;min-width:0}.player{grid-column:1/-1;background:#f0ede5;padding:16px}.player iframe{width:100%;height:100px;border:0}.player p{margin:0;font-size:12px}.player a{margin-right:16px}.player audio{width:100%;margin-bottom:8px}.load-wrap{text-align:center;margin-top:28px}.outline{border:1px solid #b8b09e;background:transparent;padding:11px 35px;color:#25414f;font-size:12px}.outline:hover{background:#eee8da}.empty{text-align:center;padding:55px 15px}.empty h3{font:28px Newsreader,Georgia,serif}.alumni{background:#eae7db;border-top:1px solid #ded7c7;border-bottom:1px solid #ded7c7;padding:52px 0}.alumni-layout{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:80px}.alumni h2{font-size:42px}.alumni p:not(.eyebrow){color:#697372;font-size:14px}.alumni .primary{margin-top:10px}.schedule{border-left:1px solid #c8bfaa;padding-left:46px}.schedule .time{font-family:Newsreader,Georgia,serif;font-size:40px!important;color:#25414f!important;margin:8px 0}.time small{font:12px Arial,sans-serif}.schedule-rule{height:1px;background:#c8bfaa;width:50px;margin:20px 0}.schedule-topic{font-size:12px!important}.about{padding-top:58px;padding-bottom:50px}.about-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.about h2{font-size:40px}#about-copy{font-size:14px;color:#697372}#about-copy p{margin-top:0}.support{border-top:1px solid #dfdbd1;margin-top:35px;padding-top:25px;display:flex;align-items:center;justify-content:space-between}.support p{font:24px Newsreader,Georgia,serif}footer{background:#25414f;color:#d4ccba;font-size:10px;padding:24px 0}footer .wrap{display:flex;align-items:center;gap:32px}footer p{letter-spacing:1.3px}footer a{margin-left:auto}dialog{max-width:780px;width:calc(100% - 32px);max-height:85vh;border:1px solid #b4a88b;background:#fffdf7;color:#25414f;padding:28px 36px}dialog::backdrop{background:#142b35aa}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;font-size:10px;letter-spacing:1.5px}.dialog-top button{border:0;background:none;color:#25414f}dialog h2{font-size:34px;margin-bottom:24px}#reader-body{font:17px/1.8 Georgia,serif}#reader-body img,#reader-body iframe{max-width:100%}#reader-body .related,#reader-body .series-nav{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:750px){.header-inner{padding:15px 20px;gap:18px;flex-wrap:wrap}.brand{width:220px;margin:auto}nav{width:100%;justify-content:center;gap:24px}nav a{font-size:12px}.donate{padding:6px 15px}.wrap{padding-left:22px;padding-right:22px}.hero{padding:36px 0 28px}.hero h1{font-size:48px}.intro{font-size:14px}.mobile-break{display:block}#search-form{padding:5px}#search{padding:10px;font-size:12px}.primary{padding:11px 16px;font-size:12px}.hero-note{font-size:9px;letter-spacing:0}.library{padding-top:30px}h2{font-size:31px}.section-heading{align-items:end}.library-total{font-size:10px}.category-tabs{gap:6px}.category-tabs button{padding:8px 12px;font-size:11px}.filters{grid-template-columns:1fr 1fr;gap:12px;padding-top:18px}.shiur{gap:12px;padding:20px 0;grid-template-columns:1fr}.shiur h3{font-size:23px}.shiur-actions{justify-content:flex-start}.listen,.read{padding:8px 18px}.player{padding:12px}.alumni-layout,.about-layout{grid-template-columns:1fr;gap:28px}.alumni{padding:36px 0}.alumni h2,.about h2{font-size:36px}.schedule{padding-left:22px}.about{padding-top:38px}.support{align-items:start;gap:12px;flex-direction:column}.support p{margin:0}footer .wrap{flex-wrap:wrap;gap:4px 25px}footer a{margin-left:0}footer p{width:100%;margin-top:0}dialog{padding:22px}.dialog-top{letter-spacing:0}html{scroll-padding-top:160px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(min-width:751px){.hero{padding-top:36px;padding-bottom:28px}.hero h1{font-size:52px}.intro{margin-bottom:22px}.library{padding-top:34px}.header-inner{padding-top:12px;padding-bottom:12px}.brand{width:255px}}
.contact-details{margin-top:24px;padding-top:12px;border-top:1px solid #dfdbd1}.contact-details h3{font:24px Newsreader,Georgia,serif;margin-bottom:12px}.contact-details a{overflow-wrap:anywhere}

.player{padding:24px;background:#eeeade;border:1px solid #dcd4c2;min-width:0}.player audio{display:block;width:100%;height:54px;margin:18px 0 16px;min-width:0}.audio-heading{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:1.5px;color:#806b44;align-items:center}.speed-badge{letter-spacing:0;font-size:12px;background:#e0d7c4;padding:3px 10px;white-space:nowrap}.player .audio-title{font:24px/1.3 Newsreader,Georgia,serif;margin-top:7px}.audio-tools{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid #d3cbb9}.skip-controls{display:flex;gap:8px}.skip-controls button{color:#25414f;background:#fbf9f3;border:1px solid #bfc0b5;min-height:42px;padding:8px 15px;font-size:12px}.skip-controls button:disabled{opacity:.45;cursor:default}.speed-label,.volume-label{display:flex;align-items:center;gap:10px;font-size:12px}.speed-label select{width:120px;min-height:42px;font-size:12px}.volume-label input{width:110px;accent-color:#25414f}.player .audio-status{font-size:11px;color:#6a746e;margin:10px 0 6px}.player .audio-links{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:11px}.audio-links a{margin:0}.player iframe{display:block;height:190px;min-height:190px;width:100%;border:0;margin-top:12px}.drive-fallback{overflow:visible}@media(max-width:750px){.player{padding:16px}.player .audio-title{font-size:22px}.audio-tools{gap:14px}.skip-controls{width:100%}.skip-controls button{flex:1;min-height:44px}.speed-label{flex:1}.volume-label{flex:1}.volume-label input{width:90px}.speed-label select{width:100px}.player iframe{height:210px;min-height:210px}.player .audio-links{gap:8px 18px}}

.rosh-kollel{margin:28px 0 0;max-width:260px}.rosh-kollel img{display:block;width:100%;height:auto;border:1px solid #ded7c7}.rosh-kollel figcaption{padding-top:12px}.rosh-kollel figcaption span{display:block;color:#8c7345;font-size:10px;letter-spacing:1.4px}.rosh-kollel strong{display:block;font:23px/1.3 Newsreader,Georgia,serif;margin-top:4px}@media(max-width:750px){.rosh-kollel{max-width:230px}}

.section-heading h1{font:400 38px/1.15 Newsreader,Georgia,serif;margin:0}@media(max-width:750px){.section-heading h1{font-size:31px}}

.donate-page{padding-top:44px;padding-bottom:40px}.donate-page h1{font:400 44px/1.15 Newsreader,Georgia,serif;margin:0 0 16px}.donate-intro{color:#697372;margin:0 0 28px}.donation-embed{background:white;border:1px solid #d9d3c5}.donation-embed iframe{width:100%;height:1450px;display:block;border:0}.donation-fallback{font-size:12px;color:#697372;margin:18px 0 0}.donation-fallback a{color:#25414f}@media(max-width:750px){.donate-page{padding-top:30px;padding-left:12px;padding-right:12px}.donate-page h1{font-size:35px}.donate-intro{font-size:14px}.donation-embed iframe{height:1800px}.donation-fallback{line-height:1.8}}

.schedule .schedule-topic{margin-top:20px}.schedule-topic-label{display:block;font:10px/1.6 Arial,sans-serif;text-transform:uppercase;letter-spacing:1.3px;color:#8c7345;margin-bottom:5px}.schedule-topic-value{display:block;font:400 25px/1.3 Newsreader,Georgia,serif;color:#25414f}

#search:focus-visible{outline:none}#search-form:focus-within{outline:2px solid #af8843;outline-offset:3px}#search-form button:focus-visible{outline:2px solid #fffaf0;outline-offset:-5px}

/* Oct 31 2026 fixes (review #13 and #15, he approved 9:30 PM). Appended to style.css by build_cf.py. */
/* #13 Donate: the payment form (pay.banquest.com) has a black page background, so iframe height beyond the form showed as a big black block on phone (1800px iframe, form ~1300px).
   Start at the form's one-time height + ~20px (matches the form's own 20px black top edge). The moment the visitor touches/focuses the form,
   a script on /donate adds html.kby-pay-open and the frame grows to fit the tallest state ("Monthly" adds 2 fields, ~96px), so nothing scrolls inside the frame. */
.donation-embed iframe{height:1386px}
html.kby-pay-open .donation-embed iframe{height:1480px}
@media(max-width:540px){.donation-embed iframe{height:1325px}html.kby-pay-open .donation-embed iframe{height:1430px}}
/* #15 Library filters on phone: "Topic or collection" (and Speaker) get the full row so the text isn't cut off; Year + Sort share a row. Laptop unchanged. */
@media(max-width:750px){.filters>label:nth-child(1),.filters>label:nth-child(2){grid-column:1/-1}}

/* Oct 31: no per-parsha counts on /parsha (his Oct 27 ask) */
body.view-parsha .sub-count{display:none!important}

/* Nov 1: checklist #5 Siman/Perek box (#subtopic-wrap, 2nd child). Phone: Topic, Siman, Speaker full rows; Year + Sort share a row. Laptop: 5 columns when the Siman box shows. */
@media(max-width:750px){.filters>label:nth-child(3){grid-column:1/-1}}
@media(min-width:751px){.filters:has(#subtopic-wrap:not([hidden])){grid-template-columns:1.3fr 1.3fr 1.3fr .8fr 1fr}}
