@font-face{font-family:Orbitron;font-style:normal;src:url("/font/Orbitron.ttf");size-adjust:89.5%}@font-face{font-family:FiraCode;font-style:normal;font-weight:400;src:url("/font/FiraCodeNerdFontMono-Regular.ttf");size-adjust:108.5%}@font-face{font-family:FiraCode;font-style:normal;font-weight:700;src:url("/font/FiraCodeNerdFontMono-Bold.ttf");size-adjust:108.5%}@font-face{font-family:Julee;font-style:normal;src:url("/font/Julee-Regular.ttf");size-adjust:110%}@font-face{font-family:CrimsonPro;font-style:normal;src:url("/font/CrimsonPro.ttf");size-adjust:124%}@font-face{font-family:CrimsonPro;font-style:italic;src:url("/font/CrimsonPro-Italic.ttf");size-adjust:124%}:root{--orange-50: 252 242 232;--orange-100: 247 215 186;--orange-200: 242 188 140;--orange-300: 237 161 95;--orange-400: 232 135 49;--orange-500: 206 109 23;--orange-600: 160 85 18;--orange-700: 115 61 13;--orange-800: 69 36 8;--orange-900: 23 12 3;--blue-50: 229 250 255;--blue-100: 178 240 255;--blue-200: 128 229 255;--blue-300: 77 219 255;--blue-400: 26 209 255;--blue-500: 0 184 230;--blue-600: 0 143 178;--blue-700: 0 102 128;--blue-800: 0 61 76;--blue-900: 0 20 26;--green-50: 234 250 241;--green-100: 193 241 213;--green-200: 151 232 185;--green-300: 109 222 157;--green-400: 68 213 129;--green-500: 42 187 104;--green-600: 33 146 81;--green-700: 23 104 58;--green-800: 14 62 35;--green-900: 5 21 12;--purple-50: 244 237 247;--purple-100: 223 202 232;--purple-200: 202 166 216;--purple-300: 180 131 200;--purple-400: 159 96 185;--purple-500: 133 70 159;--purple-600: 104 55 124;--purple-700: 74 39 89;--purple-800: 44 23 53;--purple-900: 15 8 18;--gray-50: 242 243 243;--gray-100: 215 219 219;--gray-200: 188 194 195;--gray-300: 161 170 171;--gray-400: 134 146 147;--gray-500: 108 120 121;--gray-600: 84 94 94;--gray-700: 60 67 67;--gray-800: 36 40 40;--gray-900: 12 13 13;--background-dark: 10 14 23}:root{font-size:clamp(14px,1rem + .25vw,20px);--ratio: 1.5;--s-6: calc(var(--s-5) / var(--ratio));--s-5: calc(var(--s-4) / var(--ratio));--s-4: calc(var(--s-3) / var(--ratio));--s-3: calc(var(--s-2) / var(--ratio));--s-2: calc(var(--s-1) / var(--ratio));--s-1: calc(var(--s0) / var(--ratio));--s0: 1rem;--s1: calc(var(--s0) * var(--ratio));--s2: calc(var(--s1) * var(--ratio));--s3: calc(var(--s2) * var(--ratio));--s4: calc(var(--s3) * var(--ratio));--s5: calc(var(--s4) * var(--ratio));--s6: calc(var(--s5) * var(--ratio));--max-width: min(70ch, 1344px);--content-padding: clamp(var(--s-2), 2vw, var(--s0));--indent: var(--s0);--interface-font: Orbitron, sans-serif;--monospace-font: FiraCode, monospace;--main-font: CrimsonPro, serif;--heading-font: Julee, sans-serif;--background-color: var(--blue-900);--text-color: var(--orange-50);--link-color: var(--blue-400);--selected-link-color: var(--blue-200);--visited-color: var(--blue-100);--error-color: #ff7070;--accent-color: var(--green-400)}@property --angle{syntax:"<angle>";initial-value:135deg;inherits:true}@keyframes rotate{to{--angle: 1turn}}@layer reset{*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{text-size-adjust:100%;scroll-behavior:smooth}@media (min-width: 50em){html{font-size:clamp(16px,1rem + .5vw,24px)}}@media (min-width: 70em){html{font-size:clamp(18px,1rem + .75vw,28px)}}body{font-family:var(--main-font);font-size:var(--s0);line-height:1.7;accent-color:rgb(var(--accent-color));background-color:rgb(var(--background-color));color:rgb(var(--text-color));margin-bottom:var(--s1);text-wrap:pretty}h4,h5,h6,h3,h2,h1{font-family:var(--heading-font);color:rgb(var(--orange-400));letter-spacing:var(--s-5);font-weight:600;margin-block:0;text-wrap:balance}h4 .subtitle,h5 .subtitle,h6 .subtitle,h3 .subtitle,h2 .subtitle,h1 .subtitle{display:block}h1{font-size:clamp(var(--s1),4vw,var(--s3));color:rgb(var(--orange-100));text-align:center;letter-spacing:var(--s-4)}h1 .subtitle{font-weight:400;color:rgb(var(--orange-300));font-size:var(--s0);margin-top:var(--s-6)}h2{font-size:clamp(var(--s0),3vw,var(--s2));color:rgb(var(--orange-200));letter-spacing:var(--s-4)}h3{font-size:clamp(var(--s0),2.5vw,var(--s2));color:rgb(var(--orange-300))}h4,h5,h6{font-family:var(--main-font);color:rgb(var(--orange-400))}h5,h6{font-weight:400;color:rgb(var(--orange-500))}h5{font-style:italic}p,section,main{margin-block:0}b,strong{color:rgb(var(--orange-300))}a{color:inherit;text-decoration:none}a:link{color:rgb(var(--link-color))}a:visited{color:rgb(var(--visited-color))}a:hover,a:focus{text-decoration:underline}code{font-family:var(--monospace-font);color:rgb(var(--green-300));font-size:.9em}pre{font-family:var(--monospace-font);margin-left:var(--indent);padding-left:var(--s-2);border-left:1px solid rgb(var(--blue-500));line-height:1.4;font-size:.9em;overflow-x:auto}ol,ul{margin-left:var(--indent)}ol li,ul li{margin-left:0}blockquote{display:flex;flex-direction:column;justify-content:flex-start;color:rgb(var(--orange-100));margin-inline:var(--indent);padding-left:var(--s-2);border-left:1px solid rgb(var(--orange-500));font-style:italic}blockquote>*{margin-block:0}blockquote>*:not(:first-child){margin-block-start:var(--s1)}input,button,textarea{font:inherit}button,[type=button],[type=submit],[type=reset]{cursor:pointer}img{max-width:100%;height:auto;display:block}aside{position:relative;width:30%;float:right;padding:var(--s0);border:1px solid;border-radius:var(--s-1);background-clip:padding-box;display:flex;flex-direction:column;justify-content:flex-start;color:rgb(var(--orange-100));font-size:var(--s-1);margin:0 var(--indent) var(--s3) var(--s2);background-color:rgb(var(--orange-900));border-color:rgb(var(--orange-800));box-shadow:0 0 var(--s-1) rgb(var(--orange-200))}aside>*{margin-block:0}aside>*:not(:first-child){margin-block-start:var(--s-1)}aside h1{font-size:var(--s0);color:rgb(var(--orange-500));text-align:left}@media (min-width: 50em){aside{width:100%;float:none;margin:var(--s1)}}table{overflow-x:auto;margin-inline:auto;width:max-content;border-collapse:collapse;font-size:var(--s-1)}table th{background-color:rgb(var(--orange-400));font-family:var(--interface-font);letter-spacing:var(--s-4);color:rgb(var(--background-color));border:1px solid rgb(var(--background-color));padding:var(--s-4)}table td{background-color:rgb(var(--orange-800));border:1px solid rgb(var(--background-color));padding:var(--s-4)}p,li{hyphens:auto}}.skip-link{position:absolute;top:-100px;left:0;padding:var(--s-1);background:rgb(var(--blue-900));color:rgb(var(--orange-100));z-index:1000}.skip-link:focus{top:0}.neon{transition:text-shadow .3s ease;animation:glow 1s infinite ease-in-out}@keyframes glow{0%, 100%{text-shadow:0 0 var(--s-3) rgba(var(--blue-500)/.6)}25%, 75%{text-shadow:0 0 var(--s-2) rgba(var(--blue-500)/.9)}50%{text-shadow:0 0 var(--s-1) rgba(var(--blue-500)/1)}}.center{box-sizing:content-box;max-inline-size:var(--max-width);margin-inline:auto;padding-inline:var(--content-padding);text-align:center;display:flex;flex-direction:column;justify-content:center}.center>*{margin-block:0}.center>*:not(:first-child){margin-block-start:var(--s2)}.center *{width:100%;margin-inline:auto}.full-width{width:100%;max-width:100%}.badge{background-color:rgb(var(--green-500));color:rgb(var(--background-color));padding:var(--s-5) var(--s-2);border:2px solid rgba(0,0,0,0);border-radius:100vw;font-weight:700;font-size:var(--s-1)}.badge.badge-type{background:rgb(var(--purple-600))}.badge.badge-version{background:rgb(var(--orange-600))}.badge.badge-license{background:rgb(var(--blue-600))}.badge.badge-tag{background:rgb(var(--green-600))}.stack{display:flow-root}.stack p{margin-bottom:var(--s1)}.w5{max-width:5%}.w10{max-width:10%}.w15{max-width:15%}.w20{max-width:20%}.w25{max-width:25%}.w30{max-width:30%}.w35{max-width:35%}.w40{max-width:40%}.w45{max-width:45%}.w50{max-width:50%}.w55{max-width:55%}.w60{max-width:60%}.w65{max-width:65%}.w70{max-width:70%}.w75{max-width:75%}.w80{max-width:80%}.w85{max-width:85%}.w90{max-width:90%}.w95{max-width:95%}.w100{max-width:100%}.columns{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:stretch;align-items:start}.columns .column{display:flex;flex-direction:column;justify-content:flex-start;flex:1}.columns .column>*{margin-block:0}.columns .column>*:not(:first-child){margin-block-start:var(--s2)}.date{font-family:var(--interface-font);font-size:var(--s-1);color:rgb(var(--blue-600));text-align:right;width:100%}@layer header{header{position:relative;max-width:var(--max-width);margin-inline:auto;margin-bottom:var(--s2)}.hero{}.hero img{width:100%;max-width:var(--max-width);border-radius:var(--s-4)}.header-text{display:flex;flex-wrap:wrap;gap:var(--s0);justify-content:space-between;align-items:start;width:100%;height:100%;position:absolute;top:0;left:0;}.menu{display:flex;flex-direction:column;justify-content:space-between;padding:var(--s0);height:100%}.nav-button{background-color:rgb(var(--background-color));color:rgb(var(--link-color));padding:var(--s-5) var(--s-2);border:2px solid rgba(0,0,0,0);border-radius:100vw;background:linear-gradient(rgba(var(--background-color)/.8)) padding-box,conic-gradient(from var(--angle), rgb(var(--link-color)), rgb(var(--purple-200)), rgb(var(--link-color))) border-box;font-family:var(--interface-font);font-size:var(--s0);font-weight:700;display:block;text-decoration:none;cursor:pointer;transition:all .3s ease;background:linear-gradient(rgba(var(--background-color)/.8)) padding-box,conic-gradient(rgb(var(--link-color)), rgb(var(--purple-200)), rgb(var(--link-color))) border-box;text-shadow:2px 0 var(--s-2) rgba(var(--accent-color)/.7);font-size:clamp(.9*var(--s-1),2.5vw,var(--s1))}.nav-button:hover,.nav-button:focus-visible{animation:rotate 3s linear infinite}.nav-button:hover,.nav-button:focus-visible{animation:rotate 3s linear infinite}.nav-button:visited{color:rgb(var(--link-color));font-weight:600}.nav-button:hover,.nav-button:focus,.nav-button.selected{color:rgb(var(--selected-link-color));border-color:rgb(var(--visited-color));box-shadow:0 0 var(--s-2) rgb(var(--link-color))}.nav-button.part-of{color:rgb(var(--selected-link-color));border-color:rgb(var(--visited-color))}.site-title{font-family:var(--heading-font);font-weight:300;color:rgb(var(--orange-200));font-size:clamp(var(--s0),3vw,var(--s2));text-shadow:1px 1px 2px rgb(var(--background-color));letter-spacing:var(--s-6);padding-right:var(--s-1)}.site-title a:link,.site-title a:visited{color:rgb(var(--orange-400))}}@layer main{main{margin-inline:var(--s2)}main>section{margin-inline:auto;max-width:var(--max-width);display:flex;flex-direction:column;justify-content:flex-start;display:flow-root}main>section>*{margin-block:0}main>section>*:not(:first-child){margin-block-start:var(--s2)}}@layer footer{footer{max-width:min(.85*var(--max-width),70vw);margin-inline:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;color:rgb(var(--orange-400));font-family:var(--interface-font);letter-spacing:var(--s-5);font-size:var(--s-1);margin-block-start:var(--s1)}footer>*{margin-block:0}footer>*:not(:first-child){margin-block-start:var(--s-3)}footer h3{margin-top:calc(-1*var(--s-2));font-size:var(--s0);transition:text-shadow .3s ease;animation:glow 1s infinite ease-in-out}@keyframes glow{0%, 100%{text-shadow:0 0 var(--s-3) rgba(var(--blue-500)/.6)}25%, 75%{text-shadow:0 0 var(--s-2) rgba(var(--blue-500)/.9)}50%{text-shadow:0 0 var(--s-1) rgba(var(--blue-500)/1)}}footer h3 a:link,footer h3 a:visited{color:rgb(var(--orange-300))}footer a:link,footer a:visited{color:rgb(var(--link-color));width:100%}footer a.selected{color:rgb(var(--selected-link-color))}footer a.part-of{color:rgb(var(--blue-300));transition:text-shadow .3s ease;animation:glow 1s infinite ease-in-out}@keyframes glow{0%, 100%{text-shadow:0 0 var(--s-3) rgba(var(--blue-500)/.6)}25%, 75%{text-shadow:0 0 var(--s-2) rgba(var(--blue-500)/.9)}50%{text-shadow:0 0 var(--s-1) rgba(var(--blue-500)/1)}}footer .flourish{opacity:.7;max-width:100%}}@layer code{.crate-grid{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit, minmax(min(280px,100%), 1fr));max-width:var(--max-width)}.crate-meta{display:flex;flex-wrap:wrap;gap:var(--s-2);justify-content:center;align-items:flex-start}.crate-meta li{list-style:none}.crate-icon{box-sizing:content-box;max-inline-size:var(--max-width);margin-inline:auto;padding-inline:var(--s4);width:40%}.crate-links{display:flex;flex-wrap:wrap;gap:var(--s1);justify-content:center;align-items:center}.crate-links a{background-color:rgb(var(--blue-800));color:rgb(var(--link-color));padding:var(--s-5) var(--s-2);border:2px solid rgba(0,0,0,0);border-radius:100vw;background:linear-gradient(rgba(var(--blue-800)/.8)) padding-box,conic-gradient(from var(--angle), rgb(var(--link-color)), rgb(var(--purple-200)), rgb(var(--link-color))) border-box;font-family:var(--interface-font);font-size:var(--s0);font-weight:700;display:block;text-decoration:none;cursor:pointer;transition:all .3s ease;font-size:var(--s-1)}.crate-links a:hover,.crate-links a:focus-visible{animation:rotate 3s linear infinite}.crate-links a:link{color:rgb(var(--link-color))}.crate-links a:visited{color:rgb(var(--blue-300))}.crate-links a:hover{color:rgb(var(--blue-300));transition:text-shadow .3s ease;animation:glow 1s infinite ease-in-out}@keyframes glow{0%, 100%{text-shadow:0 0 var(--s-3) rgba(var(--blue-500)/.6)}25%, 75%{text-shadow:0 0 var(--s-2) rgba(var(--blue-500)/.9)}50%{text-shadow:0 0 var(--s-1) rgba(var(--blue-500)/1)}}}@layer articles{.articles{display:flex;flex-direction:column;justify-content:flex-start;box-sizing:content-box;max-inline-size:var(--max-width);margin-inline:auto;padding-inline:var(--s-6)}.articles>*{margin-block:0}.articles>*:not(:first-child){margin-block-start:var(--s2)}.intro{font-size:var(--s0);color:rgb(var(--orange-100));margin-bottom:var(--s2);text-align:center}.article-grid{display:grid;gap:20ch;grid-template-columns:repeat(auto-fit, minmax(min(var(--s2),100%), 1fr));max-width:var(--max-width)}.summary{font-size:var(--s-1);color:rgb(var(--orange-100))}}@layer homepage{.news-carousel{position:relative;width:100%;display:flex;overflow:hidden;max-width:100%;min-height:0;align-items:center;}.card{position:relative;padding:var(--s1);border:1px solid;border-radius:var(--s-1);background-clip:padding-box;display:flex;flex-direction:column;justify-content:flex-start;background-color:rgb(var(--background-color));color:rgb(var(--blue-700));box-shadow:0 0 10px rgb(var(--blue-700));text-align:center;align-items:center;max-width:calc(.7*var(--max-width));margin-inline:auto}.card>*{margin-block:0}.card>*:not(:first-child){margin-block-start:var(--s-1)}.card h2{font-family:var(--interface-font);font-size:var(--s1);color:rgb(var(--orange-300));transition:text-shadow .3s ease;animation:glow 1s infinite ease-in-out}@keyframes glow{0%, 100%{text-shadow:0 0 var(--s-3) rgba(var(--blue-500)/.6)}25%, 75%{text-shadow:0 0 var(--s-2) rgba(var(--blue-500)/.9)}50%{text-shadow:0 0 var(--s-1) rgba(var(--blue-500)/1)}}.card h2 .subtitle{font-family:var(--heading-font);font-weight:400;color:rgb(var(--orange-400));font-size:var(--s0);margin-top:var(--s-6)}.card p{font-family:var(--main-font);font-size:var(--s-1);color:rgb(var(--orange-100))}.card .corners{display:flex;flex-wrap:wrap;gap:var(--s0);justify-content:space-between;align-items:flex-start;font-family:var(--interface-font);font-size:var(--s-1);color:rgb(var(--blue-600));width:100%}.card a{background-color:rgb(var(--blue-800));color:rgb(var(--link-color));padding:var(--s-5) var(--s-2);border:2px solid rgba(0,0,0,0);border-radius:100vw;background:linear-gradient(rgba(var(--blue-800)/.8)) padding-box,conic-gradient(from var(--angle), rgb(var(--link-color)), rgb(var(--purple-200)), rgb(var(--link-color))) border-box;font-family:var(--interface-font);font-size:var(--s0);font-weight:700;display:block;text-decoration:none;cursor:pointer;transition:all .3s ease;font-size:var(--s-1);margin-top:var(--s-1)}.card a:hover,.card a:focus-visible{animation:rotate 3s linear infinite}.card a:link{color:rgb(var(--link-color))}.card a:visited{color:rgb(var(--blue-300))}.card a:hover{color:rgb(var(--blue-300));transition:text-shadow .3s ease;animation:glow 1s infinite ease-in-out}@keyframes glow{0%, 100%{text-shadow:0 0 var(--s-3) rgba(var(--blue-500)/.6)}25%, 75%{text-shadow:0 0 var(--s-2) rgba(var(--blue-500)/.9)}50%{text-shadow:0 0 var(--s-1) rgba(var(--blue-500)/1)}}.card a::after{content:"";position:absolute;inset:0}.card img{width:100%;max-width:120px;border-radius:var(--s-2)}.news-item{position:absolute;max-width:calc(.7*var(--max-width));padding:var(--s1);opacity:0;transform:translateX(-150%);animation-duration:35s;animation-iteration-count:infinite;animation-timing-function:ease-in-out}.news-item:nth-child(1){animation-name:slide-1}@keyframes slide-1{0%, 0%, 16%{opacity:0;transform:translateX(-100%)}4%, 12%{opacity:1;transform:translateX(0)}20%, 100%{opacity:0;transform:translateX(100%)}}.news-item:nth-child(2){animation-name:slide-2}@keyframes slide-2{0%, 20%, 36%{opacity:0;transform:translateX(-100%)}24%, 32%{opacity:1;transform:translateX(0)}40%, 100%{opacity:0;transform:translateX(100%)}}.news-item:nth-child(3){animation-name:slide-3}@keyframes slide-3{0%, 40%, 56%{opacity:0;transform:translateX(-100%)}44%, 52%{opacity:1;transform:translateX(0)}60%, 100%{opacity:0;transform:translateX(100%)}}.news-item:nth-child(4){animation-name:slide-4}@keyframes slide-4{0%, 60%, 76%{opacity:0;transform:translateX(-100%)}64%, 72%{opacity:1;transform:translateX(0)}80%, 100%{opacity:0;transform:translateX(100%)}}.news-item:nth-child(5){animation-name:slide-5}@keyframes slide-5{0%, 80%, 96%{opacity:0;transform:translateX(-100%)}84%, 92%{opacity:1;transform:translateX(0)}100%, 100%{opacity:0;transform:translateX(100%)}}}@layer reference{a.citation{font-family:var(--interface-font);color:rgb(var(--purple-300));text-decoration:none}a.citation:hover{text-decoration:underline;color:rgb(var(--purple-200))}.reference{margin-bottom:var(--s0);position:relative}.ref-authors{font-weight:bold;color:rgb(var(--purple-200))}.ref-year{color:rgb(var(--orange-300))}.ref-title{font-style:italic}.ref-link{font-family:var(--interface-font);color:rgb(var(--link-color));text-decoration:none}.ref-link:hover{text-decoration:underline;color:rgb(var(--blue-300))}}@layer form{#contactform{display:flex;flex-direction:column;justify-content:flex-start;margin-block:0;max-width:calc(.7*var(--max-width));margin-inline:auto}#contactform>*{margin-block:0}#contactform>*:not(:first-child){margin-block-start:var(--s-1)}#contactform .form-group{display:flex;flex-direction:column;justify-content:flex-start;margin-bottom:var(--s-1)}#contactform .form-group>*{margin-block:0}#contactform .form-group>*:not(:first-child){margin-block-start:var(--s-2)}#contactform .form-group label{font-family:var(--interface-font);color:rgb(var(--purple-200))}#contactform .form-group input,#contactform .form-group textarea{font-family:var(--main-font);color:rgb(var(--text-color));background:rgb(var(--purple-900));border:1px solid rgb(var(--purple-400));padding:10px;border-radius:4px;box-shadow:0 0 5px rgb(var(--purple-200));transition:border-color .3s,box-shadow .3s}#contactform .form-group input:focus,#contactform .form-group textarea:focus{border-color:rgb(var(--link-color));background:rgb(var(--background-color));box-shadow:0 0 10px rgb(var(--selected-link-color));outline:none}#contactform .form-group input:user-invalid,#contactform .form-group textarea:user-invalid{border-color:var(--error-color)}#contactform .form-group textarea{resize:vertical;min-height:100px}#contactform .form-group .error-message{font-family:var(--interface-font);font-size:var(--s-1);color:var(--error-color)}#contactform .form-group .error-message:empty{display:none}#contactform .cta-button{background-color:rgb(var(--blue-800));color:rgb(var(--link-color));padding:var(--s-5) var(--s-2);border:2px solid rgba(0,0,0,0);border-radius:100vw;background:linear-gradient(rgba(var(--blue-800)/.8)) padding-box,conic-gradient(from var(--angle), rgb(var(--link-color)), rgb(var(--purple-200)), rgb(var(--link-color))) border-box;font-family:var(--interface-font);font-size:var(--s0);font-weight:700;display:block;text-decoration:none;cursor:pointer;transition:all .3s ease;width:fit-content;padding-inline:var(--s0);align-self:center;cursor:pointer;transition:background .3s,transform .3s}#contactform .cta-button:hover,#contactform .cta-button:focus-visible{animation:rotate 3s linear infinite}#contactform .cta-button:hover{color:rgb(var(--selected-link-color));transition:text-shadow .3s ease;animation:glow 1s infinite ease-in-out;transform:translateY(-2px)}@keyframes glow{0%, 100%{text-shadow:0 0 var(--s-3) rgba(var(--blue-500)/.6)}25%, 75%{text-shadow:0 0 var(--s-2) rgba(var(--blue-500)/.9)}50%{text-shadow:0 0 var(--s-1) rgba(var(--blue-500)/1)}}.form-message{font-family:var(--interface-font);color:rgb(var(--text-color));font-size:var(--s-1);text-align:center;margin-top:15px;padding:10px;border-radius:4px;transition:opacity .3s ease-in-out}.form-message.success{color:rgb(var(--green-300));opacity:1}.form-message.error{color:var(--error-color);opacity:1}}@layer diagram{.struct,.enum,.primitive{position:relative;padding:var(--s0);border:0px solid;border-radius:var(--s-4);background-clip:padding-box;border-color:rgb(var(--blue-800));color:rgb(var(--background-color));padding:var(--s1)}.primitive{background-color:rgb(var(--orange-500));color:rgb(var(--orange-800));padding:var(--s-3)}.primitive .primitive-name{font-size:var(--s0);color:rgb(var(--orange-700))}.struct{background-color:rgb(var(--blue-600));color:rgb(var(--blue-800))}.struct .struct,.struct .enum,.struct .tuple,.struct .primitive{box-shadow:calc(-1*var(--s-6)) calc(-1*var(--s-5)) var(--s-6) rgba(var(--blue-800)/.8),var(--s-6) var(--s-5) var(--s-6) rgba(var(--blue-200)/.8)}.struct *{color:inherit}.struct:not(:has(ul)){padding:var(--s-3);background-color:rgb(var(--blue-500));border-color:rgb(var(--blue-700));color:rgb(var(--blue-800))}.struct:not(:has(ul)) .struct-name,.struct:not(:has(ul)) .enum-name{font-size:var(--s0)}.struct:not(:has(ul)) .struct-name{color:rgb(var(--blue-700))}.struct:not(:has(ul)) .enum-name{color:rgb(var(--green-700))}.enum{background-color:rgb(var(--green-600));border-color:rgb(var(--green-800));color:rgb(var(--green-800))}.enum .struct,.enum .enum,.enum .tuple,.enum .primitive{box-shadow:calc(-1*var(--s-6)) calc(-1*var(--s-5)) var(--s-6) rgba(var(--green-800)/.8),var(--s-6) var(--s-5) var(--s-6) rgba(var(--green-200)/.8)}.struct-name,.enum-name,.primitive-name{font-family:var(--heading-font);font-size:var(--s1);font-weight:700;text-align:center}.struct-name{color:rgb(var(--blue-200))}.enum-name{color:rgb(var(--green-200))}.field-name,.variant-name{font-family:var(--interface-font);font-weight:700}.fields,.variants,.tuple{list-style:none;margin:0}.fields li,.variants li{margin:0;}.vec-field{border-left:var(--s-4) solid rgb(var(--green-200));padding-left:var(--s-1)}.vec-field>.field-name::after{content:" (vec)"}.option-field{border-left:var(--s-4) solid rgb(var(--orange-200));padding-left:var(--s-1)}.option-field>.field-name::after{content:" (option)"}.generic-field{border-left:var(--s-4) solid rgb(var(--selected-link-color));padding-left:var(--s-1)}.generic-field>.field-name::after{content:" (generic)"}.trait-object-field{border-left:var(--s-4) solid rgb(var(--purple-200));padding-left:var(--s-1)}.trait-object-field>.field-name::after{content:" (trait object)"}.diagram{max-width:max-content;min-width:calc(var(--max-width)/2);border-width:1px;border:1px solid rgb(var(--var(--blue-100)))}.diagram ul:is(:not(.tuple)){display:flex;flex-direction:column;justify-content:flex-start}.diagram ul:is(:not(.tuple))>*{margin-block:0}.diagram ul:is(:not(.tuple))>*:not(:first-child){margin-block-start:var(--s0)}.tuple{padding:var(--s0);border:0px solid;border-radius:var(--s-4);background-clip:padding-box;border-color:rgb(var(--blue-800));color:rgb(var(--background-color));padding:var(--s1);display:flex;flex-wrap:wrap;gap:var(--s-1);justify-content:flex-start;align-items:flex-start;background-color:rgb(var(--purple-600));border-color:rgb(var(--purple-800));color:rgb(var(--purple-800));padding:var(--s0)}.tuple .struct,.tuple .enum,.tuple .tuple,.tuple .primitive{box-shadow:calc(-1*var(--s-6)) calc(-1*var(--s-5)) var(--s-6) rgba(var(--purple-800)/.8),var(--s-6) var(--s-5) var(--s-6) rgba(var(--purple-200)/.8)}.tuple li{flex:1}}.float-image{float:left;border-radius:var(--s-2);margin-left:var(--s0);margin-bottom:var(--s0);margin-top:var(--s-2);margin-right:var(--s1)}img.photo{border-radius:var(--s-2);margin-left:var(--indent);margin-bottom:var(--s2);margin-right:var(--indent)}