@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2-variations");font-weight:100 800;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--text-1:light-dark(#0f172a,#e2e8f0);--text-2:light-dark(#475569,#94a3b8);--text-3:#64748b;--bg-1:light-dark(#fff,#0b1120);--bg-2:light-dark(#f8fafc,#111827);--border:light-dark(#e2e8f0,#1f2937);--accent:light-dark(#1d4ed8,#60a5fa);--accent-soft:light-dark(#eff6ff,#1e3a5f);--fig-ok:light-dark(#059669,#34d399);--fig-warn:light-dark(#b45309,#fbbf24);--fig-danger:light-dark(#dc2626,#f87171);--fig-test:light-dark(#7c3aed,#a78bfa);--fig-ok-soft:light-dark(#ecfdf5,#052e24);--fig-warn-soft:light-dark(#fffbeb,#3a2a06);--fig-danger-soft:light-dark(#fef2f2,#3b0d0d);--fig-test-soft:light-dark(#f5f3ff,#241a4d);--measure:68ch;--radius:10px;--nav-height:6.25rem;--toc-width:14rem}@media (width>=50rem){:root{--nav-height:4rem}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}html[lang^=ja]{--font-sans:ui-sans-serif, system-ui, -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif}html[lang^=zh]{--font-sans:ui-sans-serif, system-ui, -apple-system, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", "Heiti TC", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--nav-height) + 1.5rem)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg-1);color:var(--text-1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.75}a{color:var(--accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}h1,h2,h3{text-wrap:balance;line-height:1.3}img{max-width:100%;height:auto}code{font-family:var(--font-mono);font-size:.9em}:not(pre)>code{background:var(--bg-2);border:1px solid var(--border);border-radius:4px;padding:.1em .35em}.expressive-code pre:not(:is(svg,svg *)){tab-size:2}.expressive-code{isolation:isolate;margin-block:1.25rem}@media (hover:hover){.expressive-code .copy button:not(:disabled){opacity:.5}}.table-scroll{overflow-x:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;inset-inline-start:-9999px}.skip-link:focus{z-index:20;background:var(--bg-1);border-radius:var(--radius);border:1px solid var(--border);padding:.5rem .75rem;inset-block-start:1rem;inset-inline-start:1rem}.frame.has-title .title{align-items:center;gap:.45em;display:inline-flex}.frame.has-title:has(pre[data-language=ts]) .title:before,.frame.has-title:has(pre[data-language=js]) .title:before,.frame.has-title:has(pre[data-language=python]) .title:before,.frame.has-title:has(pre[data-language=astro]) .title:before,.frame.has-title:has(pre[data-language=css]) .title:before,.frame.has-title:has(pre[data-language=toml]) .title:before,.frame.has-title:has(pre[data-language=yaml]) .title:before,.frame.has-title:has(pre[data-language=dockerfile]) .title:before,.frame.has-title:has(pre[data-language=json]) .title:before,.frame.has-title:has(pre[data-language=ini]) .title:before,.frame.has-title:has(pre[data-language=text]) .title:before,.frame.has-title:has(pre[data-language=plaintext]) .title:before{content:"";background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:1.05em;height:1.05em}.frame.has-title:has(pre[data-language=ts]) .title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233178C6'%3E%3Cpath d='M1.125 0C.502 0 0 .502 0 1.125v21.75C0 23.498.502 24 1.125 24h21.75c.623 0 1.125-.502 1.125-1.125V1.125C24 .502 23.498 0 22.875 0zm17.363 9.75c.612 0 1.154.037 1.627.111a6.38 6.38 0 0 1 1.306.34v2.458a3.95 3.95 0 0 0-.643-.361 5.093 5.093 0 0 0-.717-.26 5.453 5.453 0 0 0-1.426-.2c-.3 0-.573.028-.819.086a2.1 2.1 0 0 0-.623.242c-.17.104-.3.229-.393.374a.888.888 0 0 0-.14.49c0 .196.053.373.156.529.104.156.252.304.443.444s.423.276.696.41c.273.135.582.274.926.416.47.197.892.407 1.266.628.374.222.695.473.963.753.268.279.472.598.614.957.142.359.214.776.214 1.253 0 .657-.125 1.21-.373 1.656a3.033 3.033 0 0 1-1.012 1.085 4.38 4.38 0 0 1-1.487.596c-.566.12-1.163.18-1.79.18a9.916 9.916 0 0 1-1.84-.164 5.544 5.544 0 0 1-1.512-.493v-2.63a5.033 5.033 0 0 0 3.237 1.2c.333 0 .624-.03.872-.09.249-.06.456-.144.623-.25.166-.108.29-.234.373-.38a1.023 1.023 0 0 0-.074-1.089 2.12 2.12 0 0 0-.537-.5 5.597 5.597 0 0 0-.807-.444 27.72 27.72 0 0 0-1.007-.436c-.918-.383-1.602-.852-2.053-1.405-.45-.553-.676-1.222-.676-2.005 0-.614.123-1.141.369-1.582.246-.441.58-.804 1.004-1.089a4.494 4.494 0 0 1 1.47-.629 7.536 7.536 0 0 1 1.77-.201zm-15.113.188h9.563v2.166H9.506v9.646H6.789v-9.646H3.375z'/%3E%3C/svg%3E")}.frame.has-title:has(pre[data-language=js]) .title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F7DF1E'%3E%3Cpath d='M0 0h24v24H0V0zm22.034 18.276c-.175-1.095-.888-2.015-3.003-2.873-.736-.345-1.554-.585-1.797-1.14-.091-.33-.105-.51-.046-.705.15-.646.915-.84 1.515-.66.39.12.75.42.976.9 1.034-.676 1.034-.676 1.755-1.125-.27-.42-.404-.601-.586-.78-.63-.705-1.469-1.065-2.834-1.034l-.705.089c-.676.165-1.32.525-1.71 1.005-1.14 1.291-.811 3.541.569 4.471 1.365 1.02 3.361 1.244 3.616 2.205.24 1.17-.87 1.545-1.966 1.41-.811-.18-1.26-.586-1.755-1.336l-1.83 1.051c.21.48.45.689.81 1.109 1.74 1.756 6.09 1.666 6.871-1.004.029-.09.24-.705.074-1.65l.046.067zm-8.983-7.245h-2.248c0 1.938-.009 3.864-.009 5.805 0 1.232.063 2.363-.138 2.711-.33.689-1.18.601-1.566.48-.396-.196-.597-.466-.83-.855-.063-.105-.11-.196-.127-.196l-1.825 1.125c.305.63.75 1.172 1.324 1.517.855.51 2.004.675 3.207.405.783-.226 1.458-.691 1.811-1.411.51-.93.402-2.07.397-3.346.012-2.054 0-4.109 0-6.179l.004-.056z'/%3E%3C/svg%3E")}.frame.has-title:has(pre[data-language=python]) .title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233776AB'%3E%3Cpath d='M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z'/%3E%3C/svg%3E")}.frame.has-title:has(pre[data-language=astro]) .title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23BC52EE'%3E%3Cpath d='M8.358 20.162c-1.186-1.07-1.532-3.316-1.038-4.944.856 1.026 2.043 1.352 3.272 1.535 1.897.283 3.76.177 5.522-.678.202-.098.388-.229.608-.36.166.473.209.95.151 1.437-.14 1.185-.738 2.1-1.688 2.794-.38.277-.782.525-1.175.787-1.205.804-1.531 1.747-1.078 3.119l.044.148a3.158 3.158 0 0 1-1.407-1.188 3.31 3.31 0 0 1-.544-1.815c-.004-.32-.004-.642-.048-.958-.106-.769-.472-1.113-1.161-1.133-.707-.02-1.267.411-1.415 1.09-.012.053-.028.104-.045.165h.002zm-5.961-4.445s3.24-1.575 6.49-1.575l2.451-7.565c.092-.366.36-.614.662-.614.302 0 .57.248.662.614l2.45 7.565c3.85 0 6.491 1.575 6.491 1.575L16.088.727C15.93.285 15.663 0 15.303 0H8.697c-.36 0-.615.285-.784.727l-5.516 14.99z'/%3E%3C/svg%3E")}.frame.has-title:has(pre[data-language=css]) .title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23663399'%3E%3Cpath d='M0 0v20.16A3.84 3.84 0 0 0 3.84 24h16.32A3.84 3.84 0 0 0 24 20.16V3.84A3.84 3.84 0 0 0 20.16 0Zm14.256 13.08c1.56 0 2.28 1.08 2.304 2.64h-1.608c.024-.288-.048-.6-.144-.84-.096-.192-.288-.264-.552-.264-.456 0-.696.264-.696.84-.024.576.288.888.768 1.08.72.288 1.608.744 1.92 1.296q.432.648.432 1.656c0 1.608-.912 2.592-2.496 2.592-1.656 0-2.4-1.032-2.424-2.688h1.68c0 .792.264 1.176.792 1.176.264 0 .456-.072.552-.24.192-.312.24-1.176-.048-1.512-.312-.408-.912-.6-1.32-.816q-.828-.396-1.224-.936c-.24-.36-.36-.888-.36-1.536 0-1.44.936-2.472 2.424-2.448m5.4 0c1.584 0 2.304 1.08 2.328 2.64h-1.608c0-.288-.048-.6-.168-.84-.096-.192-.264-.264-.528-.264-.48 0-.72.264-.72.84s.288.888.792 1.08c.696.288 1.608.744 1.92 1.296.264.432.408.984.408 1.656.024 1.608-.888 2.592-2.472 2.592-1.68 0-2.424-1.056-2.448-2.688h1.68c0 .744.264 1.176.792 1.176.264 0 .456-.072.552-.24.216-.312.264-1.176-.048-1.512-.288-.408-.888-.6-1.32-.816-.552-.264-.96-.576-1.2-.936s-.36-.888-.36-1.536c-.024-1.44.912-2.472 2.4-2.448m-11.031.018c.711-.006 1.419.198 1.839.63.432.432.672 1.128.648 1.992H9.336c.024-.456-.096-.792-.432-.96-.312-.144-.768-.048-.888.24-.12.264-.192.576-.168.864v3.504c0 .744.264 1.128.768 1.128a.65.65 0 0 0 .552-.264c.168-.24.192-.552.168-.84h1.776c.096 1.632-.984 2.712-2.568 2.688-1.536 0-2.496-.864-2.472-2.472v-4.032c0-.816.24-1.44.696-1.848.432-.408 1.146-.624 1.857-.63'/%3E%3C/svg%3E")}.frame.has-title:has(pre[data-language=toml]) .title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%239C4121'%3E%3Cpath d='M.014 0h5.34v2.652H2.888v18.681h2.468V24H.015V0Zm17.622 5.049v2.78h-4.274v12.935h-3.008V7.83H6.059V5.05h11.577ZM23.986 24h-5.34v-2.652h2.467V2.667h-2.468V0h5.34v24Z'/%3E%3C/svg%3E")}.frame.has-title:has(pre[data-language=yaml]) .title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23CB171E'%3E%3Cpath d='m0 .97 4.111 6.453v4.09h2.638v-4.09L11.053.969H8.214L5.58 5.125 2.965.969Zm12.093.024-4.47 10.544h2.114l.97-2.345h4.775l.804 2.345h2.26L14.255.994Zm1.133 2.225 1.463 3.87h-3.096zm3.06 9.475v10.29H24v-2.199h-5.454v-8.091zm-12.175.002v10.335h2.217v-7.129l2.32 4.792h1.746l2.4-4.96v7.295h2.127V12.696h-2.904L9.44 17.37l-2.455-4.674Z'/%3E%3C/svg%3E")}.frame.has-title:has(pre[data-language=dockerfile]) .title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232496ED'%3E%3Cpath d='M13.983 11.078h2.119a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.119a.185.185 0 00-.185.185v1.888c0 .102.083.185.185.185m-2.954-5.43h2.118a.186.186 0 00.186-.186V3.574a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m0 2.716h2.118a.187.187 0 00.186-.186V6.29a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.887c0 .102.082.185.185.186m-2.93 0h2.12a.186.186 0 00.184-.186V6.29a.185.185 0 00-.185-.185H8.1a.185.185 0 00-.185.185v1.887c0 .102.083.185.185.186m-2.964 0h2.119a.186.186 0 00.185-.186V6.29a.185.185 0 00-.185-.185H5.136a.186.186 0 00-.186.185v1.887c0 .102.084.185.186.186m5.893 2.715h2.118a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m-2.93 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.083.185.185.185m-2.964 0h2.119a.185.185 0 00.185-.185V9.006a.185.185 0 00-.184-.186h-2.12a.186.186 0 00-.186.186v1.887c0 .102.084.185.186.185m-2.92 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.082.185.185.185M23.763 9.89c-.065-.051-.672-.51-1.954-.51-.338.001-.676.03-1.01.087-.248-1.7-1.653-2.53-1.716-2.566l-.344-.199-.226.327c-.284.438-.49.922-.612 1.43-.23.97-.09 1.882.403 2.661-.595.332-1.55.413-1.744.42H.751a.751.751 0 00-.75.748 11.376 11.376 0 00.692 4.062c.545 1.428 1.355 2.48 2.41 3.124 1.18.723 3.1 1.137 5.275 1.137.983.003 1.963-.086 2.93-.266a12.248 12.248 0 003.823-1.389c.98-.567 1.86-1.288 2.61-2.136 1.252-1.418 1.998-2.997 2.553-4.4h.221c1.372 0 2.215-.549 2.68-1.009.309-.293.55-.65.707-1.046l.098-.288Z'/%3E%3C/svg%3E")}.frame.has-title:has(pre[data-language=json]) .title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237D8590'%3E%3Cpath d='M12.043 23.968c.479-.004.953-.029 1.426-.094a11.805 11.805 0 003.146-.863 12.404 12.404 0 003.793-2.542 11.977 11.977 0 002.44-3.427 11.794 11.794 0 001.02-3.476c.149-1.16.135-2.346-.045-3.499a11.96 11.96 0 00-.793-2.788 11.197 11.197 0 00-.854-1.617c-1.168-1.837-2.861-3.314-4.81-4.3a12.835 12.835 0 00-2.172-.87h-.005c.119.063.24.132.345.201.12.074.239.146.351.225a8.93 8.93 0 011.559 1.33c1.063 1.145 1.797 2.548 2.218 4.041.284.982.434 1.998.495 3.017.044.743.044 1.491-.047 2.229-.149 1.27-.554 2.51-1.228 3.596a7.475 7.475 0 01-1.903 2.084c-1.244.928-2.877 1.482-4.436 1.114a3.916 3.916 0 01-.748-.258 4.692 4.692 0 01-.779-.45 6.08 6.08 0 01-1.244-1.105 6.507 6.507 0 01-1.049-1.747 7.366 7.366 0 01-.494-2.54c-.03-1.273.225-2.553.854-3.67a6.43 6.43 0 011.663-1.918c.225-.178.464-.333.704-.479l.016-.007a5.121 5.121 0 00-1.441-.12 4.963 4.963 0 00-1.228.24c-.359.12-.704.27-1.019.45a6.146 6.146 0 00-.733.494c-.211.18-.42.36-.615.555-1.123 1.153-1.768 2.682-2.022 4.256-.15.973-.15 1.96-.091 2.95.105 1.395.391 2.787.945 4.062a8.518 8.518 0 001.348 2.173 8.14 8.14 0 003.132 2.23 7.934 7.934 0 002.113.54c.074.015.149.015.209.015zm-2.934-.398a4.102 4.102 0 01-.45-.228 8.5 8.5 0 01-2.038-1.534c-1.094-1.137-1.827-2.566-2.247-4.08a15.184 15.184 0 01-.495-3.172 12.14 12.14 0 01.046-2.082c.135-1.257.495-2.501 1.124-3.58a6.889 6.889 0 011.783-2.053 6.23 6.23 0 011.633-.9 5.363 5.363 0 013.522-.045c.029 0 .029 0 .045.03.015.015.045.015.06.03.045.016.104.045.165.074.239.12.479.271.704.42a6.294 6.294 0 012.097 2.502c.42.914.615 1.934.631 2.938.014 1.079-.18 2.157-.645 3.146a6.42 6.42 0 01-2.638 2.832c.09.03.18.045.271.075.225.044.449.074.688.074 1.468.045 2.892-.66 3.94-1.647.195-.18.375-.375.54-.585.225-.27.435-.54.614-.823.239-.375.435-.75.614-1.154a8.112 8.112 0 00.509-1.664c.196-1.004.211-2.022.149-3.026-.135-2.022-.673-4.045-1.842-5.724a9.054 9.054 0 00-.555-.719 9.868 9.868 0 00-1.063-1.034 8.477 8.477 0 00-1.363-.915 9.927 9.927 0 00-1.692-.598l-.3-.06c-.209-.03-.42-.044-.634-.06a8.453 8.453 0 00-1.015.016c-.704.045-1.412.16-2.112.337C5.799 1.227 2.863 3.566 1.3 6.67A11.834 11.834 0 00.238 9.801a11.81 11.81 0 00-.104 3.775c.12 1.02.374 2.023.778 2.977.227.57.511 1.124.825 1.648 1.094 1.783 2.683 3.236 4.51 4.24.688.39 1.408.69 2.157.944.226.074.45.15.689.21z'/%3E%3C/svg%3E")}.frame.has-title:has(pre[data-language=ini]) .title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237D8590'%3E%3Cpath d='M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4Zm9.4-2.5-.9-.5a8.6 8.6 0 0 0 0-2l.9-.5a1 1 0 0 0 .4-1.3l-1.5-2.6a1 1 0 0 0-1.3-.4l-.9.5a8.6 8.6 0 0 0-1.7-1V2.7a1 1 0 0 0-1-1h-3a1 1 0 0 0-1 1v1a8.6 8.6 0 0 0-1.7 1l-.9-.5a1 1 0 0 0-1.3.4L3 7.2a1 1 0 0 0 .4 1.3l.9.5a8.6 8.6 0 0 0 0 2l-.9.5a1 1 0 0 0-.4 1.3l1.5 2.6a1 1 0 0 0 1.3.4l.9-.5a8.6 8.6 0 0 0 1.7 1v1a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a8.6 8.6 0 0 0 1.7-1l.9.5a1 1 0 0 0 1.3-.4l1.5-2.6a1 1 0 0 0-.4-1.3Z'/%3E%3C/svg%3E")}.frame.has-title:has(pre[data-language=text]) .title:before,.frame.has-title:has(pre[data-language=plaintext]) .title:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237D8590'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6Zm4 18H6V4h7v5h5v11ZM8 12h8v2H8v-2Zm0 4h8v2H8v-2Z'/%3E%3C/svg%3E")}.lockup[data-astro-cid-6xnqtudh]{display:block}.art[data-astro-cid-6xnqtudh]{height:var(--brand-height,1.5rem);width:auto;display:block}.full[data-astro-cid-6xnqtudh]{display:none}.seal[data-astro-cid-6xnqtudh]{height:var(--brand-seal-height,1.75rem)}@media (width>=50rem){.full[data-astro-cid-6xnqtudh]{display:block}.seal[data-astro-cid-6xnqtudh]{display:none}}label[data-astro-cid-p3yfhax3]{--label-icon-size:.875rem;--caret-size:1.25rem;--inline-padding:.5rem;color:var(--text-2);align-items:center;display:flex;position:relative}label[data-astro-cid-p3yfhax3]:hover{color:var(--text-1)}.icon[data-astro-cid-p3yfhax3]{pointer-events:none;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.label-icon[data-astro-cid-p3yfhax3]{font-size:var(--label-icon-size);inset-inline-start:0}.caret[data-astro-cid-p3yfhax3]{font-size:var(--caret-size);inset-inline-end:0}select[data-astro-cid-p3yfhax3]{padding-block:.5rem;padding-inline:calc(var(--label-icon-size) + var(--inline-padding) + .25rem) calc(var(--caret-size) + var(--inline-padding) + .25rem);margin-inline:calc(var(--inline-padding) * -1);width:calc(var(--select-width) + var(--inline-padding) * 2);font:inherit;color:inherit;text-overflow:ellipsis;cursor:pointer;appearance:none;background-color:#0000;border:0;font-size:.875rem}option[data-astro-cid-p3yfhax3]{background-color:var(--bg-1);color:var(--text-1)}.visually-hidden[data-astro-cid-p3yfhax3]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}reading-progress[data-astro-cid-kw4rgypl]{inset-inline:0;pointer-events:none;height:3px;display:block;position:absolute;bottom:-1px}reading-progress[data-astro-cid-kw4rgypl][hidden]{display:none}.fill[data-astro-cid-kw4rgypl]{background:var(--accent);transform-origin:0;height:100%;transform:scaleX(0)}@media (forced-colors:active){.fill[data-astro-cid-kw4rgypl]{forced-color-adjust:none;background:highlight}}@media print{reading-progress[data-astro-cid-kw4rgypl]{display:none}}site-search[data-astro-cid-etsyzymg]{display:contents}button[data-astro-cid-etsyzymg][data-open-modal]{height:2.25rem;font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;display:flex}button[data-astro-cid-etsyzymg][data-open-modal]:hover{color:var(--text-1)}.magnifier[data-astro-cid-etsyzymg]{font-size:1.1rem;display:flex}.label[data-astro-cid-etsyzymg],.shortcut[data-astro-cid-etsyzymg]{display:none}.shortcut[data-astro-cid-etsyzymg]{background:var(--bg-2);color:var(--text-3);font-family:var(--font-sans);border-radius:.25rem;gap:.25em;padding-inline:.375rem;font-size:.6875rem}@media (width>=50rem){button[data-astro-cid-etsyzymg][data-open-modal]{border:1px solid var(--border);background:var(--bg-2);border-radius:.5rem;width:100%;max-width:22rem;height:2.5rem;padding-inline:.75rem .5rem;font-size:.875rem}button[data-astro-cid-etsyzymg][data-open-modal]:hover{border-color:var(--text-3)}.label[data-astro-cid-etsyzymg]{display:block}.shortcut[data-astro-cid-etsyzymg]{margin-inline-start:auto;display:flex}}dialog[data-astro-cid-etsyzymg]{border:1px solid var(--border);background:var(--bg-1);width:100%;max-width:100%;height:100%;max-height:100%;color:var(--text-1);margin:0;padding:0;overflow:visible}dialog[data-astro-cid-etsyzymg][open]{display:flex}dialog[data-astro-cid-etsyzymg]::backdrop{backdrop-filter:blur(.25rem);background:light-dark(#0f172a59,#0009)}.frame[data-astro-cid-etsyzymg]{flex-direction:column;flex-grow:1;gap:1rem;padding:1rem;display:flex;position:relative;overflow:visible}button[data-astro-cid-etsyzymg][data-close-modal]{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-end;padding:.25rem .5rem;font-size:.875rem}.results[data-astro-cid-etsyzymg]{--pagefind-ui-primary:var(--text-1);--pagefind-ui-text:var(--text-1);--pagefind-ui-background:var(--bg-1);--pagefind-ui-border:var(--border);--pagefind-ui-border-width:1px;--pagefind-ui-tag:var(--bg-2)}.results[data-astro-cid-etsyzymg] .pf-searchbox{width:100%;max-width:none;display:block}.results[data-astro-cid-etsyzymg] .note{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text-2);margin:0;padding:.75rem 1rem;font-size:.9375rem}@media (width>=50rem){dialog[data-astro-cid-etsyzymg]{background:0 0;border:0;width:90%;max-width:34rem;height:max-content;max-height:none;margin:5rem auto auto}.frame[data-astro-cid-etsyzymg]{padding:0}button[data-astro-cid-etsyzymg][data-close-modal]{display:none}}header[data-astro-cid-fzpbxy5g]{z-index:10;border-block-end:1px solid var(--border);background:var(--bg-1);position:sticky;top:0}.bar[data-astro-cid-fzpbxy5g]{height:var(--nav-height);grid-template-columns:1fr auto;grid-template-areas:"brand search""actions actions";align-items:center;gap:.5rem .75rem;padding:.6rem 1rem;display:grid}.brand[data-astro-cid-fzpbxy5g]{min-width:0;color:var(--text-1);grid-area:brand;align-items:center;text-decoration:none;display:flex}.search[data-astro-cid-fzpbxy5g]{grid-area:search;justify-content:center;min-width:0;display:flex}.actions[data-astro-cid-fzpbxy5g]{grid-area:actions;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.nav-link[data-astro-cid-fzpbxy5g]{color:var(--text-2);font-size:.875rem;text-decoration:none}.nav-link[data-astro-cid-fzpbxy5g]:hover{color:var(--text-1)}@media (width>=50rem){.bar[data-astro-cid-fzpbxy5g]{grid-template-columns:auto 1fr auto;grid-template-areas:"brand search actions";gap:1rem;padding-inline:1.5rem}.actions[data-astro-cid-fzpbxy5g]{justify-content:flex-end;gap:1rem}.nav-link[data-astro-cid-fzpbxy5g]:after{content:"";border-inline-end:1px solid var(--border);vertical-align:middle;height:1.75rem;margin-inline-start:1rem;display:inline-block}}footer[data-astro-cid-nns7i3if]{border-block-start:1px solid var(--border);color:var(--text-2);font-size:.875rem}.bar[data-astro-cid-nns7i3if]{max-width:var(--measure);justify-content:space-between;gap:1rem;margin-inline:auto;padding:1.5rem 1.25rem;display:flex}.links[data-astro-cid-nns7i3if]{gap:1rem;display:flex}.page[data-astro-cid-z4jru4n3]{max-width:var(--measure);margin-inline:auto;padding-inline:1.25rem}main[data-astro-cid-z4jru4n3]{min-width:0;padding-block:2.5rem 4rem}.toc[data-astro-cid-z4jru4n3],.rail[data-astro-cid-z4jru4n3]{display:none}@media (width>=80rem){.page[data-astro-cid-z4jru4n3]{position:relative}.rail[data-astro-cid-z4jru4n3]{z-index:2;display:block;position:absolute;inset-block:0;inset-inline-end:calc(100% + 1.5rem)}.rail[data-astro-cid-z4jru4n3]>*{top:calc(var(--nav-height) + 1.5rem);position:sticky}}@media (width>=72rem){.page[data-astro-cid-z4jru4n3][data-has-toc]{grid-template-columns:minmax(0, 1fr) var(--toc-width);max-width:calc(var(--measure) + var(--toc-width) + 3rem);align-items:start;gap:3rem;display:grid}.page[data-astro-cid-z4jru4n3][data-has-toc] .toc[data-astro-cid-z4jru4n3]{top:var(--nav-height);max-height:calc(100vh - var(--nav-height));scrollbar-width:thin;padding-block:2.5rem 2rem;scroll-padding-block:1rem 2rem;display:block;position:sticky;overflow-y:auto;mask-image:linear-gradient(#0000,#000 1rem calc(100% - 2rem),#0000)}}
