:root{--logo-min-mark: 24px;--logo-min-lockup: 120px;--logo-lockup-height: 28px;--logo-mark-height: 24px;--logo-clear: 16px;--logo-colour: var(--fg);--state-amber-light: #7E5B1C;--state-amber-dark: #CC9E52;--state-red-light: #9A4A3C;--state-red-dark: #D99484;--bg-2-dark: #2A312C;--lede-home: var(--type-display);--lede-home-fluid: min(var(--lede-home), 6vw)}:root{--dark-green: #202622;--green: #42654C;--light-green: #B1BDAA;--lighter-green: #D5D8CE;--cream: #F3F0E9}:root{--bg: var(--cream);--bg-2: var(--lighter-green);--fg: var(--dark-green);--fg-2: var(--green);--fg-3: #555854;--accent: var(--green);--accent-hover: color-mix(in srgb, var(--accent) 92%, #000);--on-accent: var(--cream);--line: var(--lighter-green);--line-strong: var(--light-green);--holds: var(--green);--not-established: var(--state-amber-light);--disproven: var(--state-red-light);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: var(--dark-green);--bg-2: var(--bg-2-dark);--fg: var(--cream);--fg-2: var(--lighter-green);--fg-3: var(--light-green);--accent: var(--light-green);--accent-hover: color-mix(in srgb, var(--accent) 92%, #fff);--on-accent: var(--dark-green);--line: var(--green);--line-strong: var(--green);--holds: var(--light-green);--not-established: var(--state-amber-dark);--disproven: var(--state-red-dark);color-scheme:dark}}:root[data-theme=dark]{--bg: var(--dark-green);--bg-2: var(--bg-2-dark);--fg: var(--cream);--fg-2: var(--lighter-green);--fg-3: var(--light-green);--accent: var(--light-green);--accent-hover: color-mix(in srgb, var(--accent) 92%, #fff);--on-accent: var(--dark-green);--line: var(--green);--line-strong: var(--green);--holds: var(--light-green);--not-established: var(--state-amber-dark);--disproven: var(--state-red-dark);color-scheme:dark}:root{--holds-bg: color-mix(in srgb, var(--holds) 12%, transparent);--not-established-bg: color-mix(in srgb, var(--not-established) 12%, transparent);--disproven-bg: color-mix(in srgb, var(--disproven) 12%, transparent);--code-bg: var(--bg-2);--selection: color-mix(in srgb, var(--accent) 28%, transparent);--focus-ring: 2px solid var(--accent);--focus-offset: 2px;--disabled-opacity: .4;--secondary-hover-bg: color-mix(in srgb, var(--accent) 10%, transparent);--bg-raised: var(--bg-2);--bg-sunken: var(--bg);--fg-muted: var(--fg-2);--fg-faint: var(--fg-3);--accent-ink: var(--on-accent)}:root{--font-display: "Cormorant Garamond", "Cormorant", Georgia, serif;--font-brand: var(--font-display);--font-ui: "Inter", -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--type-display: 72px;--lh-display: 1.02;--ls-display: -.02em;--type-h1: 52px;--lh-h1: 1.08;--ls-h1: -.015em;--type-h2: 38px;--lh-h2: 1.12;--ls-h2: -.01em;--type-h3: 28px;--lh-h3: 1.2;--type-lead: 21px;--lh-lead: 1.5;--type-body: 18px;--lh-body: 1.6;--type-small: 15px;--lh-small: 1.5;--type-label: 13px;--lh-label: 1.4;--ls-label: .04em;--type-nav: 15px;--ls-nav: .01em;--type-code: 15px;--text-xs: var(--type-label);--text-sm: var(--type-small);--text-md: var(--type-body);--text-base: var(--type-body);--text-lg: var(--type-lead);--text-xl: var(--type-h3);--text-2xl: var(--type-h2);--text-3xl: var(--type-h1);--leading: var(--lh-body);--leading-tight: var(--lh-h1);--measure: 68ch;--measure-display: 20ch;--tracking-display: var(--ls-display)}:root{--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--s-20: 80px;--s-24: 96px;--s-32: 128px;--wrap: 1200px;--gutter: 48px;--section: 96px;--card-pad: 32px;--surface-pad: 24px;--radius-sm: 4px;--radius: 4px;--radius-pill: 999px;--ease: .22s ease}@media(max-width:720px){:root{--type-display: 44px;--type-h1: 36px;--type-h2: 30px;--type-h3: 24px;--type-lead: 19px;--type-body: 17px;--type-code: 14px;--gutter: 24px;--section: 64px;--card-pad: 24px}}@font-face{font-family:Inter;src:url(/fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Plex Sans;src:url(/fonts/plex-sans.woff2) format("woff2");font-weight:100 700;font-display:swap}@font-face{font-family:Plex Sans;src:url(/fonts/plex-sans-italic.woff2) format("woff2");font-weight:100 700;font-style:italic;font-display:swap}@font-face{font-family:Plex Mono;src:url(/fonts/plex-mono.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Plex Mono;src:url(/fonts/plex-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font:var(--text-md)/var(--leading) var(--font-ui);-webkit-font-smoothing:antialiased;transition:background-color var(--ease),color var(--ease)}::selection{background:var(--selection)}a{color:inherit;text-decoration-color:var(--line-strong);text-underline-offset:4px;transition:color var(--ease),text-decoration-color var(--ease)}a:hover{color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}[disabled],[aria-disabled=true]{opacity:var(--disabled-opacity);pointer-events:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:var(--leading-tight);margin:0 0 var(--s-4);text-wrap:balance}h1{font-size:var(--type-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1)}h2{font-size:var(--type-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);margin-top:var(--s-16)}h3{font-size:var(--type-h3);line-height:var(--lh-h3);letter-spacing:0;margin-top:var(--s-8)}h4{font-size:var(--text-lg);font-family:var(--font-ui);font-weight:600}p,ul,ol{margin:0 0 var(--s-4);max-width:var(--measure)}li{margin:var(--s-1) 0}code,kbd,pre{font-family:var(--font-mono);font-size:.88em}code{background:var(--code-bg);padding:1px 5px;border-radius:var(--radius-sm)}pre{margin:0;padding:var(--s-4) var(--s-5);background:var(--code-bg);border-radius:var(--radius);overflow:auto;line-height:1.5;font-size:var(--type-code)}pre code{background:none;padding:0;font-size:inherit}hr{border:0;border-top:1px solid var(--line-strong);margin:var(--s-10) 0}blockquote{margin:0 0 var(--s-4);padding-left:var(--s-4);border-left:2px solid var(--line-strong);color:var(--fg-muted)}img,video{max-width:100%;height:auto;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:var(--s-4);background:var(--bg-raised);color:var(--fg);padding:var(--s-3);z-index:30;border-radius:var(--radius)}.skip:focus{top:var(--s-3)}.wrap{width:min(var(--wrap),calc(100% - 2*var(--gutter)));margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;gap:var(--s-6);min-height:72px}.site-header nav{display:flex;gap:var(--s-6);margin-left:auto;font-size:var(--type-nav);letter-spacing:var(--ls-nav);line-height:1;align-items:center}.site-header nav a{text-decoration:none;color:var(--fg-2)}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--fg);text-decoration:underline;text-decoration-color:var(--line-strong)}.site-header nav a.pill{color:var(--on-accent);background:var(--accent);padding:10px 16px;border-radius:var(--radius);text-decoration:none;transition:background-color var(--ease)}.site-header nav a.pill:hover{background:var(--accent-hover);color:var(--on-accent)}.tools{display:flex;gap:var(--s-2);align-items:center}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-pill);color:var(--fg-2);transition:background-color var(--ease),color var(--ease)}.icon-button:hover{background:var(--secondary-hover-bg);color:var(--fg)}.icon-button:active{background:var(--bg-2)}.icon-button svg{width:18px;height:18px}.menu-toggle{display:none}main{padding-block:var(--section) var(--section);flex:1 0 auto;position:relative;isolation:isolate}.page-blocks{max-width:720px}.lede{font-family:var(--font-display);font-size:var(--type-h1);font-weight:500;letter-spacing:var(--ls-h1);line-height:var(--lh-h1);max-width:var(--measure-display);margin:0 0 var(--s-10);text-wrap:balance}.page-home .lede{font-size:var(--lede-home-fluid);line-height:var(--lh-display);letter-spacing:var(--ls-display);max-width:none}@media(max-width:720px){.page-home .lede{font-size:var(--lede-home);max-width:var(--measure-display)}}.story{font-family:var(--font-ui);font-size:var(--type-lead);line-height:var(--lh-lead);font-weight:400;letter-spacing:0;color:var(--fg);max-width:44ch;margin:0 0 var(--s-10)}.story p{max-width:none;margin:0 0 var(--s-6)}.story p:last-child{margin-bottom:0}.story a{text-decoration-color:var(--line-strong)}.story code{font-size:.85em}.close{font-family:var(--font-display);font-size:var(--type-h3);line-height:var(--lh-h3);font-weight:500;letter-spacing:0;color:var(--fg);max-width:30ch;margin:var(--section) 0 var(--s-12);padding-left:var(--s-6);border-left:1px solid var(--line-strong)}h2{margin-top:var(--section);margin-bottom:var(--s-6);color:var(--fg)}.lede+.story{margin-top:0}.close p{max-width:none;margin:0 0 var(--s-5)}.close p:last-child{margin-bottom:0}.more{margin-top:var(--s-24);border-top:1px solid var(--line);padding-top:var(--s-6);max-width:var(--measure)}.more summary{cursor:pointer;font-family:var(--font-ui);font-weight:600;font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--fg-3);list-style:none}.more summary::-webkit-details-marker{display:none}.more summary:before{content:"+ ";color:var(--fg-faint)}.more[open] summary:before{content:"− "}.more summary:hover{color:var(--fg-muted)}.more-body{padding-top:var(--s-6);font-size:var(--text-sm);color:var(--fg-muted)}.more-body p,.more-body li{font-size:var(--text-sm)}.more-body h3{font-size:var(--text-md);font-family:var(--font-ui);font-weight:600;color:var(--fg);margin-top:var(--s-8)}.more-body .code pre{font-size:13px}.note{font-size:var(--text-sm);color:var(--fg-2);background:var(--bg-2);border-radius:var(--radius);padding:var(--s-4) var(--surface-pad);margin:0 0 var(--s-8);max-width:var(--measure)}.anchor{text-decoration:none}.anchor:hover{color:inherit}.anchor:hover:after{content:" #";color:var(--fg-faint);font-size:.7em}.code{position:relative;margin:0 0 var(--s-6);max-width:100%}.code pre{padding-right:84px}.code .copy{position:absolute;top:12px;right:12px;font-size:var(--type-label);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--accent);background:transparent;border:1px solid var(--accent);padding:5px 10px;border-radius:var(--radius);transition:color var(--ease),border-color var(--ease),background-color var(--ease)}.code .copy:hover{background:var(--secondary-hover-bg)}.code .copy[data-done]{color:var(--holds);border-color:var(--holds)}.code-label{font-family:var(--font-ui);font-weight:600;font-size:var(--type-label);line-height:var(--lh-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-2);margin:0 0 var(--s-3)}.code.hero{margin:0 0 var(--s-8);max-width:720px}.code.hero pre{font-size:var(--type-code);padding:var(--surface-pad) 104px var(--surface-pad) var(--surface-pad);white-space:pre-wrap;overflow-wrap:anywhere;border:0}.words{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-8);margin:var(--s-16) 0 var(--s-20);max-width:none;padding:0;list-style:none}.words li{margin:0;padding:var(--s-5) 0 0;border-top:1px solid var(--line-strong)}.word{display:inline-block;font-family:var(--font-display);font-size:var(--type-h3);font-weight:500;letter-spacing:0;line-height:1;margin-bottom:var(--s-3);color:var(--w)}.word:before{display:inline-block;width:1.1em;font-family:var(--font-ui);font-size:.7em;font-weight:600}.word.holds:before,.verdict-chip.holds:before{content:"✓" / ""}.word.not-established:before,.verdict-chip.not-established:before{content:"–" / ""}.word.disproven:before,.verdict-chip.disproven:before{content:"✕" / ""}.word.holds{--w:var(--holds)}.word.not-established{--w:var(--not-established)}.word.disproven{--w:var(--disproven)}.words p{font-size:var(--text-sm);line-height:1.5;color:var(--fg-muted);margin:0}.words-line{display:flex;flex-wrap:wrap;gap:var(--s-3);margin:var(--s-4) 0 var(--s-24);max-width:none}.verdict-chip{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--font-ui);font-size:var(--type-label);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;line-height:1;padding:10px 14px;border-radius:var(--radius-pill);color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 40%,transparent)}.verdict-chip.holds{--c:var(--holds)}.verdict-chip.not-established{--c:var(--not-established)}.verdict-chip.disproven{--c:var(--disproven)}.chip{display:inline-block;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;padding:2px 9px;border-radius:var(--radius-pill);line-height:1.6;white-space:nowrap}.chip.holds{color:var(--holds);background:var(--holds-bg)}.chip.not-established,.chip.not_established{color:var(--not-established);background:var(--not-established-bg)}.chip.disproven{color:var(--disproven);background:var(--disproven-bg)}.chip.release,.chip.shipped,.chip.expected,.chip.pending,.chip.projected,.chip.measured,.chip.withheld,.chip.slipped{color:var(--fg-2);background:var(--bg);border:1px solid var(--line-strong)}.chip.slipped,.chip.withheld{text-decoration:line-through}.fig sup{font-size:.62em;margin-left:2px}.fig sup a{color:var(--fg-2);text-decoration:none}.result{margin:var(--s-6) 0 var(--s-8);max-width:760px;background:var(--bg-2);padding:var(--surface-pad);border-radius:var(--radius)}.comment{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);overflow:hidden}.comment-head{display:flex;gap:var(--s-3);align-items:center;padding:var(--s-3) var(--card-pad);border-bottom:1px solid var(--line);font-family:var(--font-ui);font-size:var(--type-small);line-height:var(--lh-small);color:var(--fg-2)}.comment-head .avatar{flex:none;width:22px;height:22px;border-radius:50%;background:var(--bg-2);border:1px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--fg-faint)}.comment-body{padding:var(--s-6) var(--card-pad)}.comment.folded .comment-body{max-height:300px;overflow:hidden;position:relative}.comment.folded .comment-body:after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(to bottom,transparent,var(--bg))}.comment-more{display:block;width:100%;text-align:left;padding:var(--s-3) var(--card-pad);font-family:var(--font-ui);font-size:var(--type-small);color:var(--accent);border-top:1px solid var(--line);transition:background-color var(--ease)}.comment-more:hover{background:var(--secondary-hover-bg);text-decoration:underline}.comment:not(.folded) .comment-more{display:none}.comment-body h2{font-family:var(--font-ui);font-size:var(--text-lg);font-weight:600;margin:0 0 var(--s-4)}.comment-body h3{font-family:var(--font-ui);font-size:var(--text-md);font-weight:600;margin:var(--s-5) 0 var(--s-2)}.comment-body p,.comment-body ul{font-size:var(--text-sm)}.comment-body sub{font-size:var(--text-xs);color:var(--fg-muted)}.comment-body hr{margin:var(--s-4) 0}.verdict{margin-top:var(--s-4);padding:0 0 0 var(--s-4);font-size:var(--text-sm);border-left:1px solid var(--line-strong)}.verdict>summary{cursor:pointer;color:var(--fg-2);font-family:var(--font-ui);font-weight:600;font-size:var(--type-label);letter-spacing:var(--ls-label);text-transform:uppercase;list-style:none}.verdict>summary::-webkit-details-marker{display:none}.verdict>summary:before{content:"+ "}.verdict[open]>summary:before{content:"− "}.verdict>summary:hover{color:var(--fg)}.verdict dl{margin-top:var(--s-4)}.verdict dl{display:grid;grid-template-columns:auto 1fr;gap:var(--s-1) var(--s-4);margin:0 0 var(--s-4)}.verdict dt{color:var(--fg-muted)}.verdict dd{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);overflow-wrap:anywhere}.verdict table{font-size:var(--text-xs)}.verdict details{margin-top:var(--s-4)}.verdict summary{cursor:pointer;color:var(--fg-muted)}.verdict pre{margin-top:var(--s-3);max-height:360px;font-size:11px}.source-line{font-size:var(--text-xs);color:var(--fg-faint);margin:var(--s-3) 0 0}.table{overflow:auto;margin:0 0 var(--s-6);border:1px solid var(--line-strong);border-radius:var(--radius)}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th,td{text-align:left;vertical-align:top;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line)}th{font-weight:600;color:var(--fg-2);background:var(--bg-2)}tr:last-child td{border-bottom:0}.video{margin:var(--s-12) 0 var(--s-20);max-width:760px;background:var(--bg-2);padding:var(--s-8);border-radius:var(--radius)}@media(min-width:720px){.video{margin:var(--s-24) 0 128px;padding:56px}}.video-frame{position:relative}.video video{width:100%;border-radius:var(--radius);background:var(--dark-green);aspect-ratio:16/9}.video-play{display:none;position:absolute;inset:0;width:100%;padding:0;border-radius:var(--radius);overflow:hidden;background:var(--dark-green)}[data-js] .video-play{display:block}.video-play img{width:100%;height:100%;object-fit:cover}.video-play .glyph{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--cream);color:var(--dark-green);display:flex;align-items:center;justify-content:center;transition:opacity var(--ease)}.video-play:hover .glyph{opacity:.88}.video-play .glyph svg{width:22px;height:22px;margin-left:4px}.video p{font-family:var(--font-ui);font-size:var(--type-small);color:var(--fg-2);margin:var(--s-8) 0 0}.loop{margin:var(--s-10) 0 var(--s-12);max-width:760px;background:var(--bg-2);padding:var(--surface-pad);border-radius:var(--radius)}.loop video{width:100%;border-radius:var(--radius);background:var(--dark-green)}.loop figcaption{font-family:var(--font-ui);font-size:var(--type-small);color:var(--fg-2);margin-top:var(--s-4)}.steps{counter-reset:step;list-style:none;padding:0;max-width:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6);margin:var(--s-10) 0}.steps li{margin:0;padding-top:var(--s-4);border-top:1px solid var(--line-strong)}.steps li:before{counter-increment:step;content:counter(step);font-family:var(--font-display);font-size:var(--text-xl);color:var(--fg-2);display:block;margin-bottom:var(--s-2)}.steps h3{margin:0 0 var(--s-2);font-size:var(--text-lg)}.steps p{font-size:var(--text-sm);color:var(--fg-muted)}.columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-8);margin:var(--s-6) 0 var(--s-8);max-width:none}.columns>div{padding:var(--s-5) 0 0;border-top:1px solid var(--line-strong)}.columns h3{margin-top:0;font-size:var(--type-h3)}.columns p{font-size:var(--type-body);color:var(--fg)}.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-6);margin:var(--s-10) 0 var(--s-12);list-style:none;padding:0;max-width:none}.plans>li{margin:0;padding:var(--card-pad);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--s-2);transition:border-color var(--ease)}.plans>li:hover,.plans>li:target{border-color:var(--accent)}.plans .name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.plans .price{font-family:var(--font-ui);font-weight:600;font-size:var(--type-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-2)}.plans .line{font-size:var(--type-body);margin:var(--s-3) 0 0}.plans ul{padding-left:0;list-style:none;font-size:var(--text-sm);color:var(--fg-muted);margin:var(--s-3) 0 0}.plans ul li{margin:var(--s-1) 0}.plans .limit{margin:auto 0 0;padding-top:var(--s-6);font-family:var(--font-ui);font-size:var(--type-small);color:var(--fg-3)}.plans a.more{font-size:var(--text-sm)}.pool{font-size:var(--text-sm);color:var(--fg-muted);max-width:var(--measure)}.cta{display:flex;gap:var(--s-4);flex-wrap:wrap;align-items:center;margin:var(--s-10) 0 0;list-style:none;padding:0}.cta li{margin:0}.button{display:inline-flex;align-items:center;gap:var(--s-2);padding:12px 20px;border-radius:var(--radius);text-decoration:none;font-size:var(--type-small);font-weight:600;line-height:1.2;border:1px solid var(--accent);color:var(--accent);background:transparent;transition:background-color var(--ease),border-color var(--ease),color var(--ease)}.button:hover{color:var(--accent);background:var(--secondary-hover-bg)}.button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.doc{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:var(--s-12);align-items:start}.doc-body{min-width:0}.doc-body h1{font-size:var(--type-h1);margin-top:var(--s-6)}.doc-body h2{font-size:var(--type-h2);margin-top:var(--s-16)}.doc-body h3{font-size:var(--type-h3)}.doc-body h4,.doc-body p,.doc-body li{font-size:var(--type-body)}.doc-body pre{margin:0 0 var(--s-6);padding:var(--surface-pad)}.doc-body blockquote{background:var(--bg-2);border-left:0;border-radius:var(--radius);padding:var(--s-4) var(--surface-pad);color:var(--fg)}.doc-body blockquote>:last-child{margin-bottom:0}.doc-body table{font-size:var(--type-small)}.doc-body p{max-width:none}.toc{position:sticky;top:96px;font-size:var(--type-small);line-height:var(--lh-small);max-height:calc(100vh - 100px);overflow:auto}.toc ol{list-style:none;padding:0;margin:0}.toc li{margin:0}.toc a{display:block;padding:4px 0;color:var(--fg-2);text-decoration:none;border-left:1px solid var(--line-strong);padding-left:var(--s-3)}.toc a:hover{color:var(--fg);border-left-color:var(--accent)}.toc .depth-3 a{padding-left:var(--s-6)}.doc-meta{font-size:var(--type-small);color:var(--fg-3);margin:var(--s-8) 0 var(--s-6);padding-bottom:var(--s-4);border-bottom:1px solid var(--line)}.index-list{list-style:none;padding:0;max-width:none;margin:var(--s-8) 0}.index-list li{margin:0;padding:var(--s-6) 0;border-top:1px solid var(--line-strong)}.index-list a{font-family:var(--font-display);font-size:var(--type-h3);font-weight:500;line-height:var(--lh-h3);text-decoration:none}.index-list a:hover{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px}.index-list p{font-size:var(--type-small);color:var(--fg-2);margin:var(--s-2) 0 0}.release section>h2:first-child{font-size:var(--type-h3);margin-top:var(--s-16);padding-top:var(--s-6);border-top:1px solid var(--line-strong)}.release section h2:not(:first-child){font-family:var(--font-ui);font-weight:600;font-size:var(--type-body);letter-spacing:0;margin-top:var(--s-8)}.release h2 small{margin-left:var(--s-3);font-family:var(--font-ui);font-size:var(--type-small);letter-spacing:0}.release h3{font-family:var(--font-ui);font-weight:600;font-size:var(--type-body);margin-top:var(--s-8)}.release h3 code{font-size:.82em}.site-footer{position:relative;background:var(--bg);border-top:1px solid var(--line);padding:var(--s-12) 0;font-family:var(--font-ui);font-size:var(--type-small);color:var(--fg-3)}.site-footer .wrap{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);align-items:center}.site-footer a{text-decoration:none;color:var(--fg-2)}.site-footer a:hover{color:var(--fg);text-decoration:underline}.site-footer .spacer{flex:1}.search{position:relative}.search-panel{position:absolute;right:0;top:48px;width:min(520px,calc(100vw - 2*var(--gutter)));background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);padding:var(--s-3);display:none;z-index:30}.search[open] .search-panel,.search-panel[data-open]{display:block}.search input{width:100%;font:inherit;font-size:var(--type-small);color:var(--fg);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px 14px;transition:border-color var(--ease)}.search input:hover{border-color:var(--fg-2)}.search input:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.search input[aria-invalid=true]{border-color:var(--disproven)}.search ol{list-style:none;padding:0;margin:var(--s-3) 0 0;max-height:50vh;overflow:auto}.search li{margin:0}.search li a{display:block;padding:var(--s-2) var(--s-3);border-radius:var(--radius-sm);text-decoration:none}.search li a:hover{background:var(--secondary-hover-bg)}.search .t{font-size:var(--text-sm)}.search .s{font-size:var(--text-xs);color:var(--fg-muted);display:block}@media(max-width:900px){.result,.columns,.doc{grid-template-columns:1fr}.toc{display:none}.plans{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}}@media(max-width:720px){main{padding-top:var(--s-12)}.lede{margin-bottom:var(--s-8)}.close{margin-bottom:var(--s-10)}.words{gap:var(--s-5);margin:var(--s-10) 0 var(--s-12)}.words-line{gap:var(--s-2);margin-bottom:var(--s-16)}.words,.plans{grid-template-columns:1fr}.site-header nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--bg);border-bottom:1px solid var(--line);padding:var(--s-4) var(--gutter);flex-direction:column;align-items:flex-start;gap:var(--s-3)}.site-header nav[data-open]{display:flex}.menu-toggle{display:inline-flex}.site-header .tools{margin-left:auto}.code.hero pre{padding-right:var(--surface-pad);padding-bottom:56px}.code .copy{top:auto;bottom:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}.strip{list-style:none;margin:var(--s-12) 0 var(--s-20);padding:var(--s-8) 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-16) var(--s-12);max-width:860px}h2+.strip{border-top:0;padding-top:0;margin-top:var(--s-10)}.strip li{margin:0;min-width:0}.strip-text{font-family:var(--font-ui);font-size:var(--type-body);line-height:var(--lh-small);font-weight:400;color:var(--fg);margin:0 0 var(--s-3)}.strip-text .fig sup a,.strip-result .fig sup a{font-weight:400}.strip-apps{font-family:var(--font-ui);font-size:var(--type-small);line-height:1.7;color:var(--fg-2);margin:0 0 var(--s-2)}.strip-apps a{color:var(--fg-muted);text-decoration-color:var(--line-strong)}.strip-apps a:hover{color:var(--fg)}.strip-apps a.pr{font-size:11px;letter-spacing:.08em;margin-left:4px;text-decoration:none;color:var(--fg-faint);vertical-align:middle;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:1px 4px}.strip-apps a.pr:hover{color:var(--fg);border-color:var(--fg-muted)}.strip-result{font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.5;color:var(--fg);margin:0 0 var(--s-2)}.strip-method{font-family:var(--font-ui);font-size:var(--type-small);line-height:var(--lh-small);color:var(--fg-3);margin:0;max-width:44ch}.strip-method a{color:var(--fg-muted);text-decoration-color:var(--line-strong)}.strip-method a:hover{color:var(--fg)}.strip-link{font-family:var(--font-ui);font-size:var(--type-small);line-height:var(--lh-small);color:var(--fg-3);margin:var(--s-2) 0 0}.strip-link a{color:var(--fg-muted);text-decoration-color:var(--line-strong)}.strip-link a:hover{color:var(--fg)}@media(max-width:640px){.strip{grid-template-columns:1fr;gap:var(--s-8);margin-bottom:var(--s-12)}}.comment-upgrade{margin:0;padding:var(--s-3) var(--s-5);border-top:1px solid var(--line);font-size:var(--text-sm);color:var(--fg-muted)}.comment-upgrade a{color:var(--fg);text-decoration-color:var(--line-strong)}.measurements td.value{white-space:nowrap;font-weight:600}.measurements td.method{color:var(--fg-muted);font-size:var(--text-sm);max-width:46ch}.release-list{list-style:none;padding:0;margin:0 0 var(--s-10);max-width:60ch}.release-list li{padding:var(--s-4) 0;border-top:1px solid var(--line-strong);margin:0;font-size:var(--type-body);color:var(--fg)}.release-list li:last-child{border-bottom:1px solid var(--line-strong)}.self-proof .comment-head strong{color:var(--fg)}.sample-tag{font-family:var(--font-ui);font-weight:600;font-size:11px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-2);border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:2px 8px;vertical-align:middle}.self-counts{margin:0 0 var(--s-1);font-size:var(--text-base);color:var(--fg)}.self-mark{margin:0 0 var(--s-4);font-family:var(--font-ui);font-weight:600;font-size:var(--type-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-faint)}.self-rows{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.self-rows td{padding:var(--s-2) var(--s-2) var(--s-2) 0;border-top:1px solid var(--line);vertical-align:top}.self-rows td.id{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-faint);white-space:nowrap;width:2.5em}.self-rows td:last-child{text-align:right;white-space:nowrap;padding-right:0}.self-rows .reason{color:var(--fg-muted)}.self-page .self-summary{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin:0 0 var(--s-8)}.self-page .muted{color:var(--fg-muted);font-size:var(--text-sm)}.self-area h2{margin-top:var(--s-12)}.self-list{list-style:none;padding:0;margin:0}.self-list li{margin:0;border-top:1px solid var(--line)}.self-list li:last-child{border-bottom:1px solid var(--line)}.self-list summary{display:flex;gap:var(--s-3);align-items:baseline;padding:var(--s-3) 0;cursor:pointer;list-style:none;font-size:var(--text-sm)}.self-list summary::-webkit-details-marker{display:none}.self-list .id{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-faint);min-width:2.5em}.self-list .sentence{flex:1}.self-list .outline{padding:0 0 var(--s-4) calc(2.5em + var(--s-3));color:var(--fg-muted);font-size:var(--text-sm)}.self-list .outline .claim{margin:0 0 var(--s-2);color:var(--fg)}.self-list .outline ol{margin:0;padding-left:1.2em}.self-list .evidence{font-family:var(--font-ui);font-weight:600;font-size:11px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-faint);margin-left:var(--s-2)}.self-list.plain li{padding:var(--s-3) 0;font-size:var(--text-sm)}.self-list .reason{color:var(--fg-muted)}.self-proof .comment-body h2{font-size:var(--text-lg);margin:0 0 var(--s-3)}.self-proof .comment-body h3{font-size:var(--text-base);margin:var(--s-5) 0 var(--s-2)}.self-proof .area-row td{font-family:var(--font-ui);font-weight:600;font-size:var(--type-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-faint);padding-top:var(--s-3)}.self-proof .muted{color:var(--fg-muted);font-size:var(--text-sm)}.self-list.tree{margin:var(--s-2) 0 var(--s-4)}h2+.self-proof{margin-top:var(--s-6)}.fix-slot{font-family:var(--font-ui);font-weight:600;font-size:11px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--disproven);margin-left:var(--s-2)}.self-rows .area-row td{font-family:var(--font-ui);font-weight:600;font-size:var(--type-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-faint);padding-top:var(--s-4);border-top:0}.self-rows .fix-slot{display:inline-block}.self-proof .comment-body .muted{margin:var(--s-4) 0 0;color:var(--fg-muted);font-size:var(--text-sm)}.self-rows .area-row td{text-align:left}.tree-node summary{cursor:pointer;list-style:none;padding:2px 0}.tree-node summary::-webkit-details-marker{display:none}.tree-node summary:before{content:"+";font-family:var(--font-ui);color:var(--fg-faint);margin-right:var(--s-2)}.tree-node[open]>summary:before{content:"–"}.tree-node ul{list-style:none;margin:0;padding-left:var(--s-5);border-left:1px solid var(--line)}.tree-node li{margin:0}.tree-leaf{margin:2px 0;padding-left:calc(var(--s-2) + 1ch)}.self-check-head{font-family:var(--font-ui);font-size:var(--type-small);color:var(--fg-2);margin:0 0 var(--s-4)}.self-check .comment-body h2{font-size:var(--text-lg);margin:0 0 var(--s-3)}.self-check .comment-body h3{font-size:var(--text-base);margin:var(--s-5) 0 var(--s-2)}.self-history .trend{margin:0 0 var(--s-8);background:var(--bg-2);padding:var(--surface-pad);border-radius:var(--radius);max-width:760px}.self-history .trend svg{display:block}.self-history .trend figcaption{font-family:var(--font-ui);font-size:var(--type-small);color:var(--fg-2);margin-top:var(--s-3)}.self-history .drop{font-family:var(--font-ui);font-size:var(--type-small);color:var(--disproven);margin-left:var(--s-1)}.self-history td{white-space:nowrap}.self-check-page{max-width:none}.self-check-page h1{margin-bottom:var(--s-6)}.sc-lede{font-size:var(--type-lead);line-height:var(--lh-lead);max-width:var(--measure);margin:0 0 var(--s-8)}.sc-lede p{font-size:inherit;margin:0 0 var(--s-4)}.sc-lede p:last-child{margin-bottom:0}.self-check-page .self-check-counts{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin:0 0 var(--s-3)}.sc-decided{font-family:var(--font-display);font-size:var(--type-h3);line-height:1.1;font-weight:500;margin-right:var(--s-3)}.sc-engine,.sc-tree{font-size:var(--type-small);color:var(--fg-3);margin:0 0 var(--s-1);overflow-wrap:anywhere}.sc-engine code{font-size:inherit}.sc-full{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-3)}.sc-key{background:var(--bg-2);border-radius:var(--radius);padding:var(--surface-pad);margin:var(--s-8) 0 var(--s-6);max-width:760px}.sc-key p{font-size:var(--type-small);line-height:var(--lh-small);color:var(--fg);margin:var(--s-3) 0 0;max-width:none}.sc-defs{display:grid;gap:var(--s-2);margin:0}.sc-defs div{display:grid;grid-template-columns:9.5em 1fr;gap:var(--s-3);align-items:baseline}.sc-defs dd{margin:0;font-size:var(--type-small);line-height:var(--lh-small);color:var(--fg)}.sc-how{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line, rgba(127,127,127,.2))}.sc-how dt{font-family:var(--font-ui);font-size:var(--type-small);font-weight:600}.sc-how .premised-tag{display:inline;margin-left:var(--s-1)}.sc-jump{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);font-family:var(--font-ui);font-size:var(--type-small);margin:0 0 var(--s-4)}.sc-jump span{color:var(--fg-3)}.sc-section h2{display:flex;align-items:baseline;gap:var(--s-3);margin-top:var(--s-16)}.sc-count{font-family:var(--font-ui);font-size:var(--type-small);font-weight:600;color:var(--fg-3)}.sc-intro{color:var(--fg-2);max-width:var(--measure)}.sc-explain{background:var(--bg-2);border-radius:var(--radius);padding:var(--s-4) var(--surface-pad);color:var(--fg)}.self-check-page .sc-area{font-family:var(--font-ui);font-size:var(--type-label);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-3);margin:var(--s-8) 0 0}.sc-rows{list-style:none;padding:0;margin:0;max-width:760px}.sc-row{padding:var(--s-4) 0;border-bottom:1px solid var(--line);margin:0}.sc-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-bottom:var(--s-2)}.sc-id{font-size:var(--text-xs);color:var(--fg-3);background:none;padding:0;min-width:2.6em}.self-check-page .sc-row .premised-tag{display:inline;margin:0}.self-check-page .sc-promise{margin:0;font-size:var(--type-body);line-height:var(--lh-body)}.self-check-page .sc-read{margin:var(--s-2) 0 0;font-size:var(--type-small);line-height:var(--lh-small);color:var(--fg-2);overflow-wrap:anywhere}.self-check-page .sc-read code{font-size:var(--text-xs)}.sc-label{font-family:var(--font-ui);font-weight:600;color:var(--fg-3)}.sc-label:after{content:" ·"}.self-check-page .sc-means{color:var(--fg-3)}.sc-how{margin-top:var(--s-2)}.sc-how summary{cursor:pointer;list-style:none;font-family:var(--font-ui);font-size:var(--type-label);color:var(--fg-3);display:inline-block}.sc-how summary::-webkit-details-marker{display:none}.sc-how summary:before{content:"+ "}.sc-how[open] summary:before{content:"− "}.sc-how summary:hover{color:var(--fg)}.self-check-page .sc-reason,.self-check-page .sc-source{font-size:var(--type-small);line-height:var(--lh-small);color:var(--fg-2);margin:var(--s-2) 0 0;overflow-wrap:anywhere}.sc-source code{font-size:var(--text-xs);overflow-wrap:anywhere;white-space:normal}.sc-files{margin-top:var(--s-16);overflow-wrap:anywhere}@media(max-width:720px){.sc-full{display:none}.sc-defs div{grid-template-columns:1fr;gap:var(--s-1)}.sc-decided{flex-basis:100%;margin:0 0 var(--s-1)}.sc-key{padding:var(--s-4)}}.self-rows td{vertical-align:top}.self-rows .row-id,.self-rows .row-reading{white-space:nowrap}.self-rows .row-why{font-size:var(--text-sm);overflow-wrap:anywhere;min-width:24ch}.self-rows .row-source{display:block;margin-top:var(--s-1);color:var(--fg-muted);font-size:var(--text-xs)}.self-rows .row-source code{font-size:inherit}.premised-tag{display:block;margin-top:var(--s-1);font-family:var(--font-ui);font-weight:600;font-size:11px;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-2)}.release-entries{list-style:none;padding:0;margin:0 0 var(--s-10);max-width:64ch}.release-entries li{padding:var(--s-4) 0;border-top:1px solid var(--line);margin:0}.release-entries li:last-child{border-bottom:1px solid var(--line)}.release-entries .release-version{font-family:var(--font-display);font-weight:500;font-size:var(--type-h3)}.release-entries .release-date,.release-entries .release-groups{color:var(--fg-muted);font-size:var(--text-sm)}.release-entries p{margin:var(--s-2) 0 0;font-size:var(--text-sm)}.release-page h1 .sample-tag{vertical-align:middle;margin-left:var(--s-2)}.strip.coverage{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-8);max-width:860px;margin-top:var(--s-12);margin-bottom:var(--s-24)}.strip.coverage li{background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);padding:var(--card-pad);display:flex;flex-direction:column;justify-content:center;gap:var(--s-3);min-height:0;transition:border-color var(--ease),background-color var(--ease)}.strip.coverage .strip-text{font-family:var(--font-display);font-size:var(--type-h3);font-weight:500;letter-spacing:0;line-height:var(--lh-h3);margin:0}.strip.coverage .strip-text strong{font-weight:500}.strip.coverage .strip-text a{display:block;margin-top:var(--s-3);font-family:var(--font-ui);font-size:var(--type-small);font-weight:400;color:var(--accent)}@media(max-width:640px){.strip.coverage{grid-template-columns:1fr;gap:var(--s-3)}}.strip.coverage li{border-color:var(--line-strong)}.strip.coverage li:hover{border-color:var(--accent)}.strip.coverage li:hover .strip-text{color:var(--accent)}.horizon{display:none}@media(min-width:1200px){.horizon{display:block;position:relative;height:0;margin:0;pointer-events:none;z-index:-1}.hz-frame{position:absolute;left:calc(50% - 50vw);width:100vw;top:calc(var(--horizon-crest) - 130vw * 62 / 1080);height:calc(130vw * 110 / 1080 + 160px);overflow:clip}.hz-frame img{position:absolute;left:0;top:0;width:130vw;max-width:none;height:auto}.horizon-hero{--horizon-crest:72px}.horizon-hero+*+*{margin-top:184px}.horizon-close{--horizon-crest:calc(var(--section) * -.5)}.horizon-close .hz-frame{transform:scaleY(-1)}.horizon-close+*{margin-top:200px}.horizon .hz-dark,:root[data-theme=dark] .horizon .hz-light{display:none}:root[data-theme=dark] .horizon .hz-dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme]) .horizon .hz-dark{display:block}:root:not([data-theme]) .horizon .hz-light{display:none}}}html{overflow-x:clip}.wordmark[data-astro-cid-hhuuaa7r]{display:inline-flex;align-items:center;gap:var(--logo-clear);text-decoration:none;color:var(--fg);line-height:1;white-space:nowrap;padding-block:var(--s-2)}.wordmark[data-astro-cid-hhuuaa7r]:hover{color:var(--fg)}.wm-full[data-astro-cid-hhuuaa7r]{display:block;height:var(--logo-lockup-height);width:auto;min-width:var(--logo-min-lockup);color:var(--logo-colour);flex:none}.wm-mark[data-astro-cid-hhuuaa7r]{display:none;height:var(--logo-mark-height);width:auto;color:var(--logo-colour);flex:none}.wm-rule[data-astro-cid-hhuuaa7r]{width:1px;align-self:stretch;margin-block:2px;background:var(--line-strong)}.wm-assure[data-astro-cid-hhuuaa7r]{font-family:var(--font-display);font-weight:500;font-size:26px;letter-spacing:-.01em;margin-right:-6px}.wm-check[data-astro-cid-hhuuaa7r]{width:14px;height:14px;color:var(--holds);flex:none}@media(max-width:720px){.wm-full[data-astro-cid-hhuuaa7r]{display:none}.wm-mark[data-astro-cid-hhuuaa7r]{display:block}}
