:root{
--paper:#f7f7f4;--paper-soft:#fbfbf9;
--ink:#3a3a36;--ink-soft:#6b6b65;--ink-faint:#a9a9a2;
--mist:#e8e8e2;--sage:#b7c4b3;--clay:#d3c2b4;--haze:#b9c2cc;--blush:#d8c6c6;
--dot:rgba(58,58,54,.06);--r:4px;
--sans:"Inter","Söhne",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
--mono:"iA Writer Quattro","SF Mono","JetBrains Mono",ui-monospace,Menlo,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.sidebar{position:fixed;top:0;left:0;width:300px;height:100vh;overflow-y:auto;background:var(--paper-soft);background-image:radial-gradient(var(--dot) 11%,transparent 12%);background-size:22px 22px;border-right:1px solid var(--mist);padding:40px 22px 56px}
.brand{display:block;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:lowercase;color:var(--ink-soft);margin:0 4px 26px}
.filter{width:100%;padding:8px 11px;margin-bottom:22px;border:1px solid var(--mist);border-radius:var(--r);background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:12px}
.filter::placeholder{color:var(--ink-faint)}
.filter:focus{outline:none;border-color:var(--ink-faint)}
.nav-sec{margin-bottom:22px}
.nav-h{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:lowercase;color:var(--ink-faint);margin:0 6px 8px}
.nav-sec ul{list-style:none;margin:0;padding:0}
.nav-sec li a{display:block;padding:4px 8px;border-radius:var(--r);border:1px solid transparent;color:var(--ink-soft);font-size:13.5px;line-height:1.5;transition:color 200ms ease,border-color 200ms ease}
.nav-sec li a:hover{color:var(--ink);border-color:var(--mist)}
.nav-sec li a.active{color:var(--ink);border-color:var(--mist);background:var(--paper)}
main{margin-left:300px;padding:72px 40px 110px;max-width:860px;animation:zen-fade 480ms ease-out both}
article{max-width:680px}
.page-head{margin-bottom:34px;padding-bottom:18px;border-bottom:1px solid var(--mist)}
.page-head h1{margin:0 0 12px;font-weight:600;line-height:1.3;font-size:clamp(1.6rem,3vw,2.3rem)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--mono);font-size:11px;color:var(--ink-soft);background:transparent;border:1px solid var(--mist);border-radius:var(--r);padding:2px 10px;letter-spacing:.02em;text-transform:lowercase}
h1,h2,h3,h4{line-height:1.35;margin:1.9em 0 .65em;font-weight:600;color:var(--ink)}
h2{font-size:clamp(1.15rem,1.5vw,1.4rem);padding-bottom:7px;border-bottom:1px solid var(--mist)}
h3{font-size:1.08rem}
p,li{overflow-wrap:break-word}strong{font-weight:600}
blockquote{margin:1.4em 0;padding:14px 18px;border:1px solid var(--mist);border-left:2px solid var(--haze);border-radius:0 var(--r) var(--r) 0;background:var(--paper-soft);color:var(--ink-soft)}
blockquote p{margin:.4em 0}
code{font-family:var(--mono);font-size:.85em;background:var(--paper-soft);border:1px solid var(--mist);padding:.06em .35em;border-radius:var(--r);color:var(--ink)}
pre{background:var(--paper-soft);color:var(--ink-soft);border:1px solid var(--mist);padding:16px 18px;border-radius:var(--r);overflow-x:auto;font-size:13px;line-height:1.7}
pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit}
table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:14px;display:block;overflow-x:auto}
th,td{border:1px solid var(--mist);padding:8px 12px;text-align:left;vertical-align:top}
th{background:var(--paper-soft);font-weight:600}td{background:var(--paper)}
hr{border:0;height:1px;background:var(--mist);margin:2.4em 0}
.wl{color:var(--ink);border-bottom:1px solid var(--haze);transition:border-color 200ms ease}
.wl:hover{border-bottom-color:var(--ink-faint)}
.wl.broken{color:var(--ink-faint);border-bottom:1px dotted var(--ink-faint);cursor:help}
article a[href^="http"]{color:var(--ink);border-bottom:1px solid var(--haze);word-break:break-word}
article a[href^="http"]:hover{border-bottom-color:var(--ink-faint)}
.katex{color:var(--ink)}.katex-display{overflow-x:auto;overflow-y:hidden;padding:6px 0}
.backlinks{margin-top:3.4em;padding-top:1.4em;border-top:1px solid var(--mist)}
.backlinks h2{font-family:var(--mono);font-size:11px;border:none;text-transform:lowercase;letter-spacing:.12em;color:var(--ink-faint);margin:0 0 .7em;padding:0;font-weight:500}
.backlinks ul{margin:0;padding-left:1.1em;font-size:14px;color:var(--ink-soft)}
.site-foot{margin-top:4.5em;padding-top:1.2em;border-top:1px solid var(--mist);font-family:var(--mono);color:var(--ink-faint);font-size:12px;letter-spacing:.02em;text-transform:lowercase}
@keyframes zen-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){main{animation:none}}
.hamburger{display:none}
@media(max-width:880px){
.sidebar{transform:translateX(-100%);transition:transform .24s ease;z-index:20;width:84%;max-width:320px}
#navtoggle:checked~.sidebar{transform:none}
main{margin-left:0;padding:78px 20px 80px}
.hamburger{display:flex;position:fixed;top:12px;left:12px;z-index:30;width:42px;height:42px;align-items:center;justify-content:center;background:var(--paper-soft);border:1px solid var(--mist);border-radius:var(--r);color:var(--ink-soft);font-size:16px;cursor:pointer}
}