@keyframes spin-dice{0%{transform:rotateY(72deg) rotateX(32deg)}25%{transform:rotateY(162deg) rotateX(32deg)}50%{transform:rotateY(252deg) rotateX(32deg)}75%{transform:rotateY(342deg) rotateX(32deg)}to{transform:rotateY(432deg) rotateX(32deg)}}@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300;src:url(/fonts/SpaceGrotesk-Light.ttf)format("truetype");font-display:swap}@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400;src:url(/fonts/SpaceGrotesk-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;src:url(/fonts/SpaceGrotesk-Medium.ttf)format("truetype");font-display:swap}@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:600;src:url(/fonts/SpaceGrotesk-SemiBold.ttf)format("truetype");font-display:swap}@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;src:url(/fonts/SpaceGrotesk-Bold.ttf)format("truetype");font-display:swap}@font-face{font-family:"General Sans";font-style:normal;font-weight:200;src:url(/fonts/GeneralSans-Extralight.woff2)format("woff2");font-display:swap}@font-face{font-family:"General Sans";font-style:normal;font-weight:300;src:url(/fonts/GeneralSans-Light.woff2)format("woff2");font-display:swap}@font-face{font-family:"General Sans";font-style:normal;font-weight:400;src:url(/fonts/GeneralSans-Regular.woff2)format("woff2");font-display:swap}@font-face{font-family:"General Sans";font-style:normal;font-weight:500;src:url(/fonts/GeneralSans-Medium.woff2)format("woff2");font-display:swap}@font-face{font-family:"General Sans";font-style:normal;font-weight:600;src:url(/fonts/GeneralSans-Semibold.woff2)format("woff2");font-display:swap}@font-face{font-family:"General Sans";font-style:normal;font-weight:700;src:url(/fonts/GeneralSans-Bold.woff2)format("woff2");font-display:swap}:root{--bg-primary:rgba(5, 5, 5, 1);--bg-secondary:rgba(2, 2, 2, 1);--bg-black:#111;--glass-bg:rgba(255, 255, 255, 0.05);--glass-bg-hover:rgba(255, 255, 255, 0.08);--glass-border:rgba(255, 255, 255, 0.06);--glass-border-hover:rgba(255, 255, 255, 0.1);--text-primary:rgba(255, 255, 255, 0.9);--text-secondary:rgba(255, 255, 255, 0.7);--text-muted:rgba(255, 255, 255, 0.5);--accent-primary:rgba(51, 187, 255, 0.9);--accent-primary-bright:rgba(102, 204, 255, 1);--accent-bg:rgba(51, 187, 255, 0.1);--accent-bg-dark:rgba(51, 187, 255, 0.15);--accent-border:rgba(51, 187, 255, 0.6);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--size:22px;--dot:3px;--offset:5px}article aside,body{position:relative;color:var(--text-primary)}body{z-index:0;margin:0;padding:0;font-family:"General Sans",sans-serif;background:radial-gradient(circle at center,var(--bg-primary) 0%,var(--bg-secondary) 30%,#020202 60%,var(--bg-black) 100%);background-attachment:fixed;background-size:100% 100vh;background-repeat:no-repeat;min-height:100vh}article aside{margin:1.25rem 0;padding:.9rem 1rem .9rem 1.1rem;border-radius:var(--radius-lg);background:var(--glass-bg-hover);border:1px solid var(--glass-border-hover);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 1px hsl(205 20% 10%/.15),1px 1px 2px -.4px hsl(205 20% 10%/.12),2px 2.5px 4px -.8px hsl(205 20% 10%/.12)}article aside::before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:4px;border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--accent-primary),rgba(160,110,255,.9))}article aside>strong:first-child{display:inline-block;font-weight:600;color:var(--accent-primary-bright);margin-right:.35rem}article aside a{color:var(--accent-primary)}article aside :not(pre)>code{background:var(--glass-border-hover);border:1px solid rgba(255,255,255,.12)}.astro-code.github-dark{margin:1.25rem 0;padding:1rem 1.25rem;border-radius:12px;background:var(--glass-bg);border:.5px solid var(--glass-border);box-shadow:0 0 1px hsl(205 20% 10%/.15),1px 1px 2px -.4px hsl(205 20% 10%/.12),2px 2.5px 4px -.8px hsl(205 20% 10%/.12),4px 4.5px 7px -1.2px hsl(205 20% 10%/.12);overflow:auto;-webkit-overflow-scrolling:touch;position:relative}.astro-code.github-dark code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.9rem;line-height:1.6}pre.astro-code.github-dark code{background:0 0!important;border:0!important;padding:0!important}.astro-code.github-dark .line{padding-right:1rem}.astro-code.github-dark::-webkit-scrollbar{height:10px;width:10px}.astro-code.github-dark::-webkit-scrollbar-track{background:0 0}.astro-code.github-dark::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:10px;border:2px solid transparent;background-clip:padding-box}.astro-code.github-dark:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)}:not(pre) code{background:var(--accent-bg);border:1px solid var(--glass-border-hover);border-radius:var(--radius-sm);padding:.15rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:var(--text-sm)}.code-copy-btn{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.12);background:var(--glass-bg-hover);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text-primary);font-size:var(--text-xs);line-height:1;cursor:pointer;opacity:0;transform:translateY(-2px);transition:all .2s ease;z-index:10}.astro-code.github-dark:focus-within .code-copy-btn,.astro-code.github-dark:hover .code-copy-btn{opacity:1;transform:translateY(0)}.code-copy-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18)}.code-copy-btn:active{transform:translateY(.5px)}.code-copy-btn .icon{width:14px;height:14px}.astro-code.github-dark.code-collapsible.code-expanded::after,.code-copy-btn .check,.code-copy-btn.copied .copy{display:none}.code-copy-btn.copied .check{display:inline}.astro-code.github-dark.code-collapsible{--code-collapsed-max-height:320px;position:relative;max-height:var(--code-collapsed-max-height);overflow:hidden}.astro-code.github-dark.code-collapsible::after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(to bottom,rgba(15,15,20,0),rgba(15,15,20,.95));pointer-events:none;z-index:6}.astro-code.github-dark.code-collapsible.code-expanded{max-height:none}.code-expand-btn{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:6px 10px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.12);background:var(--glass-bg-hover);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text-primary);font-size:var(--text-xs);line-height:1;cursor:pointer;z-index:11}.code-expand-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18)}::selection{background:#1b4498;color:rgba(255,255,255,.95)}::-moz-selection{background:#1b4498;color:rgba(255,255,255,.95)}strong{font-weight:600}h1,h2,h3,h4,h5,h6,header.blog-header h1{font-family:"Space Grotesk",sans-serif}.glass3d,header.blog-header{border-radius:var(--radius-lg)}.glass3d{--filter-glass3d:blur(12px) brightness(1) saturate(1.4);--color-glass3d:hsl(189 34% 32% / 0.08);--noise-glass3d:none;position:relative;z-index:4;isolation:isolate;overflow:hidden;border:.5px solid var(--glass-border);box-shadow:0 0 1px hsl(205 20% 10%/.15),1px 1px 2px -.4px hsl(205 20% 10%/.12),2px 2.5px 4px -.8px hsl(205 20% 10%/.12),4px 4.5px 7px -1.2px hsl(205 20% 10%/.12),6px 7px 10px -1.7px hsl(205 20% 10%/.12),9px 10px 15px -2.1px hsl(205 20% 10%/.12),12px 14px 20px -2.5px hsl(205 20% 10%/.15)}.glass3d::after,.glass3d::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;overflow:hidden}.glass3d::before{z-index:3;-webkit-backdrop-filter:var(--filter-glass3d);backdrop-filter:var(--filter-glass3d);background-color:var(--color-glass3d);background-image:var(--noise-glass3d);background-size:100px;background-repeat:repeat}.glass3d::after{z-index:5;box-shadow:inset 1px 1px .5px 0 rgba(255,255,255,.28),inset -.5px -.5px .5px 0 rgba(255,255,255,.18);background-image:radial-gradient(120% 80%at 0 0,rgba(255,255,255,.06),transparent 60%),radial-gradient(140% 100%at 100% 100%,rgba(255,255,255,.03),transparent 70%)}.glass3d>*{position:relative;z-index:6}header.blog-header{padding:1.5em 2em;max-width:80ch;margin:2em auto 1em;display:flex;justify-content:space-between;align-items:center;color:var(--text-primary);overflow:visible;z-index:1000}header.blog-header h1{margin:0;font-size:var(--text-2xl);font-weight:300;text-transform:lowercase}header.blog-header .blog-title-link{color:var(--text-primary);text-decoration:none;transition:all .3s ease}header.blog-header .blog-title-link:hover{color:var(--text-secondary);opacity:.8}.header-controls{display:flex;align-items:center;gap:1.25rem;position:relative}.header-link{color:var(--text-secondary);text-decoration:none;font-weight:500;padding:6px 10px;border-radius:var(--radius-md);transition:all .2s ease}.header-link:hover{color:var(--text-primary);background:var(--glass-bg-hover)}.search-wrapper{position:relative}.search-form{display:flex;align-items:center;background:var(--glass-bg);border:1px solid var(--glass-border-hover);border-radius:var(--radius-md);padding:0;overflow:hidden;transition:all .3s ease}.search-form:focus-within{background:var(--glass-bg-hover);border-color:rgba(255,255,255,.2)}.search-input{background:0 0;border:0;padding:8px 12px;color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;width:120px;outline:0}.search-input::placeholder{color:var(--text-muted)}.dice-button,.search-button{background:0 0;border:0;cursor:pointer}.search-button{padding:8px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:color .3s ease}.search-button:hover{color:var(--text-secondary)}.dice-button{padding:0;perspective:600px;position:relative}.cube,.face{width:var(--size);height:var(--size)}.cube{position:relative;transform-style:preserve-3d;transform:rotateY(72deg) rotateX(32deg)}.face{position:absolute;background:#fff;border:2px solid #333;border-radius:6px;box-shadow:inset -4px -4px 8px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.15)}.face::before{content:"";position:absolute;top:50%;left:50%;width:var(--dot);height:var(--dot);background:#333;border-radius:50%;transform:translate(-50%,-50%)}.face.front{transform:rotateY(0deg) translateZ(calc(var(--size)/2))}.face.back{transform:rotateY(180deg) translateZ(calc(var(--size)/2))}.face.right{transform:rotateY(90deg) translateZ(calc(var(--size)/2))}.face.left{transform:rotateY(-90deg) translateZ(calc(var(--size)/2))}.face.top{transform:rotateX(90deg) translateZ(calc(var(--size)/2))}.face.bottom{transform:rotateX(-90deg) translateZ(calc(var(--size)/2))}.face.front::before{box-shadow:none}.face.right::before{background:0 0}.face.right::before,.face.top::before{box-shadow:calc(-1*var(--offset)) calc(-1*var(--offset))0 0#333,var(--offset) var(--offset)0 0#333}.face.bottom::before{background:0 0;box-shadow:calc(-1*var(--offset)) calc(-1*var(--offset))0 0#333,var(--offset) calc(-1*var(--offset))0 0#333,calc(-1*var(--offset)) var(--offset)0 0#333,var(--offset) var(--offset)0 0#333}.face.left::before{box-shadow:calc(-1*var(--offset)) calc(-1*var(--offset))0 0#333,var(--offset) calc(-1*var(--offset))0 0#333,0 0 0 0#333,calc(-1*var(--offset)) var(--offset)0 0#333,var(--offset) var(--offset)0 0#333}.face.back::before{background:0 0;box-shadow:calc(-1*var(--offset)) calc(-1*var(--offset))0 0#333,calc(-1*var(--offset))0 0 0#333,calc(-1*var(--offset)) var(--offset)0 0#333,var(--offset) calc(-1*var(--offset))0 0#333,var(--offset)0 0 0#333,var(--offset) var(--offset)0 0#333}.tooltip,article a{color:var(--text-secondary)}.tooltip,ul#nav li{transition:all .3s ease}.tooltip,.tooltip::before{position:absolute;top:50%;transform:translateY(-50%)}.tooltip{left:calc(100% + 18px);background:var(--glass-bg-hover);backdrop-filter:blur(8px);border-radius:var(--radius-sm);padding:6px 10px;font-size:var(--text-xs);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,.2)}.tooltip::before{content:"";right:100%;border:6px solid transparent;border-right-color:var(--glass-bg-hover)}.tooltip::after{content:none}.dice-button:hover .tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translateX(2px)}ul#nav{list-style:none;padding:0}ul#nav li{display:inline-block;padding:.5em 1em;margin:0 .5em}ul#nav li.active,ul#nav li:hover{background:var(--glass-border-hover);color:var(--text-primary)}main{margin:0 auto;padding:0 1em}.stork-output,article,ul#nav li{border-radius:var(--radius-lg)}article{max-width:80ch;margin:1em auto 2em;padding:2em}article a{text-decoration:none;transition:opacity .3s ease}article a:hover{opacity:.8}.stork-output{position:absolute!important;top:100%!important;left:0!important;right:0!important;z-index:99999!important;background:rgba(0,0,0,.15)!important;border:.5px solid var(--glass-border);margin-top:8px!important;max-height:400px;overflow-y:auto;box-shadow:0 0 1px hsl(205 20% 10%/.15),1px 1px 2px -.4px hsl(205 20% 10%/.12),2px 2.5px 4px -.8px hsl(205 20% 10%/.12),4px 4.5px 7px -1.2px hsl(205 20% 10%/.12),6px 7px 10px -1.7px hsl(205 20% 10%/.12),9px 10px 15px -2.1px hsl(205 20% 10%/.12),12px 14px 20px -2.5px hsl(205 20% 10%/.15);min-width:280px;display:none!important;isolation:isolate;overflow:hidden}.stork-output::after,.stork-output::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;overflow:hidden}.stork-output,.stork-output::before{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.stork-output::before{z-index:1;background-color:rgba(255,255,255,.02)}.stork-output::after{z-index:2;box-shadow:inset 1px 1px .5px 0 rgba(255,255,255,.28),inset -.5px -.5px .5px 0 rgba(255,255,255,.18);background-image:radial-gradient(120% 80%at 0 0,rgba(255,255,255,.06),transparent 60%),radial-gradient(140% 100%at 100% 100%,rgba(255,255,255,.03),transparent 70%)}.stork-output>*{position:relative;z-index:3}.stork-output-visible{display:block!important}.stork-output:empty{display:none!important}.stork-result{padding:.75rem 1rem!important;border-bottom:1px solid rgba(255,255,255,.08)!important;transition:all .2s ease!important;background:0 0!important;cursor:pointer!important}.stork-result:hover{background:var(--glass-bg-hover)!important}.stork-result:last-child{border-bottom:none!important}.stork-title{font-weight:600!important;color:var(--text-primary)!important;font-size:var(--text-sm)!important;margin-bottom:.25rem!important;text-decoration:none!important;display:block!important}.stork-excerpt,.stork-output .stork-result .stork-title a:hover,.stork-title:hover{color:var(--text-secondary)!important}.stork-excerpt{line-height:1.4!important}.stork-excerpt em{color:#7da1e8!important;background:#1b4498!important;padding:.1rem .2rem!important;border-radius:var(--radius-sm)!important;font-style:normal!important;font-weight:500!important}.stork-output .stork-message,.stork-output .stork-results-count{text-align:center!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}.stork-excerpt,.stork-output .stork-message{font-size:var(--text-sm)!important;margin:0!important}.stork-output .stork-message{color:var(--text-muted)!important;padding:.75rem 1rem!important;background:0 0!important}.stork-output .stork-results-count{font-size:var(--text-xs)!important;padding:.5rem 1rem!important}.stork-output *,.stork-result a:hover{color:inherit!important}.stork-wrapper{position:relative!important}.stork-input{background:0 0!important;border:0!important;color:var(--text-primary)!important}.stork-progress{display:none!important}.stork-output .stork-result .stork-title a{color:var(--text-primary)!important;text-decoration:none!important}.stork-output .stork-result .stork-excerpt p,.stork-output .stork-results-count{color:var(--text-muted)!important;margin:0!important}.stork-output:not(.stork-output-visible),.stork-output[style*="display: none"]{display:none!important}.stork-result a{display:block!important;color:inherit!important;text-decoration:none!important}.stork-excerpt .stork-highlight,.stork-excerpt mark,.stork-title .stork-highlight,.stork-title mark{background:#1b4498!important;color:#7da1e8!important;font-weight:500!important}.stork-attribution,.stork-output .stork-attribution,.stork-powered-by{display:none!important}.stork-output,.stork-output *{color:rgba(255,255,255,.8)!important}.stork-title,.stork-title *{color:rgba(255,255,255,.9)!important}.stork-close-button{display:none!important}@media (max-width:640px){article aside{padding:.8rem .9rem;border-radius:var(--radius-md)}article aside::before{top:6px;bottom:6px}.astro-code.github-dark{padding:.85rem 1rem;border-radius:10px;margin:1rem 0}.astro-code.github-dark code{font-size:.85rem}.code-copy-btn,.code-expand-btn{padding:6px 8px;border-radius:var(--radius-sm)}.code-copy-btn{top:8px;right:8px}.astro-code.github-dark.code-collapsible{--code-collapsed-max-height:260px}.code-expand-btn{bottom:8px}header.blog-header{justify-content:center;text-align:center;margin:1.5em 1em;padding:1em 1.5em;flex-direction:column;gap:1.25rem;width:calc(100% - 2em);max-width:calc(100% - 2em);box-sizing:border-box}.search-input{width:120px;font-size:var(--text-sm)}header.blog-header h1{font-size:var(--text-xl)}main{padding:0 1em}.stork-output{left:0!important;right:0!important;max-height:300px}}@media (max-width:768px){html{width:100%;overflow-x:hidden}body{background:var(--bg-black)!important;background-attachment:scroll!important;width:100vw;position:relative;min-height:100vh;overflow-x:hidden!important;word-wrap:break-word!important}body::after{content:"";position:absolute;top:0;left:0;width:100%;min-height:100%;background:url(/images/nebula.png);opacity:.3;pointer-events:none;z-index:1}main{padding:0 1em!important}article{margin:1.5em 0!important;padding:1.5em 1.25em!important;box-sizing:border-box!important}p{font-size:1rem!important;line-height:1.6!important}h1,h2,h3,h4,h5,h6{line-height:1.3!important}*{max-width:100%!important}.container,article.glass3d,header.blog-header,main{width:100%!important;max-width:100%!important;box-sizing:border-box!important}article,header.blog-header{width:calc(100% - 2em)!important;max-width:calc(100% - 2em)!important}header.blog-header{margin:1.5em 1em!important;padding:1.5em 1em!important}.header-controls{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:1rem!important;width:100%!important}.search-form{flex-shrink:1!important;min-width:0!important}.search-input{width:100px!important;font-size:var(--text-sm)!important}.dice-button,.search-wrapper{margin:0!important}.dice-button .tooltip{top:calc(100% + 12px);left:50%;transform:translateX(-50%)}.dice-button .tooltip::before{top:-6px;left:50%;right:auto;transform:translateX(-50%);border:6px solid transparent;border-bottom-color:var(--glass-bg-hover);border-right-color:transparent}.dice-button:hover .tooltip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(2px)}.header-controls>*{margin:.25rem 0!important}}