:root{--zen-color-light:hsl(207deg 37% 42%);--zen-color-mid:hsl(207deg 37% 32%);--zen-color-dark:hsl(207deg 37% 22%);--zen-color-black:hsl(207deg 37% 16%);--zen-panel-bg:rgba(255, 255, 255, 0.80);--zen-panel-radius:6px;--zen-panel-shadow:0 28px 70px rgba(0, 0, 0, 0.22);--zen-panel-padding-x:clamp(1.25rem, 4vw, 2.75rem);--zen-panel-padding-y:clamp(1.5rem, 3vw, 2.5rem);--zen-panel-border:rgba(255, 255, 255, 0.45);--zen-bg-blur:10px;--zen-codelist-bg:hsl(207deg 37% 16%);--zen-overlay-subtle:rgba(0, 0, 0, 0.03);--zen-border-subtle:rgba(0, 0, 0, 0.06);--zen-border-hr:rgba(0, 0, 0, 0.08);--scene-bg:#0b0f12;--scene-blur:0px;--scene-gradient-start:rgba(10, 16, 22, 0);--scene-gradient-mid:rgba(10, 16, 22, 0.15);--scene-gradient-end:rgba(10, 16, 22, 0.25);--font-sans:system-ui, -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Source Code Pro",
        Menlo, Consolas, "DejaVu Sans Mono", monospace;--line-height:1.65}*,*::before,*::after{box-sizing:border-box}html{background:var(--scene-bg);color:var(--zen-color-black);font-family:var(--font-sans);line-height:var(--line-height)}body{margin:0;padding:2rem 1.25rem;min-height:100vh}.bg-scene{position:fixed;left:0;right:0;z-index:0;top:0;height:140vh;background-size:cover;background-position:50%;background-repeat:no-repeat;will-change:transform;filter:blur(var(--scene-blur))}.bg-scene-light{opacity:1}.bg-scene-dark{opacity:0}.bg-scene::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,var(--scene-gradient-start) 0%,var(--scene-gradient-mid) 50%,var(--scene-gradient-end) 100%)}main{position:relative;z-index:1;max-width:48rem;margin:0 auto}.zen-panel{background:var(--zen-panel-bg);border-radius:var(--zen-panel-radius);padding:var(--zen-panel-padding-y)var(--zen-panel-padding-x);box-shadow:var(--zen-panel-shadow);border:1px solid var(--zen-panel-border);backdrop-filter:blur(var(--zen-bg-blur))saturate(1.08);-webkit-backdrop-filter:blur(var(--zen-bg-blur))saturate(1.08)}.zen-hero{margin-bottom:2rem}.zen-details{margin-bottom:2rem}.zen-page{margin-bottom:2rem}h1,h2,h3{color:var(--zen-color-mid);font-weight:500;line-height:1.25}h1{font-size:2rem;margin:0}.page-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.25rem}.title-link{color:inherit;text-decoration:none}.title-link:hover,.title-link:focus{color:inherit;text-decoration:none;opacity:.8}h2{font-size:1.25rem;margin:2.5rem 0 .5rem}h3{font-size:1.05rem;margin:2rem 0 .25rem}p{margin:.75rem 0;color:var(--zen-color-black)}.muted,small{color:var(--zen-color-light)}blockquote{margin:1.25rem 0;padding:.75rem 1.25rem;border-left:3px solid var(--zen-color-mid);background:var(--zen-overlay-subtle);border-radius:0 4px 4px 0}blockquote p{margin:0;color:var(--zen-color-light);font-style:italic}.zen-codelist{background:var(--zen-codelist-bg);border-radius:4px;padding:1rem 1.25rem;overflow-x:auto}.zen-codelist ol{margin:0;padding-left:1.75rem;font-family:var(--font-mono);font-size:.85rem;line-height:1.8;list-style-type:decimal}.zen-import{font-family:var(--font-mono);font-size:.85rem;line-height:1.8;padding-left:1.75rem;margin-bottom:1.8em;position:relative}.zen-import::before{content:">>>";position:absolute;left:0;width:1.75rem;box-sizing:border-box;padding-right:.35rem;text-align:right;color:hsl(207deg 20% 40%)}.zen-import .keyword{color:hsl(207deg 40% 75%)}.zen-import .module{color:hsl(207deg 50% 88%)}.zen-codelist ol li{margin:0;color:hsl(207deg 30% 65%)}.zen-codelist ol li::marker{color:hsl(207deg 20% 40%)}.zen-codelist ol li a{color:hsl(207deg 40% 75%);text-decoration:none}.zen-codelist ol li a:hover,.zen-codelist ol li a:focus{color:hsl(207deg 50% 88%);text-decoration:underline}section{padding-top:.5rem}section+section{border-top:1px solid var(--zen-border-subtle)}a{color:var(--zen-color-mid);text-decoration:none}a:hover,a:focus{color:var(--zen-color-dark);text-decoration:underline}.badge{display:inline-block;font-size:.75rem;padding:.15rem .4rem;margin-right:.25rem;border-radius:3px;background:var(--zen-border-subtle);color:var(--zen-color-mid)}.back-link{margin-bottom:.75rem;font-size:.85rem}.back-link a{color:var(--zen-color-mid);text-decoration:none}.back-link a:hover,.back-link a:focus{color:var(--zen-color-dark);text-decoration:underline}.zen-footer{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;opacity:.7}.zen-footer hr{flex-basis:100%;margin-bottom:.5rem}.zen-footer nav a,.zen-footer-credit,.zen-footer-credit a{color:var(--zen-color-light);font-size:.8rem;text-decoration:none}.zen-footer nav a:hover,.zen-footer nav a:focus,.zen-footer-credit a:hover,.zen-footer-credit a:focus{color:var(--zen-color-mid);text-decoration:underline}.zen-footer nav a.active{color:var(--zen-color-mid);pointer-events:none}.zen-footer nav a+a::before{content:"\00b7";margin:0 .5em;color:var(--zen-color-light);text-decoration:none;display:inline-block}hr{border:none;border-top:1px solid var(--zen-border-hr);margin:3rem 0}.anchor-link{margin-left:.4em;font-size:.85em;font-weight:400;color:var(--zen-color-light);opacity:.35;text-decoration:none;position:relative;transition:opacity .2s ease}.anchor-link:hover,.anchor-link:focus{opacity:1;color:var(--zen-color-mid);text-decoration:none}section:hover .anchor-link{opacity:.6}section:hover .anchor-link:hover{opacity:1}.anchor-link.copied::after{content:'Copied!';position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);font-family:var(--font-sans);font-size:.7rem;font-weight:500;color:#fff;background:var(--zen-color-dark);padding:.2rem .5rem;border-radius:3px;white-space:nowrap;pointer-events:none;animation:tooltip-fade 2s ease forwards}@keyframes tooltip-fade{0%{opacity:1}70%{opacity:1}100%{opacity:0}}.back-to-top{position:fixed;bottom:2rem;right:calc(50% - 24rem + var(--zen-panel-padding-x) - 1.25rem);z-index:10;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--zen-panel-bg);backdrop-filter:blur(var(--zen-bg-blur));-webkit-backdrop-filter:blur(var(--zen-bg-blur));border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 20px rgba(0,0,0,.15);color:var(--zen-color-mid);font-size:1.1rem;text-decoration:none;line-height:1;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;transform:translateY(.5rem)}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover,.back-to-top:focus{color:var(--zen-color-dark);text-decoration:none;box-shadow:0 4px 24px rgba(0,0,0,.22)}@media(max-width:52rem){.back-to-top{right:1.5rem}}::selection{background:var(--zen-color-mid);color:#fff}@media(prefers-color-scheme:dark){html:not([data-theme=light]){--zen-color-light:hsl(207deg 30% 65%);--zen-color-mid:hsl(207deg 37% 60%);--zen-color-dark:hsl(207deg 37% 72%);--zen-color-black:hsl(207deg 20% 85%);--zen-panel-bg:rgba(20, 35, 50, 0.90);--zen-panel-shadow:0 28px 70px rgba(0, 0, 0, 0.5);--zen-panel-border:rgba(255, 255, 255, 0.08);--zen-overlay-subtle:rgba(255, 255, 255, 0.04);--zen-border-subtle:rgba(255, 255, 255, 0.08);--zen-border-hr:rgba(255, 255, 255, 0.10);--scene-gradient-start:rgba(10, 16, 22, 0);--scene-gradient-mid:rgba(10, 16, 22, 0.15);--scene-gradient-end:rgba(10, 16, 22, 0.25);--zen-codelist-bg:hsl(207deg 30% 10%)}html:not([data-theme=light]) .bg-scene-light{opacity:0 !important}html:not([data-theme=light]) .bg-scene-dark{opacity:1 !important}}html[data-theme=dark]{--zen-color-light:hsl(207deg 30% 65%);--zen-color-mid:hsl(207deg 37% 60%);--zen-color-dark:hsl(207deg 37% 72%);--zen-color-black:hsl(207deg 20% 85%);--zen-panel-bg:rgba(20, 35, 50, 0.90);--zen-panel-shadow:0 28px 70px rgba(0, 0, 0, 0.5);--zen-panel-border:rgba(255, 255, 255, 0.08);--zen-overlay-subtle:rgba(255, 255, 255, 0.04);--zen-border-subtle:rgba(255, 255, 255, 0.08);--zen-border-hr:rgba(255, 255, 255, 0.10);--scene-gradient-start:rgba(10, 16, 22, 0);--scene-gradient-mid:rgba(10, 16, 22, 0.15);--scene-gradient-end:rgba(10, 16, 22, 0.25);--zen-codelist-bg:hsl(207deg 30% 10%)}html[data-theme=dark] .bg-scene-light{opacity:0 !important}html[data-theme=dark] .bg-scene-dark{opacity:1 !important}.theme-toggle{display:none;background:0 0;border:none;padding:0;cursor:pointer;color:var(--zen-color-light);font-size:1.15rem;font-family:inherit;line-height:1}.theme-toggle:hover{color:var(--zen-color-mid)}html.js-enabled .theme-toggle{display:inline}@media(max-width:640px){body{padding:1rem .75rem}.zen-codelist{padding:.75rem}.zen-codelist ol{font-size:.75rem;padding-left:1.5rem}.zen-import{font-size:.75rem;padding-left:1.5rem}.zen-import::before{width:1.5rem}h1{font-size:1.5rem}}