:root{--ground:#F3EDDF;--surface:#FBF8F1;--surface2:#EFE7D6;--ink:#20242E;--muted:#6E6653;--accent:#8F6224;--accent-soft:#C29A54;--line:#E1D9C6;--wash:#F3E8CF;--spine:#CDAA62;}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ground:#11141A;--surface:#1B1F28;--surface2:#161A22;--ink:#ECE5D6;--muted:#9A9382;--accent:#CB9E56;--accent-soft:#7E6230;--line:#2B303B;--wash:#241E12;--spine:#6E572B;}}
:root[data-theme="dark"]{--ground:#11141A;--surface:#1B1F28;--surface2:#161A22;--ink:#ECE5D6;--muted:#9A9382;--accent:#CB9E56;--accent-soft:#7E6230;--line:#2B303B;--wash:#241E12;--spine:#6E572B;}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:"Spectral",Georgia,serif;line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px;}
/* ---- sticky nav ---- */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--ground) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav .inner{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:6px;padding:10px 18px;flex-wrap:wrap;}
.nav .brand{font-family:"Noto Serif Hebrew","Frank Ruhl Libre",serif;font-weight:900;font-size:1.25rem;color:var(--accent);text-decoration:none;margin-inline-end:auto;letter-spacing:-.01em;}
.nav a.item{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:6px 10px;border-radius:999px;white-space:nowrap;}
.nav a.item:hover{color:var(--ink);background:var(--surface);}
.nav a.item[aria-current="page"]{color:var(--ground);background:var(--accent);}
@media(max-width:640px){.nav .inner{gap:2px;padding:8px 12px}.nav a.item{padding:5px 7px;font-size:.66rem}}
/* ---- layout ---- */
.wrap{max-width:760px;margin:0 auto;padding:44px 22px 72px;}
.wrap.wide{max-width:960px;}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;}
h1.page{font-family:"Frank Ruhl Libre","Spectral",serif;font-weight:900;font-size:clamp(2.1rem,6vw,3rem);line-height:1.05;margin:0 0 6px;letter-spacing:-.01em;text-wrap:balance;}
h1.page .he{font-family:"Noto Serif Hebrew",serif;}
.dek{color:var(--muted);font-size:1.08rem;max-width:60ch;margin:8px 0 0;}
h2.sec{font-family:"Frank Ruhl Libre",serif;font-weight:700;font-size:1.5rem;margin:34px 0 4px;letter-spacing:-.005em;border-top:1px solid var(--line);padding-top:24px;}
h3.sub{font-family:"Frank Ruhl Libre",serif;font-weight:700;font-size:1.18rem;margin:22px 0 2px;}
p{margin:10px 0;}
.he{font-family:"Noto Serif Hebrew","Spectral",serif;}
.lead b,p b{color:var(--ink);}
.tag-src{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.05em;color:var(--accent);background:var(--wash);border:1px solid var(--accent-soft);border-radius:999px;padding:1px 7px;white-space:nowrap;}
blockquote{margin:14px 0;padding:12px 16px;border-inline-start:3px solid var(--accent-soft);background:var(--surface);border-radius:0 10px 10px 0;color:var(--ink);}
blockquote.he{font-family:"Noto Serif Hebrew",serif;direction:rtl;text-align:right;border-inline-start:0;border-inline-end:3px solid var(--accent-soft);border-radius:10px 0 0 10px;}
table.tidy{width:100%;border-collapse:collapse;margin:14px 0;font-size:.96rem;}
table.tidy th,table.tidy td{border:1px solid var(--line);padding:8px 11px;text-align:start;vertical-align:top;}
table.tidy th{background:var(--surface2);font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);}
.download{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 14px;text-decoration:none;color:var(--ink);font-size:.9rem;margin:4px 8px 4px 0;}
.download:hover{border-color:var(--accent);}
.callout{background:var(--wash);border:1px solid var(--accent-soft);border-radius:12px;padding:14px 16px;margin:18px 0;font-size:.95rem;}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:40px;border-top:1px solid var(--line);padding-top:18px;flex-wrap:wrap;}
.pager a{font-family:"IBM Plex Mono",monospace;font-size:.8rem;text-decoration:none;color:var(--accent);}
footer.site{max-width:960px;margin:0 auto;padding:28px 22px 50px;color:var(--muted);font-size:.8rem;line-height:1.7;text-align:center;}
footer.site .note{font-family:"IBM Plex Mono",monospace;font-size:.7rem;}
