:root{
  --ink:#1c1c20; --muted:#5f606b; --line:#e2e2ea; --bg:#fbfaf8; --card:#fff;
  --accent:#2f5d50; --soft:#eaf2ef; --warn:#8a5a12; --warnbg:#fdf5e6;
  --sans:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{--ink:#e9e9f0;--muted:#a3a3b2;--line:#32323d;--bg:#141418;--card:#1d1d23;
        --accent:#86cab3;--soft:#1e2b28;--warn:#e0b24f;--warnbg:#2a2415;}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.75 var(--sans)}
.wrap{max-width:780px;margin:0 auto;padding:0 18px 70px}
header{border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:20}
.hdr{max-width:780px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{font-weight:700;font-size:1.06rem;color:var(--accent);text-decoration:none;white-space:nowrap}
nav{display:flex;gap:6px;flex-wrap:wrap;flex:1}
nav a{color:var(--muted);text-decoration:none;font-size:.88rem;padding:5px 9px;border-radius:7px}
nav a:hover{background:var(--soft);color:var(--accent)}
nav a.on{background:var(--soft);color:var(--accent);font-weight:600}
#langBtn{border:1px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:7px;padding:6px 13px;font-size:.85rem;cursor:pointer;font-family:inherit;white-space:nowrap}
#langBtn:hover{border-color:var(--accent);color:var(--accent)}
h1{font-size:1.65rem;line-height:1.3;margin:30px 0 6px;text-wrap:balance}
h2{font-size:1.1rem;margin:30px 0 8px;color:var(--accent);text-wrap:balance}
h3{font-size:.99rem;margin:20px 0 5px}
.upd{color:var(--muted);font-size:.87rem;margin:0 0 22px}
.box{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:15px 17px;margin:16px 0}
.alert{background:var(--warnbg);border:1px solid var(--warn);border-radius:11px;padding:15px 17px;margin:18px 0;color:var(--warn)}
.alert strong{color:var(--warn)}
ul,ol{padding-inline-start:22px;margin:9px 0}
li{margin:5px 0}
a{color:var(--accent)}
table{width:100%;border-collapse:collapse;font-size:.93rem;margin:12px 0;min-width:400px}
th,td{border:1px solid var(--line);padding:9px 11px;vertical-align:top;text-align:start}
th{background:var(--soft);font-weight:600}
.scroll{overflow-x:auto;margin:12px 0}
footer{border-top:1px solid var(--line);margin-top:48px;padding:22px 0;color:var(--muted);font-size:.86rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:13px;margin:20px 0}
.cards a{display:block;background:var(--card);border:1px solid var(--line);border-radius:11px;
  padding:15px 17px;text-decoration:none;color:var(--ink)}
.cards a:hover{border-color:var(--accent)}
.cards b{color:var(--accent);display:block;margin-bottom:3px}
.cards span{color:var(--muted);font-size:.89rem}
code{background:var(--soft);color:var(--accent);padding:1px 6px;border-radius:5px;font-size:.87em}
/* Language switching.
   MUST be scoped under body: a bare [lang]{display:none} also matches the
   <html lang="he"> element itself and blanks the whole page. */
body [lang]{display:none}
html[data-l="he"] body [lang="he"],
html[data-l="en"] body [lang="en"]{display:revert}
