svg[data-astro-cid-6sridc3i]{height:auto}.search-open{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.42rem;padding:.35rem 0;display:inline-flex}.search-open:hover{color:var(--ink)}.search-open svg,.search-field svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:1rem}.search-open kbd{border:1px solid var(--paper-deep);color:var(--ink-ghost);font:.56rem var(--mono);border-radius:.3rem;padding:.08rem .3rem}.search-dialog{border:1px solid var(--paper-deep);background:var(--paper-raised);width:min(42rem,100% - 1.5rem);max-height:min(44rem,100dvh - 2rem);color:var(--ink);border-radius:1rem;padding:0;box-shadow:0 24px 80px #14120f3d}.search-dialog::backdrop{backdrop-filter:blur(3px);background:#14120f7a}.search-panel{padding:1rem}.search-form label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.search-field{border:1px solid var(--paper-deep);background:var(--paper);border-radius:.7rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.2rem .3rem .2rem .85rem;display:grid}.search-field:focus-within{border-color:var(--sage);box-shadow:0 0 0 3px color-mix(in srgb, var(--sage) 18%, transparent)}.search-field input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:.72rem 0}.search-field button{background:var(--paper-wash);color:var(--ink-faint);font:.62rem var(--mono);cursor:pointer;border:0;border-radius:.45rem;padding:.45rem .55rem}.search-hint,.search-status{color:var(--ink-ghost);margin:.8rem .25rem;font-size:.72rem}.search-status:empty{display:none}.search-results{gap:.35rem;max-height:min(31rem,100dvh - 13rem);display:grid;overflow-y:auto}.search-result{border-radius:.7rem;gap:.22rem;padding:.8rem 2.2rem .8rem .85rem;transition:background .14s;display:grid;position:relative}.search-result:hover,.search-result:focus-visible{background:var(--paper-wash);outline:none}.search-result-label{color:var(--sage-deep);font:.6rem var(--mono);text-transform:uppercase;letter-spacing:.07em}.search-result-label.is-app{color:var(--ink-faint)}.search-result strong{font-size:.9rem;font-weight:500}.search-result-copy{color:var(--ink-faint);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;line-height:1.45;display:-webkit-box;overflow:hidden}.search-result-copy mark{background:color-mix(in srgb, var(--sage) 25%, transparent);color:inherit;border-radius:.15rem}.search-result-arrow{color:var(--ink-ghost);font-size:.75rem;position:absolute;top:1rem;right:.9rem}@media (width<=760px){.search-open span,.search-open kbd{display:none}.search-open{padding:.5rem}.search-dialog{margin-top:.75rem}.search-panel{padding:.75rem}}@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/dm-mono-300-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/dm-mono-300-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/dm-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/dm-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/newsreader-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/newsreader-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f4f0e7;--paper-raised:#faf8f2;--paper-deep:#ded8cb;--paper-wash:#ebe6db;--ink:#292b29;--ink-faint:#5f625e;--ink-ghost:#5f625e;--sage:#7c9e8a;--sage-deep:#527561;--action-bg:#527561;--action-bg-hover:#456552;--action-text:#faf8f2;--serif:"Newsreader", Georgia, serif;--sans:"DM Sans", system-ui, sans-serif;--mono:"DM Mono", ui-monospace, monospace;color-scheme:light dark;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility}html[data-theme=paper]{color-scheme:light}html[data-theme=dark]{--paper:#1c1a17;--paper-raised:#23211e;--paper-deep:#14120f;--paper-wash:#2b2823;--ink:#ece7de;--ink-faint:#948c7f;--ink-ghost:#948c7f;--sage:#8fb0a0;--sage-deep:#a8c2b2;--action-bg:#a8c2b2;--action-bg-hover:#8fb0a0;--action-text:#1c1a17;color-scheme:dark;background:#000}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--ink);margin:0;line-height:1.6}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button,input{font:inherit}::selection{color:var(--ink);background:#cbd9cf}.skip-link{z-index:100;background:var(--ink);color:var(--paper);border-radius:.5rem;padding:.65rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;border-bottom:1px solid color-mix(in srgb, var(--paper-deep) 85%, transparent);background:color-mix(in srgb, var(--paper) 91%, transparent);backdrop-filter:blur(14px);position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;gap:2rem;width:min(100% - 2rem,70rem);height:4.25rem;margin:auto;display:flex}.wordmark{letter-spacing:.055em;align-items:center;gap:.65rem;font-size:.92rem;font-weight:600;display:flex}.nav-enso{width:1.35rem;color:var(--sage-deep)}.site-header nav{color:var(--ink-faint);align-items:center;gap:clamp(.85rem,3vw,1.8rem);font-size:.88rem;display:flex}.site-header nav>a:not(.app-action){border-bottom:1px solid #0000;padding:.3rem 0}.site-header nav>a:hover,.site-header nav>a.active{color:var(--ink);border-color:var(--sage)}.theme-toggle{border:1px solid var(--paper-deep);border-radius:999px;align-items:center;gap:.1rem;padding:.15rem;display:flex}.theme-toggle button{width:1.7rem;height:1.7rem;color:var(--ink-ghost);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:.38rem;transition:background .16s,color .16s;display:grid}.theme-toggle button:hover{color:var(--ink)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:100%}html[data-theme-pref=system] [data-theme-choice=system],html[data-theme-pref=light] [data-theme-choice=light],html[data-theme-pref=dark] [data-theme-choice=dark]{background:var(--paper-deep);color:var(--ink)}.app-action,.button{border:1px solid var(--action-bg);background:var(--action-bg);min-height:2.65rem;color:var(--action-text);border-radius:.65rem;justify-content:center;align-items:center;padding:.65rem 1.1rem;font-weight:500;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex;box-shadow:0 5px 18px #36423a1f}.app-action{min-height:2.35rem;padding:.45rem 1rem}.app-action:hover,.button:hover{border-color:var(--action-bg-hover);background:var(--action-bg-hover);transform:translateY(-1px);box-shadow:0 7px 22px #36423a2e}.button.secondary{border-color:var(--paper-deep);background:var(--paper-raised);color:var(--ink);box-shadow:0 4px 14px #2f2c250f}.button.secondary:hover{border-color:var(--ink-ghost);background:var(--paper-raised)}main{min-height:65vh}.shell{width:min(100% - 2rem,70rem);margin-inline:auto}.reading-shell{width:min(100% - 2rem,46rem);margin-inline:auto}.eyebrow{color:var(--sage-deep);font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;margin:0;font-size:.69rem}h1,h2,h3,p{text-wrap:pretty}footer{color:var(--ink-faint);margin-top:3rem;font-size:.78rem}.horizon{border-bottom:1px solid var(--paper-deep);background:linear-gradient(#0000,#7c9e8a12);height:1.5rem}.footer-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;width:min(100% - 2rem,70rem);min-height:4rem;margin:auto;display:grid}.footer-mark{align-items:center;gap:.55rem;display:flex}.footer-enso{width:1rem;color:var(--sage-deep)}footer nav{gap:1.25rem;display:flex}footer nav a:hover{color:var(--ink)}footer nav button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}footer nav button:hover{color:var(--ink)}footer p{justify-self:end;margin:0}.prose{color:var(--ink-faint);font-family:var(--serif);font-size:1.12rem;line-height:1.78}.prose :is(h2,h3){color:var(--ink);font-family:var(--sans);font-weight:500;line-height:1.3}.prose h2{margin:2.6rem 0 .7rem;font-size:1.35rem}.prose h3{margin:2.2rem 0 .55rem;font-size:1.05rem}.prose p{margin:1rem 0}.prose strong{color:var(--ink);font-weight:500}.prose a{color:var(--sage-deep);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--sage) 55%, transparent);text-underline-offset:.2em}.prose li{margin:.42rem 0;padding-left:.2rem}.prose :not(pre)>code{background:var(--paper-wash);color:var(--ink);font:.82em var(--mono);border-radius:.25rem;padding:.1em .28em}.prose pre{border-radius:.6rem;padding:1rem;overflow-x:auto}.prose pre code{font:.82em var(--mono)}.prose blockquote{border-left:2px solid var(--sage);color:var(--ink-faint);margin:1.8rem 0;padding-left:1.2rem;font-style:italic}.legal{padding-block:clamp(3rem,8vw,6rem)}.legal>header{margin-bottom:2.5rem}.legal h1{font:500 clamp(2.2rem, 7vw, 3.8rem) / 1.05 var(--serif);letter-spacing:-.025em;margin:.5rem 0 1rem}.legal .updated{color:var(--ink-faint);font:.72rem var(--mono)}.legal-nav{color:var(--ink-faint);flex-wrap:wrap;gap:.55rem 1rem;margin:0 0 2.5rem;font-size:.78rem;display:flex}.legal-nav a{text-underline-offset:.2em;text-decoration:underline}.cookie-notice{z-index:90;border:1px solid var(--paper-deep);background:color-mix(in srgb, var(--paper-raised) 96%, transparent);width:min(100% - 2rem,46rem);color:var(--ink);backdrop-filter:blur(16px);border-radius:1rem;justify-content:space-between;align-items:center;gap:1.5rem;margin-inline:auto;padding:1rem 1.15rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 14px 45px #00000029}.cookie-notice[hidden]{display:none}.cookie-notice strong{font-size:.9rem;font-weight:500}.cookie-notice p{color:var(--ink-faint);margin:.15rem 0 0;font-size:.78rem;line-height:1.45}.cookie-notice a{color:var(--sage-deep);text-decoration:underline}.cookie-notice button{border:1px solid var(--action-bg);background:var(--action-bg);color:var(--action-text);cursor:pointer;border-radius:.6rem;flex:none;padding:.5rem .8rem}@media (width<=680px){.nav-wrap{height:3.8rem}.site-header nav{gap:.55rem}.site-header nav>a:not(.app-action){display:none}.app-action{min-height:2.2rem;padding:.4rem .75rem}.footer-inner{text-align:center;grid-template-columns:1fr;gap:.65rem;padding:1rem 0 1.25rem}.footer-mark,footer nav{justify-content:center}footer p{justify-self:center}.cookie-notice{align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
