:root{color-scheme:light dark;--green-light: #d0ff00;--green-dark: #667d00;--pink-dark: #d63384;--pink-light: #e685b5;--primary: var(--green-light);--secondary-dark: rgb(49, 26, 75);--secondary: #639;--light: #f9f9f9;--dark: rgb(49, 26, 75);--darker: rgb(14, 7, 19);--body-bg: var(--darker);--body-colour: var(--light);--gradient-dark: linear-gradient(var(--secondary-dark), var(--darker));--gradient-glass: radial-gradient(circle at bottom, rgba(49, 26, 75, .3), rgba(14, 7, 19, .5));--code-colour: var(--pink-light);--spacer-base: 1rem;--spacer-1: calc(var(--spacer-base) - .3rem);--spacer-2: var(--spacer-base);--spacer-3: calc(var(--spacer-base) + .3rem);--spacer-4: calc(var(--spacer-base) + 1rem);--spacer-5: calc(var(--spacer-base) + 2rem);--padding-x: 1rem;--padding-y: .5rem;--font-body: "LilGrotesk", "Lucida Sans", "Lucida Sans Regular", "Lucida Grande", "Lucida Sans Unicode", geneva, verdana, sans-serif;--font-heading: "Rubik", cambria, cochin, georgia, times, "Times New Roman", serif;--font-monospace: "JetBrain mono", "Courier New", courier, monospace;--font-size: 20px;--line-height: 1.5;--heading-line-height: 1.2;--h1-font-size: clamp(2rem, 1.68rem + 1.98vw, calc(var(--spacer-base) * 2.5));--h2-font-size: clamp(1.75rem, 1.59rem + .99vw, calc(var(--spacer-base) * 2));--h3-font-size: clamp(1.5rem, 1.34rem + .99vw, calc(var(--spacer-base) * 1.75));--h4-font-size: clamp(1.3rem, 1.17rem + .79vw, calc(var(--spacer-base) * 1.5));--h5-font-size: clamp(1.15rem, 1.09rem + .39vw, calc(var(--spacer-base) * 1.25));--h6-font-size: calc(var(--spacer-base) * 1.1);--display-font-size: clamp(3rem, 2.37rem + 3.96vw, calc(var(--spacer-base) * 4));--border-radius: .5rem;--breakpoint-y-sm: 825px;--transition: transform .3s ease-in-out;--box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075)}@font-face{font-family:LilGrotesk;font-weight:100 1000;src:url(/fonts/LilGrotesk.woff2) format("woff2");font-display:swap}@font-face{font-family:Rubik;font-style:normal;font-weight:300 700;font-optical-sizing:auto;src:url(/fonts/Rubik-VariableFont_wght.woff2) format("woff2");font-display:swap}@font-face{font-family:JetBrain mono;font-weight:400;src:url(/fonts/JetBrainsMono-Medium.woff2) format("woff2");font-display:swap}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}*,*:before,*:after{box-sizing:border-box}html{font-size:var(--font-size)}body{margin:0;overflow-x:hidden;font-family:var(--font-body);font-size:var(--spacer-base);line-height:var(--line-height);color:var(--body-colour);background-color:var(--body-bg)}a{color:var(--primary);text-decoration-thickness:2px;text-decoration-style:dotted;text-decoration-color:var(--secondary);text-underline-offset:.25em;&:hover{text-decoration-color:hsl(from var(--secondary) h 60% l)}}p{margin-bottom:var(--spacer-1)}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin-top:0;font-family:var(--font-heading);font-weight:400;line-height:var(--heading-line-height)}h1,.h1{margin-bottom:var(--spacer-3);font-size:var(--h1-font-size)}h2,.h2{margin-bottom:var(--spacer-3);font-size:var(--h2-font-size)}h3,.h3{margin-bottom:var(--spacer-2);font-size:var(--h3-font-size)}h4,.h4{margin-bottom:var(--spacer-2);font-size:var(--h4-font-size)}h5,.h5{margin-bottom:var(--spacer-1);font-size:var(--h5-font-size)}h6,.h6{margin-bottom:var(--spacer-1);font-size:var(--h6-font-size)}.display{margin-bottom:var(--spacer-4);font-family:var(--font-heading);font-size:var(--display-font-size);font-weight:300;line-height:var(--heading-line-height)}pre{padding:var(--spacer-1);-moz-tab-size:4;-o-tab-size:4;tab-size:4}code{font-family:var(--font-monospace);color:var(--code-colour);word-wrap:break-word}.input{display:inline-block;padding:calc(var(--padding-y) - .2rem) var(--padding-x);font-size:var(--spacer-1);line-height:1.5;color:var(--body-colour);background-color:var(--body-bg);border:3px solid var(--secondary);border-radius:var(--border-radius);transition:box-shadow .25s;&:focus{outline:0;box-shadow:0 0 0 .25rem var(--secondary)}}.text-bg-dark{color:var(--body-bg);background-color:var(--dark);background-image:var(--gradient-dark)}.button{display:inline-block;padding:var(--padding-y) var(--padding-x);text-decoration:none;cursor:pointer;border:none;border-radius:var(--border-radius);transition:background-color .25s}.button-primary{color:var(--dark);background-color:var(--primary);&:hover{background-color:hsl(from var(--primary) h s 20%)}}.button-secondary{color:var(--light);background-color:var(--secondary);&:hover{background-color:hsl(from var(--secondary) h s 40%)}}.button-close{box-sizing:content-box;width:1em;height:1em;padding:var(--padding-y) var(--padding-x);color:var(--body-color);cursor:pointer;background:#0000 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;filter:invert(1) grayscale(100%) brightness(100%);border:0;border-radius:.4rem}.container{max-width:1340px;padding:var(--spacer-2);margin:auto}.text-center{text-align:center}.gap{gap:var(--spacer-1)}.grid{display:grid;grid-template-rows:repeat(1,1fr);grid-template-columns:repeat(12,1fr)}.column-12{grid-column:auto/span 12}.divider{padding-bottom:var(--spacer-4);margin-bottom:var(--spacer-4);border-bottom:3px dotted var(--secondary)}@media screen and (min-width:768px){.column-md-4{grid-column:auto/span 4}.column-md-6{grid-column:auto/span 6}.column-md-8{grid-column:auto/span 8}}.navbar{position:sticky;top:0;z-index:5;background-color:var(--secondary);.container{display:flex;align-items:center;justify-content:space-between;padding-top:var(--padding-y);padding-bottom:var(--padding-y)}}.navbar-toggler{background-color:var(--secondary-dark)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:125%}.navbar-logo{height:42px}.navbar-brand{display:inherit;flex:1}.navbar-search{display:flex;flex:2;justify-content:center}#navbarNav{display:flex;flex:1;justify-content:flex-end}.nav-link{font-weight:600;text-decoration-color:var(--green-light);&:hover{text-decoration-color:hsl(from var(--green-light) h 60% l)}}.offcanvas:popover-open{.nav-link{color:var(--primary);text-decoration-color:var(--secondary)}}.nav-icon{display:inline-flex;align-items:center;height:100%}@media(min-width:992px){.navbar-toggler{display:none}}.border{border-color:var(--primary);border-style:solid;border-width:0}.border-secondary{border-color:var(--primary)}.border-secondary-dark{border-color:var(--secondary-dark)}.border-light{border-color:rgba(var(--light),.5)}.border-5{border-width:5px}.border-bottom-1{border-bottom-width:1px}.border-bottom-5{border-bottom-width:5px}.border-top-5{border-top-width:5px}.rounded{border-radius:var(--border-radius)}.rounded-circle{border-radius:50%}.nav{display:flex;gap:var(--spacer-2);padding:0;margin:0;list-style:none}.nav-link{color:#ffffffe6}.top-bar{height:6vh;max-height:128px;overflow:hidden;color:var(--light);background-color:var(--dark);background-image:var(--gradient-dark);.container{position:relative;height:100%;background-image:url(/images/top-bar-coral-1.avif),url(/images/top-bar-coral-2.avif);background-repeat:no-repeat,no-repeat;background-position:10% center,90% center}}@media screen and (max-height:825px){.top-bar{height:5vh}}.hero{position:relative;display:flex;flex-direction:column;height:60dvh;min-height:713px;max-height:740px;overflow:hidden;border-bottom:5px solid var(--secondary);.button-primary{background-color:var(--green-light)}}.hero-bg{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.hero-container{z-index:2;display:flex;flex-direction:column;gap:var(--spacer-2);align-items:center;justify-content:end;max-width:600px;height:100%;padding-top:var(--spacer-4);margin:0 auto}.hero-body{display:flex;flex-direction:column;gap:var(--spacer-2);justify-content:center;height:50%;padding-top:var(--spacer-2);padding-right:var(--spacer-2);padding-bottom:var(--spacer-2);padding-left:var(--spacer-2);border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}.hero-title{flex-grow:1;align-items:center;margin-bottom:0;font-size:2.4rem;color:var(--light)}.hero-subtitle{margin-top:0;font-family:var(--font-body);font-size:var(--spacer-3);font-weight:400}.hero-border-bottom{position:absolute;top:80%;z-index:1;transform:translate(-50%,-57%);&.left{left:29%}&.right{left:67%}}.hero-input{font-size:calc(var(--spacer-base) - .2rem)}.hero-buttons{display:grid}@media screen and (min-width:768px){.hero-title{font-size:calc(var(--spacer-base) + 2rem)}.hero-buttons{display:flex;justify-content:center}.hero-body{padding-right:var(--spacer-4);padding-left:var(--spacer-4)}.hero-input{font-size:var(--spacer-2)}}.d-flex{display:flex}.d-none{display:none}.visibility-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}@media(min-width:768px){.d-md-flex{display:flex}}.justify-content-center{justify-content:center}.align-items-center{align-items:center}.code{--code-colour-dark: #a9bacb;--code-colour-alt-dark: #b6babf;--code-toolbar-dark: #343c45;--code-body-dark: #14171a;--code-comment-dark: #8695a4;--code-blue-dark: #46afe3;--code-blue-grey-dark: #749cc3;--code-pink-dark: #ff7de9;--code-purple-dark: #b98eff;--code-green-dark: #70bf53;--code-orange-dark: #e6834d;margin-bottom:var(--spacer-2);& code{color:var(--code-colour-dark)}}.code-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacer-1) var(--spacer-2);background-color:var(--code-toolbar-dark);border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}.code-language{font-weight:700}.code-body{padding:var(--spacer-1) var(--spacer-2);margin:0;overflow-x:auto;font-family:Fira code,Courier New,Courier,monospace;background-color:var(--code-body-dark);border-bottom-right-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius);& pre{padding:0}}.code-comment,.code-quote{font-style:italic;color:var(--code-comment-dark)}.html-tag-text{color:var(--code-colour-alt-dark)}.html-tag-name{color:var(--code-blue-dark)}.html-attr-name,.code-doctag,.code-keyword,.code-formula{color:var(--code-pink-dark)}.html-attr-value,.code-string,.code-regexp,.code-addition,.code-attribute,.code-meta .code-string{color:var(--code-purple-dark)}.code-section,.code-name,.code-selector-tag,.code-deletion,.code-subst{color:var(--code-orange-dark)}.code-literal{color:var(--code-blue-grey-dark)}.code-string,.code-regexp,.code-addition,.code-attribute,.code-meta .code-string{color:var(--code-green-dark)}.code-attr,.code-variable,.code-template-variable,.code-type,.code-selector-class,.code-selector-attr,.code-selector-pseudo,.code-number{color:var(--code-orange-dark)}.code-symbol,.code-bullet,.code-link,.code-meta,.code-selector-id,.code-title{color:var(--code-blue-dark)}.code-built_in,.code-title.class_,.code-class .code-title{color:var(--code-orange-dark)}.code-emphasis{font-style:italic}.code-strong{font-weight:700}.code-link{text-decoration:underline}.p-1{padding:var(--spacer-1)}.pb-1{padding-bottom:var(--spacer-1)}.p-5{padding:var(--spacer-5)}.py-3{padding-top:var(--spacer-3);padding-bottom:var(--spacer-3)}.py-5{padding-top:var(--spacer-5);padding-bottom:var(--spacer-5)}.px-5{padding-right:var(--spacer-5);padding-left:var(--spacer-5)}.mt-0{margin-top:0}.mb-4{margin-bottom:var(--spacer-4)}.mb-5{margin-bottom:var(--spacer-5)}.mb-0{margin-bottom:0}@media screen and (min-width:768px){.p-md-5{padding:var(--spacer-5)}}.bg-body{background-color:var(--body-bg)}.bg-dark{background-image:linear-gradient(180deg,#311442,#31144294,#31144200)}.bg-glass{color:var(--light);background-image:radial-gradient(circle at bottom,#311a4b4d,#0e071380);backdrop-filter:blur(10px);border-color:#ffffff2e;border-style:solid;border-width:0 1px}.bg-gradient-light{background-image:linear-gradient(180deg,#311442,#31144294 40%,#31144200)}.bg-gradient-dark{background-image:linear-gradient(180deg,#311442,#31144294 40%,#0e0713)}.content{padding-top:var(--spacer-3);padding-bottom:var(--spacer-3);>h2:not(:first-child){margin-top:var(--spacer-5)}>h3{margin-top:var(--spacer-4)}>h4{margin-top:var(--spacer-3)}}.content-img{max-width:100%;height:auto}.content-border{position:absolute;top:100%;left:50%;z-index:-1;width:110%;transform:translate(-50%,-50%)}@media screen and (min-width:768px){.content{padding-top:var(--spacer-5);padding-bottom:var(--spacer-5)}}.video-bg{background-image:radial-gradient(circle,#261261,#202c5a,#0e0713)}.video-player{width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:var(--border-radius)}.video-title{text-shadow:1px 1px 1px var(--dark)}.playground{--playground-bg: var(--secondary-dark);--playground-border: 1px solid rgba(255, 255, 255, .1);--playground-shadow: 0 0 20px rgba(0, 0, 0, .5), 0 0 40px rgba(208, 255, 0, .1);--playground-accent: var(--green-light);position:relative;display:grid;grid-template-columns:minmax(0,1fr);min-height:500px;margin:var(--spacer-4) 0;overflow:hidden;background:var(--playground-bg);backdrop-filter:blur(10px);border:var(--playground-border);border-radius:var(--border-radius);box-shadow:var(--playground-shadow)}.playground::-webkit-scrollbar{display:none}.playground-tab{display:block}.playground-tab summary{z-index:1;display:block;padding:var(--padding-y) var(--padding-x);list-style:none;cursor:pointer;border-bottom:var(--playground-border);transition:color .2s,background .2s}.playground-tab summary::-webkit-details-marker{display:none}.playground-tab[open] summary{font-weight:700;color:var(--playground-accent);background:#ffffff0d}.playground-tab:not([open])::details-content{display:none}.playground-content{display:flex;flex-direction:column;height:650px}.playground-tab:not([open]) .playground-content{display:none}.playground-description{z-index:1;width:100%;padding:var(--padding-y) var(--spacer-3);font-size:.9rem;word-break:break-word;overflow-wrap:anywhere;background:#0009;border-bottom:var(--playground-border)}.playground-description p{margin:0}.playground-description a{color:var(--playground-accent);text-decoration:none}.playground-description a:hover{text-decoration:underline}.playground-editor{display:flex;flex-grow:1;flex-direction:column;min-height:0}.file-tree{z-index:1;flex-shrink:0;width:100%;max-height:250px;padding:var(--spacer-2);overflow-y:auto;font-family:var(--font-monospace);font-size:.85rem;background-image:var(--gradient-glass);border-right:none;border-bottom:var(--playground-border)}.file-tree [open]>summary .icon-dir{color:var(--playground-accent)}.file-tree summary{display:flex;gap:.5rem;align-items:center;padding:4px 8px;white-space:normal;list-style:none;cursor:pointer;border-radius:4px}.file-tree summary:hover{background:#ffffff0d}.file-tree summary::-webkit-details-marker{display:none}.file-tree details details,.file-tree details .file-item{margin-left:1rem}.file-tree .file-label{display:flex;gap:.5rem;align-items:center;padding:4px 8px;color:#ffffffb3;white-space:normal;cursor:pointer;border-radius:4px}.file-tree .file-label:hover{background:#ffffff0d}.file-tree [type=radio]{display:none}.file-tree [type=radio]:checked+.file-label{color:var(--playground-accent);background:#d0ff001a;box-shadow:inset 0 0 10px #d0ff001a}.file-tree .icon{flex-shrink:0;width:14px;height:14px;opacity:.7}.file-tree .icon-dir{color:#e0af68}.file-tree .icon-file{color:#7aa2f7}.code-viewer{position:relative;flex-grow:1;height:100%;padding:var(--spacer-3);margin-bottom:0;overflow:auto;background:#0000004d}.code-viewer .file-content{display:none}.playground:has([id=tab1-file1]:checked) .file-content[id=tab1-content1],.playground:has([id=tab1-file2]:checked) .file-content[id=tab1-content2],.playground:has([id=tab1-file3]:checked) .file-content[id=tab1-content3],.playground:has([id=tab1-file4]:checked) .file-content[id=tab1-content4],.playground:has([id=tab1-file5]:checked) .file-content[id=tab1-content5],.playground:has([id=tab1-file6]:checked) .file-content[id=tab1-content6],.playground:has([id=tab2-file1]:checked) .file-content[id=tab2-content1],.playground:has([id=tab2-file2]:checked) .file-content[id=tab2-content2],.playground:has([id=tab2-file3]:checked) .file-content[id=tab2-content3],.playground:has([id=tab2-file4]:checked) .file-content[id=tab2-content4],.playground:has([id=tab2-file5]:checked) .file-content[id=tab2-content5],.playground:has([id=tab3-file1]:checked) .file-content[id=tab3-content1],.playground:has([id=tab3-file2]:checked) .file-content[id=tab3-content2],.playground:has([id=tab3-file3]:checked) .file-content[id=tab3-content3],.playground:has([id=tab4-file1]:checked) .file-content[id=tab4-content1],.playground:has([id=tab4-file2]:checked) .file-content[id=tab4-content2],.playground:has([id=tab4-file3]:checked) .file-content[id=tab4-content3],.playground:has([id=tab4-file4]:checked) .file-content[id=tab4-content4],.playground:has([id=tab4-file5]:checked) .file-content[id=tab4-content5]{display:block}.code-viewer pre{padding:0;margin:0;background:transparent}.code-viewer code{display:block;font-family:var(--font-monospace);font-size:.95rem;line-height:1.5;word-wrap:normal;white-space:pre}@media(min-width:992px){.playground{grid-template-rows:auto 1fr;grid-template-columns:repeat(4,minmax(200px,1fr));-moz-column-gap:0;column-gap:0}.playground-tab{display:grid;grid-template-rows:subgrid;grid-template-columns:subgrid;grid-row:1 / span 2;grid-column:1 / -1}.playground-tab>summary{display:grid;grid-row:1;grid-column:var(--n) / span 1;border-right:var(--playground-border)}.playground-tab::details-content{grid-row:2;grid-column:1 / -1}.playground-content{flex-direction:column}.playground-editor{display:flex;flex-grow:1;flex-direction:row;min-height:0}.file-tree{width:315px;height:100%;max-height:100%;border-right:var(--playground-border);border-bottom:0}.code-viewer{height:100%;margin-bottom:0}}.table{width:100%;text-align:left;caption-side:bottom;border-collapse:collapse;border-color:var(--secondary);>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px}}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;.table{min-width:960px}}tbody,td,tfoot,th,thead,tr{text-align:inherit;border-color:inherit;border-style:solid;border-width:0}.post{margin-bottom:var(--spacer-5);h2{font-size:var(--spacer-4)}>p:first-of-type,>img:first-child+p{font-size:133.333333%}}.post-author,.post-author a{display:inline-flex;gap:var(--spacer-1);align-items:center}.post-author-img{border-radius:50%}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;width:400px;max-width:100%;color:var(--body-colour);visibility:hidden;background-color:var(--body-bg);background-clip:padding-box;outline:0;box-shadow:var(--box-shadow-sm);transition:var(--transition);transform:translate(100%)}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacer-1)}.offcanvas-title{margin:0}.offcanvas-body{flex-grow:1;padding:var(--spacer-1);overflow-y:auto;.nav{display:flex;flex-direction:column}}.offcanvas:popover-open{inset:unset;top:unset;top:0;right:unset;right:0;bottom:unset;bottom:0;height:auto;padding:0;visibility:visible;border:none;transform:none}@media(min-width:992px){.offcanvas .offcanvas-header{display:none}.offcanvas-body{flex-grow:0;padding:0;overflow-y:visible;.nav{justify-content:end}}.offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:#0000!important;border:0!important;box-shadow:none;transition:none;transform:none!important;overflow:unset;.nav{display:flex;flex-direction:row}}}.box-shadow{box-shadow:0 .5rem 1rem #00000026,inset 0 -1px #ffffff26}.drop-shadow{filter:drop-shadow(0 5px .75rem #00000080)}.drop-shadow-neon{filter:drop-shadow(5px 5px .75rem #ff00d763) drop-shadow(-5px -5px .75rem #d0ff0063)}.rays{--ray: repeating-linear-gradient( 100deg, var(--secondary) 0%, var(--secondary) 7%, transparent 10%, transparent 12%, var(--secondary) 16% );--rainbow: repeating-linear-gradient( 100deg, #60a5fa 10%, #e879f9 15%, #60a5fa 20%, #5eead4 25%, #60a5fa 30% );position:absolute;inset:0;z-index:2}.rays-animated{background-image:var(--ray),var(--rainbow);filter:blur(10px) invert(100%);background-position:50% 50%,50% 50%;background-size:300%,200%;-webkit-mask-image:radial-gradient(ellipse at 100% 0%,#000 40%,transparent 70%);mask-image:radial-gradient(ellipse at 100% 0%,#000 40%,transparent 70%);&:after{position:absolute;inset:0;content:"";background-image:var(--ray),var(--rainbow);background-attachment:fixed;background-size:200%,100%;mix-blend-mode:difference;animation:smooth-bg 60s linear infinite}}.rays-static{background-image:url(/images/static_rays-sm.avif);background-size:cover}@media screen and (min-width:420px){.rays-static{background-image:url(/images/static_rays.avif)}}@keyframes smooth-bg{0%{background-position:50% 50%,50% 50%}to{background-position:350% 50%,350% 50%}}.position-relative{position:relative}.z-2{z-index:2}.overlay{position:absolute;inset:0}.icon{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}.card{--card-border-color: #ffffff2e;overflow:hidden;color:var(--light);background-image:radial-gradient(circle at bottom,#311a4b4d,#0e071380);backdrop-filter:blur(10px);border-color:var(--card-border-color);border-style:solid;border-width:0 1px;border-radius:var(--border-radius)}.card-title{padding:var(--spacer-1);margin:0;border-bottom:1px solid var(--card-border-color)}.card-body{padding:var(--spacer-1);margin:0}.back-to-top{position:fixed;right:var(--padding-x);bottom:var(--padding-y);z-index:1000;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;color:var(--light);visibility:hidden;background-color:var(--secondary);border:2px solid var(--primary);border-radius:50%;box-shadow:var(--box-shadow);opacity:0;transition:opacity .3s,visibility .3s,background-color .3s;&:hover{background-color:hsl(from var(--secondary) h s 40%)}&:focus-visible{outline:2px solid var(--primary);outline-offset:2px}}.back-to-top.visible{visibility:visible;opacity:1}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute}.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.search-container{display:flex;align-items:center}.search-button{display:flex;gap:.5rem;align-items:center;padding:.375rem .75rem;font-size:.875rem;color:var(--text-light);cursor:pointer;background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:.375rem;transition:all .2s ease-in-out}.search-button:hover{color:#fff;background-color:#fff3}.search-shortcut{display:none;gap:.25rem;align-items:center;margin-left:.5rem;font-size:.75rem}.search-shortcut kbd{padding:.125rem .25rem;font-family:inherit;background-color:#0003;border-radius:.25rem}.search-popover{width:100%;max-width:600px;padding:0;margin:4rem auto auto;color:var(--text);border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.search-popover::backdrop{background-color:#00000080;backdrop-filter:blur(10px)}.search-header{padding:1rem;border-bottom:1px solid var(--border)}.search-form{display:flex;gap:.75rem;align-items:center}.search-input-icon{color:var(--text-muted)}.search-input{flex:1;width:100%;font-size:1.125rem;color:var(--text);background:transparent;border:none;outline:none}.search-input::-moz-placeholder{color:var(--text-muted)}.search-input::placeholder{color:var(--text-muted)}.search-results-container{max-height:60vh;padding:.5rem;overflow-y:auto}.search-results{padding:0;margin:0;list-style:none}.search-empty,.search-loading,.search-error{padding:2rem;color:var(--text-muted);text-align:center}.search-error{color:var(--danger, #dc3545)}.search-result-item{border-radius:.375rem}.search-result-link{display:block;padding:.75rem 1rem;color:inherit;text-decoration:none;border-radius:inherit}.search-result-link:hover,.search-result-link:focus{text-decoration:none;background-color:var(--secondary)}.search-result-title{margin-bottom:.25rem;font-weight:600;color:var(--primary)}.search-result-desc{display:-webkit-box;overflow:hidden;font-size:.875rem;color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical}.search-footer{padding:.75rem 1rem;font-size:.75rem;color:var(--text-muted);text-align:right;border-top:1px solid var(--border)}.search-footer a{color:inherit}.search-text{display:none}@media screen and (min-width:390px){.search-text{display:inline}}@media screen and (min-width:480px){.search-shortcut{display:flex}}.pagination{list-style:none;display:flex;gap:--var(--spacer-2);justify-content:center;padding-left:0}
