@import url("giallo-dark.css") (prefers-color-scheme: dark);@import url("giallo-light.css") (prefers-color-scheme: light);@font-face{font-family:"Geist";src:url("/fonts/Geist[wght].ttf") format("truetype");font-weight:400 700}@font-face{font-family:"Geist Mono";src:url("/fonts/GeistMono[wght].ttf") format("truetype");font-weight:400 700}:root{--color-text: #0A212A;--color-text-inverse: #FFFFFF;--color-text-subtle: #4A6874;--color-primary: #E52323;--color-primary-light: #FAD3D3;--color-secondary: #113746;--color-secondary-medium: #32A6D3;--color-white: #FFFFFF;--color-neutral-100: #EBF8FF;--color-neutral-200: #E5F7FF;--color-neutral-800: #0A212A;--color-border: #BBE1F0}:root{--text-heading-1: 2.25rem;--text-heading-2: 1.5rem;--text-heading-6: 1.125rem;--text-regular: 1rem;--text-small: 0.875rem;--padding-global: 1.25rem;--padding-global-xl: 4rem;--padding-section: 3rem;--padding-section-xl: 5rem}html{font-size:14px}@media (min-width: 768px){html{font-size:16px}}h1,h2,h3,h4,h5,h6{font-family:"Geist Mono",monospace;font-weight:700;margin:0}h1{font-size:var(--text-heading-1);font-weight:700;line-height:120%;letter-spacing:-1%}h2{font-size:var(--text-heading-2);font-weight:700;line-height:120%;letter-spacing:-1%}h6{font-size:var(--text-heading-6);font-weight:600;line-height:120%;letter-spacing:-1%}pre{font-family:"Geist Mono",monospace;font-size:var(--text-regular);overflow:auto}p{color:var(--color-text)}ul{list-style-type:none;margin:0;padding:0}a{color:var(--color-text);text-decoration:none}hr{margin:1rem 0;border:0;border-top:1px solid var(--color-border)}input{field-sizing:content;min-width:10ch;max-width:100%}body{margin:0;padding:0;font-family:"Geist",sans-serif;color:var(--color-text);display:flex;flex-direction:column;min-height:100vh}.navbar{background:var(--color-secondary);color:var(--color-text-inverse);padding-left:var(--padding-global);padding-right:.75rem}.navbar a{color:var(--color-text-inverse)}.navbar .navbar__container{display:flex;justify-content:space-between;align-items:center;height:4rem;gap:1rem}.navbar .navbar__brand{display:flex;line-height:1.875rem;align-items:center;gap:.5rem}.navbar .navbar__brand-logo{width:2rem;height:2rem;margin:0;padding:0}.navbar .navbar__brand-name{font-size:1.25rem}.navbar #navbar-main{position:fixed;z-index:1;height:100%;top:calc(4rem + 1px);left:0;background:var(--color-secondary)}.navbar #navbar-main ul{display:flex;gap:0 2rem;padding-top:1rem}.navbar #navbar-main ul li{display:flex;align-items:center;height:3rem;font-family:"Geist Mono",monospace;font-weight:600;font-size:var(--text-heading-6);line-height:120%}.navbar #navbar-search{display:none}.breadcrumbs{display:flex;overflow:hidden;width:100%;gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);font-size:var(--text-small);line-height:150%}.breadcrumbs .breadcrumbs__item{display:flex;height:1.5rem;gap:.5rem;align-items:center;justify-content:center}.breadcrumbs .breadcrumbs__item--home{width:1.5rem;height:1.5rem}.breadcrumbs .breadcrumbs__chevron{height:1rem;width:1rem}.sidebar{background:var(--color-neutral-100);border-right:1px solid var(--color-border)}.sidebar a.active::before{background:var(--color-primary);height:.5rem;width:.5rem;content:""}.sidebar .sidebar__nav{top:calc(4rem + 7.75rem);right:0;background:var(--color-neutral-100)}.sidebar .sidebar__nav .sidebar__nav-inner{display:flex;padding:1.5rem 1rem}.sidebar .sidebar__nav .sidebar__nav-inner ul{position:relative;display:flex;flex-direction:column;gap:0;padding:0 1rem}.sidebar .sidebar__nav .sidebar__nav-inner ul a{display:block;padding:.5rem 0}.sidebar .sidebar__search-form{display:flex;gap:1rem;padding:.5rem 0}.search{display:flex;align-items:center;flex-grow:1;height:2rem;gap:.75rem;padding:.5rem .75rem;border:1px solid var(--color-border);background:var(--color-white)}.search .search__icon{display:flex;align-items:center;height:1.5rem;width:1.5rem}.search input{height:auto;border:none;background:none;font-family:"Geist",sans-serif;font-weight:400;font-size:var(--text-regular);line-height:150%;color:var(--color-text-subtle)}nav a.active{font-weight:bold}nav a.active .tree-indicator{background:var(--color-primary)}.tree-indicator{display:inline-block;margin-right:.25rem;height:.5rem;width:.5rem;vertical-align:middle}.page-menu{padding-top:2rem;border-left:1px solid var(--color-border)}.page-menu select{padding:.75rem;margin-top:1rem;border:1px solid var(--color-border);width:100%;background:var(--color-white);color:var(--color-text-subtle);font-size:var(--text-regular);line-height:150%}.page-menu nav#toc{padding:.5rem 0}.page-menu nav#toc ul{padding-left:2rem}.page-menu nav#toc ul li{display:flex;flex-direction:column;gap:0}.page-menu nav#toc ul a{display:block;padding:.5rem 0}.page-menu option:disabled{display:none}.content{padding:0 1.25rem;display:block}main{min-height:60vh;padding-top:2rem;padding-bottom:1.5rem;flex-grow:1;counter-reset:h2counter h3counter h4counter}main h1{padding-bottom:.5rem;counter-reset:h2counter h3counter h4counter}main h2{padding:1.25rem 0 1rem;counter-increment:h2counter;counter-reset:h3counter}main h2::before{content:counter(h2counter) ". "}main h3{padding:1.25rem 0 1rem;counter-increment:h3counter;counter-reset:h4counter}main h3::before{content:counter(h2counter) "." counter(h3counter) ". "}main h4{counter-increment:h4counter}main h4::before{content:counter(h2counter) "." counter(h3counter) "." counter(h4counter) ". "}main h1 a.zola-anchor,main h2 a.zola-anchor,main h3 a.zola-anchor,main h4 a.zola-anchor,main h5 a.zola-anchor,main h6 a.zola-anchor{opacity:0}main h1 a.zola-anchor svg,main h2 a.zola-anchor svg,main h3 a.zola-anchor svg,main h4 a.zola-anchor svg,main h5 a.zola-anchor svg,main h6 a.zola-anchor svg{vertical-align:bottom;padding-left:.375rem}main h1:hover a.zola-anchor,main h2:hover a.zola-anchor,main h3:hover a.zola-anchor,main h4:hover a.zola-anchor,main h5:hover a.zola-anchor,main h6:hover a.zola-anchor{opacity:100}main ul{list-style-type:disc;margin:1rem 0;padding-left:2.5rem}main pre:has(code[data-lang=plain]){background:var(--color-neutral-200)}main pre{margin-bottom:.5rem;padding:2rem;border:1px solid var(--color-secondary-medium);border-radius:2px}main a{color:var(--color-primary);text-decoration:underline}.section-index a{text-decoration:none}.btn--primary{display:inline-block;height:1.5rem;width:6rem;padding:.75rem 1.5rem;border:1px solid var(--color-primary);background:var(--color-primary);box-shadow:4px 4px var(--color-primary-light);font-size:var(--text-regular);transition:opacity .2s ease-out,background-color .2s ease-out}.btn--primary:hover{box-shadow:4px 4px var(--color-primary);background:var(--color-primary-light);color:var(--color-text)}.alert{padding:1rem 1.25rem 1rem 1rem;background:var(--color-primary-light);border-left:4px solid var(--color-primary)}.slide-toggle{display:flex;height:3rem;width:3rem;align-items:center;justify-content:center}.slide-toggle input{display:none}.slide-menu{position:fixed;width:100%;transform:translateX(100%);transition:transform .3s ease}.slide-menu--right{position:fixed;width:100%;transform:translateX(-100%);transition:transform .3s ease}.slide-menu.is-open,.slide-menu--right.is-open{transform:translateX(0)}@media (min-width: 1200px){.slide-menu,.slide-menu--right{width:auto;transform:none}.slide-menu.is-open,.slide-menu--right.is-open{transform:none}}main table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;text-align:left;background:var(--color-white)}main table th{padding:1rem;font-weight:600;color:var(--color-text);font-size:1.05rem;border-bottom:1px solid var(--color-neutral-200)}main table td{padding:1rem;color:var(--color-text-subtle);font-size:.95rem;border-bottom:1px solid var(--color-neutral-200);vertical-align:top}main table caption{caption-side:top;padding:.5rem 0;font-weight:600;text-align:left;color:var(--color-text)}.highlight{font-weight:600;color:var(--color-secondary-medium);display:inline-block}.bold{font-weight:600;color:var(--color-text)}.component-preview{padding:1.5rem;margin:1rem 0;border:1px solid var(--color-border);border-radius:2px;background:var(--color-white)}.copy-btn{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--color-border);border-radius:2px;background:var(--color-white);color:var(--color-text-subtle);cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}pre:hover .copy-btn{opacity:1}.copy-btn:hover{color:var(--color-text)}.copy-btn.copied{color:var(--color-secondary-medium);opacity:1}footer{padding:var(--padding-section) var(--padding-global);background:var(--color-neutral-800);gap:2rem;color:var(--color-text-inverse);font-family:"Geist Mono",monospace;clear:both;min-height:12.5rem}@media (min-width: 1200px){footer{padding:var(--padding-section-xl) var(--padding-global-xl)}}footer a{font-family:"Geist Mono",monospace;font-size:1rem;font-weight:500;line-height:1.5rem;color:var(--color-text-inverse)}footer ul{padding-left:0;list-style-type:none;margin:0}footer .footer__text-links a{padding:2px 0;border-bottom:1px solid var(--color-secondary-medium)}footer .footer__text-links a:hover{border-bottom:1px solid var(--color-primary)}footer .footer__contact pre{font-family:"Geist",sans-serif;font-weight:400;font-size:1rem;line-height:150%}footer .footer__contact pre pre{overflow:auto}.footer__container{gap:3rem}.footer__container p{color:var(--color-text-inverse)}.footer__container .footer__brand{gap:.5rem}.footer__container .footer__brand-name{font-size:1.75rem;font-family:"Geist",sans-serif}.footer__container .footer__brand-logo{width:3rem;height:3rem;margin:0;padding:0}.footer__container .footer__brand-logo svg{height:3rem;width:3rem}.footer__container .footer__card{gap:3rem 0}.footer__container .footer__card .footer__contact{gap:1.5rem;display:flex;flex-direction:column}.footer__container .footer__card .footer__contact pre{margin:0}.footer__container .footer__card .footer__social{gap:2rem;display:flex;flex-direction:column}.footer__container .footer__card .footer__social ul{gap:.75rem;display:flex;flex-direction:row}.footer__container .footer__card .footer__social ul li{height:1.5rem;width:1.5rem}.footer__container .footer__card .footer__links{gap:1.5rem;display:flex;flex-direction:column}.footer__container .footer__card .footer__links .footer__links-container{display:flex;gap:.75rem 2rem}.footer__container .footer__card .footer__links ul{gap:.75rem;display:flex;flex-direction:column}.footer__container .footer__credits{display:flex;justify-content:center;gap:1rem 1.5rem}.footer__container .footer__credits a{font-size:.875rem;font-weight:500;line-height:150%}.footer__container .footer__credits .footer__copyright{font-size:.875rem;font-weight:500;line-height:150%}.footer__container .footer__credits ul{display:flex;justify-content:center;gap:.75rem 1.5rem}.footer__container .footer__credits ul li{height:1.3125rem}.row{display:flex;flex-wrap:wrap}.space-between{justify-content:space-between}.col-12{flex:0 0 100%;max-width:100%;width:100%}.d-none{display:none}.order-2{order:2}.flex-column{flex-direction:column}@media (min-width: 768px){.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33%;max-width:33%}.col-md-8{flex:0 0 66%;max-width:66%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-12{flex:0 0 100%;max-width:100%}.d-md-none{display:none}.d-md-block{display:block}.order-md-1{order:1}.order-md-2{order:2}.flex-md-row{flex-direction:row}}@media (min-width: 1200px){.col-xl-2{flex:0 0 16.5%;max-width:16.5%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-8{flex:0 0 66.66%;max-width:66.66%}.flex-xl-row{flex-direction:row}.position-xl-static{position:static !important}.d-xl-none{display:none}.d-xl-block{display:block}}