@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4-italic.woff2) format("woff2");font-weight:400 600;font-style:italic;font-display:swap}
@font-face{font-family:"Frank Ruhl Libre";src:url(../fonts/frank-ruhl-libre-hebrew.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0591-05F4,U+FB1D-FB4F,U+20AA}
@font-face{font-family:"Noto Serif Hebrew";src:url(fonts/NotoSerifHebrew-wdth-wght.ttf) format("truetype");font-weight:100 900;unicode-range:U+0591-05AF}
:root{--navy:#1b1a17;--gold:#7a2a1f;--ink:#1b1a17;--ink2:#3b3833;--pen:#22304a;--muted:#6a655b;--rule:#dcd6ca;--margin:transparent;--desk:#efebe2;--paper:#fffefa;--acc:#7a2a1f;--heb:"Frank Ruhl Libre","Noto Serif Hebrew",serif;--serif:"Source Serif 4","Frank Ruhl Libre",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--hand:"Source Serif 4",Georgia,serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--desk);color:var(--ink);font:16px/1.55 var(--serif);-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration-color:var(--uline,rgba(122,42,31,.45));text-underline-offset:3px}a:hover{color:var(--acc)}
.top{max-width:720px;margin:0 auto;padding:28px 20px 6px}
.top h1{font:600 clamp(26px,5vw,34px)/1.15 var(--serif);margin:0 0 6px;color:var(--ink);letter-spacing:-.01em}
.top p{margin:2px 0;color:var(--muted);font-size:15px}
.top .nav{margin-top:10px;font:14px var(--sans)}.top .nav a{margin-right:14px;display:inline-flex;align-items:center;min-height:44px}
.sheet{position:relative;max-width:720px;margin:16px auto;background:var(--paper);border:1px solid var(--rule);border-radius:0;box-shadow:none;padding:22px 26px 24px;break-inside:auto}
.sheet:before{content:none}
.holes{display:none}
.shead{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-bottom:10px}
.shead b{font:500 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.shead span{font:600 24px/1 var(--serif)}
.step{margin:16px 0 6px;break-inside:avoid}
.sth{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font:13px/1.4 var(--sans);color:var(--muted)}
.num{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border:1px solid var(--ink);border-radius:0;font:600 13px/1 var(--sans);color:var(--ink);padding:0 4px}
.sqa{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;border:0;border-radius:0;color:var(--acc);font:500 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.cont{font-style:italic}
.ts{margin-left:auto;font-size:13px;text-decoration:none;white-space:nowrap;color:var(--ink2);min-height:32px;display:inline-flex;align-items:center}
.ts:before{content:"▸ ";color:var(--acc)}
table.w{width:100%;border-collapse:collapse;margin-top:4px}
table.w td{border-bottom:1px solid var(--rule);padding:6px 4px;vertical-align:bottom}
td.n{width:30px;font:500 12px/1 var(--sans);color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
td.n.sp{color:var(--ink)}
td.n.sp span{border:1px solid var(--ink);border-radius:50%;padding:2px 4px}
td.he{font:500 23px/1.25 var(--heb);direction:rtl;text-align:right;width:38%;white-space:nowrap}
td.en{font:italic 400 18px/1.3 var(--hand);color:var(--pen)}
td.en small{display:block;font:normal 13px/1.4 var(--serif);color:var(--muted)}
.flag{display:inline-block;font:600 12px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#7a2a1f;border:1px solid #7a2a1f;border-radius:2px;padding:1px 4px;margin-left:4px;vertical-align:middle;text-decoration:none}
.punct{margin:8px 0 2px;padding:2px 0 2px 12px;background:none;border-left:2px solid var(--rule);font:italic 400 18px/1.4 var(--hand);color:var(--pen)}
.punct a{font:normal 12.5px var(--sans);text-decoration:none}
.lines{margin:6px 0 0}
.lines div{font:italic 400 18px/1.5 var(--hand);color:var(--pen);border-bottom:1px solid var(--rule);padding:4px 2px 2px;min-height:30px}
.lbl{font:500 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--acc);text-decoration:none}
.also{font:12.5px/1.5 var(--sans);color:var(--muted);margin-top:4px}.also a{text-decoration:none}
.foot{max-width:720px;margin:8px auto 36px;padding:0 20px;font:13px/1.5 var(--sans);color:var(--muted)}
.cards{border-top:1px solid var(--ink);margin-top:10px}
.cards a{display:block;background:none;margin:0;padding:14px 0;border-radius:0;border-bottom:1px solid var(--rule);text-decoration:none;box-shadow:none}
.cards b{display:block;font:600 18px var(--serif);color:var(--ink)}.cards a:hover b{color:var(--acc)}.cards span{color:var(--muted);font-size:14.5px}
blockquote{margin:8px 0;padding:2px 0 2px 14px;border-left:2px solid var(--acc);font:italic 16px/1.5 var(--serif)}
blockquote a{font:12.5px var(--sans);font-style:normal;text-decoration:none}
.f{display:flex;gap:8px;align-items:flex-end;margin:10px 0;font-size:15px;flex-wrap:wrap}
.f .bl{flex:1;min-width:70px;border-bottom:1px solid var(--ink);height:20px}
.f .sm{flex:0 0 60px}
.box{display:inline-block;width:16px;height:16px;border:1px solid var(--ink);vertical-align:-3px;margin-right:8px}
.chk{margin:8px 0;font-size:15px}
.circ{border:1px solid var(--ink);border-radius:50%;padding:1px 7px}
.half{border-top:1px dashed var(--soft,#b9b2a3);margin:18px 0 6px;padding-top:8px}
.src{font:12.5px/1.5 var(--sans);color:var(--muted);margin-top:10px}
@media(max-width:600px){.sheet{padding:16px 14px 18px;margin:12px 0;border-left:0;border-right:0}td.he{font-size:21px}td.en{font-size:17px}}
@media print{body{background:#fff}.sheet{box-shadow:none;margin:0 auto;page-break-after:always;break-inside:avoid;max-width:none;border:0}section.sheet:last-of-type{page-break-after:auto}.top .nav{display:none}table.w td{padding:2px 4px}td.he{font-size:19px}td.en{font-size:16px}td.en small{font-size:10.5px}.punct{font-size:15px;padding:2px 10px}.step{margin:7px 0 2px}.num{height:22px;min-width:22px;font-size:12px}.top{padding-top:0}.foot{margin-top:8px}.ts,.also a,.top .nav{color:var(--ink)}.top{max-width:none}}
@page{size:Letter;margin:12mm}
.dafs{display:flex;flex-wrap:wrap;gap:0;margin:12px 0 2px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.dafs a{font:500 15px/1 var(--serif);padding:0 12px;min-height:44px;display:inline-flex;align-items:center;border-radius:0;background:none;text-decoration:none;box-shadow:none;color:var(--ink2);border-bottom:2px solid transparent}.dafs a:hover{color:var(--acc)}.dafs a.on{background:none;color:var(--ink);border-bottom-color:var(--acc);font-weight:600}
.gap{margin:12px 0;padding:2px 0 2px 12px;border:0;border-left:2px solid var(--acc);background:none;font:13px/1.5 var(--sans);color:var(--ink2);border-radius:0}
.lay{font:500 12px/1 var(--sans);letter-spacing:.06em;color:var(--muted);border:1px solid var(--rule);border-radius:0;padding:3px 5px}
.rs{font:600 12px/1 var(--sans);color:#7a2a1f}
table.ix{width:100%;border-collapse:collapse;font-size:15px;border-top:1px solid var(--ink)}table.ix td{padding:10px 4px;border-bottom:1px solid var(--rule);vertical-align:top}table.ix td:first-child{font:400 20px var(--serif);color:var(--acc);width:56px}table.ix small{color:var(--muted)}
@media print{.dafs,.gap a{display:none}.gap{break-inside:avoid}.step{break-inside:auto}table.w tr{break-inside:avoid}.sth,.shead{break-after:avoid}.punct,.also{break-inside:avoid}}
.hw{font:500 18px/1 var(--heb);direction:rtl;color:var(--ink)}
.intro{max-width:720px;margin:0 auto;padding:4px 20px;font-size:14.5px;color:var(--muted)}

/* dark theme to match the course player (screen only; print stays light) */
@media screen{:root{--navy:#ece8df;--gold:#c8963e;--ink:#ece8df;--ink2:#cfcabe;--pen:#d9c9a3;--muted:#9c978b;--rule:#3a3934;--desk:#141413;--paper:#1c1c1a;--acc:#c8963e;--uline:rgba(200,150,62,.5);--onacc:#141413;--soft:#5a5850;color-scheme:dark}}

/* polish Oct 23: tap targets */
a.ts,a.flag{display:inline-block;padding:13px 0;margin:-13px 0}
.nav a{min-width:44px;justify-content:center;text-align:center}
