:root{--font-fallback: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;--font-body: system-ui, var(--font-fallback);--font-mono: "IBM Plex Mono", Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;--color-base-white: 0, 0%;--color-base-black: 240, 100%;--color-base-gray: 225, 12%;--color-base-blue: 212, 100%;--color-base-blue-dark: 212, 72%;--color-base-green: 135, 55%;--color-base-orange: 22, 100%;--color-base-purple: 269, 79%;--color-base-red: 351, 100%;--color-base-yellow: 41, 100%;--color-base-brand: 158, 43%;--color-gray-5: var(--color-base-gray), 5%;--color-gray-10: var(--color-base-gray), 10%;--color-gray-15: var(--color-base-gray), 15%;--color-gray-20: var(--color-base-gray), 20%;--color-gray-30: var(--color-base-gray), 30%;--color-gray-40: var(--color-base-gray), 40%;--color-gray-50: var(--color-base-gray), 50%;--color-gray-60: var(--color-base-gray), 60%;--color-gray-70: var(--color-base-gray), 70%;--color-gray-80: var(--color-base-gray), 80%;--color-gray-90: var(--color-base-gray), 90%;--color-gray-95: var(--color-base-gray), 95%;--color-brand: var(--color-base-brand), 48%;--color-blue: var(--color-base-blue), 61%;--color-blue-dark: var(--color-base-blue-dark), 39%;--color-green: var(--color-base-green), 57%;--color-orange: var(--color-base-orange), 50%;--color-purple: var(--color-base-purple), 54%;--color-red: var(--color-base-red), 54%;--color-yellow: var(--color-base-yellow), 59%;color-scheme:light;--theme-accent: hsla(var(--color-brand), 1);--theme-text-accent: hsla(var(--color-brand), 1);--theme-accent-opacity: .15;--theme-divider: hsla(var(--color-gray-95), 1);--theme-text: hsla(var(--color-gray-10), 1);--theme-text-light: hsla(var(--color-gray-10), 1);--theme-text-lighter: hsla(var(--color-gray-80), 1);--theme-bg: hsla(var(--color-base-white), 100%, 1);--theme-bg-hover: hsla(var(--color-gray-95), 1);--theme-bg-offset: hsla(var(--color-gray-90), 1);--theme-bg-accent: hsla(var(--color-brand), var(--theme-accent-opacity));--theme-code-inline-bg: hsla(var(--color-gray-95), 1);--theme-code-inline-text: var(--theme-text);--theme-code-bg: hsla(217, 19%, 27%, 1);--theme-code-text: hsla(var(--color-gray-95), 1);--theme-navbar-bg: hsla(var(--color-gray-15), 1);--theme-navbar-height: 20rem;--theme-navbar-height-mobile: 6rem;--theme-selection-color: hsla(var(--color-brand), 1);--theme-selection-bg: hsla(var(--color-brand), var(--theme-accent-opacity));--theme-menu-button-bg: hsla(var(--color-gray-90), 1)}body{background:var(--theme-bg);color:var(--theme-text)}::-moz-selection{color:var(--theme-selection-color);background-color:var(--theme-selection-bg)}::selection{color:var(--theme-selection-color);background-color:var(--theme-selection-bg)}.logo-text{fill:#000}.language-css>code,.language-sass>code,.language-scss>code{color:#fd9170}[class*=language-] .namespace{opacity:.7}.token.plain-text,[class*=language-bash] span.token,[class*=language-shell] span.token{color:hsla(var(--color-gray-90),1)}[class*=language-bash] span.token,[class*=language-shell] span.token{font-style:bold}.token.prolog,.token.comment,[class*=language-bash] span.token.comment,[class*=language-shell] span.token.comment{color:hsla(var(--color-gray-70),1)}.token.selector,.token.tag,.token.unit,.token.url,.token.variable,.token.entity,.token.deleted{color:#fa5e5b}.token.boolean,.token.constant,.token.doctype,.token.number,.token.regex,.token.builtin,.token.class,.token.hexcode,.token.class-name,.token.attr-name{color:hsla(var(--color-yellow),1)}.token.atrule,.token.attribute,.token.attr-value .token.punctuation,.token.attr-value,.token.pseudo-class,.token.pseudo-element,.token.string{color:hsla(var(--color-green),1)}.token.symbol,.token.function,.token.id,.token.important{color:hsla(var(--color-blue),1)}.token.important,.token.id{font-weight:700}.token.cdata,.token.char,.token.property{color:#23b1af}.token.inserted{color:hsla(var(--color-green),1)}.token.keyword{color:#ff657c;font-style:italic}.token.operator{color:hsla(var(--color-gray-70),1)}.token.attr-value .token.attr-equals,.token.punctuation{color:hsla(var(--color-gray-80),1)}*{box-sizing:border-box;margin:0}*:focus:not(:focus-visible){outline:none}:root{--user-font-scale: 1rem - 16px;--max-width:calc(100% - 1rem)}@media (min-width: 50em){:root{--max-width: 75em}}body{display:flex;flex-direction:column;min-height:100vh;font-family:var(--font-body);font-size:1.25rem;font-size:clamp(.9rem,.75rem + .375vw + var(--user-font-scale),1rem);line-height:1.5;max-width:100vw}nav ul{list-style:none;padding:0}section li>ol,section li>ul{margin-top:.5rem}article.content>section>p{margin-top:1.25rem}.content>section>:first-child{margin-top:0}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;font-weight:700;line-height:1}:is(h1,h2,h3,h4,h5,h6)[id]:hover a .icon{position:absolute;padding-right:.2rem;margin-left:-2rem;font-size:2rem;line-height:1;text-decoration:none}:is(h1,h2,h3,h4,h5,h6)[id]:hover a .icon:before{display:block;content:"\261e"}:is(h2,h3):not(:first-child){margin-top:3rem}:is(h4,h5,h6):not(:first-child){margin-top:2rem}h1{font-size:2rem;font-weight:800}h2{font-size:1.5rem}h3,h4,h5{font-size:1rem}@media (min-width: 50em){h1{font-size:2.75rem;font-weight:800}h2{font-size:2.25rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1rem}}p{line-height:1.65em;font-size:large}p,.content ul{color:var(--theme-text-light);font-size:large}p,.content ol{font-size:large}.figure p{font-family:Roboto;font-size:22px}small,.text_small{font-size:.833rem}sup{line-height:0}a{color:var(--theme-text-accent);font-weight:400;text-underline-offset:.08em;align-items:center;gap:.5rem}article>section :is(ul,ol)>*+*{margin-top:.75rem}article>section nav :is(ul,ol)>*+*{margin-top:inherit}article>section li>:is(p,pre,blockquote):not(:first-child){margin-top:1rem}article>section :is(ul,ol){padding-left:1em}article>section nav :is(ul,ol){padding-left:inherit}article>section nav{margin-top:1rem;margin-bottom:2rem}article>section ::marker{font-weight:700;color:var(--theme-text-light)}article>section iframe{width:100%;height:auto;aspect-ratio:16 / 9}a>code:not([class*=language]){position:relative;color:var(--theme-text-accent);background:transparent;text-underline-offset:var(--padding-block)}a>code:not([class*=language]):before{content:"";position:absolute;inset:0;display:block;background:var(--theme-accent);opacity:var(--theme-accent-opacity);border-radius:var(--border-radius)}a:hover,a:focus{text-decoration:underline}a:focus{outline:2px solid currentColor;outline-offset:.25em}strong{font-weight:600;color:inherit}code{font-family:var(--font-mono);font-size:.85em}code:not([class*=language]){--border-radius: 3px;--padding-block: .2rem;--padding-inline: .4rem;color:var(--theme-code-inline-text);background-color:var(--theme-code-inline-bg);padding:var(--padding-block) var(--padding-inline);margin:calc(var(--padding-block) * -1) -.125em;border-radius:var(--border-radius);box-shadow:0 2px 1px #00000014}pre>code:not([class*=language]){background-color:transparent;padding:0;margin:0;border-radius:0;color:inherit}pre>code{font-size:1em}table,pre{position:relative;--padding-block: 1rem;--padding-inline: 2rem;padding:var(--padding-block) var(--padding-inline);padding-right:calc(var(--padding-inline) * 2);margin-left:calc(var(--padding-inline) * -1);margin-right:calc(var(--padding-inline) * -1);font-family:var(--font-mono);line-height:1.5;font-size:.85em;overflow-y:hidden;overflow-x:auto}table{width:100%;padding:var(--padding-block) 0;margin:0;border-collapse:collapse}tr:nth-of-type(odd){background:var(--theme-bg-hover)}th{background:var(--theme-bg);color:var(--theme-text);font-weight:700;border-bottom:2px solid var(--theme-accent);text-align:left}th[align=center]{text-align:center}th[align=right]{text-align:right}td,th{padding:6px}pre{background-color:var(--theme-code-bg);color:var(--theme-code-text)}blockquote code:not([class*=language]){background-color:var(--theme-bg)}@media (min-width: 37.75em){pre{--padding-inline: 1.25rem;border-radius:8px;margin-left:0;margin-right:0}}blockquote{margin:2rem 0;padding:1.25em 1.5rem;border-left:3px solid var(--theme-text-light);background-color:var(--theme-bg-offset);border-radius:0 .25rem .25rem 0;line-height:1.7}img{max-width:100%}.flex{display:flex;align-items:center}button:not(.body-button){background:none;display:inline-flex;padding:0;align-items:center;justify-items:center;border:0;font-size:1rem}button:not(.no-btn):not(.body-button){gap:.25em;padding:.33em .67em;background:var(--theme-bg);border-radius:99em;color:var(--theme-text);background-color:var(--theme-bg)}.body-button{background-color:#46af88;color:#000}h2.heading{font-size:1rem;font-weight:700;padding:.1rem 1rem;text-transform:uppercase;margin-bottom:.5rem}.header-link{font-size:1rem;padding:.1rem 0 1rem 1rem;border-left:2px solid black}.header-link.active{border-left-color:var(--theme-accent)}.header-link:hover,.header-link:focus{border-left-color:var(--theme-accent);color:var(--theme-accent)}.header-link:focus-within{color:var(--theme-text-light);border-left-color:hsla(var(--color-gray-40),1)}.header-link svg{opacity:.6}.header-link:hover svg{opacity:.8}.header-link a{display:inline-flex;gap:.5em;width:100%;padding:.15em 0}.header-link.depth-3{padding-left:2rem}.header-link.depth-4{padding-left:3rem}.header-link a{font:inherit;color:inherit;text-decoration:none}#book-nav .header-link{font-size:1rem;padding:.1rem 0 .1rem .5rem;border-left:1.5px solid var(--theme-text-light);margin-left:0rem;font-style:italic}.focus\:not-sr-only:focus,.focus\:not-sr-only:focus-visible{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}:target{scroll-margin:calc(var(--theme-sidebar-offset, 5rem) + 2rem) 0 2rem}.text-divider{margin-top:4rem;margin-bottom:4rem;display:flex;align-items:center;--text-divider-gap: 1rem}.text-divider:before,.text-divider:after{content:"";height:1px;background-color:silver;flex-grow:1}.text-divider:before{margin-right:var(--text-divider-gap)}.text-divider:after{margin-left:var(--text-divider-gap)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(64 136 181 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(64 136 181 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.isolate{isolation:isolate}.z-50{z-index:50}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-end-5{grid-column-end:5}.float-right{float:right}.m-0{margin:0}.my-12{margin-top:3rem;margin-bottom:3rem}.mx-auto{margin-left:auto;margin-right:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.ml-12{margin-left:3rem}.mt-\[4px\]{margin-top:4px}.mr-4{margin-right:1rem}.mb-2{margin-bottom:.5rem}.mt-2{margin-top:.5rem}.ml-1{margin-left:.25rem}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.mt-12{margin-top:3rem}.mt-6{margin-top:1.5rem}.mb-3{margin-bottom:.75rem}.mt-1{margin-top:.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-5{height:1.25rem}.h-full{height:100%}.h-3\.5{height:.875rem}.h-3{height:.75rem}.h-auto{height:auto}.min-h-\[2rem\]{min-height:2rem}.min-h-\[1\.5rem\]{min-height:1.5rem}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-5{width:1.25rem}.w-full{width:100%}.w-3\.5{width:.875rem}.w-3{width:.75rem}.max-w-sm{max-width:24rem}.max-w-\[40rem\]{max-width:40rem}.max-w-4xl{max-width:56rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-xl{max-width:36rem}.max-w-lg{max-width:32rem}.max-w-full{max-width:100%}.max-w-5xl{max-width:64rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-4{gap:1rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.rounded-lg{border-radius:.5rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-full{border-radius:9999px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-solid{border-style:solid}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.\!bg-transparent{background-color:transparent!important}.bg-red-300{--tw-bg-opacity: 1;background-color:rgb(252 165 165 / var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity: 1;background-color:rgb(253 224 71 / var(--tw-bg-opacity))}.bg-black\/30{background-color:#0000004d}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity))}.p-5{padding:1.25rem}.\!p-px{padding:1px!important}.p-4{padding:1rem}.p-0\.5{padding:.125rem}.p-0{padding:0}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pt-6{padding-top:1.5rem}.pb-0{padding-bottom:0}.pt-0{padding-top:0}.pr-4{padding-right:1rem}.pl-8{padding-left:2rem}.pl-1{padding-left:.25rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-light{font-weight:300}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-4{line-height:1rem}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-current{color:currentColor}.text-black\/40{color:#0006}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!no-underline{text-decoration-line:none!important}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.first-letter\:float-left:first-letter{float:left}.first-letter\:mr-3:first-letter{margin-right:.75rem}.first-letter\:text-7xl:first-letter{font-size:4.5rem;line-height:1}.first-letter\:font-bold:first-letter{font-weight:700}.first-letter\:text-black:first-letter{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.hover\:cursor-pointer:hover{cursor:pointer}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(160 195 218 / var(--tw-ring-opacity)) }[dir=rtl] .rtl\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 768px){.md\:mt-8{margin-top:2rem}.md\:mb-8{margin-bottom:2rem}.md\:min-h-\[24rem\]{min-height:24rem}.md\:w-1\/2{width:50%}.md\:w-5\/12{width:41.666667%}.md\:px-12{padding-left:3rem;padding-right:3rem}}@media (min-width: 1024px){.lg\:-mx-4{margin-left:-1rem;margin-right:-1rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:w-1\/3{width:33.333333%}.lg\:px-4{padding-left:1rem;padding-right:1rem}}.skiplink:where(.astro-DMGOOZ7Y),.skiplink:where(.astro-DMGOOZ7Y):focus,.skiplink:where(.astro-DMGOOZ7Y):focus-visible{position:absolute;padding:.25em;font-size:larger;top:0;left:0;right:0;z-index:9;display:block;text-align:center;background-color:var(--theme-text-accent);color:var(--theme-bg);border-radius:.25em;outline:var(--theme-bg) solid 1px;outline-offset:0}.search-modal{border-color:var(--theme-accent);border-style:solid;background:var(--theme-bg);color:var(--theme-text)}.search-modal button{background:var(--theme-bg-hover)}.search-modal button:hover{background:var(--theme-bg-accent)}.search-input{flex-grow:1;box-sizing:border-box;width:100%;margin:0;padding:.33em .5em;overflow:visible;font-weight:500;font-size:1rem;font-family:inherit;line-height:inherit;background-color:var(--theme-divider);border-color:var(--theme-divider-dark);color:var(--theme-text-dark);border-style:solid;border-width:1px;border-radius:.25rem;outline:0;cursor:pointer;transition-timing-function:ease-out;transition-duration:.2s;transition-property:border-color,color;-webkit-font-smoothing:antialiased}.search-input::-moz-placeholder{color:var(--theme-text-light)}.search-input::placeholder{color:var(--theme-text-light)}.search-hint{position:absolute;top:7px;right:19px;padding:3px 5px;display:none;align-items:center;justify-content:center;letter-spacing:.125em;font-size:13px;font-family:var(--font-mono);pointer-events:none;border-color:var(--theme-text-lighter);color:var(--theme-text-light);border-style:solid;border-width:1px;border-radius:.25rem;line-height:14px}@media (min-width: 50em){.search-hint{display:flex}}header:where(.astro-2W66RQV5){z-index:11;width:100%;background-color:var(--theme-navbar-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;position:sticky;top:0;padding:2rem 2rem 2rem .5rem}#nav-meta:where(.astro-2W66RQV5){display:none}#nav-meta:where(.astro-2W66RQV5) h2:where(.astro-2W66RQV5){border-top:1px solid var(--theme-text-lighter);margin-top:0;padding-top:1em}.logo:where(.astro-2W66RQV5){display:flex;overflow:hidden;font-size:2rem;flex-shrink:0;font-weight:600;line-height:1;color:hsla(var(--color-base-white),100%,1);gap:.25em;z-index:-1}.logo:where(.astro-2W66RQV5) a:where(.astro-2W66RQV5){padding:.5em .25em;margin:-.5em -.25em;text-decoration:none;font-weight:700;transition:color .1s ease-out;color:var(--theme-text)}.logo:where(.astro-2W66RQV5) a:where(.astro-2W66RQV5):hover,.logo:where(.astro-2W66RQV5) a:where(.astro-2W66RQV5):focus{color:var(--theme-text-accent)}.logo:where(.astro-2W66RQV5) h1:where(.astro-2W66RQV5){font:inherit;color:inherit;margin:0}.nav-wrapper:where(.astro-2W66RQV5){display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:1em;width:100%;max-width:100vw;padding:0 1rem;position:inherit}.nav-wrapper:where(.astro-2W66RQV5) #nav-header:where(.astro-2W66RQV5){color:#fff;font-weight:500;width:45vw;line-height:3.5rem}.nav-wrapper:where(.astro-2W66RQV5) p:where(.astro-2W66RQV5){color:var(--theme-text-lighter)}.nav-wrapper:where(.astro-2W66RQV5) h2:where(.astro-2W66RQV5){color:hsla(var(--color-green));font-size:1.5rem;font-weight:400;text-transform:uppercase;letter-spacing:.4rem;margin-top:1em}.nav-wrapper:where(.astro-2W66RQV5) h1:where(.astro-2W66RQV5){font-size:2.5rem}.back-arrow{height:1em;width:1em;vertical-align:middle}.site-nav-header{font-size:1.5em}.site-nav-header a{color:var(--theme-text);font-style:italic;text-underline-offset:.3em;margin-left:1em}.site-nav-header a span{vertical-align:middle;margin-left:.5em}.site-nav-content ul li.chapter{margin-bottom:1.5em}#menu-toggle{background-color:var(--theme-menu-button-bg);color:var(--theme-text);font-size:2em;cursor:pointer}#book-nav .site-nav-content{margin-top:2em;padding-left:2em}#book-nav .site-nav-content h1 a{text-decoration:none;margin-top:2em;font-weight:600;padding-left:0}#book-nav .site-nav-content ul{margin-bottom:1em}#btn-download-pdf:where(.astro-2W66RQV5){background:hsla(3,74%,52%,1);color:#fff;padding:1rem 2rem;margin-top:20px;cursor:pointer}hr:where(.astro-2W66RQV5){width:100%;border-color:#4b4b4b}@media (min-width: 50em){header:where(.astro-2W66RQV5){position:static;padding:2rem}.logo:where(.astro-2W66RQV5){margin:0;z-index:0;width:auto}#nav-meta:where(.astro-2W66RQV5){display:block}}.search-item:where(.astro-2W66RQV5){display:none;position:relative;z-index:10;flex-grow:1;padding-right:.7rem;display:flex;max-width:200px}.search-item>*{flex-grow:1}@media (min-width: 50em){.search-item:where(.astro-2W66RQV5){max-width:400px}}.sidebar-nav:where(.astro-L5QTRQAD){width:100%;position:sticky;top:0}.sidebar-nav-inner:where(.astro-L5QTRQAD){height:100%;padding:0;padding-top:var(--doc-padding);overflow:auto}.sidebar-nav-inner ul.chapter-nav-list{background-color:hsla(var(--color-gray-95),1);border-radius:1px;padding:1em}body{width:100%;display:block;--gutter: 1rem;--doc-padding: 2rem}.layout:where(.astro-OUAMJN2I){display:grid;grid-auto-flow:column;grid-template-columns:minmax(var(--gutter),1fr) minmax(0,var(--max-width));overflow-x:hidden;position:relative}.layout:where(.astro-OUAMJN2I)>*{width:100%;height:100%}.layout:where(.astro-OUAMJN2I).home{grid-template-columns:minmax(0,var(--max-width));#chapter-nav{display:none}#grid-main{grid-column:1}}#grid-main:where(.astro-OUAMJN2I){padding:var(--doc-padding) var(--gutter);grid-column:2;display:flex;flex-direction:column;height:100%;min-height:100rem}#chapter-nav:where(.astro-OUAMJN2I){grid-column:1;position:sticky;top:0;padding:0}.mobile-sidebar-toggle{overflow:hidden}.mobile-sidebar-toggle #book-nav:where(.astro-OUAMJN2I){display:block;height:100%;visibility:visible;opacity:1;transform:translate(0);transition:all .3s ease-in-out}#chapter-nav:where(.astro-OUAMJN2I){display:none}#footer{border-top:2px solid var(--theme-text);padding-top:2em}#footer .copyright{font-style:italic;padding-top:1em}@media (min-width: 50em){body{display:grid;--gutter: 3rem}.layout:where(.astro-OUAMJN2I){overflow:initial;overflow-x:hidden;grid-template-columns:22rem minmax(0,var(--max-width));gap:1em;padding-left:2em}#book-nav:where(.astro-OUAMJN2I){padding-left:1rem;grid-column:1;max-width:30em}#chapter-nav:where(.astro-OUAMJN2I){display:grid}}@media (min-width: 72em){.layout:where(.astro-OUAMJN2I){grid-template-columns:22rem minmax(0,var(--max-width));padding-right:0;margin:0}#grid-right:where(.astro-OUAMJN2I){display:flex}#grid-main:where(.astro-OUAMJN2I){padding-right:3em}}#book-nav:where(.astro-OUAMJN2I){height:100%;position:fixed;top:0;left:0;background-color:var(--theme-bg);overflow-y:auto;transition:all .3s ease-in-out;opacity:0;transform:translate(-100%);max-width:40em;box-shadow:0 0 1em #0000001a;z-index:999}.mobile-sidebar-toggle #book-nav:where(.astro-OUAMJN2I){display:block;visibility:visible;opacity:1;transform:translate(0);transition:all .3s ease-in-out}@media (min-width: 50em){.layout:where(.astro-OUAMJN2I){overflow:initial;overflow-x:hidden;grid-template-columns:22rem minmax(0,var(--max-width));gap:1em}}
