:root{color-scheme:light dark;--bg:light-dark(#fdfcfc,#000);--text:light-dark(#222,#b5b5b5);--heading:light-dark(#111,#c9c9c9);--muted:light-dark(#666,#858585);--link:light-dark(#3451c7,#849bff);--line:light-dark(#e4e4e4,#242424);--code-bg:light-dark(#f1f1f3,#1a1a1a);--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:17px/1.65 var(--font);-webkit-text-size-adjust:100%;flex-direction:column;min-height:100dvh;margin:0;display:flex}main{flex:1}main.centered{flex-direction:column;justify-content:center;display:flex}.wrap{width:100%;max-width:44rem;margin:0 auto;padding:0 1.25rem}a{color:var(--link);text-underline-offset:2px}img,video,iframe{max-width:100%}img{height:auto}h1,h2,h3,h4{color:var(--heading);margin:2rem 0 .75rem;line-height:1.25}h1{margin-top:0;font-size:1.9rem}h2{font-size:1.45rem}h3{font-size:1.2rem}h4{font-size:1.05rem}.muted{color:var(--muted)}.small{font-size:.9rem}.site-nav{background:light-dark(#f5f5f5,#0a0a0a)}.nav-inner{flex-wrap:wrap;align-items:stretch;min-height:3.25rem;margin:0 auto;display:flex}.nav-item{color:light-dark(#4a4a4a,#b5b5b5);align-items:center;padding:.5rem .75rem;font-size:1rem;font-weight:600;line-height:1.5;text-decoration:none;display:flex}.brand{margin-right:auto;font-size:1.25rem;font-weight:700}.nav-menu{align-items:stretch;display:flex}.nav-menu a.nav-item:hover,.nav-menu a.nav-item[aria-current=page]{background:light-dark(#e8e8e8,#171717)}@media (width<=767px){.site-nav{background:light-dark(#ebebeb,#1a1a1a)}.brand{min-height:3.25rem}.nav-menu{scrollbar-width:none;flex-basis:100%;order:1;padding:.25rem .5rem 0;overflow-x:auto}.nav-menu::-webkit-scrollbar{display:none}.nav-menu .nav-item{white-space:nowrap;color:light-dark(#555,#a0a0a0);background:linear-gradient(light-dark(#c4c4c4,#3a3a3a),light-dark(#c4c4c4,#3a3a3a)) 0/1px 1rem no-repeat;border-radius:8px 8px 0 0;padding:.45rem clamp(.6rem,3vw,.9rem);font-size:.875rem;font-weight:500;position:relative}.nav-menu .nav-item:first-child,.nav-menu .nav-item[aria-current=page]+.nav-item{background-image:none}.nav-menu a.nav-item:hover{background:light-dark(#dedede,#242424)}.nav-menu a.nav-item[aria-current=page]{background:var(--bg);color:var(--heading)}.nav-menu a.nav-item[aria-current=page]:before,.nav-menu a.nav-item[aria-current=page]:after{content:"";pointer-events:none;width:8px;height:8px;position:absolute;bottom:0}.nav-menu a.nav-item[aria-current=page]:before{background:radial-gradient(circle at 0 0, transparent 8px, var(--bg) 8.5px);left:-8px}.nav-menu a.nav-item[aria-current=page]:after{background:radial-gradient(circle at 100% 0, transparent 8px, var(--bg) 8.5px);right:-8px}}@media (width>=1024px){.nav-inner{max-width:960px}.nav-inner>.brand{margin-left:-.75rem}.nav-theme{margin-right:-.75rem}}@media (width>=1216px){.nav-inner{max-width:1152px}}@media (width>=1408px){.nav-inner{max-width:1344px}}main.wrap{padding-top:3rem}main.wrap.centered{padding-block:2rem}main.centered+.site-footer{margin-top:0}.theme-switch{cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0}.theme-switch .track{background:light-dark(#d6d6d6,#2e2e2e);border-radius:999px;width:2.5rem;height:1.4rem;display:block;position:relative}.theme-switch .knob{background:var(--bg);border-radius:50%;place-items:center;width:1.1rem;height:1.1rem;transition:transform .2s;display:grid;position:absolute;top:.15rem;left:.15rem;box-shadow:0 1px 2px #0000004d}.theme-switch svg{grid-area:1/1;width:.7rem;height:.7rem}.theme-switch .sun{color:light-dark(#c08400,#0000)}.theme-switch .moon{color:light-dark(transparent,var(--text))}:root[data-theme=dark] .theme-switch .knob{transform:translate(1.1rem)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-switch .knob{transform:translate(1.1rem)}}@media (prefers-reduced-motion:reduce){.theme-switch .knob{transition:none}}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:4rem;padding-block:1.5rem 2rem;font-size:.9rem}.site-footer a{color:inherit}.intro{text-align:center;margin-bottom:2rem}.avatar{object-fit:cover;border-radius:50%;width:128px;height:128px}.intro h1{margin:1rem 0 .5rem}.social{flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;margin:0;padding:0;list-style:none;display:flex}.social a{color:var(--muted);padding:.25rem;display:inline-block}.social a:hover{color:var(--text)}.social svg{width:1.25rem;height:1.25rem;display:block}.page-head{margin-bottom:2rem}.page-head h1{margin-bottom:.25rem}.page-head p{color:var(--muted);margin:0}.entries{margin:0;padding:0;list-style:none}.entries li{margin-bottom:1.75rem}.entries h2{margin:.1rem 0 .25rem;font-size:1.15rem}.entries h2 a{color:var(--heading);text-decoration:none}.entries h2 a:hover{color:var(--link)}.entries p{margin:0}.terms-list{columns:2 12rem;padding-left:1.2rem}.entry-head{margin-bottom:2rem}.entry-head h1{margin-bottom:.4rem}.entry-head p{margin:0}.entry-foot{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.25rem}.entry-foot p{margin:0 0 .5rem}.entry-nav{justify-content:space-between;gap:1rem;margin-top:1.5rem;display:flex}.entry-nav a{max-width:48%}.entry-nav .next{text-align:right;margin-left:auto}.prose{overflow-wrap:break-word}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose .table-wrap{margin:0 0 1.1rem}.prose ul,.prose ol{padding-left:1.5rem}.prose li+li{margin-top:.25rem}.prose blockquote{border-left:3px solid var(--line);color:var(--muted);margin-inline:0;padding:.25rem 1rem}.prose code{font-family:var(--mono);background:var(--code-bg);border-radius:4px;padding:.1em .35em;font-size:.88em}.prose pre{border:1px solid var(--line);border-radius:6px;padding:1rem 1.1rem;font-size:.85rem;line-height:1.5;overflow-x:auto}.astro-code{background-color:light-dark(#fff,#0a0a0a)}.astro-code,.astro-code span{color:light-dark(var(--shiki-light),var(--shiki-dark))}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.table-wrap{overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.4rem .6rem}.prose .katex-display{padding:.2rem 0;overflow:auto hidden}:focus-visible{outline:2px solid var(--link);outline-offset:2px}
