@font-face{font-family:Unbounded;src:url(/fonts/unbounded-latin-wght-normal.woff2) format("woff2-variations");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded;src:url(/fonts/unbounded-latin-ext-wght-normal.woff2) format("woff2-variations");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;src:url(/fonts/dm-sans-latin-wght-normal.woff2) format("woff2-variations");font-weight:100 1000;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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;src:url(/fonts/dm-sans-latin-ext-wght-normal.woff2) format("woff2-variations");font-weight:100 1000;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Roboto Mono;src:url(/fonts/roboto-mono-latin-wght-normal.woff2) format("woff2-variations");font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;src:url(/fonts/roboto-mono-latin-ext-wght-normal.woff2) format("woff2-variations");font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}:root{--color-bg: #fbfaf7;--color-surface: #f2f1eb;--color-ink: #15181d;--color-ink-muted: #5a5f68;--color-line: #e5e4dc;--color-accent: #012d5c;--color-accent-raise: #0b4a8c;--color-accent-soft: #e8eef6;--color-on-accent: #ffffff;--font-display: "Unbounded", "Segoe UI", system-ui, sans-serif;--font-body: "DM Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "Roboto Mono", Consolas, monospace;--text-scale: 1;--text-sm: calc(clamp(.83rem, .8rem + .15vw, .92rem) * var(--text-scale));--text-base: calc(clamp(1rem, .95rem + .25vw, 1.125rem) * var(--text-scale));--text-lg: calc(clamp(1.2rem, 1.1rem + .5vw, 1.5rem) * var(--text-scale));--text-xl: calc(clamp(1.25rem, 1.1rem + .7vw, 1.7rem) * var(--text-scale));--text-2xl: calc(clamp(1.6rem, 1.35rem + 1.25vw, 2.4rem) * var(--text-scale));--text-display: clamp(2rem, 1.4rem + 3vw, 4rem);--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1.25rem;--space-lg: 2rem;--space-xl: 3.25rem;--space-2xl: 5rem;--space-3xl: 8rem;--radius-sm: 4px;--radius-md: 10px;--measure: 65ch;--container: 83rem}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-ink);background:var(--color-bg);min-height:100dvh;display:flex;flex-direction:column}main{flex:1}img,picture,video,svg{display:block;max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.15;text-wrap:balance;letter-spacing:-.02em}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{max-width:var(--measure);text-wrap:pretty}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:var(--color-accent);color:var(--color-on-accent)}.container{width:min(100% - 2 * var(--space-md),var(--container));margin-inline:auto}.section{padding-block:var(--space-2xl)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.section-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-lg)}.section-more{font-size:calc(.9375rem * var(--text-scale));font-weight:500;white-space:nowrap}.kicker{font-family:var(--font-mono);font-size:calc(.75rem * var(--text-scale));letter-spacing:.12em;color:var(--color-accent);margin-bottom:var(--space-xs);max-width:none}.btn{display:inline-block;background:var(--color-accent);color:var(--color-on-accent);font-weight:500;font-size:calc(.9375rem * var(--text-scale));line-height:1.2;padding:.75em 1.4em;border:1px solid var(--color-accent);border-radius:var(--radius-sm);text-decoration:none;transition:background-color .2s ease}.btn:hover{background:var(--color-accent-raise);color:var(--color-on-accent)}.btn--ghost{background:transparent;color:var(--color-accent)}.btn--ghost:hover{background:var(--color-accent-soft);color:var(--color-accent)}.btn--invert{background:var(--color-on-accent);color:var(--color-accent);border-color:var(--color-on-accent)}.btn--invert:hover{background:var(--color-accent-soft);color:var(--color-accent)}.crop-frame{position:relative;display:block}.crop-frame .clip{display:block;overflow:hidden}.crop-frame img{display:block;width:100%;height:auto;transition:transform .5s cubic-bezier(.22,1,.36,1)}.crop-frame:before,.crop-frame:after,.crop-frame .cm:before,.crop-frame .cm:after{content:"";position:absolute;width:12px;height:12px;opacity:0;transition:opacity .2s ease;pointer-events:none}.crop-frame:before{top:-7px;left:-7px;border-top:1px solid var(--color-ink-muted);border-left:1px solid var(--color-ink-muted)}.crop-frame:after{bottom:-7px;right:-7px;border-bottom:1px solid var(--color-ink-muted);border-right:1px solid var(--color-ink-muted)}.crop-frame .cm:before{top:-7px;right:-7px;border-top:1px solid var(--color-ink-muted);border-right:1px solid var(--color-ink-muted)}.crop-frame .cm:after{bottom:-7px;left:-7px;border-bottom:1px solid var(--color-ink-muted);border-left:1px solid var(--color-ink-muted)}.crop-frame.is-marked:before,.crop-frame.is-marked:after,.crop-frame.is-marked .cm:before,.crop-frame.is-marked .cm:after,a:hover .crop-frame:before,a:hover .crop-frame:after,a:hover .crop-frame .cm:before,a:hover .crop-frame .cm:after,a:focus-visible .crop-frame:before,a:focus-visible .crop-frame:after,a:focus-visible .crop-frame .cm:before,a:focus-visible .crop-frame .cm:after{opacity:.9}.js-reveal [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.js-reveal [data-reveal].is-visible{opacity:1;transform:none}.skip-link{position:absolute;left:var(--space-md);top:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-ink);color:var(--color-bg);border-radius:var(--radius-sm);transform:translateY(-200%);z-index:100}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--color-line);background:var(--color-bg)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding-block:var(--space-sm)}.brand{display:block}.brand svg{display:block;height:2.25rem;width:auto}.site-nav{display:flex;align-items:center;gap:var(--space-lg)}.site-nav ul{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);list-style:none;padding:0}.site-nav a{text-decoration:none;font-size:calc(.9375rem * var(--text-scale));font-weight:500}.site-nav a[aria-current=page]{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.4em}.lang-switch{position:relative}.lang-switch summary{display:inline-flex;align-items:center;gap:6px;padding:3px 6px;border:1px solid var(--color-line);border-radius:var(--radius-sm);cursor:pointer;list-style:none;transition:border-color .2s ease}.lang-switch summary::-webkit-details-marker{display:none}.lang-switch summary:hover,.lang-switch[open] summary{border-color:var(--color-accent)}.lang-flag{display:block;width:27px;height:18px;border:1px solid var(--color-line);border-radius:2px}.lang-code{font-family:var(--font-mono);font-size:calc(.75rem * var(--text-scale));letter-spacing:.08em;color:var(--color-accent);line-height:1}.lang-chevron{color:var(--color-ink-muted);transition:transform .2s ease}.lang-switch[open] .lang-chevron{transform:rotate(180deg)}.lang-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:60;display:grid;gap:2px;padding:4px;background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-sm);box-shadow:0 10px 24px #15181d1f}.lang-menu a{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:var(--radius-sm);text-decoration:none}.lang-menu a:hover,.lang-menu a:focus-visible{background:var(--color-accent-soft)}.lang-menu a[aria-current=true]{background:var(--color-surface)}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;background:none;color:var(--color-ink);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-2xs);cursor:pointer;transition:border-color .2s ease,color .2s ease}.nav-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.nav-toggle .i-close,.nav-toggle[aria-expanded=true] .i-burger{display:none}.nav-toggle[aria-expanded=true] .i-close{display:block}@media(max-width:40rem){.site-nav[data-collapsible=true]{display:none;width:100%}.site-nav[data-collapsible=true][data-open=true]{display:block;border-top:1px solid var(--color-line);margin-top:var(--space-xs)}.site-nav[data-collapsible=true] ul{flex-direction:column;align-items:flex-start;gap:var(--space-sm);padding-block:var(--space-sm)}.site-nav[data-collapsible=true] .lang-switch{display:inline-block;margin-block:var(--space-sm)}.site-nav[data-collapsible=true] .lang-menu{right:auto;left:0}}@media(min-width:40.01rem){.nav-toggle{display:none}}.site-footer{border-top:1px solid var(--color-line);margin-top:var(--space-2xl);font-size:var(--text-sm);color:var(--color-ink-muted)}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-lg)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-md);list-style:none;padding:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.text-size[data-astro-cid-q2dllnzq]{position:fixed;right:16px;bottom:16px;z-index:40;display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--color-accent);border-radius:6px;box-shadow:0 4px 14px #012d5c40;opacity:.85;transition:opacity .2s ease}.text-size[data-astro-cid-q2dllnzq]:hover,.text-size[data-astro-cid-q2dllnzq]:focus-within{opacity:1}.text-size[data-astro-cid-q2dllnzq] button[data-astro-cid-q2dllnzq]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;gap:1px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-on-accent);font-family:var(--font-body);font-size:15px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .2s ease}.text-size[data-astro-cid-q2dllnzq] button[data-astro-cid-q2dllnzq] span[data-astro-cid-q2dllnzq]{font-size:11px}.text-size[data-astro-cid-q2dllnzq] button[data-astro-cid-q2dllnzq]:hover:not(:disabled){background:#ffffff24}.text-size[data-astro-cid-q2dllnzq] button[data-astro-cid-q2dllnzq]:focus-visible{outline:2px solid var(--color-on-accent);outline-offset:-2px}.text-size[data-astro-cid-q2dllnzq] button[data-astro-cid-q2dllnzq]:disabled{opacity:.4;cursor:default}@media print{.text-size[data-astro-cid-q2dllnzq]{display:none}}
