@font-face{font-family:Unbounded;src:url(/fonts/unbounded-latin.woff2)format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2212}@font-face{font-family:Onest;src:url(/fonts/onest-latin.woff2)format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2212}@font-face{font-family:Unbounded fallback;src:local(Arial);size-adjust:128%;ascent-override:78%;descent-override:19%}@font-face{font-family:Onest fallback;src:local(Arial);size-adjust:102%;ascent-override:96%;descent-override:25%}:root{--cotton:#f6f7f5;--paper:#fff;--ink:#1a1d22;--heather:#5b626b;--seam:#e2e4e0;--seam-strong:#c9ccc6;--cobalt:#2645d6;--cobalt-deep:#1b33a6;--navy:#22304f;--navy-deep:#1a2540;--on-navy:#f6f7f5;--on-navy-soft:#b9c2d6;--danger:#b42318;--ok:#1f7a46;--display:"Unbounded", "Unbounded fallback", system-ui, sans-serif;--text:"Onest", "Onest fallback", system-ui, sans-serif;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:1.5rem;--step-3:clamp(1.75rem, 1.2rem + 2vw, 2.5rem);--step-4:clamp(2.1rem, 1.3rem + 3.4vw, 3.6rem);--step-5:clamp(2.4rem, 1.2rem + 5vw, 4.6rem);--radius:6px;--radius-stage:14px;--gutter:clamp(1rem, .6rem + 2vw, 2.5rem);--max:76rem;--measure:38rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);color-scheme:light;accent-color:var(--cobalt)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5rem}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--cotton);color:var(--ink);font-family:var(--text);font-size:var(--step-0);font-feature-settings:"ss01" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.6;overflow-x:clip}img,video,svg,canvas{max-width:100%;display:block}img,video{height:auto}h1,h2,h3,h4{text-wrap:balance;overflow-wrap:break-word;hyphens:auto;margin:0;line-height:1.1}h1,h2{font-family:var(--display);letter-spacing:-.035em;font-weight:650}h1{font-size:var(--step-5)}h2{font-size:var(--step-4)}h3{font-size:var(--step-1);letter-spacing:-.01em;font-weight:650;line-height:1.25}p{text-wrap:pretty;margin:0}a{color:var(--cobalt);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--cobalt-deep);text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px;border-radius:2px}::selection{background:#2645d62e}code,kbd{background:#1a1d220f;border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.88em}.skip-link{z-index:100;background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{color:var(--paper);top:1rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.wrap{width:100%;max-width:calc(var(--max) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.lede{font-size:var(--step-1);color:var(--heather);max-width:var(--measure);line-height:1.5}.muted{color:var(--heather)}.button{--button-bg:var(--ink);--button-fg:var(--paper);--button-border:var(--ink);border:1.5px solid var(--button-border);border-radius:var(--radius);background:var(--button-bg);min-height:3rem;color:var(--button-fg);font:inherit;cursor:pointer;transition:background-color .16s ease, border-color .16s ease, transform .16s var(--ease-out);justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{--button-bg:#000;color:var(--button-fg);text-decoration:none}.button:active{transform:scale(.98)}.button--primary{--button-bg:var(--cobalt);--button-border:var(--cobalt)}.button--primary:hover{--button-bg:var(--cobalt-deep);--button-border:var(--cobalt-deep)}.button--quiet{--button-bg:transparent;--button-fg:var(--ink)}.button--quiet:hover{--button-bg:#1a1d220f;--button-fg:var(--ink)}.button--small{min-height:2.5rem;font-size:var(--step--1);padding:.45rem .9rem}.button[disabled],.button[aria-disabled=true]{opacity:.55;cursor:not-allowed}.button-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.frame{--frame:var(--cobalt);outline:2px solid var(--frame);outline-offset:0;position:relative}.frame>.frame__handle{background:var(--frame);border:2px solid var(--paper);pointer-events:none;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%)}.frame__handle--nw{top:0;left:0}.frame__handle--ne{top:0;left:100%}.frame__handle--sw{top:100%;left:0}.frame__handle--se{top:100%;left:100%}.site-header{z-index:50;-webkit-backdrop-filter:saturate(1.4)blur(12px);background:#f6f7f5e0;border-bottom:1px solid #0000;transition:border-color .2s;position:sticky;top:0}.site-header[data-scrolled]{border-bottom-color:var(--seam)}.site-header__bar{align-items:center;gap:1.5rem;min-height:4.25rem;display:flex}.brand{color:var(--ink);font-family:var(--display);letter-spacing:-.03em;align-items:center;gap:.6rem;font-size:1.125rem;font-weight:650;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand svg{flex:none;width:28px;height:28px}.site-nav{margin-left:auto}.site-nav ul{align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a:not(.button){border-radius:var(--radius);color:var(--ink);padding:.5rem .75rem;font-size:.97rem;font-weight:500;text-decoration:none;display:inline-block}.site-nav a:not(.button):hover{background:#1a1d220f}.site-nav a[aria-current=page]{text-underline-offset:.35em;text-decoration:underline 2px}.site-nav .button{margin-left:.5rem}.menu-toggle{display:none}@media (width<=860px){.menu-toggle{margin-left:auto;display:inline-flex}.site-nav{padding:.5rem var(--gutter) 1.25rem;background:var(--cotton);border-bottom:1px solid var(--seam);margin:0;position:absolute;inset:100% 0 auto}.site-nav[data-open=false]{display:none}.site-nav ul{flex-direction:column;align-items:stretch}.site-nav a:not(.button){font-size:var(--step-0);padding:.75rem .25rem;display:block}.site-nav .button{width:100%;margin:.75rem 0 0}}.site-footer{border-top:1px solid var(--seam);font-size:var(--step--1);color:var(--heather);margin-top:clamp(4rem,8vw,8rem);padding-block:3rem}.site-footer__grid{grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:2rem;display:grid}.site-footer h2{font-family:var(--text);font-size:var(--step--1);letter-spacing:0;color:var(--ink);margin-bottom:.75rem;font-weight:650}.site-footer ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.site-footer a{color:var(--heather);text-decoration:none}.site-footer a:hover{color:var(--ink);text-decoration:underline}.site-footer__note{max-width:22rem;margin-top:.75rem}@media (width<=720px){.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__about{grid-column:1/-1}}.prose{max-width:42rem;font-size:var(--step-0)}.prose>*+*{margin-top:1.1em}.prose h2{font-size:var(--step-2);letter-spacing:-.03em;margin-top:2.4em}.prose h3{margin-top:2em}.prose ul,.prose ol{padding-left:1.25rem}.prose li+li{margin-top:.4em}.prose img{border:1px solid var(--seam);background:var(--paper);border-radius:10px}.prose figure{margin:2em 0}.prose figcaption{font-size:var(--step--1);color:var(--heather);margin-top:.6rem}.prose table{border-collapse:collapse;width:100%;font-size:var(--step--1);display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--seam);vertical-align:top;padding:.6rem .75rem .6rem 0}.prose blockquote{border-left:3px solid var(--cobalt);background:var(--paper);border-radius:0 var(--radius) var(--radius) 0;margin-inline:0;padding:.9rem 1.1rem}.prose pre{background:var(--ink);color:var(--cotton);border-radius:10px;padding:1rem;font-size:.9rem;overflow-x:auto}.prose pre code{background:0 0;padding:0}.notice{border-radius:var(--radius);border:1px solid var(--seam);background:var(--paper);padding:.9rem 1.1rem}.notice--confirm{background:#fff8e1;border-color:#e2b93b}.page-head{padding-block:clamp(2.5rem,6vw,5rem) clamp(1.5rem,3vw,2.5rem)}.page-head p{margin-top:1rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
