:root{
  --bg:#f7f5f0; --ink:#1c1c1c; --muted:#6b6558; --line:#ddd6c8;
  --doc:#2f6f4f; --cor:#2f6f9f; --fam:#8a6d1f; --dis:#a13b3b; --dead:#8a8a8a; --unv:#7a5ea8;
  --vorig:#1f7a3d; --vderiv:#1f6f9f; --vindex:#9a7a1f; --vcite:#6b6558; --vmismatch:#a13b3b;
  --panel:#fffdf7;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#17171a; --ink:#eee; --muted:#a3a08f; --panel:#212126; --line:#333; }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 Georgia,'Times New Roman',serif;padding-top:54px}
.topbar{position:fixed;top:0;left:0;right:0;z-index:999;background:#2a2a2a;color:#fff;font:13px/1.4 system-ui,sans-serif;padding:8px 14px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.topbar a{color:#9cf;text-decoration:none;font-weight:600}
.topbar .title{opacity:.9}
main{max-width:880px;margin:0 auto;padding:24px 18px 80px}
h1{font-size:1.7rem;margin:.2em 0 .1em}
h2{font-size:1.25rem;border-bottom:1px solid var(--line);padding-bottom:.25em;margin-top:2em}
h3{font-size:1.05rem}
.sub{color:var(--muted);font:14px/1.4 system-ui,sans-serif;margin-top:0}
.tag{display:inline-block;font:11px/1 system-ui,sans-serif;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#fff;padding:3px 7px;border-radius:3px;margin-right:6px;vertical-align:middle}
.tag-doc{background:var(--doc)} .tag-cor{background:var(--cor)} .tag-fam{background:var(--fam)}
.tag-dis{background:var(--dis)} .tag-dead{background:var(--dead)} .tag-unv{background:var(--unv)}
.evbadge{display:inline-block;font:11px/1 system-ui,sans-serif;font-weight:700;padding:3px 8px;border-radius:3px;color:#fff;margin:4px 6px 4px 0}
.ev-original{background:var(--vorig)} .ev-derivative{background:var(--vderiv)}
.ev-index{background:var(--vindex)} .ev-citation{background:var(--vcite)}
.ev-mismatch{background:var(--vmismatch)}
.record{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin:14px 0}
.record .rid{font:12px/1 system-ui,sans-serif;color:var(--muted);float:right}
.conflict{border:1px solid var(--dis);border-radius:6px;background:rgba(161,59,59,.07);padding:10px 14px;margin:10px 0;font-size:.95em}
.flag{border:1px solid var(--fam);border-radius:6px;background:rgba(138,109,31,.08);padding:10px 14px;margin:10px 0;font-size:.95em}
.pending{border:1px dashed var(--muted);color:var(--muted);padding:10px 14px;margin:10px 0;font:14px/1.4 system-ui,sans-serif;font-style:italic}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:16px 0}
.gcard{background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden;font:13px/1.4 system-ui,sans-serif}
.gcard img{width:100%;height:130px;object-fit:cover;display:block;cursor:pointer;background:#000}
.gcard .body{padding:8px 10px}
.gcard .cap{color:var(--muted);font-size:12px}
.branchgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:20px 0}
.bcard{display:block;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;text-decoration:none;color:inherit}
.bcard h3{margin:.1em 0}
.bcard .status{font:12px/1 system-ui,sans-serif;color:var(--muted)}
footer{max-width:880px;margin:40px auto 0;padding:16px 18px;border-top:1px solid var(--line);color:var(--muted);font:12px/1.5 system-ui,sans-serif}
#lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow:auto}
#lightbox.on{display:flex}
#lightbox .lbmain{display:flex;flex-direction:column;align-items:center;gap:0;max-width:100%;margin:auto}
#lightbox.has-transcript .lbmain{flex-direction:row;align-items:stretch;gap:20px;max-width:1400px;width:100%}
#lightbox .lbimgwrap{display:flex;flex-direction:column;align-items:center;min-width:0}
#lightbox.has-transcript .lbimgwrap{flex:1 1 55%;max-width:60%}
#lightbox img{max-width:92vw;max-height:78vh;object-fit:contain;cursor:zoom-in}
#lightbox.has-transcript img{max-width:100%}
#lightbox.zoomed .lbmain{align-items:flex-start;justify-content:flex-start}
#lightbox.zoomed img{max-width:none;max-height:none;width:auto;height:auto;cursor:zoom-out;margin:0 auto}
#lightbox .lbcap{color:#eee;font:14px/1.4 system-ui,sans-serif;max-width:80vw;text-align:center;margin-top:10px}
#lightbox .lbhint{color:#aaa;font:11px/1 system-ui,sans-serif;text-align:center;margin-top:4px}
#lightbox .lbclose{position:fixed;top:16px;right:20px;color:#fff;font:24px/1 system-ui,sans-serif;cursor:pointer;background:none;border:none;z-index:1001}
#lightbox .lbtranscript{display:none;flex:1 1 45%;max-width:45%;background:#1a1a1a;border-radius:8px;padding:16px 18px;max-height:80vh;overflow:hidden;flex-direction:column}
#lightbox.has-transcript .lbtranscript{display:flex}
#lightbox .lbtabs{display:flex;gap:8px;margin-bottom:12px;flex-shrink:0}
#lightbox .lbtab{font:13px/1.4 system-ui,sans-serif;padding:6px 12px;border-radius:5px;border:1px solid #444;background:#222;color:#ccc;cursor:pointer}
#lightbox .lbtab.on{background:#eee;color:#111;border-color:#eee}
#lightbox .lbtext{color:#eee;font:15px/1.7 system-ui,sans-serif;overflow-y:auto;white-space:pre-wrap}
#lightbox .lbtext[lang="he"]{font-family:'Times New Roman',serif;font-size:16px}
@media (max-width:860px){
  #lightbox.has-transcript .lbmain{flex-direction:column;overflow-y:auto;max-height:calc(100vh - 40px)}
  #lightbox.has-transcript .lbimgwrap{max-width:100%}
  #lightbox.has-transcript .lbtranscript{max-width:100%;max-height:40vh}
}
.heb{direction:rtl;unicode-bidi:embed;font-family:'Times New Roman',serif}
.gallery-search-wrap{display:flex;align-items:center;gap:10px;margin:10px 0 18px}
#gallery-search{flex:1;max-width:420px;padding:8px 12px;font:14px/1.4 system-ui,sans-serif;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink)}
#gallery-search-count{white-space:nowrap}
.kw-chip{display:inline-block;font:11px/1 system-ui,sans-serif;font-weight:600;color:var(--cor);text-decoration:none;background:rgba(47,111,159,.1);border:1px solid var(--line);border-radius:3px;padding:3px 6px;margin:2px 3px 2px 0}
.kw-chip:hover{text-decoration:underline}
