/* ===== v46 (יואל, Oct 31 2026) — UI bundle ===== */
:root{--sk1:color-mix(in srgb,var(--ink,#17302f) 7%,transparent);--sk2:color-mix(in srgb,var(--ink,#17302f) 14%,transparent);--bnav-h:66px}
html[data-theme="dark"]{--sk1:rgba(255,255,255,.06);--sk2:rgba(255,255,255,.13)}
/* --- skeleton loading instead of spinners (23) --- */
@keyframes sk46{0%{background-position:100% 0}100%{background-position:-100% 0}}
.spinner{border:0!important;border-radius:8px!important;width:min(240px,62%)!important;height:12px!important;background:linear-gradient(90deg,var(--sk1) 0%,var(--sk2) 50%,var(--sk1) 100%)!important;background-size:200% 100%!important;animation:sk46 1.3s linear infinite!important;display:inline-block}
#loading .spinner{width:min(560px,86vw)!important;height:120px!important;border-radius:18px!important;box-shadow:0 150px 0 -40px var(--sk1),0 230px 0 -40px var(--sk1)}
.sk-page,.sk-list{display:flex;flex-direction:column;gap:12px;padding:18px;width:min(820px,100%);margin:0 auto}
.sk-page i,.sk-list i{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,var(--sk1) 0%,var(--sk2) 50%,var(--sk1) 100%);background-size:200% 100%;animation:sk46 1.3s linear infinite}
.sk-page{background:rgba(255,255,255,.04);border-radius:6px;min-height:70vh;padding:28px 22px}
.sk-page i:nth-child(1){width:55%;height:22px;margin-bottom:10px}.sk-page i:nth-child(3){width:92%}.sk-page i:nth-child(5){width:80%}.sk-page i:nth-child(6){width:60%}
#preview .sk-page{--sk1:rgba(255,255,255,.07);--sk2:rgba(255,255,255,.16)}
.sk-list i{height:44px;border-radius:12px}
@media (prefers-reduced-motion:reduce){.spinner,.sk-page i,.sk-list i{animation:none!important}}
/* --- soft fade between pages (25) --- */
.lib.enter{animation:fade46 .26s ease both}
@keyframes fade46{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.lib.enter{animation:none}}
/* --- header: icons, shrink on scroll (3), 👤 instead of 'התחברות' (20) --- */
.hb46{width:40px;height:40px;display:inline-grid;place-items:center}
.hb46 svg{width:22px;height:22px}
.app-only{display:none}
body.is-app .app-only{display:inline-grid}
body.is-app .app-only[hidden]{display:none}
#hdrRefresh.spin svg{animation:rot46 .8s linear infinite}@keyframes rot46{to{transform:rotate(360deg)}}
.top-actions{display:flex;align-items:center;gap:4px}
.gl46 > span:not(.avatar){position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gl46{min-width:40px;width:40px;height:40px;padding:0!important;justify-content:center;border-radius:50%}
.gl46 .avatar{margin:0}
.topbar{transition:padding .2s ease}
.topbar .logo img{transition:width .2s ease,height .2s ease}
body.scrolled .topbar{padding-top:4px;padding-bottom:4px}
body.scrolled .topbar .brand-text small{display:none}
body.scrolled .topbar .logo img{width:32px;height:32px}
@media (max-width:420px){.topbar .brand-text small{display:none}.hb46{width:36px;height:36px}.topbar{gap:6px}.brand-text strong{font-size:1rem}}
@media (max-width:360px){#hdrDisp{display:none}}
/* installed desktop app: put the header in the title bar when the window-controls overlay is on (I) */
@media (display-mode:window-controls-overlay){
  .topbar{position:fixed;top:env(titlebar-area-y,0);left:env(titlebar-area-x,0);width:env(titlebar-area-width,100%);height:env(titlebar-area-height,40px);min-height:0;padding-top:0;padding-bottom:0;-webkit-app-region:drag;app-region:drag}
  .topbar button,.topbar a,.topbar input,.topbar .menu{-webkit-app-region:no-drag;app-region:no-drag}
  .topbar .brand-text small{display:none}.topbar .logo img{width:28px;height:28px}
  body{padding-top:env(titlebar-area-height,40px)}
}
/* --- thin breadcrumbs (10) + smaller heading --- */
.crumbs46{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;font-size:.84rem;color:var(--muted,#5b6b6a);margin:2px 0 6px;justify-content:flex-start;text-align:start}
.cr46{background:none;border:0;padding:4px 2px;color:var(--primary-strong,#0b7f7b);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent)}
.cr46-s{opacity:.55}.cr46-cur{font-weight:600;color:var(--ink)}
.a-head h1{font-size:clamp(1.7rem,6.4vw,2.3rem)}
/* --- home: this week's parsha / next מועד (D2), continue (F), compact row (2) --- */
.week46{display:flex;gap:10px;margin:4px 0 12px}
.wk-b{flex:1;display:flex;flex-direction:column;align-items:flex-start;position:relative;gap:2px;padding:12px 16px 12px 34px;border-radius:16px;border:1.5px solid color-mix(in srgb,var(--primary) 40%,var(--line,#ddd));background:color-mix(in srgb,var(--primary) 9%,var(--surface));color:var(--ink);cursor:pointer;text-align:start;min-height:64px;font:inherit}
.wk-b small{font-size:.8rem;color:var(--primary-strong);font-weight:600}.wk-b b{font-family:var(--serif);font-size:1.35rem;line-height:1.15}
.wk-m{background:color-mix(in srgb,var(--gold,#b88a3e) 10%,var(--surface));border-color:color-mix(in srgb,var(--gold,#b88a3e) 45%,var(--line,#ddd))}.wk-m small{color:color-mix(in srgb,var(--gold,#b88a3e) 80%,var(--ink))}
.wk-chev{position:absolute;inset-inline-end:10px;top:50%;width:18px;height:18px;transform:translateY(-50%) scaleX(-1);opacity:.6;fill:none;stroke:currentColor;stroke-width:2}
.cont46{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;margin:0 0 12px;border-radius:16px;border:1px solid var(--hair,#ddd);background:var(--surface);color:var(--ink);cursor:pointer;text-align:start;font:inherit}
.cont-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary-strong);flex:none}.cont-ic svg{width:24px;height:24px}
.cont-t{flex:1;display:flex;flex-direction:column;min-width:0}.cont-t small{font-size:.78rem;color:var(--muted,#667)}.cont-t b{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cont-p{color:var(--primary-strong)!important}
.cont-chev{width:18px;height:18px;transform:scaleX(-1);opacity:.55;fill:none;stroke:currentColor;stroke-width:2;flex:none}
.quick46{display:flex;gap:8px;margin:0 0 14px}
.q46{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:14px;border:1px solid var(--hair,#ddd);background:var(--surface);color:var(--ink);cursor:pointer;text-align:start;font:inherit;min-height:54px}
.q46 svg{width:22px;height:22px;flex:none;color:var(--primary-strong)}.q46 span{display:flex;flex-direction:column;min-width:0}.q46 b{font-size:.92rem;white-space:nowrap}.q46 small{font-size:.74rem;color:var(--muted,#667);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q46-f svg{color:#e0a800}.q46-f{flex:0 0 auto;gap:4px;padding:9px 12px}.q46-n{font-size:1rem}
.q46-ring{--p:0;width:34px;height:34px;border-radius:50%;flex:none;display:grid!important;place-items:center;background:conic-gradient(var(--primary) calc(var(--p)*1%),color-mix(in srgb,var(--primary) 15%,transparent) 0)}
.q46-ring i{width:26px;height:26px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-style:normal;font-size:.62rem;font-weight:700}
.new46{margin:18px 0 6px}.new-h{font-size:1rem;margin:0 0 6px}.new46 ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.new-b{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 12px;border-radius:12px;border:1px solid var(--hair,#ddd);background:var(--surface);color:var(--ink);text-align:start;cursor:pointer;font:inherit}.new-b small{color:var(--muted,#667);font-size:.76rem}
/* --- search full-screen (11) + recent searches (21) --- */
.lib-mode .toolbar{display:none!important}
body.srch-open .lib-mode .toolbar{display:flex!important;position:sticky;top:var(--tbh,60px);z-index:12;background:var(--bg,var(--paper));padding:8px 0;margin:0 0 6px}
body.srch-open .bk-grid,body.srch-open .sort{display:none}
.search{position:relative}
.srch-x{display:none;position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink);font-size:1rem;cursor:pointer}
body.srch-open .srch-x{display:block}
body.srch-open .search input{padding-inline-end:52px}
.srch46{padding:6px 2px}.srch-h{font-size:.92rem;margin:12px 0 6px;color:var(--muted,#667)}
.srch-chips{display:flex;flex-wrap:wrap;gap:8px}
.srch-chip{border:1px solid var(--hair,#ddd);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 14px;font:inherit;cursor:pointer;min-height:40px}
.srch-chip.ex{background:color-mix(in srgb,var(--primary) 8%,var(--surface))}
/* --- big bottom bar (F) --- */
.bnav46{grid-template-columns:repeat(4,1fr)!important}
.bnav46 button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.78rem;font-weight:600;min-height:var(--bnav-h)}
.bnav46 button svg{width:26px;height:26px}
.bnav46 button[aria-current="true"]{color:var(--primary-strong)}
.bnav46 button[aria-current="true"] svg{transform:scale(1.08)}
/* --- 'למעלה ⬆' (8) --- */
.up46{position:fixed;inset-inline-start:14px;bottom:calc(var(--bnav-h,66px) + 14px + env(safe-area-inset-bottom));z-index:39;display:flex;align-items:center;gap:4px;padding:8px 12px;border-radius:999px;border:1px solid var(--hair,#ddd);background:var(--surface);color:var(--ink);box-shadow:0 6px 18px rgba(0,0,0,.14);font:inherit;font-size:.8rem;cursor:pointer;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s}
.up46 svg{width:18px;height:18px}.up46.show{opacity:1;transform:none;pointer-events:auto}
@media (min-width:900px){.up46{bottom:24px}}
body:has(.overlay:not(.hidden)) .up46{display:none}
/* --- parsha: compact sicha rows (13), "הצג עוד" (5), slimmer prev/next (17) --- */
.u-compact .x-sub,.u-compact .src-v{display:none}
.u-compact .src-b{min-height:44px;padding-top:6px;padding-bottom:6px}
.more46-w{display:flex;flex-direction:column;align-items:center;gap:8px}.more46-w > ol{width:100%}.more46{margin:4px auto 0}
.sibnav{margin-top:18px;padding-top:8px;gap:6px}
.sib{min-height:42px;padding:2px 4px}.sib small{font-size:.7rem}.sib b{font-size:.92rem}
/* --- parsha list in a חומש: a grid of small buttons (7) --- */
.lib-A .pe-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))!important;gap:8px!important}
@media (max-width:420px){.lib-A .pe-grid{grid-template-columns:repeat(3,1fr)!important}}
/* --- offline: compact icon button (J-d) --- */
.off-row.off-compact{justify-content:center;margin:2px auto 8px}
.off-ic46{width:auto!important;min-height:36px!important;padding:5px 12px!important;gap:6px!important;border-radius:999px!important;font-size:.85rem;display:inline-flex!important;align-items:center}
.off-ic46 .oi-svg{width:20px;height:20px;flex:none}.off-ic46 .oi-t{font-weight:600}.off-ic46 .oi-s{font-size:.72rem;opacity:.7}
.off-ic46.saved{background:color-mix(in srgb,var(--primary) 12%,var(--surface))}
/* --- sicha chooser: each version = פתיחה + הורדה + אופליין; actions in one icon row (9, J) --- */
.ch46{display:flex;flex-direction:column;gap:8px}
.ch-row{display:flex;align-items:stretch;gap:6px}
.ch-row .ch-open{flex:1;min-width:0}
.ch-mini{flex:none;width:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:14px;border:1px solid var(--hair,#ddd);background:var(--surface);color:var(--ink);font:inherit;font-size:.7rem;font-weight:600;cursor:pointer;text-decoration:none;padding:6px 2px}
.ch-mini svg{width:22px;height:22px}
.ch-dl svg{color:var(--primary-strong)}
.ch-off svg{color:#3b7dd8}.ch-off.saved{background:color-mix(in srgb,#3b7dd8 12%,var(--surface));border-color:color-mix(in srgb,#3b7dd8 45%,var(--line,#ddd))}
.ch-single .ch-open strong{font-size:1.15rem}
.ch-legend{font-size:.74rem;color:var(--muted,#667);margin:8px 2px 4px;line-height:1.5}
.ch-acts{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin-top:10px}
.ch-acts > *{margin:0!important}
.ch-acts .lrn{flex:1 1 140px}
.ch-ic{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:6px 12px;border-radius:12px;border:1px solid var(--hair,#ddd);background:var(--surface);color:var(--ink);font:inherit;font-size:.84rem;cursor:pointer;text-decoration:none}
.ch-ic svg{width:20px;height:20px}
.ch-fav.on svg{color:#e0a800}.ch-wa svg{color:#1faa53}
.ch-acts .dsc-btn,.ch-acts [class*="disc"]{flex:1 1 140px}
/* reader toolbar: ☁ offline next to הורדה / הדפסה */
.pv-off svg{width:20px;height:20px}.pv-off.saved{color:#7fb3ff}
/* --- file viewer: full width, small ✕ (18) --- */
#preview .pv-body .pg{max-width:none}
#preview .pv-x{width:36px;height:36px}
@media (min-width:700px){#preview{inset:0!important;width:100vw!important;max-width:none!important;border-radius:0!important}}
/* --- favorites list --- */
.fav-l{list-style:none;margin:0;padding:0;display:grid;gap:6px}.fav-l li{display:flex;gap:6px;align-items:stretch}
.fav-b{flex:1;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--hair,#ddd);background:var(--surface);color:var(--ink);text-align:start;font:inherit;cursor:pointer}
.fav-b small{grid-column:2;color:var(--muted,#667);font-size:.76rem}.fav-s{width:20px;height:20px;color:#e0a800;grid-row:span 2}
.fav-x{width:40px;border-radius:12px;border:1px solid var(--hair,#ddd);background:var(--surface);color:var(--muted,#667);cursor:pointer}
/* --- display sheet --- */
.disp-seg{margin-bottom:6px}.disp-seg button{min-height:48px}
/* --- YouTube player (C) --- */
.yt46{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.yt46 iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sheet-yt{max-width:880px!important}
.yt-acts{justify-content:flex-start;margin-top:8px}.yt-note{font-size:.74rem}
.shi-yt .shi-p{color:#c4302b}
/* --- admin: dropdown tabs + red badges (6, E) --- */
.adm-tabs{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.adm-lbl{display:flex;align-items:center;gap:8px;font-weight:600}.adm-sel{flex:1;min-height:44px;border-radius:12px;padding:6px 10px;font:inherit;border:1px solid var(--line,#ccc);background:var(--surface);color:var(--ink)}
.adm-badges{display:flex;flex-wrap:wrap;gap:6px}
.adm-bdg{display:inline-flex;align-items:center;gap:6px;border:1px solid #f1b4b4;background:#fff3f3;color:#8a1c1c;border-radius:999px;padding:4px 10px;font:inherit;font-size:.8rem;cursor:pointer}
html[data-theme="dark"] .adm-bdg{background:#3a1717;border-color:#6d2a2a;color:#ffd0d0}
.v46-badge{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#d92d2d;color:#fff;font-size:.7rem;font-weight:700;line-height:1;font-style:normal}
#userBtn{position:relative}#userBtn > .v46-badge{position:absolute;top:-4px;inset-inline-end:-4px}
.menu [data-act="admin"] .v46-badge,[data-dr-act="admin"] .v46-badge{margin-inline-start:8px}
.rep46{white-space:pre-wrap;font:inherit;font-size:.86rem;background:color-mix(in srgb,var(--ink) 5%,transparent);border-radius:12px;padding:12px;line-height:1.7}
/* --- 'כל הכבוד!' (once per parsha) --- */
.bravo46{position:fixed;inset:0;z-index:80;display:grid;place-items:center;pointer-events:auto;background:rgba(0,0,0,.18);animation:bvIn .35s ease both}
.bv-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 34px;border-radius:22px;background:var(--surface);color:var(--ink);box-shadow:0 18px 50px rgba(0,0,0,.25);animation:bvPop .6s cubic-bezier(.2,1.4,.4,1) both}
.bv-card b{font-family:var(--serif);font-size:2rem;color:var(--primary-strong)}.bv-card small{font-size:.9rem;color:var(--muted,#667)}
.bv-star{font-size:1.8rem;color:var(--gold,#b88a3e);animation:bvSpin 1.6s ease both}
.bravo46.out{animation:bvOut .6s ease both}
.bravo46.still,.bravo46.still *{animation:none!important}
@keyframes bvIn{from{opacity:0}to{opacity:1}}@keyframes bvOut{to{opacity:0}}@keyframes bvPop{from{transform:scale(.7);opacity:0}to{transform:none;opacity:1}}@keyframes bvSpin{from{transform:rotate(-90deg) scale(.4);opacity:0}to{transform:none;opacity:1}}
/* --- first-visit tips --- */
.tips46{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}
.tips46 li{display:flex;gap:10px;align-items:flex-start}.tips46 li > span{display:flex;flex-direction:column}.tips46 small{color:var(--muted,#667)}
.tip-n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:.9rem}
/* --- menu: collapsible חומשים group (1) --- */
.dr-tog46{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;padding:4px 2px;font:inherit;font-weight:700;color:inherit;cursor:pointer}
.dr-chev46{width:18px;height:18px;transition:transform .2s}.dr-tog46[aria-expanded="false"] .dr-chev46{transform:rotate(90deg)}
body.is-app .brand-text strong{white-space:nowrap}
@media (max-width:420px){body.is-app .brand-text{display:none}}

/* v47: players for every shiurim platform */
.pl47{width:100%;border-radius:12px;overflow:hidden}
.pl47-v{background:#000;aspect-ratio:16/9}.pl47-v video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.pl47-a{padding:10px 0}.pl47-a audio{display:block;width:100%}
.pl47-e iframe{display:block;width:100%;border:0;border-radius:12px;background:transparent}
.pl47-sw{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.pl47-sw .btn{min-height:36px}
@media (prefers-reduced-motion:reduce){.pl47,.pl47 *{transition:none!important;animation:none!important}}
/* v48: rabbi + series dropdowns in שיעורים (like the admin tab dropdown) */
.shi-lbl{margin:2px 0 10px}.shi-lbl .shi-h{margin:0;white-space:nowrap}.shi-sel{color:var(--ink,var(--text));max-width:100%;min-width:0}.shi-lbl2 .shi-sel{min-height:40px;font-size:.92rem}
.shi-sel:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.shi-lbl .shi-h{min-width:4.4em}
