:root{--paper:#f1f2ee;--paper-bright:#fbfcf8;--ink:#18242a;--ink-soft:#405159;--ink-faint:#6e7b80;--rule:#18242a52;--rule-faint:#18242a21;--accent:#b4432d;--serif:"Cormorant Garamond", "EB Garamond", Georgia, serif;--text:"EB Garamond", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--measure:38rem;--fs-sm:.88rem;--fs-base:1rem;--fs-md:1.3rem;--fs-lg:1.75rem;--fs-xl:2.6rem}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--paper);color:var(--ink);font-family:var(--text);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font-size:21px;line-height:1.58}section[id]{scroll-margin-top:4rem}@media (width<=720px){html{font-size:18px}}body{min-height:100vh;overflow-x:clip}body:after{content:"";z-index:999;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{background:var(--ink);color:var(--paper)}.ruled{background-image:repeating-linear-gradient(to bottom, var(--rule) 0, var(--rule) 1px, transparent 1px, transparent 7px)}.ruled-faint{background-image:repeating-linear-gradient(to bottom, var(--rule-faint) 0, var(--rule-faint) 1px, transparent 1px, transparent 7px)}.solar-mark{--solar-size:2rem;width:var(--solar-size);height:var(--solar-size);flex:0 0 var(--solar-size);border-radius:50%;display:inline-block;position:relative;overflow:hidden}.solar-mark:before,.solar-mark:after{content:"";border-radius:50%;position:absolute}.solar-mark:before{background:repeating-conic-gradient(from 0deg, var(--ink) 0deg 1.2deg, transparent 1.2deg 8deg);animation:56s linear infinite solar-turn;inset:0}.solar-mark:after{background:var(--ink);inset:35%}@keyframes solar-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.solar-mark:before{animation:none}}.title-plate{border:1px solid var(--ink);background:var(--paper-bright);padding:.08em .38em .13em;display:inline-block}h1,h2,h3{font-family:var(--serif);letter-spacing:0;font-weight:600;line-height:1.1}a{color:inherit;border-bottom:1px solid var(--rule);text-decoration:none;transition:border-color .12s,color .12s}a:hover{color:var(--accent);border-color:var(--accent)}code,pre{font-family:var(--mono);font-size:.78em}pre{line-height:1.7;overflow-x:auto}.label{font-family:var(--mono);letter-spacing:0;text-transform:uppercase;color:var(--ink-faint);font-size:.72rem}hr.rule{border:none;border-top:1px solid var(--ink);margin:0}.doc-prose{max-width:var(--measure)}.doc-prose h1{font-size:var(--fs-xl);margin-bottom:1.4rem}.doc-prose h2{font-size:var(--fs-lg);margin:2.6rem 0 .9rem}.doc-prose h3{font-size:var(--fs-md);margin:2rem 0 .7rem}.doc-prose p,.doc-prose ul,.doc-prose ol{margin-bottom:1em}.doc-prose ul,.doc-prose ol{padding-left:1.4em}.doc-prose li+li{margin-top:.3em}.doc-prose pre{border:1px solid var(--rule);background:var(--paper-bright);margin:1.4rem 0;padding:1.1rem 1.3rem}.doc-prose code{background:var(--paper-bright);box-shadow:0 0 0 1px var(--rule-faint);padding:.08em .3em}.doc-prose pre code{box-shadow:none;background:0 0;padding:0}.doc-prose blockquote{border-left:2px solid var(--ink);color:var(--ink-soft);margin:1.4rem 0;padding-left:1.2rem;font-style:italic}.doc-prose table{border-collapse:collapse;margin:1.4rem 0;font-size:.92em}.doc-prose th,.doc-prose td{border:1px solid var(--rule);text-align:left;padding:.45em .8em}.doc-prose th{font-family:var(--mono);letter-spacing:0;text-transform:uppercase;background:var(--paper-bright);font-size:.72em}:root{color-scheme:light}html[data-reading-theme=dark] :is(.playground,.inquiry-cell){color-scheme:dark;--paper:#172125;--paper-bright:#202d31;--ink:#e7eee9;--ink-soft:#c6d2cf;--ink-faint:#9faeaa;--rule:#e7eee952;--rule-faint:#e7eee921;--accent:#efac91;--cog-muted:#9faeaa;--cog-line:#9faeaa;--cog-support:#8bd1c7;--cog-objection:#efac91;background:var(--paper);color:var(--ink)}:where(button,summary,a):focus-visible{outline:2px solid var(--accent);outline-offset:5px}.article-shell{grid-template-columns:minmax(0,1fr) 10rem;column-gap:clamp(2rem,5vw,4.5rem);max-width:63rem;margin:auto;padding:2.5rem 2rem 5rem;display:grid}.article-shell .crumb{grid-column:1/-1;align-items:baseline;gap:.8rem;margin-bottom:2.6rem;display:flex}.article-shell .crumb>:last-child{text-transform:capitalize}.article-shell .doc-prose{justify-self:center;width:100%;min-width:0}.article-shell .doc-prose>h1:first-child{text-wrap:balance;max-width:17ch;margin-bottom:1.4rem;font-size:clamp(2.55rem,4vw,3.25rem);line-height:1.05}.article-shell .doc-prose>h1:first-child+p{color:var(--ink-soft);font-size:1.13em;line-height:1.5}.article-shell .doc-prose :is(h2,h3)[id]{scroll-margin-top:2rem}.article-shell .doc-prose h2{margin-top:2.8rem}.article-rail{align-self:start;padding-top:.35rem;position:sticky;top:2rem}.article-contents summary{cursor:pointer;color:var(--ink-faint);justify-content:space-between;align-items:center;list-style:none;display:flex}.article-contents summary::-webkit-details-marker{display:none}.article-contents summary:after{content:"";border-bottom:1px solid;border-right:1px solid;width:.3rem;height:.3rem;transition:transform .18s;transform:rotate(45deg)}.article-contents[open] summary:after{transform:rotate(225deg)}.article-rail ol{counter-reset:section;margin:.8rem 0 0;padding:0;list-style:none}.article-rail li{margin:.35rem 0}.article-rail li[data-depth="2"]{counter-increment:section}.article-rail a{border:0;border-left:1px solid var(--rule-faint);color:var(--ink-soft);padding:.35rem 0 .35rem .7rem;font-size:.73rem;line-height:1.4;transition:border-color .18s,color .18s;display:block}.article-rail a:hover{color:var(--accent)}.article-rail a[aria-current=location]{color:var(--accent);border-left-color:var(--accent)}.article-rail li[data-depth="3"] a{color:var(--ink-faint);padding-left:1.2rem;font-size:.68rem}.article-rail li[data-depth="3"] a[aria-current]{color:var(--accent)}.article-pager{border-top:1px solid var(--rule);grid-column:1/-1;justify-content:space-between;gap:2rem;margin-top:4rem;padding-top:1.1rem;font-size:1.2rem;display:flex}.article-pager a{border:0;max-width:48%}.article-pager a:last-child{text-align:right}.article-code{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-faint);min-width:0;margin:1.7rem 0 1.9rem}.article-code figcaption{color:var(--ink-faint);font:.58rem/1.4 var(--mono);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem 0;display:flex}.article-code-label{letter-spacing:.04em;text-transform:uppercase}.article-code figcaption>div{flex-wrap:wrap;align-items:center;gap:1.1rem;display:flex}.article-code button{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;padding:.25rem 0;transition:color .16s}.article-code button:hover,.article-code button[aria-expanded=true]{color:var(--accent)}.article-code button[aria-expanded]{align-items:center;gap:.5rem;display:inline-flex}.article-code button[aria-expanded]:after{content:"";border-bottom:1px solid;border-right:1px solid;width:.3rem;height:.3rem;transition:transform .22s;transform:rotate(45deg)translateY(-2px)}.article-code button[aria-expanded=true]:after{transform:rotate(225deg)translate(-1px,-1px)}.article-code figcaption a{color:var(--ink-faint);border:0;font-size:.55rem}.doc-prose .article-code pre{border:0;border-left:1px solid var(--rule-faint);max-width:100%;margin:0;padding:1.15rem 1.25rem;line-height:1.8;background:var(--paper-bright)!important}.article-exploration{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.22,.8,.2,1),opacity .24s;display:grid}.article-exploration[data-open=true]{opacity:1;grid-template-rows:1fr}.article-exploration>div{min-height:0;overflow:hidden}.article-code iframe{background:var(--paper);border:0;width:100%;height:640px;transition:height .24s cubic-bezier(.22,.8,.2,1);display:block}.article-code-status{color:var(--accent)}.article-comparison{min-width:0;margin:1.7rem 0 1.9rem}.article-comparison-sources{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.article-comparison-sources .article-code{margin:0}.article-comparison-sources figcaption{align-content:start;min-height:5.5rem;display:grid}.article-comparison-sources figcaption>div{align-content:start}.article-comparison-sources .article-code[data-preview-selected=true]{border-top-color:var(--accent)}.article-comparison-preview iframe{background:var(--paper);border:0;width:100%;height:640px;transition:height .24s cubic-bezier(.22,.8,.2,1);display:block}.article-comparison-help{color:var(--ink-faint);margin:.65rem 0 0;font-size:.76rem;line-height:1.5}.article-translation-status{color:var(--ink-faint);font:.65rem/1.6 var(--mono)}.article-translation-status:empty{display:none}@media (width<=1000px){.article-shell{max-width:calc(var(--measure) + 4rem);grid-template-columns:minmax(0,1fr)}.article-rail{border-top:1px solid var(--rule-faint);border-bottom:1px solid var(--rule-faint);grid-row:2;margin-bottom:2rem;padding:.6rem 0;position:static}.article-contents summary{min-height:1.5rem}.article-rail ol{columns:2;column-gap:1.5rem}.article-rail li{break-inside:avoid}.article-shell .doc-prose{grid-row:3}}@media (width<=720px){.article-comparison-sources{grid-template-columns:minmax(0,1fr)}.article-shell{padding:1.8rem 1.15rem 3.5rem}.article-shell .crumb{margin-bottom:1.4rem;font-size:.6rem}.article-rail{margin-bottom:2rem}.article-rail ol{columns:1}.article-rail a{font-size:.85rem}.article-shell .doc-prose>h1:first-child{font-size:2.65rem}.article-shell .doc-prose>h1:first-child+p{font-size:1.06em}.article-code figcaption{padding:.55rem 0}.article-code figcaption>div{gap:.8rem}.doc-prose .article-code pre{padding:.95rem .8rem}}@media (pointer:coarse){.article-code button,.article-contents summary{min-height:44px}}@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}}html[data-reading-motion=reduce] *,html[data-reading-motion=reduce] :before,html[data-reading-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.doc-prose .article-code pre code{font-size:1em}.doc-prose .article-code pre[data-cog-example=true]{white-space:pre-wrap;overflow-wrap:anywhere}
