@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-v23-latin-regular.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-v23-latin-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-v23-latin-600.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}body{margin:0}:root{--bg: #fdfdfd;--text: #1a1a1a;--secondary-bg: #f4f4f4;--border: rgba(0, 0, 0, .18);--tint: #0066d6;--tint-visited: #4da3ff;--muted: rgba(0, 0, 0, .6);--tint-muted: rgba(0, 102, 214, .8);--max: 745px;--pad: 18px;--radius: 12px;--radius-sm: calc(var(--radius) * .5);--radius-lg: calc(var(--radius) * 1.5);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #0d0d0d;--text: #e3e3e3;--secondary-bg: #141414;--muted: rgba(255, 255, 255, .6);--border: rgba(255, 255, 255, .15);--tint-muted: rgba(77, 163, 255, .8);--tint: #4da3ff;--tint-visited: #8fc2ff}}body{color:var(--text);background:var(--bg);font-family:IBM Plex Sans,system-ui,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:17.5px;font-weight:400;line-height:1.6;letter-spacing:.01em;overflow-x:hidden}.page{min-height:100vh;display:flex;flex-direction:column}.site-main,.site-footer{max-width:var(--max);padding-left:var(--pad);padding-right:var(--pad);margin-left:auto;margin-right:auto;width:100%}.site-main{flex:1;padding-top:52px;padding-bottom:72px}.site-header{position:sticky;top:0;z-index:100;width:100%;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:none;transition:transform .3s ease;user-select:none;-webkit-user-select:none}.site-header.is-hidden{transform:translateY(-100%)}.site-header-inner{max-width:var(--max);margin-left:auto;margin-right:auto;padding:18px var(--pad);display:flex;align-items:center;gap:16px}.site-logo{flex:0 0 auto;display:inline-flex;align-items:center;text-decoration:none}.site-logo img{width:36px;height:36px;max-width:none;display:block}.site-nav{margin-left:auto;display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap;align-items:baseline;text-align:right}.nav-link{display:inline-block;font-size:20px;font-weight:500;letter-spacing:.02em;text-transform:lowercase;text-decoration:none;color:var(--tint);padding-bottom:2px;border-bottom:2px solid transparent}.nav-link:hover{color:var(--tint-visited)}.nav-link.is-active{color:var(--text);border-bottom-color:var(--text);opacity:.85}.nav-hamburger{display:none;margin-left:auto;background:none;border:none;padding:4px;cursor:pointer;color:var(--text);line-height:0;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:none;user-select:none;touch-action:manipulation;-webkit-appearance:none;appearance:none}.nav-hamburger:active,.nav-hamburger:focus:not(:focus-visible){background:none;outline:none}.nav-hamburger:focus-visible{outline:2px solid var(--tint);outline-offset:2px;border-radius:4px}.nav-hamburger svg,.nav-overlay-close svg{pointer-events:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.nav-overlay{position:fixed;inset:0;z-index:150;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .24s ease}.nav-overlay.is-open{opacity:1;pointer-events:auto}.nav-overlay-close{position:absolute;top:18px;right:var(--pad);background:none;border:none;padding:4px;cursor:pointer;color:var(--text);line-height:0;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:none;user-select:none;touch-action:manipulation;-webkit-appearance:none;appearance:none}.nav-overlay-close:active,.nav-overlay-close:focus:not(:focus-visible){background:none;outline:none}.nav-overlay-close:focus-visible{outline:2px solid var(--tint);outline-offset:2px;border-radius:4px}.nav-overlay-nav{display:flex;flex-direction:column;align-items:center;gap:40px;opacity:0;transform:translateY(12px);transition:opacity .2s ease 60ms,transform .2s ease 60ms}.nav-overlay.is-open .nav-overlay-nav{opacity:1;transform:translateY(0)}.nav-overlay-link{font-size:28px;font-weight:500;letter-spacing:.02em;text-transform:lowercase;text-decoration:none;color:var(--tint);padding-bottom:3px;border-bottom:2px solid transparent;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:none;user-select:none;touch-action:manipulation}.nav-overlay-link:active,.nav-overlay-link:focus:not(:focus-visible){outline:none}.nav-overlay-link:focus-visible{outline:2px solid var(--tint);outline-offset:4px;border-radius:2px}.nav-overlay-link:hover{color:var(--tint-visited)}.nav-overlay-link.is-active{color:var(--text);border-bottom-color:var(--text);opacity:.85}@media(max-width:640px){:root.js .site-nav{display:none}:root.js .nav-hamburger{display:flex;align-items:center;justify-content:center}}@media(max-width:540px){.site-nav{gap:13px}.nav-link{font-size:17px}}@media(max-width:440px){.site-nav{gap:10px}.nav-link{font-size:16px}}@media(max-width:400px){.site-nav{gap:8px}}@media(max-width:385px){:root:not(.js) .site-logo{display:none}.site-nav{margin-left:auto}}@media(prefers-reduced-motion:reduce){.site-header,.nav-overlay,.nav-overlay-nav{transition:none}}.site-footer{margin-top:0;margin-bottom:28px;font-size:15px;font-weight:500;font-style:normal;line-height:1.4;color:var(--muted);text-align:center}.site-footer a{color:var(--text)}.footer-socials{display:flex;justify-content:center;gap:16px;margin-top:12px}.footer-socials a{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);transition:color .15s ease}.footer-socials a:hover{color:var(--text)}.footer-socials a[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);font-size:11px;font-weight:500;white-space:nowrap;padding:3px 7px;border-radius:4px;pointer-events:none;opacity:0;transition:opacity .15s ease}.footer-socials a[data-tooltip]:hover:after{opacity:1}img,video{max-width:100%;height:auto;border-radius:var(--radius)}a{color:var(--tint);text-decoration:none}a:hover{color:var(--tint-visited)}a.isFancyLink:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}p{margin:22px 0}h1,h2,h3{line-height:1.15;font-weight:900;letter-spacing:-.02em}h1{font-size:36px;font-weight:700;margin-top:0;margin-bottom:16px}h2{font-size:28px;margin-top:52px;margin-bottom:14px}h3{font-size:24px;margin-top:40px;margin-bottom:12px}hr{border:0;margin:44px 0;border-top:2px dashed var(--muted)}.subtitle{font-weight:500;line-height:1.15;font-size:22px;margin-top:14px}.subtitle.add-top-margin{margin-top:28px}blockquote{margin:36px 0;padding:16px;border-left:4px solid var(--border)}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.95em}pre{overflow:auto;padding:16px;border:1px solid var(--border);border-radius:var(--radius);max-width:100%}@media(prefers-color-scheme:dark){pre{border:none}}.box{border:3px solid var(--border);padding:16px;border-radius:var(--radius);text-align:center}@media(max-width:700px){body{font-size:16.5px}h1{font-size:30px}.site-main{padding-top:40px;padding-bottom:36px}}table{width:100%;border-collapse:collapse;margin:28px 0;font-size:.95em;line-height:1.4}thead{background:var(--secondary-bg)}th,td{padding:10px 12px;border:1px solid var(--border);vertical-align:top}th{font-weight:600;text-align:left}tbody tr:nth-child(2n){background:color-mix(in srgb,var(--secondary-bg) 40%,transparent)}.warning-box{width:100%;margin:0 0 24px;border-radius:var(--radius);border:transparent;background:var(--secondary-bg);color:var(--muted);padding:18px}.warning-box-inner{display:grid;gap:14px;justify-items:center;text-align:center}.warning-text{margin:0;font-weight:600;line-height:1.35}.astro-code,.astro-code span{color:var(--shiki-light);background-color:var(--shiki-light-bg);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration)}@media(prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}
