/* Explanation decks (מצגות הסבר) — shared by every topic deck. Slides are authored in em, so one source
   renders as a 16:9 slide (wide screens + PDF, 1280x720 @ 22px) and as a reflowing card on phones. */
.deckpage main.wrap{max-width:1180px}
.deckbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 14px}
.dbtn{display:inline-flex;align-items:center;gap:6px;background:var(--tc,var(--acc));color:#fff;text-decoration:none;font-weight:700;padding:8px 15px;border-radius:999px;font-size:15px;line-height:1.3;border:1.5px solid var(--tc,var(--acc));cursor:pointer;font-family:inherit;min-height:40px}
.dbtn.alt{background:var(--card);color:var(--tc,var(--acc))}
.dbtn:hover{filter:brightness(1.06)}
.deckwrap{position:relative}
.deck{display:flex;flex-direction:column;gap:18px;container-type:inline-size}
.decknav{display:flex;align-items:center;gap:10px;margin:0 0 10px;flex-wrap:wrap}
.decknav[hidden],.dhint[hidden],.dfs[hidden]{display:none}
.decknav button{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--tc);background:var(--card);color:var(--tc);font-size:26px;line-height:1;font-weight:700;cursor:pointer;font-family:inherit;display:grid;place-items:center;padding:0 0 4px}
.decknav button:disabled{opacity:.35;cursor:default}
.decknav .dnext{background:var(--tc);color:#fff}
.dcount{font-weight:700;font-size:16px;min-width:64px;text-align:center;color:var(--ink)}
.dprog{flex:1;min-width:80px;height:6px;border-radius:6px;background:var(--line);overflow:hidden}
.dprog i{display:block;height:100%;width:0;background:var(--tc);border-radius:6px;transition:width .25s}
.dhint{font-size:13px;color:var(--mute);margin:8px 0 0;text-align:center}
/* JS carousel: native horizontal scroll-snap (swipe works natively, RTL aware) */
.deckwrap.js .deck{flex-direction:row;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;transition:height .2s;overscroll-behavior-x:contain}
.deckwrap.js .deck::-webkit-scrollbar{display:none}
.deckwrap.js .slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
.deckwrap.js .deck:focus-visible{outline:3px solid var(--warm);outline-offset:3px}
/* the slide */
.slide{--sp:1em;position:relative;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh);overflow:hidden;font-size:16px;line-height:1.5;padding:2.5em 1.15em 2.4em;display:flex;flex-direction:column;color:var(--ink);text-align:start}
.slide::before{content:"";position:absolute;inset:0 0 auto 0;height:.42em;background:linear-gradient(90deg,var(--tc),#f59e0b)}
.sbar{position:absolute;top:.75em;inset-inline:1.15em;display:flex;justify-content:space-between;align-items:center;font-size:.72em;color:var(--mute);line-height:1}
.sbsd{font-weight:600;color:var(--ink)}
.stag{display:inline-flex;align-items:center;gap:.45em;font-weight:600;color:var(--tc)}
.stag .ic.sic{width:1.55em;height:1.55em;border-radius:.45em}
.stag .ic.sic svg{width:1.05em;height:1.05em}
.sf{position:absolute;bottom:.7em;inset-inline:1.15em;display:flex;justify-content:space-between;font-size:.62em;color:var(--mute);line-height:1.2}
.sn{font-weight:700;color:var(--tc)}
.stl{margin:0 0 .45em;font-size:1.55em;line-height:1.2;color:var(--tc);font-weight:700}
.sb{flex:1;min-height:0;display:flex;flex-direction:column;gap:.55em;justify-content:safe center}
.sb p{margin:0}
.sb ul,.sb ol{margin:0;padding-inline-start:1.25em}
.sb li{margin:.12em 0}
.sb li::marker{color:var(--tc);font-weight:700}
.sb .math{white-space:nowrap}
.sb .mathd{margin:.1em 0;line-height:1.5;padding:0;overflow-x:auto;overflow-y:hidden;text-align:center;font-size:1.06em}
.sb .mathd.l{text-align:left}
.sb .katex{font-size:1.08em}
.sb b,.sb strong{color:var(--ink)}
.hl{color:var(--tc);font-weight:700}
.hl2{background:linear-gradient(transparent 55%,#ffe29a 55%);font-weight:700}
.muted{color:var(--mute)}
.small{font-size:.84em}
/* grids */
.cols{display:grid;grid-template-columns:1fr;gap:.8em;align-items:start}
.card{background:var(--tl);border-radius:.7em;padding:.55em .85em}
.card.w{background:#fff;border:1.5px solid var(--line)}
.card.y{background:var(--fin);border:1.5px solid #f3d27a}
.card h3{margin:0 0 .2em;font-size:1.02em;color:var(--tc);line-height:1.3}
.ctr{text-align:center}
.fbox{position:relative;border:2px dashed var(--tc);border-radius:.8em;padding:.9em .9em .55em;background:#fff}
.fbox .badge{position:absolute;top:-.8em;inset-inline-start:.8em;background:var(--tc);color:#fff;font-size:.72em;font-weight:700;padding:.15em .7em;border-radius:999px}
.fbox .mathd{font-size:1.3em}
.fbox .fl{font-weight:700;color:var(--ink)}
.steps{list-style:none;counter-reset:st;padding:0!important;margin:0;display:flex;flex-direction:column;gap:.35em}
.steps>li{counter-increment:st;position:relative;padding-inline-start:2em;margin:0}
.steps>li::before{content:counter(st);position:absolute;inset-inline-start:0;top:.05em;width:1.45em;height:1.45em;border-radius:50%;background:var(--tc);color:#fff;font-weight:700;font-size:.9em;display:grid;place-items:center;line-height:1}
.warn{background:var(--revl);border-inline-start:.3em solid var(--rev);border-radius:.6em;padding:.45em .8em}
.warn>b:first-child,.warn .wt{color:var(--rev)}
.okb{background:var(--okl);border-inline-start:.3em solid var(--ok);border-radius:.6em;padding:.45em .8em}
.ans{background:var(--fin);border-inline-start:.3em solid var(--finl);border-radius:.5em;padding:.25em .7em;font-weight:600}
.cite{display:inline-block;align-self:flex-start;background:var(--tl);color:var(--tc);border:1px solid var(--tc);border-radius:999px;padding:.08em .75em;font-size:.78em;font-weight:700;text-decoration:none;line-height:1.5}
.qtext{background:#faf6ef;border:1px solid var(--line);border-radius:.6em;padding:.45em .8em;font-size:.94em}
.part{display:flex;gap:.55em;align-items:flex-start}
.part>.pl{flex:none;width:1.6em;height:1.6em;border-radius:.4em;background:var(--tc);color:#fff;font-weight:700;display:grid;place-items:center;font-size:.85em;margin-top:.12em}
.part>div{flex:1;min-width:0}
table.dt{border-collapse:separate;border-spacing:0;width:100%;font-size:.95em;border:1.5px solid var(--line);border-radius:.7em;overflow:hidden}
table.dt th{background:var(--tc);color:#fff;text-align:start;padding:.3em .7em;font-weight:700}
table.dt td{padding:.28em .7em;border-top:1px solid var(--line);vertical-align:middle}
table.dt tr:nth-child(even) td{background:#fbf8f3}
.plot{direction:ltr;unicode-bidi:isolate;width:100%;height:auto;display:block;max-width:34em;margin:0 auto;font-family:inherit}
.plot text{direction:ltr}
.plot text[direction="rtl"]{direction:rtl}
.pl-grid{stroke:#ece4d8;stroke-width:1}
.pl-axis{stroke:#5d5a72;stroke-width:1.6}
.pl-arrow{fill:#5d5a72}
.pl-lab{font-size:15px;font-style:italic;fill:#5d5a72}
.pl-tick{font-size:12.5px;fill:#5d5a72}
.pl-fn{fill:none;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.pl-fn.c1{stroke:var(--tc)}.pl-fn.c2{stroke:#4338ca}.pl-fn.c3{stroke:#9b98ad}.pl-fn.c4{stroke:#15803d}.pl-fn.c5{stroke:#c2410c}
.pl-fn.dash,.pl-seg.dash{stroke-dasharray:6 5}
.pl-seg{stroke:#9b98ad;stroke-width:1.8}
.pl-seg.c1{stroke:var(--tc)}.pl-seg.c4{stroke:#15803d;stroke-width:4}.pl-seg.c5{stroke:#c2410c;stroke-width:4}
.pl-pt{fill:var(--tc);stroke:#fff;stroke-width:2}
.pl-pt.c2{fill:#4338ca}.pl-pt.c4{fill:#15803d}.pl-pt.c5{fill:#c2410c}.pl-pt.c3{fill:#5d5a72}
.pl-plab{font-size:15px;font-weight:700;fill:var(--ink)}
.pl-txt{font-size:14px;fill:#5d5a72}
.pl-txt.b{font-weight:700;fill:var(--tc)}.pl-txt.g{font-weight:700;fill:#15803d}.pl-txt.o{font-weight:700;fill:#c2410c}
.pl-poly{fill:var(--tl);stroke:var(--tc);stroke-width:2.5;stroke-linejoin:round}
.pl-poly.nostroke{stroke:none}
.pl-poly.ol{fill:none;stroke:var(--ink);stroke-width:2}
.pl-poly.lt{fill:var(--tl);stroke:var(--tc);stroke-width:2}
.plot.bell{max-width:none}
.bl-reg{fill:#fff;stroke:none}.bl-reg.on{fill:var(--tc);fill-opacity:.2}
.bl-div{stroke:#cfc8bb;stroke-width:1.2}.bl-div.mid{stroke:var(--tc);stroke-width:1.6;stroke-dasharray:5 4}
.bl-curve{fill:none;stroke:var(--tc);stroke-width:3.2}
.bl-pct{font-size:15px;font-weight:700;fill:var(--ink)}.bl-pct.sm{font-size:12.5px}.bl-pct.on{fill:var(--tc)}
.bl-lab{font-size:14px;fill:#5d5a72;font-style:italic}.bl-lab.half{font-size:12.5px}.bl-lab.on{fill:var(--tc);font-weight:700}
.bl-rect{fill:#fff;stroke:#9b98ad;stroke-width:1.4}.bl-rect.mid{stroke:var(--tc);stroke-width:2.2;fill:var(--tl)}
.bl-rv{font-size:14px;font-weight:700;fill:var(--ink)}.bl-rv.mid{fill:var(--tc)}
.bl-tick{stroke:#cfc8bb;stroke-width:1;stroke-dasharray:2 3}
.pl-area{fill:var(--tl);opacity:.9}
details.dsol{background:var(--fin);border-radius:.6em;padding:.35em .8em;border:1.5px solid #f3d27a}
details.dsol>summary{cursor:pointer;font-weight:700;color:#8a5a00}
details.dsol[open]>summary{margin-bottom:.2em}
/* title slide */
.slide.s-title{justify-content:center;background:radial-gradient(circle at 10% 15%,#ffe3b3 0,transparent 40%),radial-gradient(circle at 90% 90%,var(--tl) 0,transparent 50%),#fff}
.s-title .sb{justify-content:center;align-items:center;text-align:center;gap:.5em}
.s-title .bigic .ic{width:3.2em;height:3.2em;border-radius:.9em}
.s-title .bigic .ic svg{width:2em;height:2em}
.s-title h1{margin:0;font-size:2.6em;line-height:1.15;color:var(--tc)}
.s-title .tsub{font-size:1.2em;color:var(--ink);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:.4em;justify-content:center}
.chips span{background:var(--tl);color:var(--tc);border-radius:999px;padding:.12em .8em;font-weight:700;font-size:.8em}
.s-title .tcredit{font-size:.75em;color:var(--mute);margin-top:.4em}
/* wide containers (desktop + PDF): exact 16:9 slides, two-column grids */
@container (min-width:720px){
  .slide{aspect-ratio:16/9;font-size:calc(100cqw * 24 / 1280);border-radius:calc(100cqw * 18 / 1280);padding:2.35em 1.7em 2.1em}
  .sbar,.sf{inset-inline:1.7em}
  .cols{grid-template-columns:1fr 1fr;gap:1.1em}
  .cols.c32{grid-template-columns:3fr 2fr}.cols.c23{grid-template-columns:2fr 3fr}
  .cols.c3{grid-template-columns:1fr 1fr 1fr}
  .cols.mid{align-items:center}
  .slide.dense{font-size:calc(100cqw * 21 / 1280)}
  .slide.roomy{font-size:calc(100cqw * 28 / 1280)}
}
/* phone-only adjustments */
@container (max-width:719px){.nphone{display:none}}
/* print page used to make the PDF (deck-print/<id>.html) */
body.deckprint{margin:0;background:#fff}
.deckprint .deck{display:block;width:1280px;container-type:inline-size}
.deckprint .slide{width:1280px;height:720px;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;break-after:page;page-break-after:always}
.deckprint .slide:last-child{break-after:auto;page-break-after:auto}
.deckprint details.dsol>summary{list-style:none}
.deckprint details.dsol>summary::-webkit-details-marker{display:none}
/* fullscreen (desktop) */
.deckwrap:fullscreen{background:#1f1d2e;display:flex;flex-direction:column;justify-content:center;padding:12px}
.deckwrap:fullscreen .deck{width:min(100%,calc((100vh - 90px) * 16 / 9));margin:0 auto}
.deckwrap:fullscreen .dcount{color:#fff}
.deckwrap:fullscreen .decknav{width:min(100%,calc((100vh - 90px) * 16 / 9));margin:0 auto 10px}
.deckwrap:fullscreen .dhint{display:none}
/* presentations index */
.dgrid{list-style:none;padding:0;margin:14px 0;display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:640px){.dgrid{grid-template-columns:1fr 1fr}}
.dcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-top:5px solid var(--tc);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.dthumb{display:grid;place-items:center;aspect-ratio:16/9;background:var(--tl)}
.dthumb img{width:100%;height:100%;object-fit:cover;display:block}
.dthumb .ic{width:64px;height:64px;border-radius:18px}
.dcb{padding:10px 14px 14px}
.dcb h2{margin:0;font-size:20px}
.dcb h2 a{color:var(--tc);text-decoration:none}
.dmeta{margin:2px 0 8px;color:var(--mute);font-size:14px}
.dlinks{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.dsoon{color:var(--mute);margin:4px 0 0}
.dcard.soon{opacity:.75}
@media print{.top,.foot,.deckbar,.decknav,.dhint,.crumbs,.back,.phead{display:none!important}.deckwrap.js .deck{display:block;height:auto!important}.slide{break-inside:avoid;margin-bottom:12px;box-shadow:none}}

/* spatial vision (deck) */
.sgw{display:inline-block;text-align:center;vertical-align:top;margin:.2em .4em}
.sgrid{border-collapse:collapse;margin:0 auto}
.sgrid td{border:.07em solid #333;width:1.55em;height:1.55em;text-align:center;font-weight:700;padding:0;background:#fff}
.sgrid td.z{color:#b3aec0;font-weight:400}.sgrid td.hl{background:#fde68a}
.sview{border-collapse:collapse;margin:0 auto}
.sview td{width:1.15em;height:1.15em;padding:0;border:.04em solid #d6d2c8}
.sview td.f{background:var(--tc);opacity:.75;border:.06em solid #234}
.sview.tv td.f{opacity:.5}
.sgc{margin:.2em 0 0;font-size:.72em;color:#5d5a72}
svg.iso{width:100%;height:auto;max-height:12em;color:var(--tc)}
.iso-t{fill:#fff;stroke:#2d2a3e;stroke-width:1.3;stroke-linejoin:round}
.iso-f{fill:var(--tl);stroke:#2d2a3e;stroke-width:1.3;stroke-linejoin:round}
.iso-l{fill:var(--tc);fill-opacity:.55;stroke:#2d2a3e;stroke-width:1.3;stroke-linejoin:round}
.iso-floor{fill:#f3f0ea;stroke:#cfc8bb;stroke-width:1}
.iso-ar{stroke:currentColor;stroke-width:2.5}.iso-tx{font-size:15px;font-weight:700;fill:currentColor}

/* solids (deck) */
svg.so-fig{height:auto;display:inline-block;vertical-align:middle;margin:.1em .25em;color:var(--tc)}
.so-b{fill:none;stroke:#2d2a3e;stroke-width:2.2;stroke-linejoin:round}
.so-h{fill:none;stroke:#8d88a0;stroke-width:1.6;stroke-dasharray:4 3}
.so-l{font-size:15px;font-style:italic;font-weight:700;fill:var(--tc)}
.so-t td,.so-t th{vertical-align:middle}
.so-wrap{overflow-x:auto;max-width:100%}
@media(max-width:719px){.so-t,.so-t tbody{display:block}.so-t tr:first-child{display:none}.so-t tr{display:block;padding:.35em .2em;border-bottom:1px solid #ddd}.so-t td{display:block;border:0;padding:.1em .3em}.so-t td:first-child{font-weight:700;color:var(--tc)}.so-t td.fg{display:none}.so-t td[data-l]::before{content:attr(data-l) ": ";font-size:.8em;color:#5d5a72}}
@media(max-width:719px){.dt.stk,.dt.stk tbody,.dt.stk tr{display:block}.dt.stk tr{padding:.3em 0;border-bottom:1px solid #ddd}.dt.stk td{display:block;border:0;padding:.1em .3em}.dt.stk td+td{text-align:center}}
@media(max-width:719px){.slide .katex-display{overflow-x:auto;overflow-y:hidden}}

/* tree + geometry figures (lib.mjs tree()/geo()) — added by task 57cb4796 */
.tr-br{stroke:#9b98ad;stroke-width:2}
.tr-br.hl{stroke:var(--tc);stroke-width:3.2}
.tr-p{font-size:19px;fill:#4338ca;font-weight:700}
.tr-p.hl{fill:var(--tc)}
.tr-n{font-size:18px;fill:var(--ink);font-weight:700}
.tr-n.hl{fill:var(--tc)}
.tr-dot{fill:var(--ink)}
.g-circ{fill:none;stroke:#5d5a72;stroke-width:2}
.g-circ.c1{stroke:var(--tc)}
.g-poly{fill:var(--tl);stroke:var(--ink);stroke-width:2.2;stroke-linejoin:round}
.g-poly.c2{fill:rgba(67,56,202,.13)}
.g-poly.c5{fill:rgba(194,65,12,.13)}
.g-poly.none{fill:none}
.g-seg{stroke:var(--ink);stroke-width:2.2;stroke-linecap:round}
.g-seg.c1{stroke:var(--tc);stroke-width:3}
.g-seg.c2{stroke:#4338ca;stroke-width:3}
.g-seg.c5{stroke:#c2410c;stroke-width:3}
.g-seg.dash{stroke-dasharray:6 5;stroke:#5d5a72;stroke-width:1.8}
.g-seg.thin{stroke-width:1.4;stroke:#5d5a72}
.g-ang{fill:none;stroke:#c2410c;stroke-width:2}
.g-ang.c2{stroke:#4338ca}
.g-ang.c4{stroke:#15803d}
.g-at{font-size:15px;fill:#c2410c;font-weight:700}
.g-at.c2{fill:#4338ca}
.g-at.c4{fill:#15803d}
.g-dot{fill:var(--ink)}
.g-lab{font-size:16px;font-weight:700;fill:var(--ink);font-style:italic}
.g-txt{font-size:14px;fill:#5d5a72}
.g-txt.b{fill:var(--tc);font-weight:700}
.g-txt.o{fill:#c2410c;font-weight:700}
.g-txt.i{fill:#4338ca;font-weight:700}
